分布式文件系统--glusterfs(代码片段)

还行少年 还行少年     2022-12-20     483

关键词:

一、分布式文件系统

1.文件系统

1.1 组成

  • 文件系统接口
  • 对对像管理的软件集合
  • 对象及属性

1.2 作用

从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。
具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取

1.3 挂载使用

除根文件系统以外的文件系统创建后要使用需要先挂载至挂载点后才可以被访问,挂载点即分区设备文件关联的某个目录文件,类比:NFS

2.分布式文件系统–GFS

2.1 组成

1、存储服务器
2、客户端
3、NFS/Samba存储网关组成

2.2 专业术语

  • brick 存储服务器:实际存储用户数据的服务器

  • volume 本地文件系统的“分区”

  • FUSE : 用户空间的文件系统(类比EXT4),“这是一个伪文件系统”。
    以本地文件系统为例,用户想要读写一个文件,会借助于EXT4文件系统,然后把数据写在磁盘上,而如果是远端的GFS,客户端的请求则应该交给FUSE(伪文件系统),就可以实现跨界点存储在GFS上

  • FUSE(用户空间的文件系统)伪文件系统 用户端的交互模块

  • VFS(虚拟端口):内核态的虚拟文件系统,用户是先提交请求交给VFS 然后VFS交给FUSE 再交给GFS客户端,最后由客户端交给远端的存储

2.3 模块化堆栈式架构

  • 模块化、堆栈式的架构
    通过对模块的组合,实现复杂的功能
  • 模块化
    类似linux 编译安装;很多功能都可以做定制的,通常都是通过软件开发的方式封装为模块,按需使用/不适用
    GlusterFs也是这个思想:把功能封装为一个个模块,通过加载/调用/启用的方式就可以对应的功能

2.4 工作流程

客户端在本地发出读写请求,然后交由VFS 的API接受请求,接受请求后会交给FUSE(内核伪文件系统),FUSE可以模拟操作系统,所以可以对文件系统进行转存,转存的设备位置为:/dev/fuse(用于传输的设备-虚拟设备文件)——》交给GFS客户端,client 会根据配置文件对数据进行处理,然后再通过TCP/ib/rdma 网络发送到GFS服务端,并且将数据写到服务器存储设备上

2.5 基本卷与复合卷

GlusterFS 支持七种卷,即分布式卷、条带卷、复制卷、分布式条带卷、分布式复制卷、 条带复制卷和分布式条带复制卷

  • 分布式卷(默认):文件通过 HASH 算法分布到所有 Brick Server 上, 这种卷是 Glusterfs 的基础;以文件为单位根据 HASH 算法散列到不同的 Brick,其实 只是扩大了磁盘空间,如果有一块磁盘损坏,数据也将丢失,属于文件级的 RAID 0, 不具有容错能力
  • 条带卷(默认):类似 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 应用

二、部署 GlusterFS 群集

环境
node1   192.168.30.6
node2   192.168.30.7
node3   192.168.30.8
node4   192.168.30.9
client  192.168.30.5

1 准备环境

磁盘与挂载点相对应

2 配置/etc/hosts文件

3 安装GlusterFS并启动

[root@node1 ~]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma   //,其他节点同样操作
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 glusterfs-3.10.2-1.el7.x86_64 已安装并且是最新版本
软件包 glusterfs-server-3.10.2-1.el7.x86_64 已安装并且是最新版本
软件包 glusterfs-fuse-3.10.2-1.el7.x86_64 已安装并且是最新版本
软件包 glusterfs-rdma-3.10.2-1.el7.x86_64 已安装并且是最新版本
无须任何处理


[root@node1 opt]# systemctl start glusterd.service   //启动
[root@node1 opt]# 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 opt]# 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 Wed 2021-08-11 19:11:03 CST; 2s ago
 Main PID: 19604 (glusterd)
   CGroup: /system.slice/glusterd.service
           └─19604 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO...

Aug 11 19:11:03 node1 systemd[1]: Starting GlusterFS, a clustered file-system.....
Aug 11 19:11:03 node1 systemd[1]: Started GlusterFS, a clustered file-system ...r.
Hint: Some lines were ellipsized, use -l to show in full.

4 时间同步,加入存储信任池

