GlusterFS 部署配置

1. GlusterFS简介

      GlusterFS 是一个开源的分布式文件系统,同时也是 Scale-Out 存储解决方案 Gluster 的核心,在存储数据方面具有强大的横向扩展能力,通过扩展不同的节点可以支持数PB级别的存储容量。 GlusterFS借助TCP/P或InfiniBand RDMA网络将分散的存储资源汇聚在一起,统一提供存储服务,并 使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间以及无元的设计,可为各种不同的数据负载提供优异的性能。

     GlusterFS 主要由存储服务器(Brick Server)、客户端及NFS/ Samba存储网关(可选,根据需要 选择使用)组成。GlusterFS架构中最大的设计特点是没有元数据服务器组件,这有助于提升整个系统的性能、可靠性和稳定性。传统的分布式文件系统大多通过元服务器来存储元 数据,元数据包含存储节点上的目录信息,目录结构等,这样的设计在浏览目录时效率非常高,但是也存在一些缺陷,如单点故障,一旦元数据服务器出现故障,即使节点具备再高的冗余性,整个存储系统也将崩溃,而 GlusterFS 分布式文件系统是基于无元服务器的设计,数据横向扩展能力强, 具备较高的可靠性及存储效率。GlusterFS 支持TCP/IP和 InfiniBandRDMA高速网络互联,客户端可通过原生GlusterFS协议访问数据,其他没有运行GlusterFS 客户端的终端可通过NFS/CIFS标准协议通过存储网关访问数据。

2. GlusterFS的特点

> 扩展性和高性能。GlusterFS 利用双重特性来提供高容量存储解决方案。

> 高可用性。

> 全局统一命名空间。

> 弹性卷管理。

> 基于标准协议。

3. GlusterFS 术语

> Brick (存储块):指可信主机池中由主机提供的用于物理存储的专用分区。是GlusterFS 中的基本存储单元,同时也是可信存储池中服务器上对外提供的存储目录。存储目录的格式由服务器和目录的绝对路径构成,表示方法为SERVER.EXPORT,如192,168.1.4:/date/mydir/。

> Volume(逻辑卷): 一个逻辑卷是一组Brick的集合。卷是数据存储的逻辑设备,类似于 LVM 中的逻辑卷。大部分 Gluster管理操作是在卷上进行的。

> FUSE (Filesystern inl Jserspace),是一个内核模块,允许用户创建自己的文件系统,无须修改内核代码。

> VFS:内核空间对用户空间提供的访问磁盘的接口。

> Glusierd(后台管理进程),在存储群集中的每个节点上都要运行。

13.3 GlusterFS 的卷类型

      GlusterFS 支持七种卷,即分布式卷、条带卷、复制卷、分布式条带卷、分布式复制卷、条带复制卷和分布式条带复制卷,这七种卷可以满足不同应用对高性能,高可用的需求。

基本卷:

> 分布式巻(Distribute volume):文件通过HASH 算法分布到所有Brick Server 上,这种卷是 Glusterf的基础,以文件为单位根据HASH 算法散列到不同的Brick,其实只是扩大了磁盘空 间,如果有一块磁盘损坏,数据也将丢失,属于文件级的RAID 0,不具有容错能力。

> 条带卷(Stripe volume);类似RAIDO,文件被分成数据块并以轮询的方式分布到多个Brick Server上,文件存储以数据块为单位,支持大文件存储。文件越大,读取效率越高。

> 复制卷(Replica volume),将文件同步到多个Brick上,使其具备多个文件副本,属于文件 级RAID1,具有容错能力。因为数据分散在多个Brick中。所以读性能得到很大提升,但写 性能下降

> 分布式条带卷(Distribute Stripe volume), Brick Server 数最是条带数(数据块分布的Brick 数量)的倍数,兼具分布式卷和条带卷的特点。

> 分布式复制卷(Distribute Replica volume)Brick Server 数量是镜像数(数据副本数量)的 倍数,兼具分布式卷和复制卷的特点。

> 条带复制巻(Stripe Replica volume),类似RAID 10,同时具有条带巻和复制卷的特点。

> 分布式条带复制卷(Distribute Stripe Replicavolume):三种基本卷的复合卷,通常用于类Map Reduce应用。

