0%

ceph-13.2.5添加mon,删除mon(ceph-deploy)


前言

在集群搭建完毕之后,一共有三个host,每个host都是mon节点,这时新创建一个虚拟机,想要让它加入到mon节点, 就需要学习如何添加mon节点。

添加mon节点

这里添加的节点叫做node4

由于这里使用的是ceph-deploy工具,所以首先要进行ssh免密登录的设置,然后再进行ntp设置。 当然,还需要对hosts文件进行修改。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// 先添加集群用户
[node4]$ useradd -d /home/{username} -m {username}
[node4]$ echo "{username} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{username}
[node4]$ sudo chmod 0440 /etc/sudoers.d/{username}

// 修改hosts文件
[deploy]$ sudo vim /etc/hosts
[deploy]$ cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.31.203 node1
192.168.31.204 node2
192.168.31.205 node3
192.168.31.207 node4

// 其它所有节点拷贝hosts文件(不知道是不是必须的,反正我是做了这一步)
[node1]$ sudo scp ming@192.168.31.202:/etc/hosts /etc/hosts
[node2]$ sudo scp ming@192.168.31.202:/etc/hosts /etc/hosts
[node3]$ sudo scp ming@192.168.31.202:/etc/hosts /etc/hosts
[node4]$ sudo scp ming@192.168.31.202:/etc/hosts /etc/hosts


// ssh免密登录设置
[deploy]$ vim ~/.ssh/config
[deploy]$ cat ~/.ssh/config

Host node1
HostName 192.168.31.203
User ming
Host node2
HostName 192.168.31.204
User ming
Host node3
HostName 192.168.31.205
User ming
Host node4
HostName 192.168.31.207
User ming

[deploy]$ ssh-copy-id {username}@node4

// ntp设置
[node4]$ sudo yum install -y ntp
[node4]$ sudo systemctl start ntpd
[node4]$ sudo systemctl enable ntpd
[node4]$ sudo vim /etc/ntp.conf
[node4]$ cat /etc/ntp.conf

...
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 192.168.31.202 prefer
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
...

完成上面的准备工作之后,开始进行mon的添加,

注意:我这里使用的本地源来安装ceph,所以即使不装epel也无所谓,因为所需依赖包都在本地了, 具体可以参考之前的博客centos7上的ceph指定版本安装方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// 安装ceph
[node4]$ sudo yum install -y ceph

// 修改ceph.conf配置。
// 这里在mon_initial_members、mon_host上的修改可能并不是必须的(经本人测试),但感觉还是加上好一点。
// 一定要增加public_network字段的配置,否则大概率会出现"admin_socket: exception getting command descriptions file ..."的错误。
[deploy]$ vim ceph.conf
[deploy]$ cat ceph.conf

[global]
fsid = a20b153c-c907-41bb-a5b2-753a40e2085c
mon_initial_members = node1, node2, node3, node4
mon_host = 192.168.31.203,192.168.31.204,192.168.31.205,192.168.31.207
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
public_network = 192.168.31.0/24

// 将这个配置发送到其它节点
[deploy]$ ceph-deploy --overwrite-conf config push node1 node2 node3 node4

// 添加mon节点
[deploy]$ ceph-deploy mon add node4

[deploy]$ ssh node1 sudo ceph -s

...
services:
mon: 4 daemons, quorum node1,node2,node3,node4
mgr: node1(active), standbys: node2, node3
osd: 0 osds: 0 up, 0 in
...

这样就完成了mon节点的添加,注意到其中的关键在于public_network字段的添加

删除mon节点

直接destroy就可以了:

1
[deploy]$ ceph-deploy mon destroy node4

参考

STORAGE CLUSTER QUICK START

ceph在扩展mon节点时,要注意的问题