ksf 處理冷氣關閉
tjy 重開life系統
tjm 處理機器最佳化
ksf 處理冷氣關閉
tjy 重開life系統
tjm 處理機器最佳化
tjm 更新kernel
tjy 監督機房施工
tjm 搞定glusterfs,去申請歐洲與馬來西亞的分站
使用gluster這種分散式系統,為的就是希望有個「穩定安全」的環境,所以通常會使用replication的機制 。
gluster的replication 有兩種,一種就是LAN裡面用的「同步 replication」,另一種就是散佈內容出去的「非同步Georeplication」,前者就是用多個brick(儲存單元)來同步備援。這種機制應該是整個儲存系統的核心。通常一開始建立之後,就會自動運作,直到有kernel更新或者其他硬體錯誤導致的某個brick離線。
離線後,系統會自動修復(3.3版以後就會自動修復),不過修復中的brick資料是錯的,且跟RAID一樣,同時一定還要有正確的brick提供修復。也就是如果是兩台雙備援,就不能兩台同時處於修復狀態。必須等修復的那台修復完成了,另一台才能離線。因此,了解目前修復的狀況怎樣,是非常重要的管理機制。要了解系統修復狀況,只要下:
gluster volume heal Volume_name info
就可以知道,一定要裡面都沒有entries了才算修復完成。當然,短期內因為系統使用中也會有幾個檔案出問題等待修復,但等一下應該就會消失。
如果要分散資料到slave 主機去,就要用 非同步Georeplication 。這種功能也很容易設定:
Slave端要先把
http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.0/EPEL.repo/glusterfs-epel.repo
放到 /etc/yum.repos.d
裝
yum install glusterfs-cli glusterfs-fuse glusterfs-server glusterfs-geo-replication glusterfs-libs
啟動 glusterd 與 glusterfsd
然後參考一下:
http://www.gluster.org/community/documentation/index.php/HowTo:geo-replication
即可。
ssh 免密碼搞定以後,
gluster volume geo-replication Volume_SYNC slave_server:/home start
即可啟動
gluster volume geo-replication Volume_SYNC slave_server:/home status
即可了解系統狀態
喔!對了,如果有兩台以上互相備援的master機器,應該會希望每一台master都可以replication 給slave吧?
這時請把 /var/lib/glusterd/geo-replication/*.pem 複製到其他台master機器去,這樣就可以同步執行 georeplication 了
其實網路上已經很多說明,似乎也不用紀錄太多,只要把網路上沒說的記一下即可:
參考一下底下:
http://www.gluster.org/community/documentation/index.php/Getting_started_overview
輕鬆就搞定。
這個一定要聽一下,因為 xfs 比較適合gluster ,block size要512就能避免遭遇麻煩的問題:
mkfs.xfs -i size=512 /dev/sdb1
防火牆我是這樣設定:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 54539 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 38003 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 616 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 24007:24047 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 49152:49162 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 24009:24019 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT -A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 38465:38470 -j ACCEPT
事實上我根本就是把一整個網路卡給gluster用
-A INPUT -i eth3 -j ACCEPT
這樣就可以開始用了。
真正的問題是遭遇當機時的處理方法,這個另一篇討論
yum install glusterfs glusterfs-fuse
mount -t glusterfs host:/XXX_SYNC /DIST