分布式卷具有如下特点:

> 文件分布在不同的服务器,不具备冗余性。

> 更容易且廉价地扩展卷的大小。

> 单点故障会造成数据丢失。

> 依赖底层的数据保护。

条带卷具有如下特点。

> 数据被分割成更小块分布到块服务器群中的不同条带区。

> 分布减少了负载且更小的文件加速了存取的速度。

> 没有数据冗余。

复制卷具有如下特点。

> 卷中所有的服务器均保存一个完整的副本。

> 卷的副本数最可由客户创建的时候决定。

> 至少有两个块服务器或更多服务器。

> 具备冗余性。

部署配置实验

实验环境

虚拟机 4台 centos7.9

网卡NAT模式 数量 1

组件包

Glusterfs Glusterfs-server Glusterfs-fuse Glusterfs-rdma

设备

IP

备注

Centos01

192.168.161.111

Node1

Centos02

192.168.161.112

Node2

Centos03

192.168.161.113

Node3

Centos04

192.168.161.114

Node4

Centos04

192.168.161.115

Node5  客户机

IP以上方的为主 

初始化配置

搭建一台yum安装源,安装httpd服务,所有机器同步操作(除客户机外)

[root@node6 ~]# hostnamectl set-hostname node1
[root@node6 ~]# bash
 
[root@node1 ~]# vim /etc/hosts(用于域名解析)     或    cat << EOF >> /etc/hosts
                                         192.168.161.111 node1
192.168.161.111 node1                    192.168.161.112 node2
192.168.161.112 node2                    192.168.161.113 node3
192.168.161.113 node3                    192.168.161.114 node4
192.168.161.114 node4                    EOF                  
                                         
                                                                               
[root@node1 ~]# yum -y install httpd
 
[root@node1 ~]# systemctl start httpd

上传组件包至/var/www/html/站点目录

安装createrepo工具 生成yum源信息文件repo

[root@node1 ~]# yum -y install createrepo
 
[root@node1 ~]# cd /var/www/html/gfs-9/
 
[root@node1 gfs-9]# createrepo ./
 
[root@node1 gfs-9]# ls
 
[root@node1 ~]# systemctl restart httpd
 
[root@node01 ~]# vim /etc/yum.repos.d/local.repo 
 
[gfs-9]
name=Zabbix
baseurl=http://192.168.161.111/gfs-9
enabled=1
gpgcheck=0
 
 
[local]
name=CnetOS 7.3
baseurl=file:///mnt/
enabled=1
gpgcheck=0
 
[root@node01 ~]# yum repolist  //检查yum源是否正常可用

磁盘初始化及自动挂载

[root@node1 ~]# fdisk /dev/sdb 
 
n   //新建分区
 
p   //选择创建的为主分区,后面操作默认 直接回车即可
 
w   //保存退出
 
[root@node1 ~]# fdisk /dev/sdc   //以下三个磁盘都和上面操作一样
 
[root@node1 ~]# fdisk /dev/sdd
 
[root@node1 ~]# fdisk /dev/sde   //node3 node4无需创建
 
[root@node1 ~]# mkfs.xfs /dev/sdb1
 
[root@node1 ~]# mkfs.xfs /dev/sdc1
 
[root@node1 ~]# mkfs.xfs /dev/sdd1
 
[root@node1 ~]# mkfs.xfs /dev/sde1  //node3 node4无需创建

安装GFS

[root@node1 ~]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

 启动GFS服务 

[root@node1 ~]# systemctl start glusterd

挂载和自动挂载 

[root@node1 ~]# mount /dev/sdb1 /b3
[root@node1 ~]# mount /dev/sdc1 /c4
[root@node1 ~]# mount /dev/sdd1 /d5
[root@node1 ~]# mount /dev/sde1 /e6
 
[root@node1 ~]# df -Th
 
[root@node1 ~]# vim /etc/fstab 
 
/dev/sdb1  /b3  xfs  defaults  0 0
/dev/sdc1  /c4  xfs  defaults  0 0
/dev/sdd1  /d5  xfs  defaults  0 0
/dev/sde1  /e6  xfs  defaults  0 0 

