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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
ceph扩容
在fuel openstack里挂载存储增加OSD
环境介绍:
单独部署了ceph节点,挂载后端存储,增加osd节点,扩容ceph
扩容前的容量
root@node-92:~
# ceph -s
cluster 32bf310c-358b-47bc-afc7-25b961477c84
health HEALTH_WARN
too many PGs per OSD (480 > max 300)
monmap e1: 1 mons at {node-99=192.168.1.4:6789
/0
}
election epoch 1, quorum 0 node-99
osdmap e313: 4 osds: 4 up, 4
in
pgmap v34509: 640 pgs, 10 pools, 127 MB data, 86 objects
8851 MB used, 2542 GB / 2653 GB avail
640 active+clean
root@node-92:~
#
创建 OSD 。如果未指定 UUID , OSD 启动时会自动生成一个。下列命令会输出 OSD 号,后续步骤你会
用到。
ceph osd create [{uuid} [{
id
}]] 可以直接执行 不需要带 UUUID 和 ID 在mon_host节点执行
这个命令
root@node-99:~
# cat /etc/ceph/ceph.conf
[global]
fsid = 32bf310c-358b-47bc-afc7-25b961477c84 可以通过这个配置看到mon_host
mon_initial_members = node-99
mon_host = 192.168.1.4
root@node-99:~
# ceph osd create
4
root@node-99:~
#
4这个数字是自动生成的 我前面已经用了 osd.0 osd.1 osd.2 osd.3
登录需要创建挂载存储创建OSD的主机
root@node-99:~
# ssh node-92
Warning: Permanently added
'node-92,192.168.0.9'
(ECDSA) to the list of known hosts.
Welcome to Ubuntu 14.04.4 LTS (GNU
/Linux
3.13.0-92-generic x86_64)
* Documentation: https:
//help
.ubuntu.com/
Last login: Tue Jun 6 17:24:08 2017 from 192.168.0.6
root@node-92:~
#
我这里是node-92 具体看你自己的情况
root@node-92:~
# mkdir /var/lib/ceph/osd/ceph-4
root@node-92:~
#
创建挂载目录 注意路径和ceph-4 我们生成的是 4
root@node-92:~
# mount -o user_xattr /dev/mapper/mpath1-part1 /var/lib/ceph/osd/ceph-4
root@node-92:~
#
挂载存储盘到ceph-4,请挂载前先格式化存储盘,建议 ext4 参考命令:mkfs.ext4
/dev/mapper/
mpath1-part1
root@node-92:~
# ceph-osd -i 4 --mkfs --mkkey
初始化osd数据目录
root@node-92:~
# ceph auth add osd.4 osd 'allow *' mon 'allow rwx' -i /var/lib/ceph/osd/
ceph-4
/keyring
added key
for
osd.4 这是执行结果和上面不是同一行
root@node-92:~
# ^C
root@node-92:~
#
注册 OSD 认证密钥
root@node-92:~
# ceph osd crush add osd.4 1.0 host=node-92
把 OSD 加入 CRUSH 图,这样它才开始收数据。 osd.4是名字 1.0是weight
root@node-92:~
# start ceph-osd id=4
自动osd.4 注意命令格式 这是ubuntu的格式
^Croot@node-92:~
# ceph -s
cluster 32bf310c-358b-47bc-afc7-25b961477c84
health HEALTH_WARN
10 pgs stuck unclean
recovery 2
/258
objects degraded (0.775%)
recovery 2
/258
objects misplaced (0.775%)
too many PGs per OSD (382 > max 300)
monmap e1: 1 mons at {node-99=192.168.1.4:6789
/0
}
election epoch 1, quorum 0 node-99
osdmap e320: 5 osds: 5 up, 5
in
; 10 remapped pgs
pgmap v34544: 640 pgs, 10 pools, 127 MB data, 86 objects
11112 MB used, 5410 GB / 5677 GB avail
2
/258
objects degraded (0.775%)
2
/258
objects misplaced (0.775%)
630 active+clean
5 active+remapped
5 active
root@node-92:~
#
和前面做对比。扩容成功。
重点请注意:
在没有重启系统前,一切正常,重启系统后,会出错。需要设置自动挂载OSD 和自动OSD 参考如下
root@node-92:~
# echo "mount -o user_xattr /dev/mapper/mpath1-part1 /var/lib/ceph/osd/ceph-4
" >>
/etc/rc
.
local
root@node-92:~
# echo "start ceph-osd id=4" >> /etc/rc.local
root@node-92:~
#
重启系统测试下:
root@node-92:~
# init 6
root@node-92:~
# Connection to node-92 closed by remote host.
Connection to node-92 closed.
root@node-99:~
#
|
本文转自 am2012 51CTO博客,原文链接:http://blog.51cto.com/goome/1953529