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 > 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 > 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>" >> </code><code>/etc/rc</code><code>.</code><code>local</code>
<code>root@node-92:~</code><code># echo "start ceph-osd id=4" >> /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