Gluster File System,开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决 方案中Glusterfs能够灵活的结合物理的,虚拟的和云资源去体现高可用和企业级的性能存储
由存储服务器(Brick Server)、客户端以及NFS/Samba 存储网关组成
无元数据服务器
RDMA 的介绍
RDMA 是通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响
普通网卡的工作过程如下:先把收到的数据包缓存到系统上,数据包经过处理后,相应数据被分配到一个TCP 连接;然后,接收系统再把主动提供的TCP 数据同相应的应用程序联系起来,并将数据从系统缓冲区拷贝到目标存储地址.这样,制约网络速率的因素就出现了
扩展性和高性能
高可用性
全局统一命名空间
弹性卷管理
基于标准协议
Brick:GFS中的存储单元,通过是一个受信存储池中的服务器的一个导出目录。可以通过主机名和目录名来标识,如’SERVER:EXPORT’
Volume:卷
FUSE:内核文件系统,Filesystem Userspace是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码。通过在用户空间运行文件系统的代码通过FUSE代码与内核进行桥接。
VFS:虚拟文件系统
Glusterd:Gluster management daemon,要在trusted storage pool中所有的服务器上运行。
1、客户端或应用程序通过GlusterFS的挂载点访问数据
2、linux系统内核通过VFS API收到请求并处理
3、VFS将数据递交给FUSE内核文件系统, fuse文件系统则是将数据通过/dev/fuse设备文件递交给了GlusterFS client端
4、GlusterFS client 收到数据后,client根据配置文件的配置对数据进行处理
5、通过网络将数据传递至远端的GlusterFS Server,并且将数据写入到服务器存储设备上
分布式卷是 GlusterFS 的默认卷,在创建卷时,默认选项是创建分布式卷。在该模式下, 并没有对文件进行分块处理,文件直接存储在某个 Server 节点上。直接使用本地文件系统 进行文件存储,大部分 Linux 命令和工具可以继续正常使用。需要通过扩展文件属性保存 HASH 值,目前支持的底层文件系统有 EXT3、EXT4、ZFS、XFS 等。 由于使用的是本地文件系统,所以存取效率并没有提高,反而会因为网络通信的原因而 有所降低;另外支持超大型文件也会有一定的难度,因为分布式卷不会对文件进行分块处理。 虽然 EXT4 已经可以支持最大 16TB 的单个文件,但是本地存储设备的容量实在有限。File1 和 File2 存放在 Server1,而 File3 存放在 Server2,文件都是随机存储,一 个文件(如 File1)要么在 Server1 上,要么在 Server2 上,不能分块同时存放在 Server1 和 Server2 上。
分布式卷具有如下特点:
根据偏移量将文件分成N块(N个条带节点),轮询的存储在每个Brick Server节点
存储大文件时,性能尤为突出
不具备冗余性,类似Raid0
相当于 RAID1,即同一文件保存一份 或多份副本,每个节点上保存相同的内容和目录结构。复制模式因为要保存副本,所以磁盘 利用率较低。如果多个节点上的存储空间不一致,那么将按照木桶效应取最低节点的容量作为该卷的总容量。在配置复制卷时,复制数必须等于卷中 Brick 所包含的存储服务器数,复 制卷具备冗余性,即使一个节点损坏,也不影响数据的正常使用
File1和File2通过分布式卷的功能分别定位到Server1 和 Server2。在 Server1 中,File1 被分割成 4 段,其中 1、3 在 Server1 中的 exp1 目录中, 2、4 在 Server1 中的 exp2 目录中。在 Server2 中,File2 也被分割成 4 段,其中 1、3 在 Server2 中的 exp3 目录中,2、4 在 Server2 中的 exp4 目录中。
分布式复制卷兼顾分布式卷和复制卷的功能,主要用于需要冗余的情况下。File1 和 File2 通过分布式卷的功能分别定位到 Server1 和 Server2。 在存放 File1 时,File1 根据复制卷的特性,将存在两个相同的副本,分别是 Server1 中的 exp1 目录和 Server2 中的 exp2 目录。在存放 File2 时,File2 根据复制卷的特性,也将存 在两个相同的副本,分别是 Server3 中的 exp3 目录和 Server4 中的 exp4 目录。
首先触发条带卷的功能,将数据等分成4份,轮询存放 ,然后轮询后再进行触发复制卷的作用,进行复制
联想一下上面的条带复制卷,懒得画了
实验参数
VMware软件
一台centos7虚拟机,IP地址为:14.0.0.7,主机名为:node1,添加4块磁盘,分别都为20G
一台centos7虚拟机,IP地址为:14.0.0.110,主机名为:node2,添加4块磁盘,分别都为20G
一台centos7虚拟机,IP地址为:14.0.0.111,主机名为:node3,添加4块磁盘,分别都为20G
一台centos7虚拟机,IP地址为:14.0.0.112,主机名为:node4,添加4块磁盘,分别都为20G
一台centos7虚拟机,IP地址为:14.0.0.177,主机名为:client,当做测试机使用
在四台node节点服务器上,编辑脚本自动进行分区,以node1界定啊服务器为例子。
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@node1 ~]# cd /opt
[root@node1 opt]# vim fdisk.sh
#!bin/bash
for disk in `fdisk -l |grep -o 'sd[b-z]'| uniq |awk 'BEGIN{ORS=" "} {print $0 }'`
do
echo "n
p
w"| fdisk /dev/$disk
mkfs.xfs -i size=512 /dev/${disk}"1" &> /dev/null
mkdir -p /data/${
disk}"1" &> /dev/null
echo -e "/dev/${disk}"1" /data/${disk}"1" xfs defaults 0 0\n" >> /etc/fstab
mount -a &> /dev/null
done
[root@node1 opt]# chmod +x fdisk.sh
[root@node1 opt]# sh fdisk.sh
[root@node1 opt]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 15G 3.8G 12G 26% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 2.0G 179M 1.9G 9% /boot
/dev/mapper/centos-home xfs 25G 33M 25G 1% /home
tmpfs tmpfs 378M 12K 378M 1% /run/user/42
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/sdb1 xfs 20G 33M 20G 1% /data/sdb1
/dev/sdc1 xfs 20G 33M 20G 1% /data/sdc1
/dev/sdd1 xfs 20G 33M 20G 1% /data/sdd1
/dev/sde1 xfs 20G 33M 20G 1% /data/sde1
其余三个几点配置一样,这里就不一一介绍了
在所有的节点服务器上操作(以node1服务器为例,其他三台一样的操作),将gluster的rpm环境包拷贝进当前目录下
[root@node1 opt]# cd ~
[root@node1 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg 模板 图片 下载 桌面
gfsrepo 公共 视频 文档 音乐
[root@node1 ~]# mkdir /opt/gfs
[root@node1 ~]# mv gfsrepo/ /opt/gfs/
[root@node1 ~]# cd /etc/yum.repos.d/
[root@node1 yum.repos.d]# mkdir bak
[root@node1 yum.repos.d]# mv C* bak/
[root@node1 yum.repos.d]# ls
bak
[root@node1 yum.repos.d]# vim GLFS.repo
[GLFS]
name=glfs
baseurl=file:///opt/gfs/gfsrepo
gpgcheck=0
enabled=1
[root@node1 yum.repos.d]# yum list ##加载一下
[root@node1 yum.repos.d]# yum remove glusterfs-client-xlators.x86_64 glusterfs glusterfs-libs -y ##因为centos7中默认已经安装了部分依赖包,版本比yum源的版本高,所以先将这些软件包卸载,再进行安装,否则报错。
[root@node1 yum.repos.d]# yum install glusterfs-server glusterfs-fuse glusterfs-rdma -y ##安装gluster环境依赖包
[root@node1 yum.repos.d]# systemctl start glusterd.service ##开启glusterd服务
[root@node1 yum.repos.d]# systemctl enable glusterd.service ##设置开机自启动
Created symlink from /etc/systemd/system/multi-user.target.wants/glusterd.service to /usr/lib/systemd/system/glusterd.service.
[root@node1 yum.repos.d]# systemctl status glusterd.service ##查看服务状态
● glusterd.service - GlusterFS, a clustered file-system server
Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled; vendor preset: disabled)
Active: active (running) since 一 2020-09-14 12:17:11 CST; 40s ago
Main PID: 13030 (glusterd)
CGroup: /system.slice/glusterd.service
└─13030 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level I...
9月 14 12:17:11 node1 systemd[1]: Starting GlusterFS, a clustered file-sy.....
9月 14 12:17:11 node1 systemd[1]: Started GlusterFS, a clustered file-sys...r.
Hint: Some lines were ellipsized, use -l to show in full.
将时间同步与阿里云时间一样
[root@node1 yum.repos.d]# ntpdate ntp1.aliyun.com
14 Sep 18:33:31 ntpdate[17167]: adjust time server 120.25.115.20 offset 0.003253 sec
[root@node2 ~]# ntpdate ntp1.aliyun.com
14 Sep 18:33:38 ntpdate[16974]: adjust time server 120.25.115.20 offset 0.001146 sec
[root@node3 ~]# ntpdate ntp1.aliyun.com
14 Sep 18:33:45 ntpdate[69222]: adjust time server 120.25.115.20 offset 0.001511 sec
[root@node4 gfs]# ntpdate ntp1.aliyun.com
14 Sep 18:33:04 ntpdate[13964]: adjust time server 120.25.115.20 offset 0.006495 sec
将node服务器添加到存储信任池,在任何一个节点上添加就可以了,可以在任何一个节点上查看存储信任池的状态
[root@node1 yum.repos.d]# gluster peer probe node2
peer probe: success.
[root@node1 yum.repos.d]# gluster peer probe node3
peer probe: success.
[root@node1 yum.repos.d]# gluster peer probe node4
peer probe: success.
[root@node1 yum.repos.d]# gluster peer status ##查看gluster的地址池状态
Number of Peers: 3
Hostname: node2
Uuid: 4abc4d2b-5e27-4dfc-b846-900b6d1860ad
State: Peer in Cluster (Connected)
Hostname: node3
Uuid: 2ae7b76b-aa30-43e9-ac47-5ef41c0ccf78
State: Peer in Cluster (Connected)
Hostname: node4
Uuid: dc4c1a0b-6b60-442a-a0ab-c4fff72677f3
State: Peer in Cluster (Connected)
这里使用node1和node2的sdb1硬盘来建立分布式卷,在任何一个节点服务器上都可以进行创建,在node3服务器上演示
[root@node3 ~]# gluster volume create dis-vol node1:/data/sdb1 node2:/data/sdb1 force
volume create: dis-vol: success: please start the volume to access data
查看分布式卷的详细信息
[root@node3 ~]# gluster volume list ##查看卷列表
dis-vol
[root@node3 ~]# gluster volume info dis-vol ##查看分布式卷的详细信息
Volume Name: dis-vol
Type: Distribute
Volume ID: 1d3977d0-7b39-4455-ab3f-1c4d579934ff
Status: Created
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdb1
Brick2: node2:/data/sdb1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node3 ~]# gluster volume start dis-vol ##开启分布式卷
volume start: dis-vol: success
gluster volume stop dis-vol 关闭分布式卷
gluster volume delete dis-vol 删除分布式卷
[root@localhost ~]# hostnamectl set-hostname client ##改主机名
[root@localhost ~]# su
配置yum本地源
[root@client ~]# cd /etc/yum.repos.d/
[root@client yum.repos.d]# mkdir bak
[root@client yum.repos.d]# mv C* bak/
[root@client yum.repos.d]# vim GLFS.repo
[GLFS]
name=glfs
baseurl=file:///opt/gfs/gfsrepo
gpgcheck=0
enabled=1
[root@node3 ~]# yum list
[root@node1 yum.repos.d]# yum remove glusterfs-client-xlators.x86_64 glusterfs glusterfs-libs -y
[root@node1 yum.repos.d]# yum install glusterfs-server glusterfs-fuse glusterfs-rdma -y
[root@node1 yum.repos.d]# vim /etc/hosts
14.0.0.7 node1
14.0.0.110 node2
14.0.0.111 node3
14.0.0.112 node4
分布式卷挂载命令在client上进行输入,可以挂载任何一个节点,都可以实现挂载
[root@client yum.repos.d]# mkdir -p /test/dis ##创建挂载目录
[root@client yum.repos.d]# mount.glusterfs node4:dis-vol /test/dis ##实现挂载
[root@client yum.repos.d]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda5 xfs 40G 4.9G 36G 13% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda2 xfs 50G 33M 50G 1% /home
/dev/sda1 xfs 2.0G 174M 1.9G 9% /boot
tmpfs tmpfs 182M 8.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 40K 182M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
node4:dis-vol fuse.glusterfs 40G 65M 40G 1% /test/dis
创建5个大小为40M的的文件
[root@client yum.repos.d]# dd if=/dev/zero of=/demo1.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.0391551 秒,1.1 GB/秒
[root@client yum.repos.d]# dd if=/dev/zero of=/demo2.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.230143 秒,182 MB/秒
[root@client yum.repos.d]# dd if=/dev/zero of=/demo3.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.66821 秒,62.8 MB/秒
[root@client yum.repos.d]# dd if=/dev/zero of=/demo4.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.867869 秒,48.3 MB/秒
[root@client yum.repos.d]# dd if=/dev/zero of=/demo5.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.737165 秒,56.9 MB/秒
将测试文件直接拷贝到挂载目录下,查看两个node服务器的存储状况
[root@client /]# cp demo* /test/dis/
[root@client /]# ls /test/dis/
demo1.log demo2.log demo3.log demo4.log demo5.log
在node服务器上查看
[root@node1 ~]# cd /data/sdb1
[root@node1 sdb1]# ll -h
总用量 160M
-rw-r--r--. 2 root root 40M 9月 14 22:19 demo1.log
-rw-r--r--. 2 root root 40M 9月 14 22:19 demo2.log
-rw-r--r--. 2 root root 40M 9月 14 22:19 demo3.log
-rw-r--r--. 2 root root 40M 9月 14 22:19 demo4.log
[root@node2 ~]# cd /data/sdb1
[root@node2 sdb1]# ll -h
总用量 40M
-rw-r--r--. 2 root root 40M 9月 14 22:19 demo5.log
[root@node3 ~]# gluster volume create stripe-vol stripe 2 node1:/data/sdc1 node2:/data/sdc1 force ##创建条带卷
volume create: stripe-vol: success: please start the volume to access data
[root@node3 ~]# gluster volume list
dis-vol
stripe-vol
[root@node3 ~]# gluster volume start stripe-vol ##开启条带卷
volume start: stripe-vol: success
在client服务器上挂载
[root@client /]# mkdir /test/stripe-vol
[root@client /]# mount.glusterfs node4:ss-vol /test/dis
sbin/ srv/ sys/
[root@client /]# mount.glusterfs node4:stripe-vol /test/stripe-vol/
[root@client /]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda5 xfs 40G 5.1G 35G 13% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda2 xfs 50G 33M 50G 1% /home
/dev/sda1 xfs 2.0G 174M 1.9G 9% /boot
tmpfs tmpfs 182M 8.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 40K 182M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
node4:dis-vol fuse.glusterfs 40G 265M 40G 1% /test/dis
node4:stripe-vol fuse.glusterfs 40G 65M 40G 1% /test/stripe-vol
[root@client /]# cp demo* /test/stripe-vol/
在node服务器上进行查看
[root@node1 sdb1]# cd ../sdc1/
[root@node1 sdc1]# ll -h
总用量 100M
-rw-r--r--. 2 root root 20M 9月 14 22:26 demo1.log
-rw-r--r--. 2 root root 20M 9月 14 22:26 demo2.log
-rw-r--r--. 2 root root 20M 9月 14 22:26 demo3.log
-rw-r--r--. 2 root root 20M 9月 14 22:26 demo4.log
-rw-r--r--. 2 root root 20M 9月 14 22:26 demo5.log
1
[root@node2 sdb1]# cd ../sdc1/
[root@node2 sdc1]# ll -h
总用量 100M
-rw-r--r--. 2 root root 20M 9月 14 22:26 demo1.log
-rw-r--r--. 2 root root 20M 9月 14 22:26 demo2.log
-rw-r--r--. 2 root root 20M 9月 14 22:26 demo3.log
-rw-r--r--. 2 root root 20M 9月 14 22:26 demo4.log
-rw-r--r--. 2 root root 20M 9月 14 22:26 demo5.log
[root@node3 ~]# gluster volume create rep-vol replica 2 node3:/data/sdb1 node4:/data/sdb1 force
volume create: rep-vol: success: please start the volume to access data
[root@node3 ~]# gluster volume list
dis-vol
rep-vol
stripe-vol
[root@node3 ~]# gluster volume start rep-vol
volume start: rep-vol: success
client服务器上
[root@client /]# mkdir /test/rep-vol
[root@client /]# mount.glusterfs node4:rep-vol /test/rep-vol/
[root@client /]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda5 xfs 40G 5.1G 35G 13% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda2 xfs 50G 33M 50G 1% /home
/dev/sda1 xfs 2.0G 174M 1.9G 9% /boot
tmpfs tmpfs 182M 8.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 40K 182M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
node4:dis-vol fuse.glusterfs 40G 265M 40G 1% /test/dis
node4:stripe-vol fuse.glusterfs 40G 265M 40G 1% /test/stripe-vol
node4:rep-vol fuse.glusterfs 20G 33M 20G 1% /test/rep-vol
[root@client /]# cp demo* /test/rep-vol/
node服务器上查看
[root@node3 ~]# cd /data/sdb1/
[root@node3 sdb1]# ll -h
总用量 200M
-rw-r--r--. 2 root root 40M 9月 14 22:31 demo1.log
-rw-r--r--. 2 root root 40M 9月 14 22:31 demo2.log
-rw-r--r--. 2 root root 40M 9月 14 22:31 demo3.log
-rw-r--r--. 2 root root 40M 9月 14 22:31 demo4.log
-rw-r--r--. 2 root root 40M 9月 14 22:31 demo5.log
[root@node4 ~]# cd /data/sdb1/
[root@node4 sdb1]# ll -h
总用量 200M
-rw-r--r--. 2 root root 40M 9月 14 22:31 demo1.log
-rw-r--r--. 2 root root 40M 9月 14 22:31 demo2.log
-rw-r--r--. 2 root root 40M 9月 14 22:31 demo3.log
-rw-r--r--. 2 root root 40M 9月 14 22:31 demo4.log
-rw-r--r--. 2 root root 40M 9月 14 22:31 demo5.log
[root@node3 sdb1]# gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force
volume create: dis-stripe: success: please start the volume to access data
[root@node3 sdb1]# gluster volume list
dis-stripe
dis-vol
rep-vol
stripe-vol
[root@node3 sdb1]# gluster volume start dis-stripe
volume start: dis-stripe: success
client服务器
[root@client /]# mkdir /test/dis-stripe
[root@client /]# mount.glusterfs node4:dis-stripe /test/dis-stripe/
[root@client /]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda5 xfs 40G 5.1G 35G 13% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda2 xfs 50G 33M 50G 1% /home
/dev/sda1 xfs 2.0G 174M 1.9G 9% /boot
tmpfs tmpfs 182M 8.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 40K 182M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
node4:dis-vol fuse.glusterfs 40G 265M 40G 1% /test/dis
node4:stripe-vol fuse.glusterfs 40G 265M 40G 1% /test/stripe-vol
node4:rep-vol fuse.glusterfs 20G 233M 20G 2% /test/rep-vol
node4:dis-stripe fuse.glusterfs 80G 130M 80G 1% /test/dis-stripe
[root@client /]# cp demo* /test/dis-stripe/
node服务器上查看
[root@node1 sdc1]# cd ../sdd1/
[root@node1 sdd1]# ll -h
总用量 80M
-rw-r--r--. 2 root root 20M 9月 14 22:36 demo1.log
-rw-r--r--. 2 root root 20M 9月 14 22:36 demo2.log
-rw-r--r--. 2 root root 20M 9月 14 22:36 demo3.log
-rw-r--r--. 2 root root 20M 9月 14 22:36 demo4.log
[root@node2 sdc1]# cd ../sdd1/
[root@node2 sdd1]# ll -h
总用量 80M
-rw-r--r--. 2 root root 20M 9月 14 22:36 demo1.log
-rw-r--r--. 2 root root 20M 9月 14 22:36 demo2.log
-rw-r--r--. 2 root root 20M 9月 14 22:36 demo3.log
-rw-r--r--. 2 root root 20M 9月 14 22:36 demo4.log
[root@node3 sdb1]# cd ../sdd1/
[root@node3 sdd1]# ll -h
总用量 20M
-rw-r--r--. 2 root root 20M 9月 14 22:36 demo5.log
-rw-r--r--. 2 root root 40M 9月 14 22:31 demo5.log
[root@node4 sdb1]# cd ../sdd1/
[root@node4 sdd1]# ll -h
总用量 20M
-rw-r--r--. 2 root root 20M 9月 14 22:36 demo5.log
[root@node3 sdd1]# gluster volume create dis-rep replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1 node4:/data/sde1 force
volume create: dis-rep: success: please start the volume to access data
[root@node3 sdd1]# gluster volume list
dis-rep
dis-stripe
dis-vol
rep-vol
stripe-vol
[root@node3 sdd1]# gluster volume start dis-rep
client服务器
[root@client /]# mkdir /test/dis-rep
[root@client /]# mount.glusterfs node4:dis-rep /test/dis-rep/
[root@client /]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda5 xfs 40G 5.1G 35G 13% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda2 xfs 50G 33M 50G 1% /home
/dev/sda1 xfs 2.0G 174M 1.9G 9% /boot
tmpfs tmpfs 182M 8.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 40K 182M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
node4:dis-vol fuse.glusterfs 40G 265M 40G 1% /test/dis
node4:stripe-vol fuse.glusterfs 40G 265M 40G 1% /test/stripe-vol
node4:rep-vol fuse.glusterfs 20G 233M 20G 2% /test/rep-vol
node4:dis-stripe fuse.glusterfs 80G 330M 80G 1% /test/dis-stripe
node4:dis-rep fuse.glusterfs 40G 65M 40G 1% /test/dis-rep
[root@client /]# cp demo* /test/dis-rep/
各个node服务器
[root@node1 sdd1]# cd ../sde1/
[root@node1 sde1]# ll -h
总用量 160M
-rw-r--r--. 2 root root 40M 9月 14 22:40 demo1.log
-rw-r--r--. 2 root root 40M 9月 14 22:40 demo2.log
-rw-r--r--. 2 root root 40M 9月 14 22:40 demo3.log
-rw-r--r--. 2 root root 40M 9月 14 22:40 demo4.log
[root@node2 sdd1]# cd ../sde1/
[root@node2 sde1]# ll -h
总用量 160M
-rw-r--r--. 2 root root 40M 9月 14 22:40 demo1.log
-rw-r--r--. 2 root root 40M 9月 14 22:40 demo2.log
-rw-r--r--. 2 root root 40M 9月 14 22:40 demo3.log
-rw-r--r--. 2 root root 40M 9月 14 22:40 demo4.log
[root@node3 sdd1]# cd ../sde1/
[root@node3 sde1]# ll -h
总用量 40M
-rw-r--r--. 2 root root 40M 9月 14 22:40 demo5.log
[root@node4 sdd1]# cd ../sde1/
[root@node4 sde1]# ll -h
总用量 40M
-rw-r--r--. 2 root root 40M 9月 14 22:40 demo5.log