暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GlusterFS日常维护操作命令

潍鲸 2020-05-23
1278

GlusterFS分布式文件系统在日常维护过程中经常用到一些操作指令,以下是整理的常用命令。


   启动/关闭/查看glusterd服务   

/etc/init.d/glusterd start
/etc/init.d/glusterd stop
/etc/init.d/glusterd status


   开机自动启动glusterd服务   

chkconfig glusterd on # Red Hat
update-rc.d glusterd defaults # Debian
echo "glusterd" >>/etc/rc.local # Others


   查看卷信息   

gluster volume info


   为存储池添加/移除服务器节点   

# 在其中一个节点上操作即可:
gluster peer probe <SERVER>
gluster peer detach <SERVER>
# 注意,移除节点时,需要提前将该节点上的Brick移除。


# 查看所有节点的基本状态(显示的时候不包括本节点)
gluster peer status


   挂载分区   

mount -t ext4 /dev/sdd1 /mnt/brick1


   创建/启动/停止/删除卷   

gluster volume create <NEW-VOLNAME>[stripe <COUNT> | replica <COUNT>] [transport [tcp | rdma | tcp,rdma]] <NEW-BRICK1> <NEW-BRICK2> <NEW-BRICK3> <NEW-BRICK4>...
gluster volume start <VOLNAME>
gluster volume stop <VOLNAME>
gluster volume delete <VOLNAME>


# 注意,删除卷的前提是先停止卷。


   客户端以glusterfs方式挂载   

mount -t glusterfs <SERVER>:/<VOLNAME><MOUNTDIR>
# 对于OpenStack,计算和控制节点都要挂载/var/lib/nova/instances,控制节点还要挂载/var/lib/glance/images。


   查看卷信息   

# 列出集群中的所有卷:
gluster volume list


# 查看集群中的卷信息:
gluster volume info [all]


# 查看集群中的卷状态:
gluster volume status [all]
gluster volume status <VOLNAME> [detail| clients | mem | inode | fd]


# 查看本节点的文件系统信息:
df -h [<MOUNT-PATH>]


# 查看本节点的磁盘信息:
fdisk -l


   配置卷   

gluster volume set <VOLNAME> <OPTION> <PARAMETER>

  扩展卷

gluster volume add-brick <VOLNAME> <NEW-BRICK>
# 注意,如果是复制卷或者条带卷,则每次添加的Brick数必须是replica或者stripe的整数倍。


   收缩卷   

# 先将数据迁移到其它可用的Brick,迁移结束后才将该Brick移除:
gluster volume remove-brick <VOLNAME> <BRICK> start


# 在执行了start之后,可以使用status命令查看移除进度:
gluster volume remove-brick <VOLNAME> <BRICK> status


# 不进行数据迁移,直接删除该Brick:
gluster volume remove-brick <VOLNAME> <BRICK> commit


# 注意,如果是复制卷或者条带卷,则每次移除的Brick数必须是replica或者stripe的整数倍。


   迁移卷   

# 使用start命令开始进行迁移:
gluster volume replace-brick <VOLNAME> <BRICK> <NEW-BRICK> start


# 在数据迁移过程中,可以使用pause命令暂停迁移:
gluster volume replace-brick <VOLNAME> <BRICK> <NEW-BRICK> pause


# 在数据迁移过程中,可以使用abort命令终止迁移:
gluster volume replace-brick <VOLNAME> <BRICK> <NEW-BRICK> abort


# 在数据迁移过程中,可以使用status命令查看迁移进度:
gluster volume replace-brick <VOLNAME> <BRICK> <NEW-BRICK> status


# 在数据迁移结束后,执行commit命令来进行Brick替换:
gluster volume replace-brick <VOLNAME> <BRICK> <NEW-BRICK> commit


   重新均衡卷   

# 不迁移数据:


gluster volume rebalance <VOLNAME> lay-outstart
gluster volume rebalance <VOLNAME> start
gluster volume rebalance <VOLNAME> startforce
gluster volume rebalance <VOLNAME> status
gluster volume rebalance <VOLNAME> stop


   系统扩展维护   

#开启/关闭系统配额:
gluster volume quota <VOLNAME> enable | disable


