前言:本次案例主要使用之前章节所学的 KVM 及 Glusterfs 技术, 结合起来从而达到 kvm 高可
用。 利用 Glusterfs 的分布式复制卷, 对 kvm 虚拟机文件进行分布存储和冗余功能。 分布式
复制卷主要用于需要冗余的情况下把一个文件存放在两个或以上的节点上,当其中一个节点
数据丢失或者损坏之后, kvm 仍然能够通过卷组找到另一节点上的虚拟机文件, 保证虚拟机
正常运行。 当节点修复之后, Glusterfs 会自动同步同一组里面有数据的节点数据。
一、案例知识点
1.Glusterfs 简介
- Glusterfs 文件系统是由 Gluster 公司的创始人兼首席技术官 Anand Babu Periasamy
编写。 一个可扩展的分布式文件系统, 用于大型的、 分布式的、 对大量数据进行访问的应用。
它运行于廉价的普通硬件上, 并提供容错功能。 它可以给大量的用户提供总体性能较高的服
务。 Glusterfs 可以根据存储需求快速调配存储, 内含丰富的自动故障转移功能, 且摒弃集
中元数据服务器的思想。 适用于数据密集型任务的可扩展网络文件系统, 免费开源。 Gluster
于 2011 年 10 月 7 日被 red hat 收购。
2.Glusterfs 特点
- Glusterfs 体系结构, 将计算、 存储和 I/O 资源聚合到全局名称空间中, 每台服务器都
被视为节点, 通过添加附加节点或向每个节点添加额外存储来扩展容量。 通过在更多节
点之间部署存储来提高性能。
- Glusterfs 支持基于文件的镜像和复制、 分条、 负载平衡、 故障转移、 调度、 磁盘缓存、
存储配额、 卷快照等。
- Glusterfs 各客户端之间无连接, 本身依赖于弹性哈希算法, 而不是使用集中式或分布
式元数据模型。
- Glusterfs 通过各种复制选项提供数据可靠性和可用性: 复制卷、 分布卷。
二、案例环境
1.系统规划
操作系统 |
主机名/IP地址 |
主要软件及版本 |
Centos7.6 |
node1/192.168.9.131 |
Glusterfs5 |
Centos7.6 |
node2/192.168.9.132 |
Glusterfs5 |
Centos7.6 |
node3/192.168.9.133 |
Glusterfs5 |
Centos7.6 |
node4/192.168.9.134 |
Glusterfs5 |
Centos7.6 |
kvm(宿主机)/192.168.9.168 |
kvm\gluster-client() |
Centos7.6 |
kvm(虚拟机)/192.168.233.169 |
|
2.GFS存储规划
操作系统 |
系统IP |
主机名 |
挂载磁盘 |
挂载点 |
Centos 7.6 |
192.168.9.131 |
node1 |
/dev/sdb(20G) |
/data |
Centos 7.6 |
192.168.9.132 |
node2 |
/dev/sdb(20G) |
/data |
Centos 7.6 |
192.168.9.133 |
node3 |
/dev/sdb(20G) |
/data |
Centos 7.6 |
192.168.9.134 |
node4 |
/dev/sdb(20G) |
/data |
三、实验
1.GFS存储
- 以node1为例,其他三个配置方法一样
- node1 、node2 、node3 、node4 主机,每台主机添加一块20G硬盘
[root@node1 ~]# fdisk /dev/sdb
n ###创建分区
p ###创建主分区
回车 ###默认主分区1
回车 ###默认块大小
回车 ###默认主分区大小
w ###保存分区信息
[root@node1 ~]# mkfs -t ext4 /dev/sdb1 //格式化分区
[root@node1 ~]# mkdir /data //创建挂载目录
[root@node1 ~]# vi /etc/fstab //添加挂载
/dev/sdb1 /data ext4 defaults 0 0
[root@node1 ~]# init 6 //重启服务器
[root@node1 ~]# df -Th //确认挂载的1块硬盘
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sdb1 ext4 20G 45M 19G 1% /data
。。。省略部分内容
2.GFS存储业务部署
1)优化
- 关闭防火墙 关闭防火墙开机自启 关闭核心防护了(临时和永久的)规划的几台必须改
[root@node1 ~]# systemctl stop firewalld
[root@node1 ~]# syste