实验环境Ceph 9.2.1部署笔记

2、Ceph deploy管理节点部署

配置admin-node的ceph软件仓库镜像源:

yum install -y yum-utils && yum-config-manager --add-repo https://dl.Fedoraproject.org/pub/epel/7/x86_64/ 
&& yum install --nogpgcheck -y epel-release && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 
&& rm /etc/yum.repos.d/dl.fedoraproject.org*


创建一个Ceph yum源配置文件:

vi  /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph packages for $basearch
baseurl=http://download.ceph.com/rpm-infernalis/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1

[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-infernalis/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1

[ceph-source]
name=Ceph source packages
baseurl=http://download.ceph.com/rpm-infernalis/el7/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1

 

安装ceph-deploy工具:

yum update && yum install ceph-deploy

男篮世界杯赌球 1

一、准备工作

配置管理节点服务器

配置并验证了所有网络后,我们现在使用 ceph 用户安装 ceph-deploy。通过打开文件检查 hosts 条目(LCTT 译注:你也可以用 DNS 解析来完成)。

  1. #vim/etc/hosts
  2. ceph-storage 45.79.136.163
  3. ceph-node 45.79.171.138

运行下面的命令添加它的库。

  1. # rpm -Uhv http://ceph.com/rpm-giant/el7/noarch/ceph-release-1-0.el7.noarch.rpm

男篮世界杯赌球 2

添加 Ceph 仓仓库

或者创建一个新文件并更新 Ceph 库参数,别忘了替换你当前的 Release 和版本号。

  1. [root@ceph-storage ~]#vi/etc/yum.repos.d/ceph.repo

  1. [ceph-noarch]
  2. name=Ceph noarch packages
  3. baseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarch
  4. enabled=1
  5. gpgcheck=1
  6. type=rpm-md
  7. gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc

之后更新你的系统并安装 ceph-deploy 软件包。

 

1、测试机的环境准备

找一个测试主机,安装CentOS7.1系统,按照本文第一章节介绍内容对系统环境进行配置。

安装 ceph-deploy 软件包

我们运行下面的命令以及 ceph-deploy 安装命令来更新系统以及最新的 ceph 库和其它软件包。

  1. #yum update -y &&yum install ceph-deploy -y

 

7、挂载并测试块存储设备

$sudo mkdir /mnt/ceph-block-device
$sudo mount /dev/rbd/rbd/foo /mnt/ceph-block-device
$cd /mnt/ceph-block-device

在 CentOS 7.1 上安装分布式存储系统 Ceph  http://www.linuxidc.com/Linux/2015-08/120990.htm

Ceph环境配置文档 PDF http://www.linuxidc.com/Linux/2013-05/85212.htm 

CentOS 6.3上部署Ceph http://www.linuxidc.com/Linux/2013-05/85213.htm 

Ceph的安装过程 http://www.linuxidc.com/Linux/2013-05/85210.htm 

HOWTO Install Ceph On FC12, FC上安装Ceph分布式文件系统 http://www.linuxidc.com/Linux/2013-05/85209.htm 

Ceph 文件系统安装 http://www.linuxidc.com/Linux/2013-05/85208.htm 

CentOS 6.2 64位上安装Ceph 0.47.2 http://www.linuxidc.com/Linux/2013-05/85206.htm 

Ubuntu 12.04 Ceph分布式文件系统 http://www.linuxidc.com/Linux/2013-04/82588.htm 

Ubuntu 16.04快速安装Ceph集群  http://www.linuxidc.com/Linux/2016-09/135261.htm

Ceph 的详细介绍请点这里
Ceph 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-11/137094.htm

男篮世界杯赌球 3

系统资源

  1. **CEPH-STORAGE**
  2. OS:CentOSLinux7(Core)
  3. RAM:1 GB
  4. CPU:1 CPU
  5. DISK:20
  6. Network:45.79.136.163
  7. FQDN: ceph-storage.linoxide.com
  8. **CEPH-NODE**
  9. OS:CentOSLinux7(Core)
  10. RAM:1 GB
  11. CPU:1 CPU
  12. DISK:20
  13. Network:45.79.171.138
  14. FQDN: ceph-node.linoxide.com

 

3、拷贝配置文件到测试机

$ceph-deploy admin ceph-client

在测试机上执行以下命令,确保密钥文件可读:

$sudo chmod r /etc/ceph/ceph.client.admin.keyring

配置 PID 数目

要配置 PID 数目的值,我们会使用下面的命令检查默认的内核值。默认情况下,是一个小的最大线程数 32768。

如下图所示通过编辑系统配置文件配置该值为一个更大的数。

男篮世界杯赌球 4

更改 PID 值

 

9、创建RGW服务实例

创建Ceph对象服务网关,用于提供对象存取服务。

$ ceph-deploy rgw create ceph3

注:RGW实例使用7480端口,确认已经打开。

 

以上就是部署一个全服务类型的Ceph存储集群所需的全部工作。

 

设置 Ceph 用户

现在我们会新建一个单独的 sudo 用户用于在每个节点安装 ceph-deploy工具,并允许该用户无密码访问每个节点,因为它需要在 Ceph 节点上安装软件和配置文件而不会有输入密码提示。

运行下面的命令在 ceph-storage 主机上新建有独立 home 目录的新用户。

  1. [root@ceph-storage ~]#useradd-d /home/ceph -m ceph
  2. [root@ceph-storage ~]#passwd ceph

节点中新建的每个用户都要有 sudo 权限,你可以使用下面展示的命令赋予 sudo 权限。

  1. [root@ceph-storage ~]#echo"ceph ALL = (root) NOPASSWD:ALL"|sudotee/etc/sudoers.d/ceph
  2. ceph ALL =(root) NOPASSWD:ALL
  3. [root@ceph-storage ~]#sudochmod0440/etc/sudoers.d/ceph

 

5、在测试机上把块设备映像映射到一个块设备上去

$sudo rbd map foo --name client.admin [-m {mon-IP}] [-k /path/to/ceph.client.admin.keyring]

Ceph 能在任何 Linux 发行版上安装,但为了能正确运行,它需要最近的内核以及其它最新的库。在这篇指南中,我们会使用最小化安装的 CentOS-7.0。

5、增加OSDs

先要确认需要使用的数据磁盘没有做过任何分区初始化。否则就需要使用下面的方法对磁盘进行处理一下。

ceph-deploy disk zap {osd-server-name}:{disk-name}
ceph-deploy disk zap osdserver1:sdb

 

查看存储节点的磁盘信息:

$ceph-deploy disk list ceph1
$ceph-deploy disk list ceph2
$ceph-deploy disk list ceph3

需要能看到类似下面这样的输出信息:

[ceph1][DEBUG ] /dev/vdb other, unknown
[ceph1][DEBUG ] /dev/vdc other, unknown

 

关于怎么处理OSD进程的journal数据,有多种方法:不使用独立的journal分区或磁盘;使用独立的journal分区或磁盘。

在我们这个实验环境中,没有使用专门的journal分区或磁盘。

 

在管理节点上把OSD磁盘放入集群中并激活:

命令格式为$ceph-deploy osd prepare {node-name}:{data-disk}[:{journal-disk}]

注:经实际验证,按官网文档先prepare再activate的操作步骤会报错“RuntimeError: Failed to execute command: ceph-disk -v activate --mark-init systemd --mount /dev/vdb”。这应该属于软件的一个bug。而直接使用create命令(相当于prepare activate)则可以成功完成加入OSD磁盘并激活的任务。如果执行了上面的命令并遇到报错后,需要先清除存储节点的分区信息,然后将存储节点系统重启,最后从管理节点上使用ceph-deploy disk list命令查看存储节点的磁盘状态是否恢复的初始状态。

 

使用create命令在一个步骤中完成OSD磁盘的加入和激活:

$ceph-deploy osd  create ceph1:/dev/vdb  ceph2:/dev/vdb  ceph3:/dev/vdb
$ceph-deploy osd  create ceph1:/dev/vdc  ceph2:/dev/vdc  ceph3:/dev/vdc

安装前的配置

在安装 Ceph 存储之前,我们要在每个节点上完成一些步骤。第一件事情就是确保每个节点的网络已经配置好并且能相互访问。

配置 Hosts

要在每个节点上配置 hosts 条目,要像下面这样打开默认的 hosts 配置文件(LCTT 译注:或者做相应的 DNS 解析)。

  1. #vi/etc/hosts

  1. 45.79.136.163 ceph-storage ceph-storage.linoxide.com
  2. 45.79.171.138 ceph-node ceph-node.linoxide.com

安装 VMware 工具

工作环境是 VMWare 虚拟环境时,推荐你安装它的 open VM 工具。你可以使用下面的命令安装。

  1. #yum install -y open-vm-tools

配置防火墙

如果你正在使用启用了防火墙的限制性环境,确保在你的 Ceph 存储管理节点和客户端节点中开放了以下的端口。

你必须在你的 Admin Calamari 节点开放 80、2003、以及4505-4506 端口,并且允许通过 80 号端口访问到 Ceph 或 Calamari 管理节点,以便你网络中的客户端能访问 Calamari web 用户界面。

男篮世界杯赌球,你可以使用下面的命令在 CentOS 7 中启动并启用防火墙。

  1. #systemctl start firewalld
  2. #systemctl enable firewalld

运行以下命令使 Admin Calamari 节点开放上面提到的端口。

  1. # firewall-cmd --zone=public--add-port=80/tcp --permanent
  2. # firewall-cmd --zone=public--add-port=2003/tcp --permanent
  3. # firewall-cmd --zone=public--add-port=4505-4506/tcp --permanent
  4. # firewall-cmd --reload

在 Ceph Monitor 节点,你要在防火墙中允许通过以下端口。

  1. # firewall-cmd --zone=public--add-port=6789/tcp --permanent

然后允许以下默认端口列表,以便能和客户端以及监控节点交互,并发送数据到其它 OSD。

  1. # firewall-cmd --zone=public--add-port=6800-7300/tcp --permanent

如果你工作在非生产环境,建议你停用防火墙以及 SELinux 设置,在我们的测试环境中我们会停用防火墙以及 SELinux。

  1. #systemctl stop firewalld
  2. #systemctl disable firewalld

系统升级

现在升级你的系统并重启使所需更改生效。

  1. #yum update
  2. #shutdown-r 0

 

4、在测试机上创建一个块设备映像

$rbd create foo --size 4096 [-m {mon-IP}] [-k /path/to/ceph.client.admin.keyring]

设置 OSD 和 OSD 守护进程

现在我们会设置磁盘存储,首先运行下面的命令列出你所有可用的磁盘。

  1. # ceph-deploy disk list ceph-storage

结果中会列出你存储节点中使用的磁盘,你会用它们来创建 OSD。让我们运行以下命令,请使用你的磁盘名称。

  1. # ceph-deploy disk zap storage:sda
  2. # ceph-deploy disk zap storage:sdb

为了最后完成 OSD 配置,运行下面的命令配置日志磁盘以及数据磁盘。

  1. # ceph-deploy osd prepare storage:sdb:/dev/sda
  2. # ceph-deploy osd activate storage:/dev/sdb1:/dev/sda1

你需要在所有节点上运行相同的命令,它会清除你磁盘上的所有东西。之后为了集群能运转起来,我们需要使用以下命令从 ceph 管理节点复制不同的密钥和配置文件到所有相关节点。

  1. # ceph-deploy admin ceph-node ceph-storage

 

7、Ceph集群的监控

查看ceph集群的健康状态:

$ ceph
ceph> health
HEALTH_OK

ceph> status
    cluster ef472f1b-8967-4041-826c-18bd31118a9a
     health HEALTH_OK
     monmap e1: 3 mons at {ceph1=10.0.2.5:6789/0,ceph2=10.0.2.7:6789/0,ceph3=10.0.2.8:6789/0}
            election epoch 4, quorum 0,1,2 ceph1,ceph2,ceph3
     osdmap e34: 6 osds: 6 up, 6 in
            flags sortbitwise
      pgmap v82: 64 pgs, 1 pools, 0 bytes data, 0 objects
            203 MB used, 569 GB / 569 GB avail
                  64 active clean

ceph> quorum_status
{"election_epoch":4,"quorum":[0,1,2],"quorum_names":["ceph1","ceph2","ceph3"],"quorum_leader_name":"ceph1","monmap":{"epoch":1,"fsid":"ef472f1b-8967-4041-826c-18bd31118a9a","modified":"0.000000","created":"0.000000","mons":[{"rank":0,"name":"ceph1","addr":"10.0.2.5:6789/0"},{"rank":1,"name":"ceph2","addr":"10.0.2.7:6789/0"},{"rank":2,"name":"ceph3","addr":"10.0.2.8:6789/0"}]}}

ceph> mon_status
{"name":"ceph2","rank":1,"state":"peon","election_epoch":4,"quorum":[0,1,2],"outside_quorum":[],"extra_probe_peers":["10.0.2.5:6789/0","10.0.2.8:6789/0"],"sync_provider":[],"monmap":{"epoch":1,"fsid":"ef472f1b-8967-4041-826c-18bd31118a9a","modified":"0.000000","created":"0.000000","mons":[{"rank":0,"name":"ceph1","addr":"10.0.2.5:6789/0"},{"rank":1,"name":"ceph2","addr":"10.0.2.7:6789/0"},{"rank":2,"name":"ceph3","addr":"10.0.2.8:6789/0"}]}}

ceph> osd tree
ID WEIGHT  TYPE NAME      UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 0.55618 root default                                    
-2 0.18539     host ceph1                                  
0 0.09270         osd.0       up  1.00000          1.00000
3 0.09270         osd.3       up  1.00000          1.00000
-3 0.18539     host ceph2                                  
1 0.09270         osd.1       up  1.00000          1.00000
4 0.09270         osd.4       up  1.00000          1.00000
-4 0.18539     host ceph3                                  
2 0.09270         osd.2       up  1.00000          1.00000
5 0.09270         osd.5       up  1.00000          1.00000

 

如果需要使用更多的OSDs的管理功能,可以参考官网上http://docs.ceph.com/docs/master/rados/operations/add-or-rm-osds/ 。

 

实时观察ceph集群工作状态的命令:$ceph -w

 

查看ceph存储集群的存储空间使用率:$ceph df

注:这个命令显示的pools使用情况,仅是逻辑意义上的一份数据占用的空间,而实际上ceph集群还会存储更多的副本、克隆和快照。

 

查看ceph集群状态:

$ceph status 或$ceph -s

 

查看OSD服务的状态:

$ ceph osd stat
$ ceph osd dump
$ ceph osd tree

以上均是从不同角度,展示的OSDs的进程状态信息。

 

查看MONITOR状态:

$ceph mon stat
$ceph mon dump
$ceph quorum_status

 

查看MDS状态:

$ceph mds stat
$ceph mds dump

 

关于更高级的ceph集群监控功能,例如PLACEMENT GROUP状态和怎样使用ADMIN SOCKET,参见http://docs.ceph.com/docs/master/rados/operations/monitoring/ 。

设置 SSH 密钥

现在我们会在 Ceph 管理节点生成 ssh 密钥并把密钥复制到每个 Ceph 集群节点。

在 ceph-node 运行下面的命令复制它的 ssh 密钥到 ceph-storage。

  1. [root@ceph-node ~]#ssh-keygen
  2. Generatingpublic/private rsa key pair.
  3. Enterfilein which to save the key (/root/.ssh/id_rsa):
  4. Created directory '/root/.ssh'.
  5. Enter passphrase (emptyforno passphrase):
  6. Enter same passphrase again:
  7. Your identification has been saved in/root/.ssh/id_rsa.
  8. Yourpublic key has been saved in/root/.ssh/id_rsa.pub.
  9. The key fingerprint is:
  10. 5b:*:*:*:*:*:*:*:*:*:c9 root@ceph-node
  11. The key's randomart image is:
  12. --[ RSA 2048]----

  1. [root@ceph-node ~]#ssh-copy-id ceph@ceph-storage

男篮世界杯赌球 5

SSH key

 

1、在管理节点上创建一个目录,用于保存集群的配置文件和密钥文件。

使用我们前面创建的普通帐号dpadmin执行:

mkdir my-cluster
cd my-cluster

安装 Ceph

现在我们准备在和 Ceph 集群关联的每个节点上安装 Ceph。我们使用下面的命令在 ceph-storage 和 ceph-node 上安装 Ceph。

  1. # ceph-deploy install ceph-node ceph-storage

男篮世界杯赌球 6

安装 ceph

处理所有所需仓库和安装所需软件包会需要一些时间。

当两个节点上的 ceph 安装过程都完成后,我们下一步会通过在相同节点上运行以下命令创建监视器并收集密钥。

  1. # ceph-deploy mon create-initial

男篮世界杯赌球 7

Ceph 初始化监视器

 

本文由美洲杯赌球发布于计算机教程,转载请注明出处:实验环境Ceph 9.2.1部署笔记

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。