三期总目录链接
目录
2、node1~node4 安装软件--yum方式(需要配置本地其他目录的yum仓库)
一、GlusterFS相关知识介绍
(一)简介
1、 GlusterFS介绍
Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决 方案中Glusterfs能够灵活的结合物理的,虚拟的和云资源去体现高可用和企业级的性能存储
Glusterfs通过TCP/IP或InfiniBand RDMA网络链接将客户端的存储资块源聚集在一起,使用单一的全局命名空间来管理数据,磁盘和内存资源
Glusterfs基于堆叠的用户空间设计,可以为不同的工作负载提供高优的性能。Glusterfs支持运行在任何标准IP网络上标准应用程序的标准客户端,用户可以在全局统一的命名空间中使用NFS/CIFS等标准协议来访问应用数据。
1.1、GlusterFS特点
GlusterFS特点:扩展性和高性能、高可用、全局统一命名空间、弹性HASH算法、弹性卷管理、基于标准协议
弹性HASH算法的优点: 保证数据平均分布在每个Brick中,解决了对元数据服务器的依赖,进而解决了单点故障及访问瓶颈
1.2、GlusterFS术语
1)、Brick(存储块):指可信主机池中由主机提供的用于物理存储的专用分区,是GlusterFS中的基本存储单元,同时也是可信存储池中服务器上对外提供的存储目录。存储目录的格式由服务器和目录的绝对路径构成
2)、Volume(逻辑卷): 是一组存储块的集合
3)、FUSE(Filesystem inUserspace):是一个内核模块,作用是允许用户创建自己的文件系统
4)、VFS: 内核空间对用户空间提供的访问磁盘的接口
5)、Glusterd(后台管理进程):存储群集中的每个节点都要运行
1.3、GlusterFS的工作模式
1)、客户端或应用程序通过GlusterFS的挂载点访问数据
2) 、Linux系统内核通过VFS API收到清求并处理
3)、 VFS 将数据递交给 FUSE 内核文件系统,并向系统注册一个实际的文件系统 FUSE,而 FUSE文件系统则是将数据通过/dev/fuse 设备文件递交给了 GlusterFS client 端。可以将 FUSE 文件系统理解为一个代理
4) 、GlusterFS client收到数据后,client根据配置文件对数据进行处理
5)、经过GlusterFS client处理后,通过网络将数据传递至远端的GlusterFS Server.并且将数据写入服务器存储设备
1.3、GlusterFS的卷类型
GlusterFS 支持七种卷:分布式卷、条带卷、复制卷、分布式条带卷、分布式复制卷、条带复制卷(stripe replica volume)和分布式条带复制卷(distribute stripe replicavolume),这七种卷可以满足不同应用对高性能,高可用的需求
卷类型 | 特点 | 简介 |
分布式卷 distribute volume |
1、文件分布在不同的服务器,不具备冗余性 2、更容易且廉价地扩展卷的大小 3、单点故障会造成数据丢失 4、依赖底层的数据保护 |
GlusterFS的默认卷,在创建卷时,默认选项是创建分布式卷 |
条带卷 stripe volume |
1、数据被分割成更小块分布到块服务器群中的不同条带区 2、分布减少了负载且更小的文件加速了存取的速度 3、没有数据冗余 |
Stripe模式相当于RAIDO,在该模式下,根据偏移量将文件分成N块(N个条带节点),轮询地存储在每个Brick Server节点 |
复制卷 replica volume |
1、卷中所有的服务器均保存一个完整的副本 2、卷的副本数量可由客户创建的时候决定 3、至少有两个块服务器或更多服务器 |
也称为AFR (AutoFile Replication),相当于RAID1,即同一文件保存一份或多份副本每个节点上保存相同的内容和目录结构 |
分布式条带卷 distribute stripe volume |
用于大文件访问处理,创建一个分布式条带卷最少需要4台服务器 | 兼顾分布式卷和条带卷的功能 |
分布式复制卷 distribute replica volume |
用于需要冗余的情况下 | 兼顾分布式卷和复制卷的功能 |
二、glusterFs实例
主机名 | 地址 | 添加磁盘 | 挂载目录 |
node1 |
192.168.1.4 | 2G、4G、6G、7G | /bb、/cc、/dd、/ee |
node2 | 192.168.1.5 | 2G、4G、6G、7G | /bb、/cc、/dd、/ee |
node3 | 192.168.1.6 | 2G、4G、6G | /bb、/cc、/dd |
node4 | 192.168.1.7 | 2G、4G、6G | /bb、/cc、/dd |
客户端C-08 | 192.168.1.8 | 无 | 无 |
(一)准备环境
1、分区
node1~node4步骤相同
[root@node1 ~]# fdisk /dev/sdb #使用命令fdisk进行分区
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xe8f363c2 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n #创建分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): #默认为p主分区
Using default response p
分区号 (1-4,默认 1): ----回车
起始 扇区 (2048-4194303,默认为 2048): ----回车
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303): ----回车
将使用默认值 4194303
分区 1 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):w #保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
相同方法略
[root@node1 ~]# fdisk /dev/sdc
[root@node1 ~]# fdisk /dev/sdd
[root@node1 ~]# fdisk /dev/sde
1.2、格式化
-t ext4 表示写入的是ext4文件系统
并且只能给主分区sdb1和扩展分区sdb5写入文件系统(不能给扩展分区sdb2写入文件系统)
[root@node1 ~]# mkfs -t ext4 /dev/sdb1
.....
[root@node1 ~]# mkfs -t ext4 /dev/sdc1
....
[root@node1 ~]# mkfs -t ext4 /dev/sdd1
....
[root@node1 ~]# mkfs -t ext4 /dev/sde1
.....
创建挂载点并挂载
[root@node1 ~]# mkdir /bb /cc /dd /ee
[root@node1 ~]# mount /dev/sdb1 /bb
[root@node1 ~]# mount /dev/sdc1 /cc
[root@node1 ~]# mount /dev/sdd1 /dd
[root@node1 ~]# mount /dev/sde1 /ee
创建自动挂载
[root@node1 ~]# vim /etc/fstab
.....
..
/dev/sdb1 /bb ext4 defaults 1 2
/dev/sdc1 /cc ext4 defaults 1 2
/dev/sdd1 /dd ext4 defaults 1 2
/dev/sde1 /ee