GlusterFS日常运维小记

目前测试环境的OpenStack存储后端部分采用的GlusterFS,记下日常使用的一些命令方便其他同事查看。

运维命令####

创建卷

$ gluster volume create cinder-volumes replica 2 transport tcp host1:/brick/volume1 host2:/brick/volume1 host3:/brick/volume1 host4:/brick/volume1

卷设置

$ gluster volume cinder-volumes set nfs.disable on
$ gluster volume cinder-volumes set performance.readdir-ahead on
$ gluster volume cinder-volumes set transport.address-family inet 
$ gluster volume cinder-volumes set performance.read-ahead-page-count 8
$ gluster volume cinder-volumes set performance.io-thread-count 16
$ gluster volume cinder-volumes set network.ping-timeout 10
$ gluster volume cinder-volumes set performance.cache-size 8GB
$ gluster volume cinder-volumes set cluster.self-heal-daemon on
$ gluster volume cinder-volumes set cluster.heal-timeout 300
$ gluster volume cinder-volumes set performance.write-behind-window-size 256MB
$ gluster volume cinder-volumes set performance.io-cache off
$ gluster volume cinder-volumes set server.allow-insecure on

扩容卷

$ gluster volume add-brick cinder-volumes replica 2 host1:/brick/volume1 host2:/brick/volume1

#重建数据
$ gluster volume rebalance cinder-volumes start [force]

$ gluster volume rebalance cinder-volumes status

缩容卷

若是副本卷,则移除的Bricks数是replica的整数倍;stripe具有同样的要求.

$ gluster volume remove-brick cinder-volumes host1:/brick/volume1 host2:/brick/volume1

#执行start则开始迁移数据,系统会有负载
$ gluster volume remove-brick cinder-volumes start

$ gluster volume remove-brick cinder-volumes status

#不迁移数据,直接删除
$ gluster volume remove-brick cinder-volumes commit

替换卷

用host2的卷替换host1

$ gluster volume replace-brick cinder-volumes host1:/brick/volume1 host2:/brick/volume1 [force]

故障处理####

1.物理机数据盘硬盘故障

在正常的服务器上gluster的贡献盘文件系统属性,然后设置到新硬盘挂载贡献路径上;

#获取数据
$ getfattr -d -m '.*' /brick/volume1

getfattr: Removing leading '/' from absolute path names
# file: brick/volume1
trusted.gfid=0sAAAAAAAAAAAAAAAAAAAAAQ==
trusted.glusterfs.dht=0sAAAAAQAAAAA/////f////Q==
trusted.glusterfs.dht.commithash="3307144809"
trusted.glusterfs.volume-id=0sqcz7hnqRQ9asrnzx2DtUxQ==

#设置属性
$ setfattr -n trusted.gfid -v 0sAAAAAAAAAAAAAAAAAAAAAQ== /brick/volume2
$ setfattr -n trusted.glusterfs.dht -v 0sAAAAAQAAAAA/////f////Q== /brick/volume2
$ setfattr -n trusted.glusterfs.dht.commithash -v "3168624641" /brick/volume2
$ setfattr -n trusted.glusterfs.volume-id -v 0sqcz7hnqRQ9asrnzx2DtUxQ== /brick/volume2

重启glusterd服务,然后查看健康状态;

$ gluster volume heal cinder-volumes info

Brick host1:/brick/volume1
Status: Connected
Number of entries: 0

Brick host2:/brick/volume1
/data 
Status: Connected
Number of entries: 1        # 显示一个条目在修复,自动修复完成后会为 0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容