本文应用几个常见的实例来说明一些gluster中经常涉及到的命令:
建立卷(Create Volume)
如果你打算使用gluster分布式存储,那么首要的步骤是建立卷。建立卷的模式有很多种,具体模式可以参见官方网站。我们这里来建立一个复制卷(类似raid1)。
1.将所有服务器加入存储池
gluster peer probe HOSTNAME
2.创建卷
gluster volume create NEWVOLNAME [stripe COUNT | replica COUNT] [transport [tcp | rdma | tcp,rdma]] NEWBRICK1 NEWBRICK2 NEWBRICK3...
3.启动卷
gluster volume start VOLNAME
删除卷(Delete Volume)
当然你也可以删除你创建的卷。
1.停止卷
gluster volume stop VOLNAME
2.删除卷
gluster volume delete VOLNAME
扩展卷(Expanding Volume)
你可能在使用gluster的过程中想在线扩展卷的大小,比如给分布式的卷中添加brick,以增加卷的容量。如果你的卷是分布式复制卷或者分布式条带卷,你新增的brick的数量必须是复制或者条带数目的倍数。比如你建立的卷replica为2,那么新增的brick的数量必须是2,4,6,8等。
1. 把新增的存储服务器加入存储池
gluster peer probe HOSTNAME
2. 把brick加入卷中
gluster volume add-brick VOLNAME NEWBRICK
3. 查看卷信息
gluster volume info
4. 重新平衡卷
gluster volume rebalance VOLNAME start | stop | status
缩小卷(Shrinking Volume)
你可能在使用gluster过程中想在线缩小卷的大小,比如当服务器故障或网络故障时,你想移除卷中相关的brick。同样需要注意的是如果你建立的是分布式复制卷或分布式条带卷,你删除的brick数量必须是复制或条带数目的倍数。
1. 把brick从卷中移除
gluster volume remove-brick VOLNAME BRICK
2. 查看卷信息
gluster volume info
3. 重新平衡卷
gluster volume rebalance VOLNAME start | stop | status
在线迁移数据(Migrating Data)
你可能想在线迁移一个brick中的数据到另一个brick中,首先确保相应存储服务器已加入存储池中。
1.迁移数据到另一个brick中
gluster volume replace-brick VOLNAME BRICK NEWBRICK start
2.查看迁移进度状态
gluster volume replace-brick VOLNAME BRICK NEWBRICK status
3.提交迁移数据
gluster volume replace-brick VOLNAME BRICK NEWBRICK commit