b. 当集群达到一定规模,希望增加备份数时,增加的磁盘数量必须为原分布数量的整数倍。gluster volume info中看到的第一个值,这时需要增加一个参数让系统知道是修改了数据的备份数。假设原先的replica是2,想要改为3,命令如下:
sudo gluster volume add-brick vol_name replica 3 172.17.0.11:/d/disk0 172.17.0.12:/d/disk0 172.17.0.13:/d/disk0 172.17.0.14:/d/disk0
执行完add-brick命令后,新增的磁盘还没有被实际使用,且系统不会自动复制,这时需要修复数据,让系统达到新指定的备份数
sudo gluster volume heal vol_name full
注意:一次只增加一个备份,如果一次增加多个备份,目前版本可能出错。
10.在线收缩
可能原先配置比例不合理,打算将部分存储机器用于其他用途时,跟扩容一样,也分两种情况。
a. 降低分布广度,移除的磁盘必须是一整个或多个存储单元,在volume info的结果列表中是连续的多块磁盘。该命令会自动均衡数据。
sudo gluster volume remove-brick vol_name 172.17.0.11:/d/disk0 172.17.0.12:/d/disk0 172.17.0.13:/d/disk0 172.17.0.14:/d/disk0 start
启动后需要查看删除的状态,实际是自动均衡的状态,直到状态从in progress变为completed。
sudo gluster volume remove-brick vol_name 172.17.0.11:/d/disk0 172.17.0.12:/d/disk0 172.17.0.13:/d/disk0 172.17.0.14:/d/disk0 status
状态显示执行完成后,提交该移除操作。
sudo gluster volume remove-brick vol_name commit
b. 降低备份数,移除磁盘必须是符合要求(好难表达)。在volume info的结果列表中一般是零散的多块磁盘(ip可能是连续的)。该命令不需要均衡数据。
sudo gluster volume remove-brick vol_name replica 2 172.17.0.11:/d/disk0 172.17.0.12:/d/disk0 172.17.0.13:/d/disk0 172.17.0.14:/d/disk0 force
降低备份数时,只是简单删除,而且命令最后用的也是force参数,如果原先系统数据没有复制好,那么也就会出现部分丢失。因此该操作需要极其谨慎。必须先保证数据完整,执行sudo gluster volume heal vol_name full命令修复,并执行sudo gluster volume heal vol_name info,和 sudo gluster volume status检查,确保数据正常情况下再进行。
11.配额设定
a. 一个volume经常会让多个系统去同时使用,这时为了方便管理,可以为一级或二级目录加上磁盘配额,避免因某个系统的过量使用,而影响其他系统的正常使用。
sudo gluster volume quota vol_name enable
sudo gluster volume quota vol_name limit-usage /srv_a 10GB
sudo gluster volume quota vol_name limit-usage /srv_b 200MB
b. 查看当前配额使用量,会以相当直观的列表展示。
sudo gluster volume quota vol_name list
c. 去掉某个目录的配额,
sudo gluster volume quota vol_name remove /srv_a
d. 停止配额,该方法慎用,否则会全部清除,往往不是自己想要的结果,因为重新enable后,原先设定的配额都已消失。当然,如果打算重新配置所有目录时则比较合适。
sudo gluster volume quota vol_name disable