以上所有机器同步操作

Node1 添加其他节点 node2 node3 node4(以下操作只需在node1操作)

[root@node1 ~]# gluster peer probe node2
 
[root@node1 ~]# gluster peer probe node3
 
[root@node1 ~]# gluster peer probe node4
 

查看节点信息

[root@node1 ~]# gluster peer status 

创建卷

分布式卷(名为 dis-volume)

[root@node1 ~]# gluster volume create dis-volume node1:/e6 node2:/e6 force 
 
[root@node1 ~]# gluster volume start dis-volume 
 
[root@node1 ~]# gluster volume info dis-volume

条带卷(暂不支持)(名为 stripe-volume)

[root@node1 ~]# gluster volume create stripe-volume stripe 2 node1:/d5 node2:/d5 force

复制卷(名为 rep-volume)

[root@node1 ~]# gluster volume create rep-volume replica 2 node3:/d5 node4:/d5 force
 
[root@node1 ~]# gluster volume start rep-volume
 
[root@node1 ~]# gluster volume info rep-volume 

分布式条带卷(暂不支持)(名为 dis-stripe)

[root@node1 ~]# gluster volume create dis-stripe stripe 2 node1:/b3 node2:/b3 node3:/b3 node4:/b3

分布式复制卷(名为 dis-rep)

[root@node1 ~]# gluster volume create dis-rep replica 2 node1:/c4 node2:/c4 node3:/c4 node4:/c4 force
 
[root@node1 ~]# gluster volume start dis-rep 
 
[root@node1 ~]# gluster volume info dis-rep
 
[root@node1 ~]# gluster volume list   //查看所有卷

客户端 挂载 GFS磁盘

需提前创建挂载目录

安装客户端软件

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

创建挂载目录

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

修改 hosts 文件

[root@node5 ~]# vim /etc/hosts
 
192.168.161.111 node1
192.168.161.112 node2        
192.168.161.113 node3 
192.168.161.114 node4 

 挂载Gluster 文件系统

[root@node5 ~]# mount -t glusterfs node1:dis-rep /test/dis_and_rep/
[root@node5 ~]# mount -t glusterfs node1:dis-volume /test/dis/
[root@node5 ~]# mount -t glusterfs node1:rep-volume /test/rep
 
[root@node6 ~]# df -h
 

修改fstab配置文件(自动挂载)

[root@node6 ~]# vim /etc/fstab 
 
node1:dis-volume    /test/dis           glusterfs       defaults,_netdev  0 0
node1:dis-rep       /test/dis_and_rep   glusterfs       defaults,_netdev  0 0
node1:rep-volume    /test/rep           glusterfs       defaults,_netdev  0 0

  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GlusterFS是一个分布式文件系统,可以将多个存储节点组合成一个统一的存储池。通过配置本地yum源安装glusterfs相应软件并启动服务,可以在节点上安装glusterfsglusterfs-server、glusterfs-fuse和glusterfs-rdma等软件包,并启动glusterd服务。\[1\] 在挂载和卸载卷方面,可以使用mount命令以glusterfs方式挂载卷,也可以指定传输方式进行挂载。例如,使用以下命令挂载卷: mount -t glusterfs -o transport=rdma server1:/test-volume /mnt/glusterfs 卸载卷可以使用umount命令。\[2\] GlusterFS的工作原理是,客户端或应用程序通过GlusterFS的挂载点访问数据,Linux系统内核通过VFS API接收请求并处理,然后将数据递交给FUSE内核文件系统。FUSE文件系统将数据通过/dev/fuse设备文件递交给GlusterFS客户端,客户端通过网络将数据传递至远端的GlusterFS服务器,并写入到服务器存储设备上。\[3\] 综上所述,GlusterFS是一个分布式文件系统,可以通过配置本地yum源安装相应软件并启动服务来使用。可以使用mount命令挂载和卸载卷,并了解GlusterFS的工作原理。 #### 引用[.reference_title] - *1* *3* [GlusterFS部署](https://blog.csdn.net/Rikkatang/article/details/110131327)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [GlusterFS常用命令集](https://blog.csdn.net/WF_crystal/article/details/128726402)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值