1 向Tracker添加Storage節點
在10.0.0.122和10.0.0.130伺服器上都可以執行添加Storage的命令.使用mogadm來添加Storage節點.
view sourceprint?
1mogadm add mog_storage_122 --ip=10.0.0.122 --port=7500 --status=alive
2mogadm host add mog_storage_130 --ip=10.0.0.130 --port=7500 --status=alive
3mogadm host list
如果mogadm報模塊未找到的錯誤,需要加「–lib」參數告訴mogadm命令MogileFS相關模塊的位置,如「–lib=/usr/lib/perl5/site_perl/5.8.8」,這些模塊在安裝MogileFS-Client的時候安裝.可以使用下列命令查詢MogileFS相關模塊的位置:
view sourceprint?
1find `perl -e 'print "@INC"'` -name 'MogileFS' -print
2/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/MogileFS
3/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/MogileFS
4/usr/lib/perl5/site_perl/5.8.8/MogileFS
5/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/MogileFS
6/usr/lib/perl5/site_perl/5.8.8/MogileFS
其中/usr/lib/perl5/site_perl/5.8.8就是MogileFS相關模塊的安裝位置.
2 向Storage節點添加設備
假設10.0.0.122上有兩塊硬碟,它們各自的掛載點如下:
/dev/sda1 -> /
/dev/sdb1 -> /disk2
假設10.0.0.130上有兩塊硬碟,它們各自的掛載點如下:
/dev/sda1 -> /
/dev/sdb1 -> /disk4
首先要在Storage節點上添加設備,方式是在Storage節點的根存儲目錄下建立設備目錄,設備目錄以「dev」開頭,後面跟一個數字序號,在MogileFS系統中,要求每個設備的序號是唯一的.根存儲目錄所在磁碟直接建立設備空目錄即可,對其他磁碟則需要掛載到設備目錄上.如果其他硬碟已經掛載其他地方,可以建立一個軟鏈接來連接到掛載點上.
在10.0.0.122上執行如下操作:
view sourceprint?
1mkdir -p /var/mogile_data/dev12201
2mogadm device add mog_storage_122 12201
3ln -s /disk2 dev12202
4mogadm device add mog_storage_122 12202
在10.0.0.130上執行如下操作:
view sourceprint?
1mkdir -p /var/mogile_data/dev13001
2mogadm device add mog_storage_130 13001
3ln -s /disk2 dev13002
4mogadm device add mog_storage_130 13002
可以check一下MogileFS系統的狀態:
view sourceprint?
1mogadm check
如果一切順利,列印出來的信息應該類似於下面的結果:
view sourceprint?
01Checking trackers...
02127.0.0.1:7001 ... OK
03Checking hosts...
04[ 1] mog_storage_122 ... OK
05[ 2] mog_storage_130 ... OK
06Checking devices...
07host device size(G) used(G) free(G) use% ob state I/O%
08---- ------------ ---------- ---------- ---------- ------ ---------- -----
09[ 1] dev12201 850.378 649.364 201.013 76.36% writeable 0.0
10[ 1] dev12202 855.761 315.925 539.836 36.92% writeable 0.0
11[ 2] dev13001 850.378 647.460 202.918 76.14% writeable 0.0
12[ 2] dev13002 855.761 402.538 453.223 47.04% writeable 0.0
13---- ------------ ---------- ---------- ---------- ------
14total: 3412.277 2015.287 1396.990 59.06%
3 設備失效時的處理
如果發現某個設備失效了,可以使用mogadm device mark命令標記設備失效.設備不能直接刪除,而只能標記失效.設備標記失效后,該設備上的所有文件將重新在其他設備上備份一份.設備被標記失效之後,就不能重新使用了.如果要重新啟用設備,MogileFS不會再用設備上原有的文件數據,而必須重新給設備分配一個新的設備序號,MogileFS也會認為該設備是一個全新的設備.
應注意的幾點:
標記失效后的設備不能直接使用原來的設備序號重新用alive激活;
要保證在同一時間內只有一個設備標記失效,否則會產生數據丟失.
例如,一般的場景如下:
1. 如果發現10.0.0.122機器上的/dev/hdb1損壞,這時候需要用mogadm標記設備失效:
view sourceprint?
1</p>
2mogadm device mark mog_storage_122 12202 dead</p>
從現在開始,MogileFS將會吧12202設備上的文件再次在其他設備上多備份一份,以填補12202失效產生的備份缺失.
2. 卸載/dev/hdb1,檢查磁碟,並修復.
3. 將磁碟上的文件全部刪除,重新掛載到10.0.0.122機器上.
4. 為磁碟分配一個新的設備序號12203,並添加設備.
view sourceprint?
1</p>
2mount /dev/hdb1 /disk2</p>
3ln -s /disk2 dev12203
4mogadm device add 12203 mog_storage_122
現在新設備12203將開始接收文件存儲.
4 添加域(Domain)和類(Class)
在MogileFS分散式文件存儲系統中,文件通過 KEY 來引用,KEY 在某個存儲域下是唯一的.類包含在domain中,可以針對不同的存儲類別設置存儲不同份數的文件副本.我們添加一個image 域,並為image域添加兩個類,一個是large_image,存儲分數是2;另一個是thumbnail,存儲分數也是2:
view sourceprint?
1mogadm domain add image
2mogadm class add image large_image --mindevcount=2
3mogadm class add image thumbnail --mindevcount=2
From -
[火星人 ] 使用mogadm配置和管理MogileFS已經有549次圍觀