GlusterFS分布式文件系统部署及基本使用(CentOS 7.6)

                                         作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

  Gluster File System 是一款自由软件,主要由ZRESEARCH公司负责开发,十几名开发者,最近非常活跃。 文档也比较齐全,不难上手。Gluster是一个分布式横向扩展文件系统,可根据您的存储消耗需求快速配置额外的存储。它将自动故障转移作为主要功能。官网快速入门文档:https://docs.gluster.org/en/latest/Install-Guide/Overview/

一.安装 Gluster

1>.什么是Gluster

  Gluster是一个可扩展的分布式文件系统,可将来自多个服务器的磁盘存储资源聚合到一个全局命名空间中。

2>.Gluster的好处

  • 可扩展到几PB
  • 处理成千上万的客户
  • POSIX兼容
  • 使用商品硬件
  • 可以使用任何支持扩展属性的ondisk文件系统
  • 可使用NFS和SMB等行业标准协议访问
  • 提供复制,配额,地理复制,快照和位置检测
  • 允许优化不同的工作负载
  • 开源

3>.查看当前最新版本,如下图所示,目前最新版本是Gluster 5

4>.配置glusterfs的yum源并安装该服务

[root@node101 ~]# cat /etc/yum.repos.d/glusterfs.repo
[myglusterfs]
name=glusterfs
baseurl=https://buildlogs.centos.org/centos/7/storage/x86_64/gluster-5/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
[root@node101 ~]#  
[root@node101 yum.repos.d]# yum -y install glusterfs-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.jdcloud.com
* extras: mirrors.163.com
* updates: mirrors.shu.edu.cn
myglusterfs | 2.9 kB 00:00:00
myglusterfs/primary_db | 76 kB 00:00:03
Resolving Dependencies
--> Running transaction check
---> Package glusterfs-server.x86_64 0:5.3-1.el7 will be installed
--> Processing Dependency: glusterfs-libs = 5.3-1.el7 for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: glusterfs-fuse = 5.3-1.el7 for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: glusterfs-client-xlators = 5.3-1.el7 for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: glusterfs-cli = 5.3-1.el7 for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: glusterfs-api = 5.3-1.el7 for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: glusterfs = 5.3-1.el7 for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: rpcbind for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: libgfapi.so.0(GFAPI_PRIVATE_3.7.0)(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: libgfapi.so.0(GFAPI_PRIVATE_3.4.0)(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: libgfapi.so.0(GFAPI_3.7.4)(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: libgfapi.so.0(GFAPI_3.7.0)(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: libgfapi.so.0(GFAPI_3.6.0)(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: libgfapi.so.0(GFAPI_3.5.1)(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: libgfapi.so.0(GFAPI_3.4.2)(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: libgfapi.so.0(GFAPI_3.4.0)(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: liburcu-cds.so.6()(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: liburcu-bp.so.6()(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: libglusterfs.so.0()(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: libgfxdr.so.0()(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: libgfrpc.so.0()(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: libgfchangelog.so.0()(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Processing Dependency: libgfapi.so.0()(64bit) for package: glusterfs-server-5.3-1.el7.x86_64
--> Running transaction check
---> Package glusterfs.x86_64 0:5.3-1.el7 will be installed
---> Package glusterfs-api.x86_64 0:5.3-1.el7 will be installed
---> Package glusterfs-cli.x86_64 0:5.3-1.el7 will be installed
---> Package glusterfs-client-xlators.x86_64 0:5.3-1.el7 will be installed
---> Package glusterfs-fuse.x86_64 0:5.3-1.el7 will be installed
--> Processing Dependency: psmisc for package: glusterfs-fuse-5.3-1.el7.x86_64
--> Processing Dependency: attr for package: glusterfs-fuse-5.3-1.el7.x86_64
---> Package glusterfs-libs.x86_64 0:5.3-1.el7 will be installed
---> Package rpcbind.x86_64 0:0.2.0-47.el7 will be installed
--> Processing Dependency: libtirpc >= 0.2.4-0.7 for package: rpcbind-0.2.0-47.el7.x86_64
--> Processing Dependency: libtirpc.so.1()(64bit) for package: rpcbind-0.2.0-47.el7.x86_64
---> Package userspace-rcu.x86_64 0:0.10.0-3.el7 will be installed
--> Running transaction check
---> Package attr.x86_64 0:2.4.46-13.el7 will be installed
---> Package libtirpc.x86_64 0:0.2.4-0.15.el7 will be installed
---> Package psmisc.x86_64 0:22.20-15.el7 will be installed
--> Finished Dependency Resolution Dependencies Resolved ===================================================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================================================
Installing:
glusterfs-server x86_64 5.3-1.el7 myglusterfs 1.4 M
Installing for dependencies:
attr x86_64 2.4.46-13.el7 base 66 k
glusterfs x86_64 5.3-1.el7 myglusterfs 668 k
glusterfs-api x86_64 5.3-1.el7 myglusterfs 106 k
glusterfs-cli x86_64 5.3-1.el7 myglusterfs 202 k
glusterfs-client-xlators x86_64 5.3-1.el7 myglusterfs 989 k
glusterfs-fuse x86_64 5.3-1.el7 myglusterfs 147 k
glusterfs-libs x86_64 5.3-1.el7 myglusterfs 415 k
libtirpc x86_64 0.2.4-0.15.el7 base 89 k
psmisc x86_64 22.20-15.el7 base 141 k
rpcbind x86_64 0.2.0-47.el7 base 60 k
userspace-rcu x86_64 0.10.0-3.el7 myglusterfs 92 k Transaction Summary
===================================================================================================================================================================
Install 1 Package (+11 Dependent packages) Total download size: 4.3 M
Installed size: 16 M
Downloading packages:
(1/12): attr-2.4.46-13.el7.x86_64.rpm | 66 kB 00:00:00
(2/12): glusterfs-api-5.3-1.el7.x86_64.rpm | 106 kB 00:00:05
(3/12): glusterfs-5.3-1.el7.x86_64.rpm | 668 kB 00:00:06
(4/12): glusterfs-cli-5.3-1.el7.x86_64.rpm | 202 kB 00:00:02
(5/12): glusterfs-fuse-5.3-1.el7.x86_64.rpm | 147 kB 00:00:01
(6/12): glusterfs-client-xlators-5.3-1.el7.x86_64.rpm | 989 kB 00:00:05
(7/12): libtirpc-0.2.4-0.15.el7.x86_64.rpm | 89 kB 00:00:00
(8/12): psmisc-22.20-15.el7.x86_64.rpm | 141 kB 00:00:00
(9/12): rpcbind-0.2.0-47.el7.x86_64.rpm | 60 kB 00:00:00
(10/12): glusterfs-libs-5.3-1.el7.x86_64.rpm | 415 kB 00:00:03
(11/12): userspace-rcu-0.10.0-3.el7.x86_64.rpm | 92 kB 00:00:01
(12/12): glusterfs-server-5.3-1.el7.x86_64.rpm | 1.4 MB 00:00:06
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 238 kB/s | 4.3 MB 00:00:18
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : glusterfs-libs-5.3-1.el7.x86_64 1/12
Installing : glusterfs-5.3-1.el7.x86_64 2/12
Installing : glusterfs-client-xlators-5.3-1.el7.x86_64 3/12
Installing : glusterfs-api-5.3-1.el7.x86_64 4/12
Installing : glusterfs-cli-5.3-1.el7.x86_64 5/12
Installing : libtirpc-0.2.4-0.15.el7.x86_64 6/12
Installing : rpcbind-0.2.0-47.el7.x86_64 7/12
Installing : psmisc-22.20-15.el7.x86_64 8/12
Installing : attr-2.4.46-13.el7.x86_64 9/12
Installing : glusterfs-fuse-5.3-1.el7.x86_64 10/12
Installing : userspace-rcu-0.10.0-3.el7.x86_64 11/12
Installing : glusterfs-server-5.3-1.el7.x86_64 12/12
Verifying : glusterfs-libs-5.3-1.el7.x86_64 1/12
Verifying : glusterfs-cli-5.3-1.el7.x86_64 2/12
Verifying : glusterfs-fuse-5.3-1.el7.x86_64 3/12
Verifying : rpcbind-0.2.0-47.el7.x86_64 4/12
Verifying : glusterfs-api-5.3-1.el7.x86_64 5/12
Verifying : glusterfs-5.3-1.el7.x86_64 6/12
Verifying : userspace-rcu-0.10.0-3.el7.x86_64 7/12
Verifying : glusterfs-server-5.3-1.el7.x86_64 8/12
Verifying : attr-2.4.46-13.el7.x86_64 9/12
Verifying : psmisc-22.20-15.el7.x86_64 10/12
Verifying : glusterfs-client-xlators-5.3-1.el7.x86_64 11/12
Verifying : libtirpc-0.2.4-0.15.el7.x86_64 12/12 Installed:
glusterfs-server.x86_64 0:5.3-1.el7 Dependency Installed:
attr.x86_64 0:2.4.46-13.el7 glusterfs.x86_64 0:5.3-1.el7 glusterfs-api.x86_64 0:5.3-1.el7 glusterfs-cli.x86_64 0:5.3-1.el7
glusterfs-client-xlators.x86_64 0:5.3-1.el7 glusterfs-fuse.x86_64 0:5.3-1.el7 glusterfs-libs.x86_64 0:5.3-1.el7 libtirpc.x86_64 0:0.2.4-0.15.el7
psmisc.x86_64 0:22.20-15.el7 rpcbind.x86_64 0:0.2.0-47.el7 userspace-rcu.x86_64 0:0.10.0-3.el7 Complete!
[root@node101 yum.repos.d]#

[root@node101 yum.repos.d]# yum -y install glusterfs-server

  官方的实验就是使用2台机器教学的,因此我们这里也需要开启2台虚拟机即可。2台都需要安装glusterfs-server服务。

5>.启动glusterfs服务

[root@node101 ~]# systemctl status glusterd
● glusterd.service - GlusterFS, a clustered file-system server
Loaded: loaded (/usr/lib/systemd/system/glusterd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
[root@node101 ~]#
[root@node101 ~]# systemctl start glusterd
[root@node101 ~]#
[root@node101 ~]# systemctl status glusterd
● glusterd.service - GlusterFS, a clustered file-system server
Loaded: loaded (/usr/lib/systemd/system/glusterd.service; disabled; vendor preset: disabled)
Active: active (running) since Mon -- :: CST; 2s ago
Process: ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=/SUCCESS)
Main PID: (glusterd)
CGroup: /system.slice/glusterd.service
└─ /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO Feb :: node101.yinzhengjie.org.cn systemd[]: Starting GlusterFS, a clustered file-system server...
Feb :: node101.yinzhengjie.org.cn systemd[]: Started GlusterFS, a clustered file-system server.
[root@node101 ~]#
[root@node101 ~]# systemctl enable glusterd
Created symlink from /etc/systemd/system/multi-user.target.wants/glusterd.service to /usr/lib/systemd/system/glusterd.service.
[root@node101 ~]#

[root@node101 ~]# systemctl start glusterd

[root@node102 ~]# systemctl status glusterd
● glusterd.service - GlusterFS, a clustered file-system server
Loaded: loaded (/usr/lib/systemd/system/glusterd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
[root@node102 ~]#
[root@node102 ~]#
[root@node102 ~]# systemctl start glusterd
[root@node102 ~]#
[root@node102 ~]# systemctl status glusterd
● glusterd.service - GlusterFS, a clustered file-system server
Loaded: loaded (/usr/lib/systemd/system/glusterd.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2019-02-18 16:22:09 CST; 2s ago
Process: 14000 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 14001 (glusterd)
CGroup: /system.slice/glusterd.service
└─14001 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO Feb 18 16:22:09 node102.yinzhengjie.org.cn systemd[]: Starting GlusterFS, a clustered file-system server...
Feb 18 16:22:09 node102.yinzhengjie.org.cn systemd[]: Started GlusterFS, a clustered file-system server.
[root@node102 ~]#
[root@node102 ~]#
[root@node102 ~]# systemctl enable glusterd
Created symlink from /etc/systemd/system/multi-user.target.wants/glusterd.service to /usr/lib/systemd/system/glusterd.service.
[root@node102 ~]#
[root@node102 ~]#

[root@node102 ~]# systemctl start glusterd

二.GlusterFS 的配置于基本使用(https://docs.gluster.org/en/latest/Install-Guide/Configure/

1>.配置信任池

[root@node101 ~]# gluster peer probe node102.yinzhengjie.org.cn        #我们在node101.yinzhengjie.org.cn节点上配置和node102.yinzhengjie.org.cn的信任池。
peer probe: success.
[root@node101 ~]#
[root@node101 ~]# gluster peer status                        #查看node101.yinzhengjie.org.cn信任池的状态
Number of Peers: Hostname: node102.yinzhengjie.org.cn
Uuid: ec348557-e9c3-46c8-8ce9-bac6c1b4c298
State: Peer in Cluster (Connected)
[root@node101 ~]#
[root@node101 ~]#
[root@node101 ~]# ssh node102.yinzhengjie.org.cn                  #我们远程到其他的node102.yinzhengjie.org.cn节点上
Last login: Mon Feb :: from 172.30.1.2
[root@node102 ~]#
[root@node102 ~]#
[root@node102 ~]# gluster peer status                        #查看node102.yinzhengjie.org.cn以及有的信任池状态
Number of Peers: Hostname: node101.yinzhengjie.org.cn
Uuid: 9ed5663a-72ec-44c2-92f6-118c6f6cabed
State: Peer in Cluster (Connected)
[root@node102 ~]#
[root@node102 ~]# exit
logout
Connection to node102.yinzhengjie.org.cn closed.
[root@node101 ~]# 

2>.创建分布式卷

可以在存储环境中创建以下类型的卷:

分布式 - 分布式卷在卷中的块中分配文件。您可以使用需要扩展存储的分布式卷,并且冗余要么不重要,要么由其他硬件/软件层提供。

已复制 - 复制的卷跨卷中的块复制文件。您可以在高可用性和高可靠性至关重要的环境中使用复制卷。

分布式复制 - 分布式复制卷在卷中的复制块中分布文件。您可以在需要扩展存储且高可靠性至关重要的环境中使用分布式复制卷。分布式复制卷还可在大多数环境中提供更高的读取性能。

分散 - 分散卷基于擦除代码,提供节省空间的磁盘或服务器故障保护。它将原始文件的编码片段存储到每个块中,其方式是仅需要片段的子集来恢复原始文件。管理员在创建卷时配置可丢失而不会丢失数据访问权限的砖块数。

Distributed Dispersed - 分布式分散卷在分散的子卷上分发文件。这与分发复制卷具有相同的优点,但使用分散将数据存储到块中。

Striped [Deprecated] - 条带卷在卷中的砖块上划分数据。为获得最佳结果,只应在访问非常大的文件的高并发环境中使用条带卷。

Distributed Striped [已弃用] - 分布式条带卷跨群集中的两个或多个节点条带化数据。您应该使用需要扩展存储的分布式条带卷,而在高并发环境中访问非常大的文件至关重要。

分布式条带复制[已弃用] - 分布式条带复制卷可在群集中的复制块中分布条带化数据。为了获得最佳结果,您应该在高度并发的环境中使用分布式条带复制卷,在这些环境中,对非常大的文件和性能进行并行访 在此版本中,仅对Map Reduce工作负载支持此卷类型的配置。

Striped Replicated [已弃用] - 条带化复制卷会跨群集中的复制块条带化数据。为了获得最佳结果,您应该在高度并发的环境中使用条带化复制卷,在这些环境中可以并行访问非常大的文件,并且性能至关重要。在此版本中,仅对Map Reduce工作负载支持此卷类型的配置。

GlusterFS的卷类型简介

[root@node101 ~]#
[root@node101 ~]# mkdir -p /home/yinzhengjie/glusterfs/file1            #我们创建在2台服务器上分别创建一个存放glusterfs卷的路径
[root@node101 ~]#
[root@node101 ~]# ssh node102.yinzhengjie.org.cn
Last login: Mon Feb :: from node101.yinzhengjie.org.cn
[root@node102 ~]#
[root@node102 ~]#
[root@node102 ~]# mkdir -p /home/yinzhengjie/glusterfs/file1
[root@node102 ~]#
[root@node102 ~]# exit
logout
Connection to node102.yinzhengjie.org.cn closed.
[root@node101 ~]#
[root@node101 ~]# gluster volume create test-volume node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1/ node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1/        #创建分布式群
volume create: test-volume: success: please start the volume to access data
[root@node101 ~]#
[root@node101 ~]#
[root@node101 ~]# gluster volume info        #显示创建的卷信息 Volume Name: test-volume
Type: Distribute
Volume ID: d73f1306--4fea-8fe2-a37771b471d5
Status: Created
Snapshot Count:
Number of Bricks:
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node101 ~]#
[root@node101 ~]#  

3>.创建复制卷(类似于raid 1)

[root@node101 ~]# mkdir -p /home/yinzhengjie/glusterfs/file2
[root@node101 ~]#
[root@node101 ~]# ssh node102.yinzhengjie.org.cn
Last login: Mon Feb :: from node101.yinzhengjie.org.cn
[root@node102 ~]#
[root@node102 ~]# mkdir -p /home/yinzhengjie/glusterfs/file2
[root@node102 ~]#
[root@node102 ~]# exit
logout
Connection to node102.yinzhengjie.org.cn closed.
[root@node101 ~]#
[root@node101 ~]# gluster volume create replicated-volume replica transport tcp node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file2 node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file2
Replica volumes are prone to split-brain. Use Arbiter or Replica to avoid this. See: http://docs.gluster.org/en/latest/Administrator%20Guide/Split%20brain%20and%20ways%20to%20deal%20with%20it/.
Do you still want to continue?          #注意,官方推荐使用3个副本来仲裁,因为使用2个副本会存在脑裂的风险!由于我实验只有2台虚拟机,因此我这里继续执行了我的命令
(y/n) y
volume create: replicated-volume: success: please start the volume to access data
[root@node101 ~]#
[root@node101 ~]# gluster volume info      #通过上面的方式,我们即创建来分布式卷也创建了复制卷,我们可以通过该条命令查看创建的卷信息。我们可以单独查看某个卷信息,如果没有指定的话默认查看所有已经创建的卷信息。 Volume Name: replicated-volume
Type: Replicate
Volume ID: abbcc657--40bc-b64f-a48af4c46e70
Status: Created
Snapshot Count:
Number of Bricks: x =
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file2
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file2
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off Volume Name: test-volume
Type: Distribute
Volume ID: d73f1306--4fea-8fe2-a37771b471d5
Status: Created
Snapshot Count:
Number of Bricks:
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node101 ~]# 
[root@node101 ~]# gluster volume info

Volume Name: replicated-volume
Type: Replicate
Volume ID: abbcc657--40bc-b64f-a48af4c46e70
Status: Created
Snapshot Count:
Number of Bricks: x =
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file2
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file2
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off Volume Name: test-volume
Type: Distribute
Volume ID: d73f1306--4fea-8fe2-a37771b471d5
Status: Created
Snapshot Count:
Number of Bricks:
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node101 ~]#
[root@node101 ~]#
[root@node101 ~]#
[root@node101 ~]# gluster volume info replicated-volume Volume Name: replicated-volume
Type: Replicate
Volume ID: abbcc657--40bc-b64f-a48af4c46e70
Status: Created
Snapshot Count:
Number of Bricks: x =
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file2
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file2
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
[root@node101 ~]#
[root@node101 ~]#
[root@node101 ~]# gluster volume info test-volume Volume Name: test-volume
Type: Distribute
Volume ID: d73f1306--4fea-8fe2-a37771b471d5
Status: Created
Snapshot Count:
Number of Bricks:
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node101 ~]#

[root@node101 ~]# gluster volume info replicated-volume          #单独查看复制卷信息

4>.创建条带卷(类似于raid 0)

[root@node101 ~]# mkdir -p /home/yinzhengjie/glusterfs/file3
[root@node101 ~]#
[root@node101 ~]# ssh node102.yinzhengjie.org.cn
Last login: Mon Feb :: from node101.yinzhengjie.org.cn
[root@node102 ~]#
[root@node102 ~]# mkdir -p /home/yinzhengjie/glusterfs/file3
[root@node102 ~]#
[root@node102 ~]# exit
logout
Connection to node102.yinzhengjie.org.cn closed.
[root@node101 ~]#
[root@node101 ~]# gluster volume create raid0-volume stripe transport tcp node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file3 node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file3
volume create: raid0-volume: success: please start the volume to access data
[root@node101 ~]#
[root@node101 ~]# gluster volume info

Volume Name: raid0-volume
Type: Stripe
Volume ID: c40ad86c-adc4-42a7-9dd4-d9086755403b
Status: Created
Snapshot Count:
Number of Bricks: x =
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file3
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file3
Options Reconfigured:
transport.address-family: inet
nfs.disable: on Volume Name: replicated-volume
Type: Replicate
Volume ID: abbcc657--40bc-b64f-a48af4c46e70
Status: Created
Snapshot Count:
Number of Bricks: x =
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file2
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file2
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off Volume Name: test-volume
Type: Distribute
Volume ID: d73f1306--4fea-8fe2-a37771b471d5
Status: Created
Snapshot Count:
Number of Bricks:
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node101 ~]#
[root@node101 ~]#
[root@node101 ~]# gluster volume info raid0-volume Volume Name: raid0-volume
Type: Stripe
Volume ID: c40ad86c-adc4-42a7-9dd4-d9086755403b
Status: Created
Snapshot Count:
Number of Bricks: x =
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file3
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file3
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node101 ~]#

[root@node101 ~]# gluster volume info raid0-volume

  以上三种创建卷的方式是最常见的,这三种方式可以组合床卷,生产环境中我们推荐使用分布式复制卷。

5>.启动卷

  我们需要知道的是,我们创建卷后是无法直接使用的,而是在使用之前我们必须启动改卷。具体操作如下:

[root@node101 ~]# gluster volume status                  #我们查看卷的信息,发现之前创建的3个卷都没有启动
Volume raid0-volume is not started Volume replicated-volume is not started Volume test-volume is not started [root@node101 ~]#
[root@node101 ~]# gluster volume start raid0-volume           #既然没有启动,我们就分别启动这3个卷
volume start: raid0-volume: success
[root@node101 ~]#
[root@node101 ~]# gluster volume start replicated-volume
volume start: replicated-volume: success
[root@node101 ~]#
[root@node101 ~]# gluster volume start test-volume
volume start: test-volume: success
[root@node101 ~]#
[root@node101 ~]# gluster volume status                #再次查看卷的信息,我们会发现创建的卷启动成功了!
Status of volume: raid0-volume
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node101.yinzhengjie.org.cn:/home/yinz
hengjie/glusterfs/file3 Y
Brick node102.yinzhengjie.org.cn:/home/yinz
hengjie/glusterfs/file3 Y Task Status of Volume raid0-volume
------------------------------------------------------------------------------
There are no active volume tasks Status of volume: replicated-volume
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node101.yinzhengjie.org.cn:/home/yinz
hengjie/glusterfs/file2 Y
Brick node102.yinzhengjie.org.cn:/home/yinz
hengjie/glusterfs/file2 Y
Self-heal Daemon on localhost N/A N/A Y
Self-heal Daemon on node102.yinzhengjie.org
.cn N/A N/A Y Task Status of Volume replicated-volume
------------------------------------------------------------------------------
There are no active volume tasks Status of volume: test-volume
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node101.yinzhengjie.org.cn:/home/yinz
hengjie/glusterfs/file1 Y
Brick node102.yinzhengjie.org.cn:/home/yinz
hengjie/glusterfs/file1 Y Task Status of Volume test-volume
------------------------------------------------------------------------------
There are no active volume tasks [root@node101 ~]#
[root@node101 ~]# gluster volume info

Volume Name: raid0-volume
Type: Stripe
Volume ID: c40ad86c-adc4-42a7-9dd4-d9086755403b
Status: Started
Snapshot Count:
Number of Bricks: x =
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file3
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file3
Options Reconfigured:
transport.address-family: inet
nfs.disable: on Volume Name: replicated-volume
Type: Replicate
Volume ID: abbcc657--40bc-b64f-a48af4c46e70
Status: Started
Snapshot Count:
Number of Bricks: x =
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file2
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file2
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off Volume Name: test-volume
Type: Distribute
Volume ID: d73f1306--4fea-8fe2-a37771b471d5
Status: Started
Snapshot Count:
Number of Bricks:
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node101 ~]#
[root@node101 ~]#
[root@node101 ~]# gluster volume status replicated-volume
Status of volume: replicated-volume
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node101.yinzhengjie.org.cn:/home/yinz
hengjie/glusterfs/file2 Y
Brick node102.yinzhengjie.org.cn:/home/yinz
hengjie/glusterfs/file2 Y
Self-heal Daemon on localhost N/A N/A Y
Self-heal Daemon on node102.yinzhengjie.org
.cn N/A N/A Y Task Status of Volume replicated-volume
------------------------------------------------------------------------------
There are no active volume tasks [root@node101 ~]#

[root@node101 ~]# gluster volume info        #在启动卷之前和启动卷之后,大家可以分别对比一下两者的差别

6>.挂载我们刚刚启动的卷

[root@node101 ~]# mkdir /mnt/gluster1  /mnt/gluster2  /mnt/gluster3
[root@node101 ~]#
[root@node101 ~]# mount.glusterfs node101.yinzhengjie.org.cn:/test-volume /mnt/gluster1
[root@node101 ~]#
[root@node101 ~]# mount.glusterfs node101.yinzhengjie.org.cn:/replicated-volume /mnt/gluster2
[root@node101 ~]#
[root@node101 ~]# mount.glusterfs node101.yinzhengjie.org.cn:/raid0-volume /mnt/gluster3
[root@node101 ~]#
[root@node101 ~]#
[root@node101 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G .8G 43G % /
devtmpfs .9G .9G % /dev
tmpfs .9G .9G % /dev/shm
tmpfs .9G 8.9M .9G % /run
tmpfs .9G .9G % /sys/fs/cgroup
/dev/sda1 477M 114M 335M % /boot
/dev/mapper/VolGroup-lv_home 12G 41M 11G % /home
Home 234G 182G 52G % /media/psf/Home
迅雷影音 79M 60M 20M % /media/psf/迅雷影音
tmpfs 379M 379M % /run/user/
node101.yinzhengjie.org.cn:/test-volume 23G 311M 22G % /mnt/gluster1          #这3个卷就是咱们刚刚挂载的卷。这是分布式卷
node101.yinzhengjie.org.cn:/replicated-volume 12G 156M 11G % /mnt/gluster2          #这是复制卷
node101.yinzhengjie.org.cn:/raid0-volume 23G 311M 22G % /mnt/gluster3          #这是条带卷
[root@node101 ~]#

7>.往分布式卷写入测试数据

[root@node101 ~]# yum -y install tree
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.jdcloud.com
* extras: mirrors..com
* updates: mirrors.shu.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package tree.x86_64 :1.6.-.el7 will be installed
--> Finished Dependency Resolution Dependencies Resolved ===================================================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================================================
Installing:
tree x86_64 1.6.-.el7 base k Transaction Summary
===================================================================================================================================================================
Install Package Total download size: k
Installed size: k
Downloading packages:
tree-1.6.-.el7.x86_64.rpm | kB ::
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : tree-1.6.-.el7.x86_64 /
Verifying : tree-1.6.-.el7.x86_64 / Installed:
tree.x86_64 :1.6.-.el7 Complete!
[root@node101 ~]#

[root@node101 ~]# yum -y install tree            #安装该命令方便我们查看目录结构

[root@node101 ~]#
[root@node101 ~]# echo "https://www.cnblogs.com/yinzhengjie/" > /mnt/gluster1/blog.txt        #我们往分布式卷写入测试数据
[root@node101 ~]#
[root@node101 ~]# tree /home/yinzhengjie/glusterfs/*                            #查看当前节点,奇怪?数据跑哪去了?怎么在本地没有呢?不要慌,我们去node102.yinzhengjie.org.cn这个节点上去看看!
/home/yinzhengjie/glusterfs/file1
/home/yinzhengjie/glusterfs/file2
/home/yinzhengjie/glusterfs/file3 0 directories, 0 files
[root@node101 ~]#
[root@node101 ~]# ssh node102.yinzhengjie.org.cn
Last login: Mon Feb 18 17:03:32 2019 from node101.yinzhengjie.org.cn
[root@node102 ~]#
[root@node102 ~]# tree /home/yinzhengjie/glusterfs/*                            #发现了没有?我们在node101.yinzhengjie.org.cn写入的测试数据,实际上跑到node102.yinzhengjie.org.cn上存储啦!
/home/yinzhengjie/glusterfs/file1
└── blog.txt
/home/yinzhengjie/glusterfs/file2
/home/yinzhengjie/glusterfs/file3 0 directories, 1 file
[root@node102 ~]#
[root@node102 ~]# cat /home/yinzhengjie/glusterfs/file1/blog.txt                     #我们查看一下写入的数据,是不是觉得很奇怪?数据是完好无损的,直接就能查看,包括文件名都没有发生变化!
https://www.cnblogs.com/yinzhengjie/
[root@node102 ~]#
[root@node102 ~]#

8>.往复制卷写入测试数据

[root@node101 ~]#
[root@node101 ~]# echo "尹正杰到此一游!" > /mnt/gluster2/msg.log              #我们往复制卷写入测试数据
[root@node101 ~]#
[root@node101 ~]# tree /home/yinzhengjie/glusterfs/                     #很显然,写入的数据被存到本地了
/home/yinzhengjie/glusterfs/
├── file1
├── file2
│ └── msg.log
└── file3 directories, file
[root@node101 ~]#
[root@node101 ~]# cat /home/yinzhengjie/glusterfs/file2/msg.log               #查看文件的内容也是完好无损的
尹正杰到此一游!
[root@node101 ~]#
[root@node101 ~]# ssh node102.yinzhengjie.org.cn
Last login: Mon Feb :: from node101.yinzhengjie.org.cn
[root@node102 ~]#
[root@node102 ~]# tree /home/yinzhengjie/glusterfs/                      #小伙伴们,注意啦,发现复制卷不仅仅在node101.yinzhengjie.org.cn节点上存在,在node102.yinzhengjie.org.cn上也是有的!
/home/yinzhengjie/glusterfs/
├── file1
│ └── blog.txt
├── file2
│ └── msg.log
└── file3 directories, files
[root@node102 ~]#
[root@node102 ~]# cat /home/yinzhengjie/glusterfs/file2/msg.log               #我们在node102.yinzhengjie.org.cn上也可以查看到完整的数据哟!
尹正杰到此一游!
[root@node102 ~]#
[root@node102 ~]# exit
logout
Connection to node102.yinzhengjie.org.cn closed.
[root@node101 ~]#

9>.往条带卷写入测试数据 

[root@node101 ~]#
[root@node101 ~]# echo "Jason Yin 2019" > /mnt/gluster3/access.log           #我们往条带卷写入测试数据
[root@node101 ~]#
[root@node101 ~]# tree /home/yinzhengjie/glusterfs/                       #很显然,我们在node101.yinzhengjie.org.cn存在文件名
/home/yinzhengjie/glusterfs/
├── file1
├── file2
│   └── msg.log
└── file3
└── access.log directories, files
[root@node101 ~]#
[root@node101 ~]# cat /home/yinzhengjie/glusterfs/file3/access.log               #我们写入的测试数据被保存到了node101.yinzhengjie.org.cn到条带卷中了
Jason Yin
[root@node101 ~]#
[root@node101 ~]# ssh node102.yinzhengjie.org.cn
Last login: Mon Feb :: from node101.yinzhengjie.org.cn
[root@node102 ~]#
[root@node102 ~]# tree /home/yinzhengjie/glusterfs/                      #细心的小伙伴应该发现了,在node102.yinzhengjie.org.cn也存在该文件名。
/home/yinzhengjie/glusterfs/
├── file1
│   └── blog.txt
├── file2
│   └── msg.log
└── file3
└── access.log directories, files
[root@node102 ~]#
[root@node102 ~]# cat /home/yinzhengjie/glusterfs/file3/access.log             #我们查看node102.yinzhnegjie.org.cn节点文件名,里面的内容竟然是空的!这一点希望引起大家的注意哟!这就是为什么我们说条带卷是的原理和raid很相似的依据!
[root@node102 ~]#
[root@node102 ~]#

三.模拟生产环境中 分布式复制卷 的使用

1>.在各个节点创建存储目录

[root@node101 ~]# mkdir /home/yinzhengjie/glusterfs/file6 /home/yinzhengjie/glusterfs/file7
[root@node101 ~]#
[root@node101 ~]# ssh node102.yinzhengjie.org.cn
Last login: Mon Feb :: from node101.yinzhengjie.org.cn
[root@node102 ~]#
[root@node102 ~]# mkdir /home/yinzhengjie/glusterfs/file6 /home/yinzhengjie/glusterfs/file7
[root@node102 ~]#
[root@node102 ~]# exit
logout
Connection to node102.yinzhengjie.org.cn closed.
[root@node101 ~]#

2>.创建分布式复制卷并启动

[root@node101 ~]# gluster volume create my-distributed-replication-volume replica  transport tcp  node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file6 node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file6 node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file7 node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file7 force
volume create: my-distributed-replication-volume: success: please start the volume to access data
[root@node101 ~]#
[root@node101 ~]# gluster volume start my-distributed-replication-volume
volume start: my-distributed-replication-volume: success
[root@node101 ~]#
[root@node101 ~]# gluster volume status my-distributed-replication-volume
Status of volume: my-distributed-replication-volume
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node101.yinzhengjie.org.cn:/home/yinz
hengjie/glusterfs/file6 Y
Brick node102.yinzhengjie.org.cn:/home/yinz
hengjie/glusterfs/file6 Y
Brick node101.yinzhengjie.org.cn:/home/yinz
hengjie/glusterfs/file7 Y
Brick node102.yinzhengjie.org.cn:/home/yinz
hengjie/glusterfs/file7 Y
Self-heal Daemon on localhost N/A N/A Y
Self-heal Daemon on node102.yinzhengjie.org
.cn N/A N/A Y Task Status of Volume my-distributed-replication-volume
------------------------------------------------------------------------------
There are no active volume tasks [root@node101 ~]#
[root@node101 ~]# gluster volume info my-distributed-replication-volume Volume Name: my-distributed-replication-volume
Type: Distributed-Replicate
Volume ID: 1c142bb6-0bdc-45ba-8de0-c6faadc871a1
Status: Started
Snapshot Count:
Number of Bricks: x =
Transport-type: tcp
Bricks:
Brick1: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file6
Brick2: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file6
Brick3: node101.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file7
Brick4: node102.yinzhengjie.org.cn:/home/yinzhengjie/glusterfs/file7
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
[root@node101 ~]#

3>.挂载分布式复制卷

[root@node101 ~]# mkdir /mnt/gluster10
[root@node101 ~]#
[root@node101 ~]# mount.glusterfs node101.yinzhengjie.org.cn:/my-distributed-replication-volume /mnt/gluster10
[root@node101 ~]#
[root@node101 ~]#
[root@node101 ~]# df -h | grep gluster
node101.yinzhengjie.org.cn:/test-volume 23G 312M 22G % /mnt/gluster1
node101.yinzhengjie.org.cn:/replicated-volume 12G 156M 11G % /mnt/gluster2
node101.yinzhengjie.org.cn:/raid0-volume 23G 312M 22G % /mnt/gluster3
node101.yinzhengjie.org.cn:/my-distributed-replication-volume 12G 156M 11G % /mnt/gluster10          #这就是咱们刚刚创建的分布式复制卷
[root@node101 ~]#
[root@node101 ~]#

4>.往分布式复制卷写入测试数据

[root@node101 ~]# echo "大王叫我来巡山" > /mnt/gluster10/test1.log
[root@node101 ~]# echo "大王叫我来巡山" > /mnt/gluster10/test2.log
[root@node101 ~]# echo "大王叫我来巡山" > /mnt/gluster10/test3.log
[root@node101 ~]# echo "大王叫我来巡山" > /mnt/gluster10/test4.log
[root@node101 ~]# echo "大王叫我来巡山" > /mnt/gluster10/test5.log
[root@node101 ~]#
[root@node101 ~]# tree /home/yinzhengjie/glusterfs/
/home/yinzhengjie/glusterfs/
├── file1
├── file2
│   └── msg.log
├── file3
│   └── access.log
├── file4
├── file5
├── file6
│   ├── test1.log
│   ├── test2.log
│   └── test4.log
└── file7
├── test3.log
└── test5.log directories, files
[root@node101 ~]#
[root@node101 ~]# tree /home/yinzhengjie/glusterfs/
/home/yinzhengjie/glusterfs/
├── file1
├── file2
│   └── msg.log
├── file3
│   └── access.log
├── file4
├── file5
├── file6
│   ├── test1.log
│   ├── test2.log
│   └── test4.log
└── file7
├── test3.log
└── test5.log directories, files
[root@node101 ~]#
[root@node101 ~]# cat /home/yinzhengjie/glusterfs/file6/test1.log
大王叫我来巡山
[root@node101 ~]# cat /home/yinzhengjie/glusterfs/file6/test2.log
大王叫我来巡山
[root@node101 ~]# cat /home/yinzhengjie/glusterfs/file6/test4.log
大王叫我来巡山
[root@node101 ~]#
[root@node101 ~]# cat /home/yinzhengjie/glusterfs/file7/test3.log
大王叫我来巡山
[root@node101 ~]#
[root@node101 ~]# cat /home/yinzhengjie/glusterfs/file7/test5.log
大王叫我来巡山
[root@node101 ~]#
[root@node101 ~]#
[root@node101 ~]# ssh node102.yinzhengjie.org.cn
Last login: Mon Feb :: from node101.yinzhengjie.org.cn
[root@node102 ~]#
[root@node102 ~]#
[root@node102 ~]# tree /home/yinzhengjie/glusterfs/
/home/yinzhengjie/glusterfs/
├── file1
│   └── blog.txt
├── file2
│   └── msg.log
├── file3
│   └── access.log
├── file4
├── file5
├── file6
│   ├── test1.log
│   ├── test2.log
│   └── test4.log
└── file7
├── test3.log
└── test5.log directories, files
[root@node102 ~]#
[root@node102 ~]#
[root@node102 ~]# cat /home/yinzhengjie/glusterfs/file6/test1.log
大王叫我来巡山
[root@node102 ~]#
[root@node102 ~]# cat /home/yinzhengjie/glusterfs/file6/test2.log
大王叫我来巡山
[root@node102 ~]# cat /home/yinzhengjie/glusterfs/file6/test4.log
大王叫我来巡山
[root@node102 ~]#
[root@node102 ~]# cat /home/yinzhengjie/glusterfs/file7/test3.log
大王叫我来巡山
[root@node102 ~]#
[root@node102 ~]# cat /home/yinzhengjie/glusterfs/file7/test5.log
大王叫我来巡山
[root@node102 ~]#
[root@node102 ~]# exit
logout
Connection to node102.yinzhengjie.org.cn closed.
[root@node101 ~]#
[root@node101 ~]#

GlusterFS分布式文件系统部署及基本使用(CentOS 7.6)的更多相关文章

  1. GlusterFS分布式文件系统部署

    GlusterFS是一个可伸缩的网络文件系统,使用常见的现成的硬件,您可以创建大型分布式存储流媒体解决方案.数据分析.和其他数据相关的任务.GlusterFS是自由和开源软件. 详细参考官网:http ...

  2. FastDFS 分布式文件系统部署实战及基本使用

    FastDFS 分布式文件系统部署实战及基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. FastDFS是一个开源的高性能分布式文件系统.它的主要功能包括:文件存储,文件同步 ...

  3. GlusterFS分布式文件系统高速管理

    TaoCloud XDFS基于GlusterFS开源分布式文件系统,进行了系统优化.project化.定制化和产品化工作,五年以上的实践积累了大量实践经验,包含客户案例.最佳实践.定制开发.咨询服务和 ...

  4. GlusterFS 分布式文件系统的使用入门-管理GlusterFS卷

    GlusterFS 分布式文件系统的使用入门-管理GlusterFS卷 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.卷的扩容 您可以根据需要在群集联机且可用时扩展卷.例如,您 ...

  5. GlusterFS 分布式文件系统

    简介 官方文档:https://docs.gluster.org/en/latest/Quick-Start-Guide/Architecture/ Glusterfs是一个开源的分布式文件系统,是S ...

  6. GlusterFS分布式文件系统的使用

    glusterfs是一款开源的分布式文件系统. 它具备高扩展.高可用及高性能等特性,由于其无元数据服务器的设计,使其真正实现了线性的扩展能力,使存储总容量可轻松达到PB级别,支持数千客户端并发访问. ...

  7. FastDFS轻量级分布式文件系统部署

    FastDFS介绍 FastDFS 是一个由 C 语言实现的开源轻量级分布式文件系统,作者余庆,支持 Linux.FreeBSD.AID 等 Unix 系统,解决了大数据存储和读写负载均衡等问题,适合 ...

  8. CentOS7.5 GlusterFS 分布式文件系统集群环境搭建

    环境准备: 系统版本:CentOS Linux release 7.5.1804 (Core) glusterfs:3.6.9 userspace-rcu-master: 硬件资源: 10.200.2 ...

  9. glusterFS分布式文件系统的搭建

    准备工作 1.安装IBA yum install libradmacm librdmacm-devel libmlx4 infiniband-diags 2.配置IPOIB /etc/sysconfi ...

随机推荐

  1. CF343D Water Tree

    题目链接 题目翻译(摘自洛谷) 疯狂科学家Mike培养了一颗有根树,由n个节点组成.每个节点是一个要么装满水要么为空的贮水容器. 树的节点用1~n编号,其中根节点为1.对于每个节点的容器,其子节点的容 ...

  2. 因为网络安全的重要性打算学习linux

    互联网的普及,在给人们带来巨大便利的同时,也让人们感受到网络安全隐患带给人们的不安与威胁.尤其是随着计算机技术和网络技术应用范围的不断扩充,网络安全方面存在的漏洞也越来越多,在这种情况下,如何提高网络 ...

  3. Python内建GUI模块Tkinter(二)

    Python核心组件 1.Button 按钮组件:一个简单的按钮,用来执行一个命令或别的操作. 参数解析: text:指定按钮上显示的文本: anchor: 指定按钮上文本的位置(N, NE, E, ...

  4. luogu P2680 运输计划 (二分答案+树上差分)

    题目背景 公元 20442044 年,人类进入了宇宙纪元. 题目描述 公元20442044 年,人类进入了宇宙纪元. L 国有 nn 个星球,还有 n-1n−1 条双向航道,每条航道建立在两个星球之间 ...

  5. WINDOWS 包管理器 Chocolatey

    https://chocolatey.org/ - 官网 安装: @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe& ...

  6. [CF1131C]Birthday【贪心】

    题目描述 有 n n个数摆放在一个环形中(最后一个与第一个相邻),需要改变这些数的顺序,使得相邻两个数的最大绝对差最小.如果有多种最佳方案,输出任意一种. (翻译来自洛谷) 分析 首先收尾相接,那么很 ...

  7. [NOI2005]月下柠檬树(计算几何+积分)

    题目描述 李哲非常非常喜欢柠檬树,特别是在静静的夜晚,当天空中有一弯明月温柔 地照亮地面上的景物时,他必会悠闲地坐在他亲手植下的那棵柠檬树旁,独自思 索着人生的哲理. 李哲是一个喜爱思考的孩子,当他看 ...

  8. squid详解(正向代理、透明代理、反向代理)

    squid http://www.squid-cache.org/ --官方网址 squid软件主要有两大应用:1,代理上网(正向代理,透明代理) 2,网站静态页面缓存加速(反向代理) 三种代理类型: ...

  9. (三)flask中的请求钩子函数

    请求勾子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接: 在请求开始时,根据需求进行权限校验: 在请求结束时,指定数据的交互格式: 为了让每个视图 ...

  10. 第一篇-Git基础学习

    学习网址: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013758410 ...