[root@node1 opt]# ntpdate ntp1.aliyun.com   //同步阿里云的ntp服务器
11 Aug 19:13:20 ntpdate[19714]: adjust time server 120.25.115.20 offset 0.003094 sec

[root@node1 opt]# gluster peer probe node1  //加入存储信任池,只需要在一台节点上操作即可
peer probe: success. Probe on localhost not needed
[root@node1 opt]# gluster peer probe node2
peer probe: success. 
[root@node1 opt]# gluster peer probe node3
peer probe: success. 
[root@node1 opt]# gluster peer probe node4
peer probe: success. 
[root@node1 opt]# gluster peer status //在每个Node节点上查看群集状态
Number of Peers: 3

Hostname: node2
Uuid: a02106dc-7fed-4bf8-9968-efa2a5bc4ec7
State: Peer in Cluster (Connected)

Hostname: node3
Uuid: 038c0761-f1f6-42c3-914e-40aedbdbf720
State: Peer in Cluster (Connected)

Hostname: node4
Uuid: 6840d481-bf60-43b8-ae71-97395a0d9bcb
State: Peer in Cluster (Connected)

5 创建卷

卷名称 				卷类型				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)

5.1 创建分布式卷

[root@node1 opt]# gluster volume create dis-volume node1:/data/sdb1 node2:/data/sdb1 force  //创建分布式卷,没有指定类型,默认创建的是分布式卷
volume create: dis-volume: success: please start the volume to access data
[root@node1 opt]# gluster volume list  //查看卷列表
dis-volume 
[root@node1 opt]# gluster volume start dis-volume   //启动新建分布式卷
volume start: dis-volume: success
[root@node1 opt]# gluster volume info dis-volume   //查看创建分布式卷信息
 
Volume Name: dis-volume
Type: Distribute
Volume ID: cffc4402-ec03-4a48-aebe-3158e5231dc5
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

5.2 创建条带卷

[root@node1 opt]# gluster volume create stripe-volume stripe 2 node1:/data/sdc1 node2:/data/sdc1 force  //指定类型为 stripe,数值为 2,且后面跟了 2 个 Brick Server,所以创建的是条带卷
volume create: stripe-volume: success: please start the volume to access data
[root@node1 opt]# gluster volume start stripe-volume   //启动新建条带卷
volume start: stripe-volume: success
[root@node1 opt]# gluster volume info stripe-volume   //查看新建条带卷信息
 
Volume Name: stripe-volume
Type: Stripe
Volume ID: 478b8497-4c3d-4db4-b958-2abf5798aac2
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
[root@node1 opt]# 

5.3 创建复制卷

[root@node1 opt]# gluster volume create rep-volume replica 2 node3:/data/sdb1 node4:/data/sdb1 force  //指定类型为 replica,数值为 2,且后面跟了 2 个 Brick Server,所以创建的是复制卷
volume create: rep-volume: success: please start the volume to access data
[root@node1 opt]# gluster volume start rep-volume   //启动新建复制卷

volume start: rep-volume: success
[root@node1 opt]# gluster volume info rep-volume    //查看新建复制卷信息
 
Volume Name: rep-volume
Type: Replicate
Volume ID: 2ae6ca8a-73af-485b-86d1-c6b0ed74a09b
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

5.4 创建分布式条带卷

[root@node1 opt]# gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force  //指定类型为 stripe,数值为 2,而且后面跟了 4 个 Brick Server,是 2 的两倍,所以创建的是分布式条带卷
volume create: dis-stripe: success: please start the volume to access data
[root@node1 opt]# gluster volume start dis-stripe   //启动新建分布式条带卷
volume start: dis-stripe: success
[root@node1 opt]# gluster volume info dis-stripe   //查看分布式条带卷信息
 
Volume Name: dis-stripe
Type: Distributed-Stripe
Volume ID: 54bcbe8e-f30a-4bbb-a36a-13d7cfaaab2b
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

5.5 创建分布式复制卷

[root@node1 opt]# gluster volume create dis-rep replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1 node4:/data/sde1 force  //指定类型为 replica,数值为 2,而且后面跟了 4 个 Brick Server,是 2 的两倍,所以创建的是分布式复制卷
volume create: dis-rep: success: please start the volume to access data
[root@node1 opt]# gluster volume start dis-rep  //启动新建分布式复制卷
volume start: dis-rep: success
[root@node1 opt]# gluster volume info dis-rep    //查看新建分布式复制卷信息
 
