客户端或应用程序通过GlusterFS的挂载点访问数据
linux系统内核通过 VFS API 收到请求并处理
VFS将数据递交给FUSE内核文件系统, fuse文件系统则是将数据通过 /dev/fuse 设备文件递交给了 GlusterFS client 端
GlusterFS client 收到数据后,client根据配置文件的配置对数据进行处理
通过网络将数据传递至远端的GlusterFS Server,并且将数据写入到服务器存储设备上
通过HASH算法得到一个32位的整数
划分为N个连续的子空间,每个空间对应一个Brick
保证数据平均分布在每一个Brick中
解决了对元数据服务器的依赖,进而解决了单点故障以及访问瓶颈
扩展
N个Brick(storage)节点的GlusterFS卷,平均分配2^32次方的区间的范围空间
访问文件时,通过计算该文件的HASH值,从而对应到Brick(storage)存储空间
通过HASH分配到各个节点块,每个节点块都有自己的地址
1.分布式卷
2.条带卷
3.复制卷
4.分布式条带卷
5.分布式复制卷
6.条带复制卷
7.分布式条带复制卷
概述
没有对文件进行分块处理,文件只能存在一个server中,效率不提升
通过扩展文件属性保存HASH值
支持的底层文件系统有ext3、ext4、ZFS、XFS等
特点
文件分布在不同的服务器,不具备冗余性
更容易和廉价地扩展卷的大小
单点故障会造成数据丢失
依赖底层的数据保护
创建命令
gluster volume create dis-volume server1:/dir1 server2:/dir2
##创建一个名为dis-volume的分布式卷,文件将根据HASH分布在server1:/dir1 和 server2:/dir2中
概述
根据偏移量将文件分成N块(N个条带节点),轮询的存储在每个Brick Server节点(从多个server中同时读取数据,效率提升)
存储大文件时,性能尤为突出
不具备冗余性,类似Raid0
特点
数据被分割成更小块分布到块服务器群中的不同条带区
分布减少了负载且更小的文件加速了存取的速度
没有数据冗余
创建命令
gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2
##创建一个名为stripe-volume 的条带卷,文件将分块轮询的存储在 server1:/dir1 和 server2:/dir2两个Brick中
概述
同一文件保存一份或多分副本
复制模式因为要保存副本,所以磁盘利用率较低
多个节点上的存储空间不一致,那么将按照木桶效应取最低节点的容量作为该卷的总容量
特点
卷中所有的服务器均保存一个完整的副本
卷的副本数量可由客户创建的时候决定
至少由两个块服务器或更多服务器
具备冗余性
创建命令
gluster volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2
rep-volume 卷名
replica 2 分两块
概述
兼顾分布式卷和条带卷的功能
主要用于大文件访问处理
最少需要 4 台服务器
创建命令
gluster volume create dis-stripe stripe 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4
##创建一个名为dis-stripe 的分布式条带卷,配置分布式的条带卷时,卷中Brick所包含的存储服务器数必须是条带卷数的倍数(>=2倍)
概述
兼顾分布式卷和复制卷的功能
用于需要冗余的情况下
创建命令
gluster volume create dis-rep replica 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4
##创建一个名为dis-rep 的分布式条带卷,配置分布式的复制卷时,卷中Brick所包含的存储服务器数必须是复制卷数的倍数(>=2倍)
主机名node1~4 ;四个节点每个添加四块20G的磁盘,每块5G
fdisk -l '//查看磁盘'
以node1节点服务器为例
[root@node1 ~]# mkfs.ext4 /dev/sdb '//格式化磁盘'
[root@node1 ~]# mkfs.ext4 /dev/sdc
[root@node1 ~]# mkfs.ext4 /dev/sdd
[root@node1 ~]# mkfs.ext4 /dev/sde
[root@node1 ~]# mkdir {
/b1,/c1,/d1,/e1} '//创建挂载目录'
[root@node1 ~]# mount /dev/sdb /b1 '//挂载磁盘'
[root@node1 ~]# mount /dev/sdc /c1
[root@node1 ~]# mount /dev/sdd /d1
[root@node1 ~]# mount /dev/sde /e1
[root@node1 ~]# df -Th //查看挂载
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda5 xfs 52G 4.5G 48G 9% /
devtmpfs devtmpfs 898M 0 898M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.1M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
/dev/sda2 xfs 5.0G 33M 5.0G 1% /home
/dev/sda1 xfs 1014M 174M 841M 18% /boot
tmpfs tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs tmpfs 183M 24K 183M 1% /run/user/0
/dev/sdb ext4 4.8G 20M 4.6G 1% /b1
/dev/sdc ext4 4.8G 20M 4.6G 1% /c1
/dev/sdd ext4 4.8G 20M 4.6G 1% /d1
/dev/sde ext4 4.8G 20M 4.6G 1% /e1
'四个节点都要检查sdb sdc sdd sde 四个磁盘挂载上'
扩展:
vim disk.sh
#! /bin/bash
echo "the disks exist list:"
##grep出系统所带磁盘
fdisk -l |grep '磁盘 /dev/sd[a-z]'
echo "=================================================="
PS3="chose which disk you want to create:"
##选择需要创建的磁盘编号
select VAR in `ls /dev/sd*|grep -o 'sd[b-z]'|uniq` quit
do
case $VAR in
sda)
##本地磁盘就退出case语句
fdisk -l /dev/sda
break ;;
sd[b-z])
#create partitions
echo "n ##创建磁盘
p
w" | fdisk /dev/$VAR
#make filesystem
##格式化
mkfs.xfs -i size=512 /dev/${
VAR}"1" &> /dev/null
#mount the system
mkdir -p /data/${
VAR}"1" &> /dev/null
###永久挂载
echo -e "/dev/${VAR}"1" /data/${VAR}"1" xfs defaults 0 0\n" >> /etc/fstab
###使得挂载生效
mount -a &> /dev/null
break ;;
quit)
break;;
*)
echo "wrong disk,please check again";;
esac
done
[root@node1 ~]# vi /etc/hosts //添加每个服务器的映射
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.140.13 node1
192.168.140.14 node2
192.168.140.15 node3
192.168.140.20 node4
[root@node1 ~]# scp /etc/hosts root@192.168.140.14:/etc/
The authenticity of host '192.168.140.14 (192.168.140.14)' can't be established.
ECDSA key fingerprint is SHA256:gAm161KURjvWk+4etPLn4E2vukLlwL4NrYfuovDiV7Y.
ECDSA key fingerprint is MD5:43:87:bd:e0:58:df:e8:9d:1a:0a:3d:c2:13:02:27:ea.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.140.14' (ECDSA) to the list of known hosts.
root@192.168.140.14's password:
hosts 100% 246 92.7KB/s 00:00
[root@node1 ~]# scp /etc/hosts root@192.168.140.15:/etc/
[root@node1 ~]# scp /etc/hosts root@192.168.140.20:/etc/
[root@node1 ~]# scp /etc/hosts root@192.168.140.21:/etc/
systemctl stop firewalld
setenforce 0
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
以node1服务器为例
[root@node1 ~]# cd /etc/yum.repos.d/
[root@node1 yum.repos.d]# vi gfs.repo
[gfs]
name=gfs
baseurl=file:///root/gfsrepo
gpgcheck=0
enable=1
[root@node1 yum.repos.d]# cd
[root@node1 ~]# yum clean all
[root@node1 ~]# yum makecache
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
//报错解决,把系统自带的包先删掉
yum remove glusterfs -y
yum remove glusterfs-libs.x86_64 -y
再安装
以node1节点服务器为例
[root@node1 ~]# systemctl start glusterd.service
[root@node1 ~]# 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 ~]# systemctl status glusterd.service
[root@node1 ~]# ntpdate ntp1.aliyun.com
3 Jan 22:42:07 ntpdate[56939]: step time server 120.25.115.20 offset -0.975575 sec
[root@node1 ~]# which ntpdate
/usr/sbin/ntpdate
[root@node1 ~]# crontab -e
*/30 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
只在node1上配置
[root@node1 ~]# gluster peer probe node2
peer probe: success.
[root@node1 ~]# gluster peer probe node3
peer probe: success.
[root@node1 ~]# gluster peer probe node4
peer probe: success.
[root@node1 ~]# gluster peer status
Number of Peers: 3
Hostname: node2
Uuid: 0e4f1433-f344-4eb1-87f2-40fdc12291f1
State: Peer in Cluster (Connected)
Hostname: node3
Uuid: eb64cdc4-7f0a-4afd-8d80-a3c8d5c2412a
State: Peer in Cluster (Connected)
Hostname: node4
Uuid: e4626091-7477-40f0-8aef-cae8876d69ad
State: Peer in Cluster (Connected)
[root@node2 ~]# gluster peer status
[root@node3 ~]# gluster peer status
[root@node4 ~]# gluster peer status
利用node1和node2上的两块磁盘创建,dis-vol为磁盘名,force表示强制
[root@node1 ~]# gluster volume create dis-vol node1:/b1 node2:/b1 force
volume create: dis-vol: success: please start the volume to access data
[root@node1 ~]# gluster volume start dis-vol //启动
volume start: dis-vol: success
[root@node1 ~]# gluster volume info dis-vol //查看详细信息
Volume Name: dis-vol
Type: Distribute '//表示分布式卷'
Volume ID: 592c5766-5fc6-4e93-b963-82eeb7cddf69
Status: Created
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: node1:/b1
Brick2: node2:/b1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node1 ~]# gluster volume status dis-vol
[root@node1 ~]# gluster volume create stripe-vol stripe 2 node1:/c1 node2:/c1 force
volume create: stripe-vol: success: please start the volume to access data
[root@node1 ~]# gluster volume start stripe-vol
volume start: stripe-vol: success
[root@node1 ~]# gluster volume info stripe-vol
Volume Name: stripe-vol
Type: Stripe '//表示条带卷'
Volume ID: 45d6caa4-3e2f-43ac-872c-503382ded882
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node1:/c1
Brick2: node2:/c1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node1 ~]# gluster volume status stripe-vol
[root@node1 ~]# gluster volume create rep-vol replica 2 node3:/b1 node4:/b1 force
volume create: rep-vol: success: please start the volume to access data
[root@node1 ~]# gluster volume start rep-vol
volume start: rep-vol: success
[root@node1 ~]# gluster volume info rep-vol
Volume Name: rep-vol
Type: Replicate '//表示复制卷'
Volume ID: 7a6c6405-5d25-4f10-a569-2545ba7ca0f9
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node3:/b1
Brick2: node4:/b1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node1 ~]# gluster volume status rep-vol
[root@node1 ~]# gluster volume create dis-stripe stripe 2 node1:/d1 node2:/d1 node3:/d1 node4:/d1 force
volume create: dis-stripe: success: please start the volume to access data
[root@node1 ~]# gluster volume start dis-stripe
volume start: dis-stripe: success
[root@node1 ~]# gluster volume info dis-stripe
Volume Name: dis-stripe
Type: Distributed-Stripe '//表示分布式条带卷'
Volume ID: e44a9418-3142-4dee-b4d4-d615c5fed865
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: node1:/d1
Brick2: node2:/d1
Brick3: node3:/d1
Brick4: node4:/d1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node1 ~]# gluster volume status dis-stripe
[root@node1 ~]# gluster volume create dis-rep replica 2 node1:/e1 node2:/e1 node3:/e1 node4:/e1 force
volume create: dis-rep: success: please start the volume to access data
[root@node1 ~]# gluster volume start dis-rep
volume start: dis-rep: success
[root@node1 ~]# gluster volume info dis-rep
Volume Name: dis-rep
Type: Distributed-Replicate '//表示分布式复制卷'
Volume ID: 050a2e93-b231-4249-abbd-db511a0336c7
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: node1:/e1
Brick2: node2:/e1
Brick3: node3:/e1
Brick4: node4:/e1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node1 ~]# gluster volume status dis-rep //查看状态
yum -y install glusterfs glusterfs-fuse
[root@client ~]# mkdir /dis
[root@client ~]# mkdir /strip
[root@client ~]# mkdir /replica
[root@client ~]# mkdir /dis-replica
[root@client ~]# mkdir /dis-strip
"挂载分布式卷"
[root@client ~]# mount.glusterfs node1:dis-vol /dis
"挂载条带卷"
[root@client ~]# mount.glusterfs node1:stripe-vol /strip
"挂载复制卷"
[root@client ~]# mount.glusterfs node1:rep-vol /replica
"挂载分布式条带卷"
[root@client ~]# mount.glusterfs node1:dis-stripe /dis-strip
"挂载分布式复制卷"
[root@client ~]# mount.glusterfs node1:dis-rep /dis-replica
[root@client ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda5 xfs 51G 4.5G 47G 9% /
devtmpfs devtmpfs 898M 0 898M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.1M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda2 xfs 5.0G 33M 5.0G 1% /home
/dev/sda1 xfs 1014M 174M 841M 18% /boot
tmpfs tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs tmpfs 183M 40K 183M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
node1:dis-vol fuse.glusterfs 9.6G 41M 9.1G 1% /dis
node1:stripe-vol fuse.glusterfs 9.6G 41M 9.1G 1% /strip
node1:dis-rep fuse.glusterfs 9.6G 41M 9.1G 1% /dis-replica
node1:rep-vol fuse.glusterfs 4.8G 21M 4.6G 1% /replica
node1:dis-stripe fuse.glusterfs 20G 81M 19G 1% /dis-strip
[root@client ~]# dd if=/dev/zero of=/demo1.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.0330287 秒,1.3 GB/秒
[root@client ~]# dd if=/dev/zero of=/demo2.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.0602663 秒,696 MB/秒
[root@client ~]# dd if=/dev/zero of=/demo3.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.130822 秒,321 MB/秒
[root@client ~]# dd if=/dev/zero of=/demo4.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.115129 秒,364 MB/秒
[root@client ~]# dd if=/dev/zero of=/demo5.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.0919663 秒,456 MB/秒
[root@client ~]# cd /
[root@client /]# ll
总用量 204850
lrwxrwxrwx. 1 root root 7 12月 14 01:40 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 12月 14 01:47 boot
-rw-r--r--. 1 root root 41943040 1月 4 00:28 demo1.log
-rw-r--r--. 1 root root 41943040 1月 4 00:28 demo2.log
-rw-r--r--. 1 root root 41943040 1月 4 00:28 demo3.log
-rw-r--r--. 1 root root 41943040 1月 4 00:29 demo4.log
-rw-r--r--. 1 root root 41943040 1月 4 00:29 demo5.log
把测试文件放到分布式卷目录下,查看服务端存储分布
[root@client /]# cp demo* /dis
[root@client /]# cp demo* /dis-strip/
[root@client /]# cp demo* /dis-replica/
[root@client /]# cp demo* /strip/
[root@client /]# cp demo* /replica/
[root@client /]# cd /dis
[root@client dis]# ls -lh
总用量 201M
-rw-r--r--. 1 root root 40M 1月 4 00:33 demo1.log
-rw-r--r--. 1 root root 40M 1月 4 00:33 demo2.log
-rw-r--r--. 1 root root 40M 1月 4 00:33 demo3.log
-rw-r--r--. 1 root root 40M 1月 4 00:33 demo4.log
-rw-r--r--. 1 root root 40M 1月 4 00:33 demo5.log
drwx------. 2 root root 4.0K 1月 3 23:11 lost+found
1)查看分布式卷
[root@node1 ~]# cd /b1
您在 /var/spool/mail/root 中有新邮件
[root@node1 b1]# ls -lh
总用量 161M
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo1.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo2.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo3.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo4.log
drwx------ 2 root root 16K 1月 3 23:11 lost+found
[root@node2 ~]# cd /b1
您在 /var/spool/mail/root 中有新邮件
[root@node2 b1]# ls -lh
总用量 41M
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo5.log
drwx------ 2 root root 16K 1月 3 23:11 lost+found
"可以看出,分布式通过Hash算法把文件分布在不同节点存储,但是每个文件不被分成N块"
2)查看条带卷
[root@node1 b1]# cd /c1
[root@node1 c1]# ls -lh
总用量 101M
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo1.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo2.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo3.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo4.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo5.log
drwx------ 2 root root 16K 1月 3 23:10 lost+found
[root@node2 b1]# cd /c1
[root@node2 c1]# ls -lh
总用量 101M
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo1.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo2.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo3.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo4.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo5.log
drwx------ 2 root root 16K 1月 3 23:11 lost+found
"可以看出,每个40M的文件被分成两块进行两个节点分布式存储"
3)查看复制卷
[root@node3 ~]# cd /b1
您在 /var/spool/mail/root 中有新邮件
[root@node3 b1]# ls -lh
总用量 201M
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo1.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo2.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo3.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo4.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo5.log
drwx------ 2 root root 16K 1月 3 23:10 lost+found
[root@node4 ~]# cd /b1
您在 /var/spool/mail/root 中有新邮件
[root@node4 b1]# ls -lh
总用量 201M
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo1.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo2.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo3.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo4.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo5.log
drwx------ 2 root root 16K 1月 3 23:10 lost+found
"可以看出,每个40M的文件被复制,在两个节点存储"
4)查看分布式条带卷
[root@node1 c1]# cd /d1
[root@node1 d1]# ls -lh
总用量 81M
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo1.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo2.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo3.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo4.log
drwx------ 2 root root 16K 1月 3 23:11 lost+found
[root@node2 c1]# cd /d1
[root@node2 d1]# ls -lh
总用量 81M
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo1.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo2.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo3.log
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo4.log
drwx------ 2 root root 16K 1月 3 23:12 lost+found
"1234分布式到node1和node2;再对1234条带分割,每个文件分两半,进行存储"
[root@node3 b1]# cd /d1
[root@node3 d1]# ls -lh
总用量 21M
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo5.log
drwx------ 2 root root 16K 1月 3 23:11 lost+found
[root@node4 b1]# cd /d1
[root@node4 d1]# ls -lh
总用量 21M
-rw-r--r-- 2 root root 20M 1月 4 00:33 demo5.log
drwx------ 2 root root 16K 1月 3 23:11 lost+found
"5分布式到node3和node4;再对5进行分割存储"
5)查看分布式复制卷
[root@node1 d1]# cd /e1
[root@node1 e1]# ls -lh
总用量 161M
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo1.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo2.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo3.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo4.log
drwx------ 2 root root 16K 1月 3 23:11 lost+found
[root@node2 d1]# cd /e1
[root@node2 e1]# ls -lh
总用量 161M
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo1.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo2.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo3.log
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo4.log
drwx------ 2 root root 16K 1月 3 23:12 lost+found
[root@node3 d1]# cd /e1
[root@node3 e1]# ls -lh
总用量 41M
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo5.log
drwx------ 2 root root 16K 1月 3 23:11 lost+found
[root@node4 d1]# cd /e1
[root@node4 e1]# ls -lh
总用量 41M
-rw-r--r-- 2 root root 40M 1月 4 00:33 demo5.log
drwx------ 2 root root 16K 1月 3 23:11 lost+found
"1234分布式到node1和node2;再对1234复制卷,5被分配到nod3和node4,再5的内容再做个复制卷;"
[root@node2 /]# init 0 '//或者将该服务器挂起'
[root@client /]# cd /dis
[root@client dis]# ls
demo1.log demo2.log demo3.log demo4.log lost+found
'//分布卷缺少demo5.log'
[root@client ~]# cd /strip/
[root@client strip]# ls '//条带卷数据完全丢失'
[root@client /]# cd /dis-replica/
[root@client dis-replica]# ls
demo1.log demo2.log demo3.log demo4.log demo5.log lost+found
'//复制卷数据没有丢失'
[root@client ~]# cd /dis-strip/
[root@client dis-strip]# ls
demo5.log lost+found
'//分布式条带卷数据只剩demo5.log'
[root@client ~]# cd /dis-replica/
[root@client dis-replica]# ls
demo1.log demo2.log demo3.log demo4.log demo5.log lost+found
'//分布式复制卷数据没有丢失'
扩展
停止,删除卷
gluster volume stop 卷名
gluster volume delete 卷名
1. 查看GlusterFS卷
[root@node1 ~]# gluster volume list
2. 查看所有卷的信息
[root@node1 ~]# gluster volume info
3. 查看所有卷状态
[root@node1 ~]# gluster volume status
4. 停止一个卷
[root@node1 ~]# gluster volume stop dis-stripe
5. 删除一个卷
[root@node1 ~]# gluster volume delete dis-stripe
6. 白名单 仅允许
[root@node1 ~]# gluster volume set dis-rep auth.allow 192.168.140.*
##设置192.168.140.0网段的所有IP地址 都能访问dis-rep卷(分布式复制卷)
volume set: success
7. 黑名单 仅拒绝
[root@node1 sde1]# gluster volume set dis-rep auth.reject 192.168.140.15
volume set: success
[root@node1 ~]# gluster volume //查看相关命令
add-brick heal quota start
barrier help rebalance statedump
clear-locks info remove-brick status
create list replace-brick stop
delete log reset sync
geo-replication profile set top
"reset" 恢复默认