GlusterFS部署


该文档是纯GlusterFS,而非红帽的GlusterFS,需注意!!!
声明:如需在单个节点上执行的都会有用户和主机名,如没有命令前没有用户名和主机名则为所有节点都执行
wiki
官网

硬件、环境介绍

node1/CentOS7.9/192.168.1.111/桥接/2G/2核/80G、20G
node2/CentOS7.9/192.168.1.112/桥接/2G/2核/80G、20G

注:2台机上的20G用来做GlusterFS使用

安装

2台机上都需要安装glusterfs,这里使用centos的源

systemctl stop firewalld && systemctl disable firewalld
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
mount /dev/sr0 /mnt/usb1        ===>该步按需

yum -y install centos-release-gluster
yum clean all && yum makecache
yum -y install glusterfs-server

systemctl start glusterd && systemctl enable glusterd
glusterd --version

cat /usr/lib/firewalld/services/glusterfs.xml     ===> 查看开启的规则信息

[root@node1 ~]# vim /etc/hosts
192.168.1.111   node1
192.168.1.112   node2

# 将node2添加到gluster中
[root@node1 ~]# gluster peer probe node2
[root@node1 ~]# gluster peer status
Number of Peers: 1

Hostname: node2
Uuid: 2543bce7-bb6a-4974-ad54-67d3d3f2d72d
State: Peer in Cluster (Connected)

# 查看池中的主机
[root@node1 ~]# gluster pool list
UUID					Hostname 	State
2543bce7-bb6a-4974-ad54-67d3d3f2d72d	node2    	Connected 
6b5efcf3-e34f-4fac-87bc-fda1ae6e4189	localhost	Connected 

配置LV

两个节点都在本地虚拟机先添加一块磁盘,用于当作存储,两个节点都要操作如下命令

# 创建pv
pvcreate /dev/sdb
vgcreate opop /dev/sdb

# 创建thin
lvcreate -L 5G  -T opop/opop-thin-pool
注:-T表示创建的是thin pool

# 创建lv
lvcreate -V 2G -T opop/opop-thin-pool  -n  opop-brick

而后可用lvdisplay查看详细信息。
其实上述这些操作都可以不用做,直接对磁盘进行格式化就行。

mkfs.xfs -i size=512 /dev/opop/opop-brick

# 挂载
mkdir -p /data/brick1
mount /dev/opop/opop-brick /data/brick1
echo '/dev/opop/opop-brick /data/brick1  xfs defaults  1  2' >> /etc/fstab

注:已经被设置为共享卷的文件夹是不能再被挂载

df -h | grep data
/dev/mapper/opop-opop--brick  2.0G   33M  2.0G    2% /data/brick1


===================
如果selinux关闭的话,这个可不设置
# semanage fcontext  -a -t glusterd_brick_t /data1/brick1
# restorecon -Rv /data/
# ll -Z /data
===================

创建分布式卷

这种默认创建出来的就是分布式卷

[root@node1 ~]# gluster volume create gv0 node1:/data/brick1/brick node2:/data/brick1/brick


[root@node1 ~]# gluster volume info gv0 
 
Volume Name: gv0
Type: Distribute
Volume ID: 1b19e7ff-4608-4576-ab4f-fe8ef764102e
Status: Created                ====>默认的状态是Create,需要启动
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: node1:/data/brick1/brick
Brick2: node2:/data/brick1/brick
Options Reconfigured:
storage.fips-mode-rchecksum: on
transport.address-family: inet
nfs.disable: on


# 启动volume
gluster volume start gv0 
# 查看状态
gluster volume status gv0

客户端挂载使用

这里就把node2当客户端来使用
[root@node2 ~]# yum -y install glusterfs-fuse

# 挂载
[root@node2 ~]# mkdir /gluster_client
[root@node2 ~]# mount -t glusterfs node1:/gv0  /gluster_client
[root@node2 ~]# echo 'node1:/gv0 /gluster_client  glusterfs  defaults,_netdev,backup-volfile-servers=node2 1 2' >> /etc/fstab

# 写文件
[root@node2 ~]# for i in `seq -w 1 100`; do cp -rp /var/log/messages /gluster_client/copy-test-$i; done

[root@node2 ~]# ls -lA /gluster_client/copy* | wc -l

# 查看客户端节点上面的brick下面的数据文件
[root@node2 ~]# ll -lA /data/brick1/brick/copy-test-0* | wc -l

# 删除分布式卷
# umount /gluster_client/
# gluster volume stop gv0 // 停止卷
# gluster volume delete gv0 // 删除卷
posted @ 2021-10-03 14:22  Linux大魔王  阅读(345)  评论(0编辑  收藏  举报