Volume Name: dis-rep
Type: Distributed-Replicate
Volume ID: 39a8d0e8-79e9-431f-aeca-b69254d687c5
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

5.6 查看卷列表

[root@node1 opt]# gluster volume list
dis-rep
dis-stripe
dis-volume
rep-volume
stripe-volume

6.部署客户端

6.1 配置hosts文件

[root@client ~]# echo "192.168.30.6 node1" >> /etc/hosts
[root@client ~]# echo "192.168.30.7 node2" >> /etc/hosts
[root@client ~]# echo "192.168.30.8 node3" >> /etc/hosts
[root@client ~]# echo "192.168.30.9 node4" >> /etc/hosts
[root@client ~]# echo "192.168.30.5 client" >> /etc/hosts
[root@client ~]# 

6.2 安装gfs客户端

[root@client opt]# yum -y install glusterfs glusterfs-fuse
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
匹配 glusterfs-3.10.2-1.el7.x86_64 的软件包已经安装。正在检查更新。
匹配 glusterfs-fuse-3.10.2-1.el7.x86_64 的软件包已经安装。正在检查更新。
无须任何处理

6.3 创建挂载点,挂载 gluster文件系统

[root@client opt]# mkdir -p /test/dis,stripe,rep,dis_stripe,dis_rep
[root@client opt]# ls /test
dis  dis_rep  dis_stripe  rep  stripe
[root@client opt]# mount.glusterfs node1:dis-volume /test/dis
[root@client opt]# mount.glusterfs node1:stripe-volume /test/stripe
[root@client opt]# mount.glusterfs node1:rep-volume /test/rep
[root@client opt]# mount.glusterfs node1:dis-stripe /test/dis_stripe
[root@client opt]# mount.glusterfs node1:dis-rep /test/dis_rep
[root@client opt]# df -hT
文件系统            类型            容量  已用  可用 已用% 挂载点
/dev/sda3           xfs             197G  4.5G  193G    3% /
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/sda1           xfs            1014M  174M  841M   18% /boot
tmpfs               tmpfs           182M   12K  182M    1% /run/user/42
tmpfs               tmpfs           182M     0  182M    0% /run/user/0
node1:dis-volume    fuse.glusterfs  8.0G   65M  8.0G    1% /test/dis
node1:stripe-volume fuse.glusterfs  8.0G   65M  8.0G    1% /test/stripe
node1:rep-volume    fuse.glusterfs  4.0G   33M  4.0G    1% /test/rep
node1:dis-stripe    fuse.glusterfs   16G  130M   16G    1% /test/dis_stripe
node1:dis-rep       fuse.glusterfs  8.0G   65M  8.0G    1% /test/dis_rep
[root@client opt]# 

7.测试

7.1 写入数据

[root@client opt]# ls -lh /opt
总用量 150M
-rw-r--r--  1 root root  20M 811 19:55 demo1.log
-rw-r--r--  1 root root  20M 811 19:55 demo2.log
-rw-r--r--  1 root root  20M 811 19:55 demo3.log
-rw-r--r--  1 root root  20M 811 19:55 demo4.log
-rw-r--r--  1 root root  20M 811 19:55 demo5.log
drwxr-xr-x  3 root root 8.0K 1120 2020 gfsrepo
-rw-r--r--  1 root root  50M 811 09:33 gfsrepo.zip
drwxr-xr-x. 2 root root    6 1031 2018 rh
[root@client opt]# 
[root@client opt]# cp demo* /test/dis
[root@client opt]# cp demo* /test/stripe/
[root@client opt]# cp demo* /test/rep/
[root@client opt]# cp demo* /test/dis_stripe/
[root@client opt]# cp demo* /test/dis_rep/

7.2 查看文件分布

7.2.1 分布式卷

7.2.2 条带卷

7.2.3 复制卷

7.2.4 分布式条带卷

7.2.5 分布式复制卷

7.3 破坏性测试

7.3.1 关闭一台节点服务器

7.3.2 查看文件

