本次测试。为了快速地安装,所以把目录而非整个硬盘用于 OSD 守护进程。后面的
后面的测试还将会有使用硬盘来作为OSD数据盘
测试机规划
节点名称 | IP 地址 | 部署进程 | 系统盘 | 数据盘 |
ceph1 | eth0 192.168.89.10 外网 eth1 10.0.0.10 内网 |
1MON+1MDS+2OSD | /dev/vda 20G | /dev/vdb, /dev/vdc |
ceph2 | eth0 192.168.89.11 外网 eth1 10.0.0.11 内网 |
1MON+1MDS+2OSD | /dev/vda 20G | /dev/vdb, /dev/vdc |
ceph3 | eth0 192.168.89.12 外网 eth1 10.0.0.12 内网 |
1MON+1OSD | /dev/vda 20G | /dev/vdb, /dev/vdc |
一、环境准备(准备好三个节点ceph1-3)
1、修改hostname
2、配置IP地址
3、配置hosts文件,增加其他节点的hostname和ip地址对应条目
4、创建一个普通账户(用户名称:toby)
5、让ceph管理节点(ceph1),ssh免密码登录其他ceph节点
6、各ceph节点普通用户拥有无密码使用 sudo 的权限
echo "{username} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{username}
sudo chmod 0440 /etc/sudoers.d/{username}
二、ceph-deploy工具安装(在ceph1节点上安装)
在 ceph1 上安装 ceph-deploy,接下来会使用这个工具来部署 ceph 集群
[email protected]:~$ sudo apt-get install ceph-deploy
三、安装ceph
3.1、ceph-deploy工具进行安装(在ceph1上运行,因为在ceph1上安装了ceph-deploy部署工具):
ceph-deploy install ceph1 ceph2 ceph3 (这个命令将在各节点上安装 ceph 软件)
经过观察ceph-deploy部署工具的输出内容发现,其实就是安装以下这些包
sudo apt-get install ceph
sudo apt-get install ceph-mds
sudo apt-get install ceph-common
sudo apt-get install ceph-fs-common
sudo apt-get install gdisk
3.2、经过测试,用ceph-deploy工具去安装的话,有时候不稳定,造成安装失败(多数是因为网络问题)。当然也可以到每台ceph节点进行手动安装这些包:
sudo apt-get -y install ceph ceph-mds ceph-common ceph-fs-common gdisk
查看版本:
[email protected]:~$ ceph --version
ceph version 0.80.11 (8424145d49264624a3b0a204aedb127835161070)
四、创建ceph集群
在 ceph1 上执行以下命令创建 MON 集群
4.1、在ceph1管理节点上创建一个目录,用于保存 ceph-deploy 生成的配置文件和密钥对。
[email protected]:~/my-cluster$ mkdir my-cluster
[email protected]:~/my-cluster$ cd my-cluster
4.2、创建一个集群(进入刚才创建的目录下进行操作)
[email protected]:~/my-cluster$ ceph-deploy new ceph1 ceph2 ceph3
在当前目录下用 ls 和 cat 检查 ceph-deploy 的输出,应该有一个 Ceph 配置文件、一个 monitor 密钥环和一个日志文件。
4.3、远程主机上部署ceph监控。
[email protected]:~/my-cluster$ ceph-deploy mon create ceph1 ceph2 ceph3
[email protected]:~/my-cluster$ ceph-deploy mon create-initial
4.4、完成后查看mon集群状态
[email protected]:~/my-cluster$ sudo ceph mon_status
{"name":"ceph1","rank":0,"state":"leader","election_epoch":6,"quorum":[0,1,2],"outside_quorum":[],"extra_probe_peers":["192.168.89.11:6789\/0","192.168.89.12:6789\/0"],"sync_provider":[],"monmap":{"epoch":1,"fsid":"ea8ef245-70bc-4000-b676-4c780e8fce64","modified":"0.000000","created":"0.000000","mons":[{"rank":0,"name":"ceph1","addr":"192.168.89.10:6789\/0"},{"rank":1,"name":"ceph2","addr":"192.168.89.11:6789\/0"},{"rank":2,"name":"ceph3","addr":"192.168.89.12:6789\/0"}]}}
4.5、添加两个 OSD
登录到 Ceph 节点、并给 OSD 守护进程创建一个目录。
ssh ceph1
sudo mkdir /var/local/osd0
exit
ssh ceph2
sudo mkdir /var/local/osd1
exit
ssh ceph3
sudo mkdir /var/local/osd2
exit
4.6、从管理节点执行 ceph-deploy 来准备 OSD
ceph-deploy osd prepare ceph1:/var/local/osd0 ceph2:/var/local/osd1 ceph3:/var/local/osd2
4.7、激活 OSD
ceph-deploy osd activate ceph1:/var/local/osd0 ceph2:/var/local/osd1 ceph3:/var/local/osd2
4.8、检查集群的健康状况。
[email protected]:~/my-cluster$ ceph health
HEALTH_OK
[email protected]:~$ ceph health
HEALTH_OK
[email protected]:~$ ceph health
HEALTH_OK
4.9、完成后查看 OSD 状态:
[email protected]:~/my-cluster$ ceph osd tree
# id weight type name up/down reweight
-1 0.05997 root default
-2 0.01999 host ceph1
0 0.01999 osd.0 up 1
-3 0.01999 host ceph2
1 0.01999 osd.1 up 1
-4 0.01999 host ceph3
2 0.01999 osd.2 up 1
4.10、用 ceph-deploy 把配置文件和 admin 密钥拷贝到管理节点和 Ceph 节点,这样你每次执行 Ceph 命令行时就无需指定 monitor 地址和 ceph.client.admin.keyring 了
[email protected]:~/my-cluster$ ceph-deploy admin ceph1 ceph2 ceph3
4.11、确保你对 ceph.client.admin.keyring 有正确的操作权限。
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
4.12、安装 MDS 集群(添加元数据服务器)
至少需要一个元数据服务器才能使用 CephFS ,执行下列命令创建元数据服务器:
ceph-deploy mds create ceph1 ceph2 ceph3
官方说:当前生产环境下的 Ceph 只能运行一个元数据服务器。你可以配置多个,但现在我们还不会为多个元数据服务器的集群提供商业支持。
4.13、完成后可以使用 “ceph mds” 命令来操作 MDS 集群,比如查看状态:
[email protected]:~/my-cluster$ ceph mds stat
e5: 1/1/1 up {0=ceph1=up:active}, 2 up:standby
4.14、至此,Ceph 集群部署完成,可以使用 ceph 命令查看集群状态:
[email protected]:~/my-cluster$ ceph -s
cluster ea8ef245-70bc-4000-b676-4c780e8fce64
health HEALTH_OK
monmap e1: 3 mons at {ceph1=192.168.89.10:6789/0,ceph2=192.168.89.11:6789/0,ceph3=192.168.89.12:6789/0}, election epoch 10, quorum 0,1,2 ceph1,ceph2,ceph3
mdsmap e5: 1/1/1 up {0=ceph1=up:active}, 2 up:standby
osdmap e7: 3 osds: 3 up, 3 in
pgmap v50: 192 pgs, 3 pools, 1884 bytes data, 20 objects
19463 MB used, 34635 MB / 57065 MB avail
192 active+clean
[email protected]:~/my-cluster$
温馨提示:
在这过程中,失败和反复是难免的,在任何时候,可以使用如下的命令将已有的配置擦除然后从头安装:
ceph-deploy purge ceph{1,2,3}
ceph-deploy purgedata ceph{1,2,3}
ceph-deploy forgetkeys