Gluster 常用命令
1 服務器節點
# gluster peer status //查看所有節點信息,顯示時不包括本節點
# gluster peer probe NODE-NAME //添加節點
# gluster peer detach NODE-NAME //移除節點,需要提前將該節點上的brick移除
2 glusterd服務
/etc/init.d/glusterd start //啟動glusterd服務
/etc/init.d/glusterd stop //關閉glusterd服務
/etc/init.d/glusterd status //查看glusterd服務
3 卷管理
3.1 創建卷
<1>復制卷
語法: gluster volume create NEW-VOLNAME [replica COUNT] [transport tcp | rdma | tcp, rdma] NEW-BRICK
示例1:gluster volume create test-volume replica 2 transport tcp server1:/exp1/brick server2:/exp2/brick
<2>條帶卷
語法:gluster volume create NEW-VOLNAME [stripe COUNT] [transport tcp | rdma | tcp, rdma] NEW-BRICK...
示例:gluster volume create test-volume stripe 2 transport tcp server1:/exp1/brick server2:/exp2/brick
<3>分布式卷
語法: gluster volume create NEW-VOLNAME [transport tcp | rdma | tcp, rdma] NEW-BRICK
示例1:gluster volume create test-volume server1:/exp1/brick server2:/exp2/brick
示例2:gluster volume create test-volume transport rdma server1:/exp1/brick server2:/exp2/brick server3:/exp3/brick server4:/exp4/brick
<4>分布式復制卷
語法: gluster volume create NEW-VOLNAME [replica COUNT] [transport tcp | rdma | tcp, rdma] NEW-BRICK...
示例: gluster volume create test-volume replica 2 transport tcp server1:/exp1/brick server2:/exp2/brick server3:/exp3/brick server4:/exp4/brick
<5>分布式條帶卷
語法:gluster volume create NEW-VOLNAME [stripe COUNT] [transport tcp | rdma | tcp, rdma] NEW-BRICK...
示例:gluster volume create test-volume stripe 2 transport tcp server1:/exp1/brick server2:/exp2/brick server3:/exp3/brick server4:/exp4/brick
<6>條帶復制卷
語法:gluster volume create NEW-VOLNAME [stripe COUNT] [replica COUNT] [transport tcp | rdma | tcp, rdma] NEW-BRICK...
示例:gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1/brick server2:/exp2/brick server3:/exp3/brick server4:/exp4/brick
3.2 啟動卷
#gluster volume start test-volume
3.3 停止卷
#gluster volume stop test-volume
3.4 刪除卷
#gluster volume delete test-volume //先停止卷后才能刪除
3.5 查看卷
# gluster volume list /*列出集群中的所有卷*/
# gluster volume info [all] /*查看集群中的卷信息*/
# gluster volume status [all] /*查看集群中的卷狀態*/
# gluster volume status [detail| clients | mem | inode | fd]
3.6 配置卷
# gluster volume set <VOLNAME> <OPTION> <PARAMETER>
3.7 擴展卷
# gluster volume add-brick <VOLNAME> <NEW-BRICK>
注意,如果是復制卷或者條帶卷,則每次添加的Brick數必須是replica或者stripe的整數倍。
3.8 收縮卷
先將數據遷移到其它可用的Brick,遷移結束后才將該Brick移除:
# gluster volume remove-brick start
在執行了start之后,可以使用status命令查看移除進度:
# gluster volume remove-brick status
不進行數據遷移,直接刪除該Brick:
# gluster volume remove-brick commit
注意,如果是復制卷或者條帶卷,則每次移除的Brick數必須是replica或者stripe的整數倍。
3.9 遷移卷
使用start命令開始進行遷移:
# gluster volume replace-brick start
在數據遷移過程中,可以使用pause命令暫停遷移:
# gluster volume replace-brick pause
在數據遷移過程中,可以使用abort命令終止遷移:
# gluster volume replace-brick abort
在數據遷移過程中,可以使用status命令查看遷移進度:
# gluster volume replace-brick status
在數據遷移結束后,執行commit命令來進行Brick替換:
# gluster volume replace-brick commit
3.10 重新均衡卷
不遷移數據:
# gluster volume rebalance lay-outstart
# gluster volume rebalance start
# gluster volume rebalance startforce
# gluster volume rebalance status
# gluster volume rebalance stop
4 Brick管理
4.1 添加Brick
# gluster volume add-brick test-volume 192.168.1.{151,152}:/mnt/brick2
4.2 刪除Brick
若是副本卷,則移除的Bricks數是replica的整數倍
#gluster volume remove-brick test-volume 192.168.1.{151,152}:/mnt/brick2 start
在執行開始移除之后,可以使用status命令進行移除狀態查看。
#gluster volume remove-brick test-volume 192.168.1.{151,152}:/mnt/brick2 status
使用commit命令執行Brick移除,則不會進行數據遷移而直接刪除Brick,符合不需要數據遷移的用戶需求。
#gluster volume remove-brick test-volume 192.168.1.{151,152}:/mnt/brick2 commit
4.3 替換Brick
任務:把192.168.1.151:/mnt/brick0 替換為192.168.1.151:/mnt/brick2
<1>開始替換
#gluster volume replace-brick test-volume 192.168.1.:/mnt/brick0 ..152:/mnt/brick2 start
異常信息:volume replace-brick: failed: /data/share2 or a prefix of it is already part of a volume
說明 /mnt/brick2 曾經是一個Brick。具體解決方法
# rm -rf /mnt/brick2/.glusterfs
# setfattr -x trusted.glusterfs.volume-id /mnt/brick2
# setfattr -x trusted.gfid /mnt/brick2
//如上,執行replcace-brick卷替換啟動命令,使用start啟動命令后,開始將原始Brick的數據遷移到即將需要替換的Brick上。
<2>查看是否替換完
#gluster volume replace-brick test-volume 192.168.1.151:/mnt/brick0 ..152:/mnt/brick2 status
<3>在數據遷移的過程中,可以執行abort命令終止Brick替換。
#gluster volume replace-brick test-volume 192.168.1.151:/mnt/brick0 ..152:/mnt/brick2 abort
<4>在數據遷移結束之后,執行commit命令結束任務,則進行Brick替換。使用volume info命令可以查看到Brick已經被替換。
#gluster volume replace-brick test-volume 192.168.1.151:/mnt/brick0 .152:/mnt/brick2 commit
# 此時我們再往 /sf/data/vs/gfs/rep2上添加數據的話,數據會同步到 192.168.1.152:/mnt/brick0和192.168.1.152:/mnt/brick2上。而不會同步到
192.168.1.151:/mnt/brick0 上。
5 文件系統擴展屬性
獲取文件擴展屬性
getfattr -d -m . -e hex filename
getfattr -d -m "trusted.afr.*" -e hex filename