[root@client test]# ls -lh dis/ stripe/ rep dis_stripe/ dis_rep/
dis/:
总用量 80M
-rw-r--r-- 1 root root 20M 811 19:55 demo1.log
-rw-r--r-- 1 root root 20M 811 19:55 demo2.log
-rw-r--r-- 1 root root 20M 811 19:55 demo3.log
-rw-r--r-- 1 root root 20M 811 19:55 demo4.log

dis_rep/:
总用量 100M
-rw-r--r-- 1 root root 20M 811 19:55 demo1.log
-rw-r--r-- 1 root root 20M 811 19:55 demo2.log
-rw-r--r-- 1 root root 20M 811 19:55 demo3.log
-rw-r--r-- 1 root root 20M 811 19:55 demo4.log
-rw-r--r-- 1 root root 20M 811 19:55 demo5.log

dis_stripe/:
总用量 20M
-rw-r--r-- 1 root root 20M 811 19:55 demo5.log

rep:
总用量 100M
-rw-r--r-- 1 root root 20M 811 19:55 demo1.log
-rw-r--r-- 1 root root 20M 811 19:55 demo2.log
-rw-r--r-- 1 root root 20M 811 19:55 demo3.log
-rw-r--r-- 1 root root 20M 811 19:55 demo4.log
-rw-r--r-- 1 root root 20M 811 19:55 demo5.log

stripe/:
ls: 正在读取目录stripe/: 传输端点尚未连接
总用量 0

小结

  • 在多个后端存储中定位文件:
    使用弹性HASH算法来解决数据定位、索引、寻址的功能
    先通过HASH算法对数据可以得到一个值(该值有2的32次方个组合)
    每个数据对应了0-2的32次方的一个值

  • (分布式)平均分配的好处:
    当数据量越来越大的时候,相对每个存储节点的数据量(几率)是相等的
    而如果考虑到单点故障问题,当数据存储在C存储节点,对此GFS是会有备份机制的(卷),默认3备份,所以GFS本身的机制会对数据产生冗余,以此解决单点故障

分布式文件系统--glusterfs(代码片段)

文章目录一、分布式文件系统1.文件系统1.1组成1.2作用1.3挂载使用2.分布式文件系统--GFS2.1组成2.2专业术语2.3模块化堆栈式架构2.4工作流程2.5基本卷与复合卷二、部署GlusterFS群集1准备环境2配置/etc/hosts文件3安装GlusterFS并启动4时间... 查看详情

glusterfs分布式文件系统(代码片段)

GlusterFS分布式文件系统,用于存储、管理磁盘文件文件系统(FS)文件系统组成1、文件系统接口2、对对像管理的软件集合3、对象及属性文件系统作用从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配... 查看详情

glusterfs-----文件分布系统+集群部署(代码片段)

一、Gluster概述1.1、gluster简介Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决方案中Glusterfs能够灵活的结合物理的,虚拟的和云资源去体现高可用和企业级的性能存储.Glusterfs通过TCP... 查看详情

glusterfs-----文件分布系统+集群部署(代码片段)

一、Gluster概述1.1、gluster简介Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决方案中Glusterfs能够灵活的结合物理的,虚拟的和云资源去体现高可用和企业级的性能存储.Glusterfs通过TCP... 查看详情

gfs分布式文件系统(代码片段)

目录一.GlusterFS概述1.GlusterFS简介2.GlusterFS特点3.GlusterFS术语4.模块化堆栈式架构5.GlusterFS的工作流程6.弹性HASH算法7.GlusterFs的卷类型二.部署GlusterFS群集1.准备环境(所有node节点上操作)①添加硬盘,关闭防火墙,修改所有node节... 查看详情

gfs分布式文件系统(代码片段)

...GlusterFS介绍1.1GlusterFS概念1.2GlusterFS特点1.3GlusterFS术语前言分布式文件系统种类有:CEPH分布式文件系统(用的多)GFS(GlusterFS)分布式文件系统M 查看详情

glusterfs分布式文件系统概述(代码片段)

...GlusterFS的工作流程2、弹性HASH算法三、GlusterFS的卷类型1、分布式卷2、条带卷3、复制卷4、分布式条带卷5、分布式复制卷一、GlusterFS概述GlusterFS是一个开源的分布式文件系统,同时也是Scale-Out存储解决方案Gluster的核心,在存储数... 查看详情