# 设置目录配额:
gluster volume quota <VOLNAME> limit-usage <DIR> <VALUE>


# 查看配额:
gluster volume quota <VOLNAME> list [<DIR>]


# 地域复制(geo-replication):
gluster volume geo-replication <MASTER> <SLAVE> start | status | stop


# IO信息查看:
gluster volume profile <VOLNAME> start | info | stop


# Top监控:
Top命令允许你查看Brick的性能,例如:read,write, file open calls, file read calls, file write calls, directory opencalls, and directory real calls。所有的查看都可以设置 top数,默认100


# 查看打开的 fd:
gluster volume top <VOLNAME> open[brick <BRICK>] [list-cnt <COUNT>]


# 其中,open可以替换为read, write, opendir, readdir等。
# 查看每个 Brick 的读性能:


gluster volume top <VOLNAME> read-perf [bs <BLOCK-SIZE> count <COUNT>] [brick <BRICK>] [list-cnt <COUNT>]
# 其中,read-perf可以替换为write-perf等。


   GlusterFS参数优化   

# 设置 cache 大小, 默认32MB
gluserfs volume set test-volume performance.cache-size 8G


# 设置 io 线程, 太大会导致进程崩溃
gluster volume set test-volume performance.io-thread-count 16


# 设置 网络检测时间, 默认42s
gluster volume set test-volume network.ping-timeout 10


# 设置 写缓冲区的大小, 默认1M
gluster volume set stest-volume performance.write-behind-window-size 1024MB


# 开启 指定 volume 的配额,不使用
gluster volume quota k8s-volume enable


# 限制 指定 volume 的配额,不使用
gluster volume quota k8s-volume limit-usage / 1TB


   操作示例   


  • 强制创建卷

gluster volume create testvol ip:/date/brick1 ip:/date/brick2 force


  • 磁盘限额

# 主要是对挂载点下的某个目录进行空间限额。


# 激活quota功能
luster volume quota test-volume enable


# 关闭quota功能
gluster volume quota test-volume disable


# /data 目录限制
gluster volume quota test-volume limit-usage /data 10GB


# quota信息列表
gluster volume quota test-volume list


# 设置信息的超时时间
gluster volume set test-volume features.quota-timeout 5


# 删除某个目录的quota设置
gluster volume quota test-volume remove /data


  • 添加存储节点

# 向turst pool  添加新server4
gluster peer probe server4
# 卷组添加新空间
gluster volume add-brick test-volume server4:/server4


# 查看当前所有volume状态
gluster volume info


# 对扩容后的卷组进行rebalance操作
gluster volume rebalance test-volume start
gluster volume rebalance test-volume status
gluster volume rebalance test-volume stop


  • 删除GlusterFS磁盘:

gluster volume stop datavolume1
gluster volume delete datavolume1


  • 卸载GlusterFS磁盘:

gluster peer detach idc1-server4


  • ACL访问控制:

gluster volume set datavolume1 auth.allow 10.100.1.*,10.200.1.*


  • 添加GlusterFS节点:

gluster peer probe idc1-server5


gluster peer probe idc1-server6


gluster volume add-brick datavolume1 idc1-server5://datavolume1 idc1-server6://datavolume1


  • 迁移GlusterFS磁盘数据

gluster volume remove-brick datavolume1 idc1-server1:/usr/local/share/datavolume1 idc1-server5:/usr/local/share/datavolume1 start


gluster volume remove-brick datavolume1 idc1-server1:/usr/local/share/datavolume1 idc1-server5:/usr/local/share/datavolume1 status


gluster volume remove-brick datavolume1 idc1-server1:/usr/local/share/datavolume1 idc1-server5:/usr/local/share/datavolume1 commit


  • 数据重新分配:

gluster volume rebalance datavolume1 start


gluster volume rebalance datavolume1 status


gluster volume rebalance datavolume1 stop


  • 修复GlusterFS磁盘数据:

gluster volume replace-brick datavolume1 idc1-server1:/usr/local/share/datavolume1 idc1-server5:/usr/local/share/datavolume1 commit -force


gluster volume heal datavolume1 full


文章转载自潍鲸,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论