glusterfs读书笔记
前言
本文参考了,如下文章,根据自己需要完善了一些细节步骤,实为一篇读书笔记:
规划集群
节点IP | 主机名字 | 作用 |
---|---|---|
192.168.5.138 | swarm-manager | 控制节点 |
192.168.5.140 | swarm-node-1 | 节点1 |
192.168.5.141 | swarm-node-2 | 节点2 |
192.168.5.142 | client | client节点 |
后续用集群节点,代表前三个节点
安装前在所有节点上修改HOSTS文件,添加如下几行
192.168.5.138 swarm-manager192.168.5.140 swarm-node-1192.168.5.141 swarm-node-2
安装集群
集群节点上安装glusterfs,设置开机启动,并关闭防火墙
# 安装软件yum install -y centos-release-gluster yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma# 设置开机启动systemctl start glusterd.service systemctl enable glusterd.service# 关闭防火墙systemctl stop firewalld.service systemctl disable firewalld.service
在 swarm-manager 节点上配置,将 节点 加入到 集群中。
[root@swarm-manager ~]# gluster peer probe swarm-managerpeer probe: success. Probe on localhost not needed [root@swarm-manager ~]# gluster peer probe swarm-node-1peer probe: success. [root@swarm-manager ~]# gluster peer probe swarm-node-2peer probe: success.
查看集群状态
[root@swarm-manager data]# gluster peer statusNumber of Peers: 2Hostname: swarm-node-1Uuid: 489859c1-60a7-4f9f-b950-f7d1be76b71eState: Peer in Cluster (Connected)Hostname: swarm-node-2Uuid: 9f203314-16ec-4b0e-919a-daf341df8458State: Peer in Cluster (Connected) [root@swarm-manager data]#
集群的三个节点,分别创建目录
[root@swarm-manager ~]# mkdir -p /opt/gluster/data[root@swarm-node-1 ~]# mkdir -p /opt/gluster/data[root@swarm-node-2 ~]# mkdir -p /opt/gluster/data
查看volume 状态:
[root@swarm-manager ~]#gluster volume infoNo volumes present
创建一个名为models 的GlusterFS磁盘:
[root@swarm-manager ~]# gluster volume create models replica 3 swarm-manager:/opt/gluster/data swarm-node-1:/opt/gluster/data swarm-node-2:/opt/gluster/data force volume create: models: success: please start the volume to access data
再查看 volume 状态:
[root@swarm-manager ~]# gluster volume infoVolume Name: modelsType: Replicate Volume ID: e539ff3b-2278-4f3f-a594-1f101eabbf1eStatus: Created Number of Bricks: 1 x 3 = 3Transport-type: tcpBricks:Brick1: swarm-manager:/opt/gluster/dataBrick2: swarm-node-1:/opt/gluster/dataBrick3: swarm-node-2:/opt/gluster/dataOptions Reconfigured:performance.readdir-ahead: on
启动 models
[root@swarm-manager ~]# gluster volume start modelsvolume start: models: success
gluster 性能调优:
# 开启 指定 volume 的配额: (models 为 volume 名称)gluster volume quota models enable# 限制 models 中 / (既总目录) 最大使用 80GB 空间gluster volume quota models limit-usage / 80GB#设置 cache 4GBgluster volume set models performance.cache-size 4GB#开启 异步 , 后台操作gluster volume set models performance.flush-behind on#设置 io 线程 32gluster volume set models performance.io-thread-count 32#设置 回写 (写数据时间,先写入缓存内,再写入硬盘)gluster volume set models performance.write-behind on
安装客户端
部署GlusterFS客户端并mount GlusterFS文件系统
[root@client ~]# yum install -y glusterfs glusterfs-fuse[root@client ~]# mkdir -p /opt/gfsmnt[root@client ~]# mount -t glusterfs swarm-manager:models /opt/gfsmnt/[root@client ~]# df -h文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/vg001-root 98G 1.2G 97G 2% / devtmpfs 32G 0 32G 0% /dev tmpfs 32G 0 32G 0% /dev/shm tmpfs 32G 130M 32G 1% /run tmpfs 32G 0 32G 0% /sys/fs/cgroup /dev/mapper/vg001-opt 441G 71G 370G 17% /opt /dev/sda2 497M 153M 344M 31% /boot tmpfs 6.3G 0 6.3G 0% /run/user/0 swarm-manager:models 441G 18G 424G 4% /opt/gfsmnt
测试
可以client 上的/opt/gfsmnt 目录下,新建、修改、删除文件,查看集群节点上是否有对应操作;
常用命令
启动/关闭/查看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
查看配置信息
# cat /etc/rc.local
4.为存储池添加/移除服务器节点
在其中一个节点上操作即可:
# gluster peer probe# gluster peer detach
注意,移除节点时,需要提前将该节点上的Brick移除。
查看所有节点的基本状态(显示的时候不包括本节点):
# gluster peer status
挂载分区
# mount -t ext4 /dev/sdd1 /mnt/brick1
创建/启动/停止/删除卷
# gluster volume create [stripe | replica ] [transport [tcp | rdma | tcp,rdma]] ...# gluster volume start# gluster volume stop
gluster volume delete
注意,删除卷的前提是先停止卷。
客户端以glusterfs方式挂载
# mount -t glusterfs :/
对于OpenStack,计算和控制节点都要挂载/var/lib/nova/instances,控制节点还要挂载/var/lib/glance/images。
查看卷信息
列出集群中的所有卷:
# gluster volume list
查看集群中的卷信息:
# gluster volume info [all]
查看集群中的卷状态:
# gluster volume status [all]# gluster volume status [detail| clients | mem | inode | fd]
查看本节点的文件系统信息:
# df -h []
查看本节点的磁盘信息:
# fdisk -l
配置卷
# gluster volume set
扩展卷
# gluster volume add-brick
注意,如果是复制卷或者条带卷,则每次添加的Brick数必须是replica或者stripe的整数倍。
收缩卷
先将数据迁移到其它可用的Brick,迁移结束后才将该Brick移除:
# gluster volume remove-brick start
在执行了start之后,可以使用status命令查看移除进度:
# gluster volume remove-brick status
不进行数据迁移,直接删除该Brick:
# gluster volume remove-brick commit
注意,如果是复制卷或者条带卷,则每次移除的Brick数必须是replica或者stripe的整数倍。
/var/lib/glusterd/peers/ 下文件决定了host name
- 点赞
- 收藏
- 关注作者
评论(0)