详解gfs分布式文件系统(条带卷/复制卷/分布式条带卷/分布式复制卷)(代码片段)

GFS分布式文件系统一.GlusterFS概述1.GlusterFS简介2.GlusterFS特点3.GlusterFS术语4.模块化堆栈式架构5.GlusterFS工作流程6.弹性HASH算法7.GlusterFs的卷类型二.部署GlusterFs群集三.客户端部署与测试测试总结补充:一.GlusterFS概述1.GlusterFS简介... 查看详情

glusterfs分布式文件系统(代码片段)

简介Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端。是整合了许多存储块(server)通过InfinibandRDMA或者 Tcp/Ip方式互联的一个并行的网络文件系统。  特征:容量可以按比例的扩展,... 查看详情

gfs分布式文件系统从入门到实践(代码片段)

GFS分布式文件系统一、GlusterFS概述1.1GlusterFS简介1.2GlusterFS的特点二、GlusterFS术语介绍2.1Brick(存储块)2.2Volume(逻辑卷)2.3FUSE2.4VFS2.5Glusterd(后台管理进程)三、理解GlusterFS工作流程四、理解弹性HASH算法4.1 查看详情

glusterfs:优秀开源分布式存储系统(代码片段)

一、GlusterFS简介1、什么是glusterfsGlusterfs是一个开源分布式文件系统,具有强大的横向扩展能力,可支持数PB存储容量和数千客户端,通过InfinibandRDMA或Tcp/Ip方式将许多廉价的x86主机,通过网络互联成一个并行的网... 查看详情

gfs分布式文件系统(代码片段)

...节点即可②在每个Node节点上查看群集状态3.创建卷①创建分布式卷②创建条带卷③创建复制卷④创建分布式条带卷⑤创建分布式复制卷4.部署Gluster客户端①安装客户端软件②创建挂载目录③配置/etc/hosts文件④挂载Gluster文件系统5... 查看详情

gfs分布式文件系统(相关理论及实验操作详解)(代码片段)

目录一、GlusterFS简介二、GlusterFS特点三、GlusterFS术语四、模块化堆栈式架构五、GlusterFS的工作流程六、弹性HASH算法七、GlusterFs的卷类型八、部署GlusterFS群集1.关闭防火墙2.磁盘分区,并挂载(四个节点都做3.修改主机名... 查看详情

(❤❤❤)gfs分布式文件系统理论+部署(❤❤❤)(代码片段)

...一命名空间④弹性卷管理⑤基于标准协议1.3、MFS(传统的分布式文件系统)1.4、GFS二、GlusterFS术语介绍①Brick(存储块)②Volume(逻辑卷)③FUSE④VFS⑤Glusterd( 查看详情

(❤❤❤)gfs分布式文件系统理论+部署(❤❤❤)(代码片段)

...一命名空间④弹性卷管理⑤基于标准协议1.3、MFS(传统的分布式文件系统)1.4、GFS二、GlusterFS术语介绍①Brick(存储块)②Volume(逻辑卷)③FUSE④VFS⑤Glusterd( 查看详情

glusterfs存储结构原理介绍(代码片段)

分布式文件系统分布式文件系统(DistributedFileSystem)是指文件系统管理的物理存储资源并不直接与本地节点相连,而是分布于计算网络中的一个或者多个节点的计算机上。目前意义上的分布式文件系统大多都是由多个节点计算机... 查看详情

glusterfs(代码片段)

分布式存储已经研究很多年,但直到近年来,伴随着谷歌、亚马逊和阿里等互联网公司云计算和大数据应用的兴起,它才大规模应用到工程实践中。如谷歌的分布式文件系统GFS、分布式表格系统googleBigtable,亚马逊的对象存储AWS... 查看详情

gfs分布式文件系统(代码片段)

GFS分布式文件系统一、概述二、特点1.扩展性和高性能2.高可用性3.全局统一命名空间4.弹性卷管理5.基于标准协议三、GlusterFS术语四、GlusterFS的模块化堆栈式架构五、GlusterFS的工作流程六、后端存储定位文件的方法(HASH算法&#... 查看详情