GlusterFS集群

1. GlusterFS概述
1)Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决 方案中Glusterfs能够灵活的结合物理的,虚拟的和云资源去体现高可用和企业级的性能存储.

2)Glusterfs通过TCP/IP或InfiniBand RDMA网络链接将客户端的存储资块源聚集在一起,使用单一的全局命名空间来管理数据,磁盘和内存资源.

3)Glusterfs基于堆叠的用户空间设计,可以为不同的工作负载提供高优的性能.

4)Glusterfs支持运行在任何标准IP网络上标准应用程序的标准客户端,如下图1所示,用户可以在全局统一的命名空间中使用NFS/CIFS等标准协议来访问应用数据.

2.Glusterfs主要特征
扩展性和高性能
高可用
全局统一命名空间
弹性hash算法
弹性卷管理
基于标准协议

3.工作原理:

  1. 首先是在客户端, 用户通过glusterfs的mount point 来读写数据, 对于用户来说,集群系统的存在对用户是完全透明的,用户感觉不到是操作本地系统还是远端的集群系统。
  2. 用户的这个操作被递交给 本地linux系统的VFS来处理。
  3. VFS 将数据递交给FUSE 内核文件系统:在启动 glusterfs 客户端以前,需要想系统注册一个实际的文件系统FUSE,如上图所示,该文件系统与ext3在同一个层次上面, ext3 是对实际的磁盘进行处理, 而fuse 文件系统则是将数据通过/dev/fuse 这个设备文件递交给了glusterfs client端。所以, 我们可以将 fuse文件系统理解为一个代理。
  4. 数据被fuse 递交给Glusterfs client 后, client 对数据进行一些指定的处理(所谓的指定,是按照client 配置文件据来进行的一系列处理, 我们在启动glusterfs client 时需要指定这个文件。
  5. 在glusterfs client的处理末端,通过网络将数据递交给 Glusterfs Server,并且将数据写入到服务器所控制的存储设备上。

4.常用卷类型

分布(distributed)

复制(replicate)

条带(striped)

基本卷:

(1) distribute volume:分布式卷

(2) stripe volume:条带卷

(3) replica volume:复制卷

复合卷:

(4) distribute stripe volume:分布式条带卷

(5) distribute replica volume:分布式复制卷

(6) stripe replica volume:条带复制卷

(7) distribute stripe replicavolume:分布式条带复制卷

glusterFs群集部署

一、实验环境
1.节点服务器

为了可以更好地看到结果,把硬盘内存设少
1.1 linux-1 node1 192.168.10.1
添加4块磁盘
挂载磁盘 挂载目录

 /dev/sdb(3G)		/b3
/dev/sdc(4G)		/c4
/dev/sdd(5G)		/d5
/dev/sde(6G)		/e6

1.2 linux-2 node2 192.168.10.2
添加4块磁盘
挂载磁盘 挂载目录

 /dev/sdb(3G)		/b3
/dev/sdc(4G)		/c4
/dev/sdd(5G)		/d5
/dev/sde(6G)		/e6

1.3 linux-3 node3 192.168.10.3
添加3块磁盘
挂载磁盘 挂载目录

 /dev/sdb(3G)		/b3
/dev/sdc(4G)		/c4
/dev/sdd(5G)		/d5

1.4 linux-4 node4 192.168.10.4
添加3块磁盘
挂载磁盘 挂载目录

 /dev/sdb(3G)		/b3
/dev/sdc(4G)		/c4
/dev/sdd(5G)		/d5

2.客户端
linux-5 client 192.168.10.5

二、实验目的

创建glusterFs各种卷并测试

卷名称		卷类型		空间大小GB 	brick分布情况


dis-volume   分布式卷	12			node1(/e6),node2(/e6)

stripe-volume 条带卷	10			node1(/d5),node2(/d5)

rep-volume	复制卷		5			node3(/d5),node4(/d5)

dis-stripe 分布式条带卷	12 			node1(/b3),node2(/b3),node3(/b3),node4(/b3),

dis-rep		分布式复制卷 8			node1(/c4),node2(/c4),node3(/c4),node4(/c4)

三、实验步骤

  1. 准备环境(node1—node4)
    1.1 使用fdisk分区
 1. [root@localhost ~]# fdisk -l
 2. [root@localhost ~]# fdisk /dev/sdb

n----p----回车默认-----回车默认-----回车默认----p----w
按照同样方法处理其他磁盘

[root@localhost ~]# fdisk /dev/sdc
[root@localhost ~]# fdisk /dev/sdd
[root@localhost ~]# fdisk /dev/sde

格式化磁盘


 1. [root@localhost ~]# mkfs -t ext4 /dev/sdb1  
 2.  [root@localhost ~]#mkfs -t ext4 /dev/sdc1   
 3. [root@localhost ~]# mkfs -t ext4 /dev/sdd1 
 4. [root@localhost ~]# mkfs -t ext4 /dev/sde1

创建挂载点并挂载


 1. [root@localhost ~]# mkdir /b3 /c4 /d5 /e6 
 2. [root@localhost ~]# mount /dev/sdb1 /b3 
 3. [root@localhost ~]# mount /dev/sdc1 /c4
 4. [root@localhost ~]# mount /dev/sdd1 /d5 
 5. [root@localhost ~]# mount /dev/sde1 /e6

创建自动挂载

[root@localhost ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat Sep  1 18:48:17 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=25ecea8a-6b8e-41fd-b304-ec54d2f15210 /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

/dev/cdrom      /media/cdrom    iso9660  defaults 0 0

/dev/sdb1       /b3             ext4    defaults 1 2
/dev/sdc1       /c4             ext4    defaults 1 2
/dev/sdd1       /d5             ext4    defaults 1 2
/dev/sde1       /e6             ext4    defaults 1 2
[root@localhost ~]# df -hT

1.2 (node1-node4) 配置hosts文件,使节点服务器能够互相解析访问。修改主机名为自己的主机名

[root@localhost ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


192.168.10.1 node1
192.168.10.2 node2
192.168.10.3 node3
192.168.10.4 node4
[root@localhost ~]# hostname node1
[root@localhost ~]# bash
[root@node1 ~]# 

2. (node1–node4)安装软件–yum方式(需要配置本地其他目录的yum仓库)

1 [root@node1 ~]# yum -y install createrepo

2 [root@localhost ~]# which createrepo

3 [root@localhost ~]# mkdir /other

上传gfsrepo文件夹相关软件到此目录

[root@localhost other]# ll /other
[root@localhost other]# vim /etc/yum.repos.d/local.repo


#[local]
#name=centos7.4
#baseurl=file:///media/cdrom
#enabled=1
#gpgcheck=0


[other]
name=glusterfs
baseurl=file:///other
enabled=1
gpgcheck=0

创建软件数据库目录

1 [root@localhost other]# createrepo /other

2 [root@localhost ~]# yum makecache

安装客户端软件

[root@localhost ~]# yum -y install glusterfs glusterfs-fuse

7.2 创建挂载目录

[root@localhost ~]# mkdir -p /test/{dis,stripe,rep,dis_and_stripe,dis_and_rep}
[root@localhost ~]# ls /test
dis  dis_and_rep  dis_and_stripe  rep  stripe

7.3 修改hosts文件

[root@localhost ~]# vim /etc/hosts


192.168.10.1 node1
192.168.10.2 node2
192.168.10.3 node3
192.168.10.4 node4

[root@localhost ~]# ping node1 -c 3

7.4 挂载glusterfs文件系统

1 [root@localhost ~]# 
2 [root@localhost ~]# mount -t glusterfs node1:dis-volume /test/dis
3 [root@localhost ~]# mount -t glusterfs node1:stripe-volume /test/stripe
4 [root@localhost ~]# mount -t glusterfs node1:rep-volume /test/rep
5 [root@localhost ~]# mount -t glusterfs node1:dis-stripe  /test/dis_and_stripe
6 [root@localhost ~]# mount -t glusterfs node1:dis-rep  /test/dis_and_rep

在这里插入图片描述
7.5 设置为自动挂载

[root@localhost ~]# vim /etc/fstab
###末尾添加
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_and_stripe    glusterfs defaults,_netdev 0 0
node1:dis-rep           /test/dis_and_rep       glusterfs defaults,_netdev 0 0

8.测试glusterfs文件系统

8.1 client 192.168.10.5
卷中写入文件

[root@localhost ~]# du -sh /var/log/messages 
684K	/var/log/messages
1 [root@localhost ~]# cp /var/log/messages test1.log
2 [root@localhost ~]# cp /var/log/messages test2.log
3 [root@localhost ~]# cp /var/log/messages test3.log
4 [root@localhost ~]# cp /var/log/messages test4.log
5 [root@localhost ~]# cp /var/log/messages test5.log
6 [root@localhost ~]# chmod 644 test*
7 [root@localhost ~]# ll -h test*
-rw-r--r-- 1 root root 684K 1014 13:11 test1.log
-rw-r--r-- 1 root root 684K 1014 13:11 test2.log
-rw-r--r-- 1 root root 684K 1014 13:11 test3.log
-rw-r--r-- 1 root root 684K 1014 13:11 test4.log
-rw-r--r-- 1 root root 684K 1014 13:11 test5.log
8 [root@localhost ~]# cp test* /test/dis/
9 [root@localhost ~]# cp test* /test/stripe/
10 [root@localhost ~]# cp test* /test/rep/
11 [root@localhost ~]# cp test* /test/dis_and_stripe/
12 [root@localhost ~]# cp test* /test/dis_and_rep/

8.2 查看文件分布
1)查看分布式卷 —没有分片,还是原始大小
node1 192.168.10.1
在这里插入图片描述
node2 192.168.10.2
在这里插入图片描述
2)查看条带卷分布—大小被分片

node1,node2
在这里插入图片描述
在这里插入图片描述
3)查看复制卷分布----没有分片,原始大小
node3:/d5 ,node4:/d5
在这里插入图片描述
在这里插入图片描述
4)查看分布式条带卷 —大小被分片,同时又2份
node1–node4:/b3
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5)查看分布式复制卷文件分布—没有分片,原始大小。复制为2份
node1–node4:/c4
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值