什么是文件系统
文件系统的组成部分
文件系统作用
- 文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统,也就是为了能让用户建立、存入、读取、修改、转存文件,控制文件的存取
文件系统的使用
跟之前的NFS系统一样,需要挂在到挂载点才可以被访问
分布式文件系统GFS
GFS简介
GFS组成
GFS的特点
- 扩展性和高性能
- 高可用性
- 全局统一命名空间
- 弹性卷管理
- 局域标准协议
GFS专业术语
- brick :存储服务器:实际存储用户数据的服务器
- volume :本地文件系统的“分区”
- FUSE : 用户空间的文件系统(类比EXT4),“这是一个伪文件系统”,用户想要读写一个本地文件,会借助ext4,如果是远端的GFS,就需要借助FUSE(伪文件系统)
- FUSE(用户空间的文件系统):伪文件系统 用户端的交互模块
- VFS(虚拟端口):内核态的虚拟文件系统,用户是先提交请求交给VFS 然后VFS交给FUSE 再交给GFS客户端,最后由客户端交给远端的存储
- glusterd(服务) :是运行在存储节点的进程
GFS模块化和堆栈式架构
模块化:
- 类似 linux 编译安装,很多功能都可以做定制的,通常都是通过软件开发的方式封装为模块
- GFS内也是把功能封装为一个个模块
通过加载/调用/启用的方式就可以对应的功能
堆栈式架构设计:
GFS工作流程
客户端在本地发出读写请求,然后交由VFS 的API接受请求,接受请求后会交给FUSE(内核伪文件系统), FUSE可以模拟操作系统,所以可以对文件系统进行转存,转存的设备位置为:/dev/fuse(用于传输的设备-虚拟设备文件)---->>交给GFS客户端,client 会根据配置文件对数据进行处理,然后再通过TCP/ib/rdma 网络发送到GFS服务端,并且将数据写到服务器存储设备上
-
TCP/IP :网络协议 -
InfiniBand :网络协议,与TCP/IP相比,TCP/IP具有转发丢失数据包的特性,基于此通讯协议可能导致通讯变慢,而IB使用基于信任的、流控制的机制来确保连接完整性,数据包丢失几率小。 -
RDMA: 负责数据传输,有一种数据传输协议,功能:为了解决传输中客户端与服务器端数据处理的延迟 -
POSIX : 可移植操作系统接口,主要解决不同操作系统间的移植性
分布式如何在后端存储中定位文件
- 使用弹性HASH算法来解决数据定位、索引、寻址的功能,通过HASH算法对数据可以得到一个值,每个数据对应了0-2的32次方的一个值
分布式的优点
- 当数据量越来越大的时候,相对每个存储节点的数据量是相等的
- 如果考虑到单点故障问题,当数据存储在某存储节点,对此GFS是会有备份机制的卷,默认3备份,所以GFS本身的机制会对数据产生冗余,以此解决单点故障
卷的分类
基本卷
- distribute volume:分布式卷
文件通过 HASH 算法分布到所有 Brick Server 上, 这种卷是 Glusterfs 的基础;以文件为单位根据 HASH 算法散列到不同的 Brick,只是扩大了磁盘空间,不具备冗余 - stripe volume:条带卷
类似 RAID0,文件被分成数据块并以轮询的方式分布到多个 Brick Server 上,文件存储以数据块为单位,支持大文件存储,文件越大,读取效率越高。不具备冗余 - replica volume:复制卷
将文件同步到多个 Brick 上,使其具备多个文件副本, 属于文件级 RAID 1,具有容错能力。因为数据分散在多个 Brick 中,所以读性能得 到很大提升,但写性能下降。具备冗余
复合卷
- distribute stripe volume:分布式条带卷
Brick Server 数量是条带数(数据块分布 的 Brick 数量)的倍数,兼具分布式卷和条带卷的特点。 - distribute replica volume:分布式复制卷
Brick Server 数量是镜像数(数据副本 数量)的倍数,兼具分布式卷和复制卷的特点 - stripe replica volume:条带复制卷
类似 RAID 10,同时具有条带卷和复制卷的 特点 - distribute stripe replicavolume:分布式条带复制卷
三种基本卷的复合卷,通常 用于类 Map Reduce 应用
部署GFS集群
Node1节点:node1/192.168.1.5 磁盘:/dev/sdb1 挂载点:/data/sdb1
/dev/sdc1 /data/sdc1
/dev/sdd1 /data/sdd1
/dev/sde1 /data/sde1
Node2节点:node2/192.168.1.101 磁盘:/dev/sdb1 挂载点:/data/sdb1
/dev/sdc1 /data/sdc1
/dev/sdd1 /data/sdd1
/dev/sde1 /data/sde1
Node3节点:node3/192.168.1.102 磁盘:/dev/sdb1 挂载点:/data/sdb1
/dev/sdc1 /data/sdc1
/dev/sdd1 /data/sdd1
/dev/sde1 /data/sde1
Node4节点:node4/192.168.1.103 磁盘:/dev/sdb1 挂载点:/data/sdb1
/dev/sdc1 /data/sdc1
/dev/sdd1 /data/sdd1
/dev/sde1 /data/sde1
客户端节点:192.168.1.110
vim /opt/fdisk.sh
NEWDEV=`ls /dev/sd* | grep -o 'sd[b-z]' | uniq`
for VAR in $NEWDEV
do
echo -e "n\np\n\n\n\nw\n" | fdisk /dev/$VAR &> /dev/null
mkfs.xfs /dev/${VAR}"1" &> /dev/null
mkdir -p /data/${VAR}"1" &> /dev/null
echo "/dev/${VAR}"1" /data/${VAR}"1" xfs defaults 0 0" >> /etc/fstab
done
mount -a &> /dev/null
chmod +x /opt/fdisk.sh
cd /opt/
./fdisk.sh
echo "192.168.1.5 node1" >> /etc/hosts
echo "192.168.1.101 node2" >> /etc/hosts
echo "192.168.1.102 node3" >> /etc/hosts
echo "192.168.1.103 node4" >> /etc/hosts
echo "192.168.1.110 node5" >> /etc/hosts
- 在所有节点上安装GFS
将gfsrepo 软件上传到/opt目录下,然后解压
然后搭建一个yum源
vim /etc/yum.repos.d/glfs.repo
[glfs]
name=glfs
baseurl=file:///opt/gfsrepo
gpgcheck=0
enabled=1
[root@node1 opt]
已加载插件:fastestmirror, langpacks
正在清理软件源: glfs
Cleaning up list of fastest mirrors
Other repos take up 1.0 G of disk space (use --verbose for details)
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
glfs | 2.9 kB 00:00:00
(1/3): glfs/filelists_db | 62 kB 00:00:00
(2/3): glfs/other_db | 46 kB 00:00:00
(3/3): glfs/primary_db | 92 kB 00:00:00
元数据缓存已建立
[root@node1 opt]
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识 源名称 状态
glfs glfs 115
repolist: 115
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
systemctl start glusterd.service
systemctl enable glusterd.service
systemctl status glusterd.service
注:提示依赖包版本不一样可以用rpm -e --nodeps 加报错的依赖包删除依赖,然后再执行yum,直至成功安装为止
[root@node1 opt]
14 Aug 00:47:17 ntpdate[19902]: adjust time server 203.107.6.88 offset 0.000251 sec
gluster peer probe node1
gluster peer probe node2
gluster peer probe node3
gluster peer probe node4
[root@node1 opt]
Number of Peers: 3
Hostname: node3
Uuid: 39f9fb11-eeaf-452a-867e-a778c715f247
State: Peer in Cluster (Connected)
Hostname: node4
Uuid: 6b1e2f99-9191-4756-8ea2-cb2a1ec98868
State: Peer in Cluster (Connected)
Hostname: node2
Uuid: 56f55fd4-4c9e-4a51-94a8-6e31044efa09
State: Peer in Cluster (Connected)
创建卷
根据计划创建以下几个卷
卷名称 卷类型 Brick
dis-volume 分布式卷 node1(/data/sdb1)、node2(/data/sdb1)
stripe-volume 条带卷 node1(/data/sdc1)、node2(/data/sdc1)
rep-volume 复制卷 node3(/data/sdb1)、node4(/data/sdb1)
dis-stripe 分布式条带卷 node1(/data/sdd1)、node2(/data/sdd1)、node3(/data/sdd1)、node4(/data/sdd1)
dis-rep 分布式复制卷 node1(/data/sde1)、node2(/data/sde1)、node3(/data/sde1)、node4(/data/sde1)
创建分布式卷
gluster volume create dis-volume node1:/data/sdb1 node2:/data/sdb1 force
[root@node1 opt]
dis-volume //代表分布式卷
[root@node1 opt]
volume start: dis-volume: success
[root@node1 opt]
Volume Name: dis-volume
Type: Distribute
Volume ID: 49a9d03b-8d59-4bdf-8f3f-0079902e484d
Status: Started
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
创建条带卷
- 指定类型为 stripe,数值为 2,且后面跟了 2 个 Brick Server,所以创建的是条带卷
[root@node1 opt]
volume create: stripe-volume: success: please start the volume to access data
[root@node1 opt]
volume start: stripe-volume: success
[root@node1 opt]
Volume Name: stripe-volume
Type: Stripe
Volume ID: f0a5c752-fce9-4191-a25a-489a9a8d41b6
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdc1
Brick2: node2:/data/sdc1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
创建复制卷
- 指定类型为 replica,数值为 2,且后面跟了 2 个 Brick Server,所以创建的是复制卷
[root@node1 opt]
volume create: rep-volume: success: please start the volume to access data
[root@node1 opt]
volume start: rep-volume: success
[root@node1 opt]
Volume Name: rep-volume
Type: Replicate
Volume ID: dcad45e5-9083-4ac4-a63b-e93f0028cecb
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node3:/data/sdb1
Brick2: node4:/data/sdb1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
创建分布式条带卷
- 指定类型为 stripe,数值为 2,而且后面跟了 4 个 Brick Server,是 2 的两倍,所以创建的是分布式条带卷
[root@node1 opt]
volume create: dis-stripe: success: please start the volume to access data
[root@node1 opt]
volume start: dis-stripe: success
[root@node1 opt]
Volume Name: dis-stripe
Type: Distributed-Stripe
Volume ID: 82345486-2286-4d5d-a0fd-cbeb42c5df6b
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdd1
Brick2: node2:/data/sdd1
Brick3: node3:/data/sdd1
Brick4: node4:/data/sdd1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
创建分布式复制卷
- 指定类型为 replica,数值为 2,而且后面跟了 4 个 Brick Server,是 2 的两倍,所以创建的是分布式复制卷
[root@node1 opt]
volume create: dis-rep: success: please start the volume to access data
[root@node1 opt]
volume start: dis-rep: success
[root@node1 opt]
Volume Name: dis-rep
Type: Distributed-Replicate
Volume ID: 571a1468-cb91-40e6-9e58-460b3eb1a3bc
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: node1:/data/sde1
Brick2: node2:/data/sde1
Brick3: node3:/data/sde1
Brick4: node4:/data/sde1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node1 opt]
dis-rep
dis-stripe
dis-volume
rep-volume
stripe-volume
部署GFS的客户端
[root@node5 opt]
[root@node5 opt]
[root@node5 yum.repos.d]
[root@node5 yum.repos.d]
[root@node5 yum.repos.d]
[glfs]
name=glfs
baseurl=file:///opt/gfsrepo
gpgcheck=0
enabled=1
[root@node5 yum.repos.d]
已加载插件:fastestmirror, langpacks
正在清理软件源: glfs
Cleaning up list of fastest mirrors
Other repos take up 1.1 G of disk space (use --verbose for details)
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
glfs | 2.9 kB 00:00:00
(1/3): glfs/filelists_db | 62 kB 00:00:00
(2/3): glfs/other_db | 46 kB 00:00:00
(3/3): glfs/primary_db | 92 kB 00:00:00
元数据缓存已建立
[root@node5 yum.repos.d]
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识 源名称 状态
glfs glfs 115
repolist: 115
[root@node5 yum.repos.d]
[root@node5 yum.repos.d]
[root@node5 yum.repos.d]
dis dis_rep dis_stripe rep stripe
echo "192.168.1.5 node1" >> /etc/hosts
echo "192.168.1.101 node2" >> /etc/hosts
echo "192.168.1.102 node3" >> /etc/hosts
echo "192.168.1.103 node4" >> /etc/hosts
echo "192.168.1.110 node5" >> /etc/hosts
[root@node5 yum.repos.d]
[root@node5 yum.repos.d]
[root@node5 yum.repos.d]
[root@node5 yum.repos.d]
[root@node5 yum.repos.d]
[root@node5 yum.repos.d]
df: "/data/sdb1": 传输端点尚未连接
df: "/data/sdd1": 传输端点尚未连接
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 16G 6.5G 9.6G 41% /
devtmpfs 895M 0 895M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 11M 900M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 1014M 174M 841M 18% /boot
tmpfs 182M 8.0K 182M 1% /run/user/42
tmpfs 182M 40K 182M 1% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdc1 5.0G 33M 5.0G 1% /data/sdc1
/dev/sde1 5.0G 33M 5.0G 1% /data/sde1
node1:dis-volume 25G 65M 25G 1% /test/dis
node1:stripe-volume 10G 65M 10G 1% /test/stripe
node1:rep-volume 5.0G 33M 5.0G 1% /test/rep
node1:dis-stripe 20G 130M 20G 1% /test/dis_stripe
node1:dis-rep 10G 65M 10G 1% /test/dis_rep
[root@node5 yum.repos.d]
node1:dis-volume /test/dis glusterfs defaults,_netdev 0 0
node1:stripe-volume /test/stripe glusterfs defaults,_netdev 0 0
node1:rep-volume /test/rep glusterfs defaults,_netdev 0 0
node1:dis-stripe /test/dis_stripe glusterfs defaults,_netdev 0 0
node1:dis-rep /test/dis_rep glusterfs defaults,_netdev 0 0
[root@node5 yum.repos.d]
测试gluster文件系统
[root@node5 yum.repos.d]
[root@node5 opt]
记录了20+0 的读入
记录了20+0 的写出
20971520字节(21 MB)已复制,0.0352689 秒,595 MB/秒
[root@node5 opt]
记录了20+0 的读入
记录了20+0 的写出
20971520字节(21 MB)已复制,0.0630754 秒,332 MB/秒
[root@node5 opt]
记录了20+0 的读入
记录了20+0 的写出
20971520字节(21 MB)已复制,0.0650207 秒,323 MB/秒
[root@node5 opt]
记录了20+0 的读入
记录了20+0 的写出
20971520字节(21 MB)已复制,0.0635848 秒,330 MB/秒
[root@node5 opt]
记录了20+0 的读入
记录了20+0 的写出
20971520字节(21 MB)已复制,0.0632193 秒,332 MB/秒
[root@node5 opt]
总用量 150M
-rw-r--r-- 1 root root 20M 8月 13 23:17 demo1.log
-rw-r--r-- 1 root root 20M 8月 13 23:17 demo2.log
-rw-r--r-- 1 root root 20M 8月 13 23:17 demo3.log
-rw-r--r-- 1 root root 20M 8月 13 23:17 demo4.log
-rw-r--r-- 1 root root 20M 8月 13 23:17 demo5.log
[root@node5 opt]
[root@node5 opt]
[root@node5 opt]
[root@node5 opt]
[root@node5 opt]
- 查看分布式文件分布,文件被随机分到所有Brick Server 上
[root@node1 opt]
总用量 40M
-rw-r--r--. 2 root root 20M 8月 14 01:21 demo1.log
-rw-r--r--. 2 root root 20M 8月 14 01:21 demo3.log
[root@node2 opt]
总用量 60M
-rw-r--r-- 2 root root 20M 8月 13 23:21 demo2.log
-rw-r--r-- 2 root root 20M 8月 13 23:21 demo4.log
-rw-r--r-- 2 root root 20M 8月 13 23:21 demo5.log
- 查看条带卷文件分布,文件被分成数据块并以轮询的方式分布到多个 Brick Server 上
[root@node1 opt]
总用量 50M
-rw-r--r--. 2 root root 10M 8月 14 01:21 demo1.log
-rw-r--r--. 2 root root 10M 8月 14 01:21 demo2.log
-rw-r--r--. 2 root root 10M 8月 14 01:21 demo3.log
-rw-r--r--. 2 root root 10M 8月 14 01:21 demo4.log
-rw-r--r--. 2 root root 10M 8月 14 01:21 demo5.log
[root@node2 opt]
总用量 50M
-rw-r--r-- 2 root root 10M 8月 13 23:21 demo1.log
-rw-r--r-- 2 root root 10M 8月 13 23:21 demo2.log
-rw-r--r-- 2 root root 10M 8月 13 23:21 demo3.log
-rw-r--r-- 2 root root 10M 8月 13 23:21 demo4.log
-rw-r--r-- 2 root root 10M 8月 13 23:21 demo5.log
- 查看复制卷分布,文件同步到多个 Brick 上,使其具备多个文件副本
[root@node3 opt]
总用量 100M
-rw-r--r--. 2 root root 20M 8月 13 23:21 demo1.log
-rw-r--r--. 2 root root 20M 8月 13 23:21 demo2.log
-rw-r--r--. 2 root root 20M 8月 13 23:21 demo3.log
-rw-r--r--. 2 root root 20M 8月 13 23:21 demo4.log
-rw-r--r--. 2 root root 20M 8月 13 23:21 demo5.log
[root@node4 opt]
总用量 100M
-rw-r--r--. 2 root root 20M 8月 13 23:21 demo1.log
-rw-r--r--. 2 root root 20M 8月 13 23:21 demo2.log
-rw-r--r--. 2 root root 20M 8月 13 23:21 demo3.log
-rw-r--r--. 2 root root 20M 8月 13 23:21 demo4.log
-rw-r--r--. 2 root root 20M 8月 13 23:21 demo5.log
- 查看分布式条带卷分布,有分布式卷和条带卷的特性,分块并随机分到多个 Brick上
[root@node1 opt]
总用量 40M
-rw-r--r--. 2 root root 10M 8月 14 01:21 demo1.log
-rw-r--r--. 2 root root 10M 8月 14 01:21 demo2.log
-rw-r--r--. 2 root root 10M 8月 14 01:21 demo3.log
-rw-r--r--. 2 root root 10M 8月 14 01:21 demo4.log
[root@node2 opt]
总用量 40M
-rw-r--r-- 2 root root 10M 8月 13 23:21 demo1.log
-rw-r--r-- 2 root root 10M 8月 13 23:21 demo2.log
-rw-r--r-- 2 root root 10M 8月 13 23:21 demo3.log
-rw-r--r-- 2 root root 10M 8月 13 23:21 demo4.log
[root@node3 opt]
总用量 10M
-rw-r--r--. 2 root root 10M 8月 13 23:21 demo5.log
[root@node4 opt]
总用量 10M
-rw-r--r--. 2 root root 10M 8月 13 23:21 demo5.log
[root@node1 opt]
总用量 80M
-rw-r--r--. 2 root root 20M 8月 14 01:21 demo1.log
-rw-r--r--. 2 root root 20M 8月 14 01:21 demo2.log
-rw-r--r--. 2 root root 20M 8月 14 01:21 demo3.log
-rw-r--r--. 2 root root 20M 8月 14 01:21 demo4.log
[root@node2 opt]
总用量 80M
-rw-r--r-- 2 root root 20M 8月 13 23:21 demo1.log
-rw-r--r-- 2 root root 20M 8月 13 23:21 demo2.log
-rw-r--r-- 2 root root 20M 8月 13 23:21 demo3.log
-rw-r--r-- 2 root root 20M 8月 13 23:21 demo4.log
[root@node3 opt]
总用量 20M
-rw-r--r--. 2 root root 20M 8月 13 23:21 demo5.log
[root@node4 opt]
总用量 20M
-rw-r--r--. 2 root root 20M 8月 13 23:21 demo5.log
破坏测试
- 关闭node2节点来模拟故障,在客户端中查看分布式文件
[root@node2 opt]
[root@node5 test]
[root@node5 dis]
demo1.log demo3.log //node2中的分布的文件不显示
[root@node5 dis]
[root@node5 stripe]
ls: 正在读取目录.: 传输端点尚未连接
总用量 0 //无法访问,条带卷不具备冗余性
[root@node5 test]
[root@node5 rep]
总用量 102400
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo1.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo2.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo3.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo4.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo5.log
[root@node5 dis_stripe]
总用量 20480
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo5.log
[root@node5 dis_rep]
总用量 102400
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo1.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo2.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo3.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo4.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo5.log
[root@node5 dis_rep]
[root@node5 rep]
总用量 102400
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo1.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo2.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo3.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo4.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo5.log
[root@node5 rep]
[root@node5 dis_stripe]
ls: 正在读取目录.: 传输端点尚未连接
总用量 0
[root@node5 dis_rep]
总用量 102400
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo1.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo2.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo3.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo4.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo5.log
其他维护命令
[root@node1 opt]
dis-rep
dis-stripe
dis-volume
rep-volume
stripe-volume
[root@node1 opt]
Volume Name: dis-rep
Type: Distributed-Replicate
Volume ID: 571a1468-cb91-40e6-9e58-460b3eb1a3bc
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: node1:/data/sde1
Brick2: node2:/data/sde1
Brick3: node3:/data/sde1
Brick4: node4:/data/sde1
Options Reconfigured:
nfs.disable: on
transport.address-family: inet
Volume Name: dis-stripe
Type: Distributed-Stripe
Volume ID: 82345486-2286-4d5d-a0fd-cbeb42c5df6b
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdd1
Brick2: node2:/data/sdd1
Brick3: node3:/data/sdd1
Brick4: node4:/data/sdd1
Options Reconfigured:
nfs.disable: on
transport.address-family: inet
Volume Name: dis-volume
Type: Distribute
Volume ID: 49a9d03b-8d59-4bdf-8f3f-0079902e484d
Status: Started
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdb1
Brick2: node2:/data/sdb1
Options Reconfigured:
nfs.disable: on
transport.address-family: inet
Volume Name: rep-volume
Type: Replicate
Volume ID: dcad45e5-9083-4ac4-a63b-e93f0028cecb
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node3:/data/sdb1
Brick2: node4:/data/sdb1
Options Reconfigured:
nfs.disable: on
transport.address-family: inet
Volume Name: stripe-volume
Type: Stripe
Volume ID: f0a5c752-fce9-4191-a25a-489a9a8d41b6
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdc1
Brick2: node2:/data/sdc1
Options Reconfigured:
nfs.disable: on
transport.address-family: inet
[root@node1 opt]
Status of volume: dis-rep
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node1:/data/sde1 49155 0 Y 20324
Brick node2:/data/sde1 49152 0 Y 16938
Brick node3:/data/sde1 49154 0 Y 9984
Brick node4:/data/sde1 49152 0 Y 7793
Self-heal Daemon on localhost N/A N/A Y 21321
Self-heal Daemon on node2 N/A N/A Y 16926
Self-heal Daemon on node3 N/A N/A Y 10692
Self-heal Daemon on node4 N/A N/A Y 7783
Task Status of Volume dis-rep
------------------------------------------------------------------------------
There are no active volume tasks
Status of volume: dis-stripe
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node1:/data/sdd1 49154 0 Y 20258
Brick node2:/data/sdd1 49153 0 Y 16945
Brick node3:/data/sdd1 49153 0 Y 9932
Brick node4:/data/sdd1 49153 0 Y 7801
Task Status of Volume dis-stripe
------------------------------------------------------------------------------
There are no active volume tasks
Status of volume: dis-volume
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node1:/data/sdb1 49152 0 Y 19999
Brick node2:/data/sdb1 49154 0 Y 16953
Task Status of Volume dis-volume
------------------------------------------------------------------------------
There are no active volume tasks
Status of volume: rep-volume
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node3:/data/sdb1 49152 0 Y 9844
Brick node4:/data/sdb1 49154 0 Y 7808
Self-heal Daemon on localhost N/A N/A Y 21321
Self-heal Daemon on node3 N/A N/A Y 10692
Self-heal Daemon on node4 N/A N/A Y 7783
Self-heal Daemon on node2 N/A N/A Y 16926
Task Status of Volume rep-volume
------------------------------------------------------------------------------
There are no active volume tasks
Status of volume: stripe-volume
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node1:/data/sdc1 49153 0 Y 20102
Brick node2:/data/sdc1 49155 0 Y 16962
Task Status of Volume stripe-volume
------------------------------------------------------------------------------
There are no active volume tasks
[root@node1 opt]
Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y
volume stop: dis-stripe: success
[root@node5 dis_stripe]
ls: 无法打开目录.: 传输端点尚未连接
[root@node1 opt]
volume start: dis-stripe: success
[root@node5 dis_stripe]
总用量 102400
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo1.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo2.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo3.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo4.log
-rw-r--r-- 1 root root 20971520 8月 13 23:21 demo5.log
- 删除一个卷,删除之前需要先停止,且没有一个节点处于宕机,不然不能执行
[root@node1 opt]
Deleting volume will erase all information about the volume. Do you want to continue? (y/n) y
volume delete: dis-stripe: failed: Volume dis-stripe has been started.Volume needs to be stopped before deletion.
[root@node1 opt]
Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y
volume stop: dis-stripe: success
[root@node1 opt]
Deleting volume will erase all information about the volume. Do you want to continue? (y/n) y
volume delete: dis-stripe: success
[root@node5 dis_stripe]
-bash: cd: ..: 传输端点尚未连接
仅允许
gluster volume set dis-rep auth.allow 192.168.1.* //设置192.168.226.0网段的所有IP地址都能访问dis-rep卷
|