天天看点

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

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

<code>ceph扩容</code>

<code>在fuel openstack里挂载存储增加OSD </code>

<code>环境介绍:</code>

<code>单独部署了ceph节点,挂载后端存储,增加osd节点,扩容ceph</code>

<code>扩容前的容量</code>

<code>root@node-92:~</code><code># ceph -s</code>

<code>    </code><code>cluster 32bf310c-358b-47bc-afc7-25b961477c84</code>

<code>     </code><code>health HEALTH_WARN</code>

<code>            </code><code>too many PGs per OSD (480 &gt; max 300)</code>

<code>     </code><code>monmap e1: 1 mons at {node-99=192.168.1.4:6789</code><code>/0</code><code>}</code>

<code>            </code><code>election epoch 1, quorum 0 node-99</code>

<code>     </code><code>osdmap e313: 4 osds: 4 up, 4 </code><code>in</code>

<code>      </code><code>pgmap v34509: 640 pgs, 10 pools, 127 MB data, 86 objects</code>

<code>            </code><code>8851 MB used, 2542 GB / 2653 GB avail</code>

<code>                 </code><code>640 active+clean</code>

<code>root@node-92:~</code><code># </code>

<code>创建 OSD 。如果未指定 UUID , OSD 启动时会自动生成一个。下列命令会输出 OSD 号,后续步骤你会</code>

<code>用到。</code>

<code>ceph osd create [{uuid} [{</code><code>id</code><code>}]]    可以直接执行 不需要带 UUUID  和  ID   在mon_host节点执行</code>

<code>这个命令</code>

<code>root@node-99:~</code><code># cat /etc/ceph/ceph.conf </code>

<code>[global]</code>

<code>fsid = 32bf310c-358b-47bc-afc7-25b961477c84        可以通过这个配置看到mon_host</code>

<code>mon_initial_members = node-99</code>

<code>mon_host = 192.168.1.4</code>

<code>root@node-99:~</code><code># ceph osd create</code>

<code>4</code>

<code>root@node-99:~</code><code>#    </code>

<code>4这个数字是自动生成的     我前面已经用了  osd.0  osd.1  osd.2  osd.3                       </code>

<code>登录需要创建挂载存储创建OSD的主机</code>

<code>root@node-99:~</code><code># ssh node-92</code>

<code>Warning: Permanently added </code><code>'node-92,192.168.0.9'</code> <code>(ECDSA) to the list of known hosts.</code>

<code>Welcome to Ubuntu 14.04.4 LTS (GNU</code><code>/Linux</code> <code>3.13.0-92-generic x86_64)</code>

<code> </code><code>* Documentation:  https:</code><code>//help</code><code>.ubuntu.com/                                   </code>

<code>Last login: Tue Jun  6 17:24:08 2017 from 192.168.0.6</code>

<code>我这里是node-92   具体看你自己的情况</code>

<code>root@node-92:~</code><code># mkdir /var/lib/ceph/osd/ceph-4</code>

<code>root@node-92:~</code><code>#                                                         </code>

<code>创建挂载目录  注意路径和ceph-4  我们生成的是 4</code>

<code>root@node-92:~</code><code># mount -o user_xattr /dev/mapper/mpath1-part1 /var/lib/ceph/osd/ceph-4</code>

<code>挂载存储盘到ceph-4,请挂载前先格式化存储盘,建议  ext4  参考命令:mkfs.ext4  </code><code>/dev/mapper/</code>

<code>mpath1-part1</code>

<code>root@node-92:~</code><code># ceph-osd -i 4 --mkfs  --mkkey</code>

<code>初始化osd数据目录</code>

<code>root@node-92:~</code><code># ceph auth add osd.4 osd 'allow *' mon 'allow rwx' -i /var/lib/ceph/osd/</code>

<code>ceph-4</code><code>/keyring</code> 

<code>added key </code><code>for</code> <code>osd.4        这是执行结果和上面不是同一行</code>

<code>root@node-92:~</code><code># ^C</code>

<code>注册 OSD 认证密钥</code>

<code>root@node-92:~</code><code># ceph osd crush add osd.4 1.0 host=node-92</code>

<code>把 OSD 加入 CRUSH 图,这样它才开始收数据。   osd.4是名字   1.0是weight   </code>

<code>root@node-92:~</code><code># start ceph-osd id=4</code>

<code>自动osd.4  注意命令格式  这是ubuntu的格式</code>

<code>^Croot@node-92:~</code><code># ceph -s</code>

<code>            </code><code>10 pgs stuck unclean</code>

<code>            </code><code>recovery 2</code><code>/258</code> <code>objects degraded (0.775%)</code>

<code>            </code><code>recovery 2</code><code>/258</code> <code>objects misplaced (0.775%)</code>

<code>            </code><code>too many PGs per OSD (382 &gt; max 300)</code>

<code>     </code><code>osdmap e320: 5 osds: 5 up, 5 </code><code>in</code><code>; 10 remapped pgs</code>

<code>      </code><code>pgmap v34544: 640 pgs, 10 pools, 127 MB data, 86 objects</code>

<code>            </code><code>11112 MB used, 5410 GB / 5677 GB avail</code>

<code>            </code><code>2</code><code>/258</code> <code>objects degraded (0.775%)</code>

<code>            </code><code>2</code><code>/258</code> <code>objects misplaced (0.775%)</code>

<code>                 </code><code>630 active+clean</code>

<code>                   </code><code>5 active+remapped</code>

<code>                   </code><code>5 active</code>

<code>和前面做对比。扩容成功。</code>

<code>重点请注意:</code>

<code>在没有重启系统前,一切正常,重启系统后,会出错。需要设置自动挂载OSD  和自动OSD  参考如下</code>

<code>root@node-92:~</code><code># echo "mount -o user_xattr /dev/mapper/mpath1-part1 /var/lib/ceph/osd/ceph-4</code>

<code>" &gt;&gt; </code><code>/etc/rc</code><code>.</code><code>local</code>

<code>root@node-92:~</code><code># echo "start ceph-osd id=4" &gt;&gt; /etc/rc.local</code>

<code>重启系统测试下:</code>

<code>root@node-92:~</code><code># init 6</code>

<code>root@node-92:~</code><code># Connection to node-92 closed by remote host.</code>

<code>Connection to node-92 closed.</code>

<code>root@node-99:~</code><code>#</code>

本文转自 am2012 51CTO博客,原文链接:http://blog.51cto.com/goome/1953529