实验环境:
1)3个系统node1、node2、client同网段、互相可解析
2)node1、node2中准备一个10G大小的分区
3)关闭selinux、firewall、配置YUM
实验目的:搭建一个分布式(raid0原理)的glusterfs环境
1、安装glusterfs(每个节点中)
# yum -y install glusterfs
# systemctl restart glusterd
# systemctl enable glusterd
2、建立peer关系(node1、node2;只在一个节点配置就行)
# gluster peer probe node2
查看peer关系列表
# gluster pool list
UUID Hostname State
8fd143e8-3d69-430b-93b0-93033b46baa2node2 Connected
bf098ca8-7341-40d5-915c-8c0cd818d41d localhost Connected
查看peer关系详细信息(任意节点都可以查看)
# gluster peer status
Number of Peers: 1
Hostname: node2
Uuid: 8fd143e8-3d69-430b-93b0-93033b46baa2
State: Peer in Cluster (Connected)
3、创建glusterfs卷
查看集群中的卷
# gluster volume list
1)创建分区
已经提前做好:/vda3
2)创建卷组(VG)
已经提前做好:vg_bricks
# vgrename vg_bricks vg0 #重命名vg名;两个节点都更改
# vgs
3)创建池
# lvcreate -L 10G -T vg0/thin_pool #两个节点都创建
-L:指定大小
-T:thin,瘦lv
# lvs
4)创精简lv
# lvcreate -V 3G -n lv1 -T vg0/thin_pool #两个节点都创建
-V:指定大小
-n:名字
-T:thin,瘦lv
# lvs
格式化精简lv
# mkfs.xfs /dev/vg0/lv1 #两个节点都格式化
5)创建挂载点,设置自动挂载
node1节点
# mkdir /xx
# vim /etc/fstab
/dev/vg0/lv1 /xx xfs defaults 0 0
# mount -a
node2节点
# mkdir /yy
# vim /etc/fstab
/dev/vg0/lv1 /yy xfs defaults 0 0
# mount -a
6)挂载点中创建目录
node1节点 # mkdir /xx/data
node2节点 # mkdir /yy/data
7)创建glusterfs卷(任意节点配置即可)
# gluster volume create v1 node1:/xx/data node2:/yy/data #创建完需要启动后使用
volume create: v1: success: please start the volume to access data
查看glusterfs卷
# gluster volume list
v1
查看glusterfs卷详细信息
# gluster volume info v1
Volume Name: v1
Type: Distribute #glusterfs卷类型:分布式
Volume ID: 4934150c-0d61-4415-a810-01d5624b1167
Status: Created #Created状态是不可以使用的
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: node1:/xx/data #卷v1是由node1:/xx/data和node2:/yy/data组成
Brick2: node2:/yy/data
Options Reconfigured:
performance.readdir-ahead: on
8)启动glusterfs卷
# gluster volume start v1
查看glusterfs卷详细信息
# gluster volume info v1
Volume Name: v1
Type: Distribute
Volume ID: 4934150c-0d61-4415-a810-01d5624b1167
Status: Started
... ...
4、客户端连接测试(client中操作)
1)安装nfs
# yum -y install nfs-utils*
# yum -y install bind-utils*
# systemctl restart rpcbind
# systemctl enable rpcbind
2)挂载(挂载任意节点都可以)
# showmount -e node1
Export list for node1:
/v1 *
# mount node1:/v1 /mnt
3)创建文件测试,查看分布式结果
# touch /mnt/aa{1..10}
# ls
aa1 aa10 aa2 aa3 aa4 aa5 aa6 aa7 aa8 aa9
node1上查看
# ls /xx/data
aa1 aa3 aa4 aa8
node2上查看
# ls /yy/data
aa10 aa2 aa5 aa6 aa7 aa9
实验成功!