一、分布式文件系统介绍
分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源并不直接与本地节点相连,而是分布于计算网络中的一个或者多个节点的计算机上。目前意义上的分布式文件系统大多都是由多个节点计算机构成,结构上是典型的客户机/服务器模式。流行的模式是当客户机需要存储数据时,服务器指引其将数据分散的存储到多个存储节点上,以提供更快的速度,更大的容量及更好的冗余特性。
二、GlusterFS概述
GlusterFS系统是一个可扩展的网络文件系统,具有高扩展性、高可用性、高性能、可横向扩展等特点,并且其没有元数据服务器的设计,让整个服务没有单点故障的隐患。
三、GFS 专业术语
brick存储服务器:实际存储用户数据的服务器
volume:本地文件系统的“分区”
FUSE :用户空间的文件系统(类比EXT4),“这是一个伪文件系统”:以本地文件系统为例,用户想要读写一个文件,会借助于EXT4文件系统,然后把数据写在磁盘上,而如果是远端的GFS,客户端的请求则应该交给FUSE(伪文件系统),就可以实现跨节点存储在GFS上
FUSE(用户空间的文件系统)伪文件系统 用户端的交互模块
VFS(虚拟端口):内核态的虚拟文件系统,用户是先提交请求交给VFS 然后VFS交给FUSE 再交给GFS客户端,最后由客户端交给远端的存储
四、工作流程

客户端在本地发出读写请求,然后交由VFS 的API接受请求,接受请求后会交给FUSE(内核伪文件系统),FUSE可以模拟操作系统,所以可以对文件系统进行转存(交给GFS客户端),转存的设备位置为:/dev/fuse(用于传输的设备-虚拟设备文件),client 会根据配置文件对数据进行处理,然后再通过TCP/ib/rdma 网络发送到GFS服务端,并且将数据写到服务器存储设备上。
五、GlusterFS 支持卷的类型
- 基本卷
- distribute volume:分布式卷
- 文件通过HASH算法分布到所有Brick Server上,一个节点的磁盘损坏,数据丢失
- stripe volume:条带卷
- 文件被分成数据块并以轮询的方式分布到多个Brick Server上,文件存储以数据块为单位,支持大文件存储,文件越大,读取效率越高
- replica volume:复制卷
- 将文件同步到多个Brick Server上,使其具备多个文件副本,具有容错能力。因为数据分散在多个 Brick 中,所以读性能得 到很大提升,但写性能下降。
- distribute volume:分布式卷
- 复合卷
- distribute stripe volume:分布式条带卷
- Brick Server 数量是条带数(数据块分布 的 Brick 数量)的倍数,兼具分布式卷和条带卷的特点。
- distribute replica volume:分布式复制卷
- Brick Server 数量是镜像数(数据副本 数量)的倍数,兼具分布式卷和复制卷的特点
- stripe replica volume:条带复制卷
- 类似 RAID 10,同时具有条带卷和复制卷的 特点
- distribute stripe replicavolume:分布式条带复制卷
- 三种基本卷的复合卷,通常 用于类 Map Reduce 应用
- distribute stripe volume:分布式条带卷
六、实验
实验环境:所有节点添加四块磁盘
Node1节点:192.168.177.100
磁盘:/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
挂载点:/data/sdb1 /data/sdc1 /data/sdd1 /data/sde1
Node2节点:192.168.177.110
磁盘:/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
挂载点:/data/sdb1 /data/sdc1 /data/sdd1 /data/sde1
Node3节点:192.168.177.111
磁盘:/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
挂载点:/data/sdb1 /data/sdc1 /data/sdd1 /data/sde1
Node4节点:192.168.177.130
磁盘:/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
挂载点:/data/sdb1 /data/sdc1 /data/sdd1 /data/sde1
客户端节点:192.168.177.116
步骤一:环境准备:关闭防火墙、seLinux、ntp同步时钟(所有节点)
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
ntp ntp1.aliyun.com
步骤二:磁盘分区并挂载(所有node节点都做)
编辑分区挂载脚本
vim /opt/fdisk.sh
#!/bin/bash
#提示信息
echo "the disks exist list:"
#过滤出系统所带磁盘
fdisk -l |grep '磁盘 /dev/sd[a-z]'
echo "=================================================="
PS3="chose which disk you want to create:"
##选择需要创建的磁盘编号
select VAR
本文深入介绍了GlusterFS分布式文件系统,包括其高扩展性、高可用性和无元数据服务器的设计特点。文章详细阐述了GFS的专业术语,如brick存储服务器和volume,并解析了工作流程。此外,还探讨了GlusterFS支持的多种卷类型,如分布式、条带、复制卷等,以及实验环境中搭建和验证GlusterFS的步骤,强调了复制卷在数据安全方面的优势。
最低0.47元/天 解锁文章

1557

被折叠的 条评论
为什么被折叠?



