KVM+GFS——分布式文件系统【高可用】
admin
2023-02-22 07:40:08
0

内容要点:

一、案例概述:

二、部署准备:

三、部署实例:

四、查看存储方式:

一、案例概述:

本架构是将之前博客中讲到的 Glusterfs分布式文件系统,再结合 KVM 虚拟化,达到一个高可用的效果。


(1)原理:利用Glusterfs的分布式复制卷,对kvm虚拟机文件进行分布存储和冗余功能。分布式复制卷主要用于需要冗余的情况下把一个文件存放在两个或以上的节点上,当其中一个节点数据丢失或者损坏之后,kvm 仍然能够通过卷组找到另一节点上的虚拟机文件,保证虚拟机正常运行。当节点修复之后,Glusterfs 会自动同步同一组里面有数据的节点数据。


(2)Glusterfs 体系结构特点:


  • 将计算、存储和I/O资源聚合到全局名称空间中,每台服务器都被视为节点,通过添加附加节点或向每个节点添加额外存储来扩展容量。通过在更多节点之间部署存储来提高性能。

  • 支持基于文件的镜像和复制、分条、负载平衡、故障转移、调度、磁盘缓存、存储配额、卷快照等。

  • Glusterfs各客户端之间无连接,本身依赖于弹性哈希算法,而不是使用集中式或分布式元数据模型。

  • Glusterfs通过各种复制选项提供数据可靠性和可用性:复制卷、分布卷。

(3)原理图:

KVM+GFS——分布式文件系统【高可用】


二、部署:

1、环境部署:

角色/主机名IP地址
node1192.168.220.179
node2192.168.220.131
node3192.168.220.140
node4192.168.220.136
kvm192.168.220.137


2、案例需求:


采用KVM+Glusterfs模式,来保证虚拟机存储的分布部署,以及分布冗余。避免当虚拟机文件损坏,或者丢失。从而在损坏或就丢失时有实时备份,保证业务正常运行。


3、部署思路:


安装KVM -----> 所有节点部署Glusterfs -----> 客户端挂载(Glusterfs)kvm使用挂载的Glusterfs目录创建虚拟机


三、部署实例:

第一步:安装部署 KVM 虚拟化平台

虚拟机配置如下:添加一块新硬盘;虚拟化引擎选项全部勾选。否则无法创建

KVM+GFS——分布式文件系统【高可用】

(1)挂载镜像文件:


[root@kvm ~]# mkdir /abc
[root@kvm ~]# mount.cifs //192.168.41.104/ISO /abc/
[root@kvm ~]# cp /abc/CentOS-7-x86_64-DVD-1708.iso /opt/  //将镜像文件复制到本地目录


(2)安装 KVM 所需要的软件:

yum groupinstall "GNOME Desktop" -y  //安装桌面环境
yum install qemu-kvm  -y            //KVM模块
yum install qemu-kvm-tools -y        //KVM调试工具
yum install virt-install -y         //构建虚拟机的命令行工具
yum install qemu-img -y             //qemu组件,创建磁盘,启动虚拟机
yum install bridge-utils -y        //网络支持工具
yum install libvirt -y             //虚拟机管理工具
yum install virt-manager -y        //图像化管理虚拟机


(3)查看虚拟化是否安装成功:


cat /proc/cpuinfo | grep vmx      //查看是否支持虚拟化
lsmod | grep kvm                 //检查KVM是否安装

KVM+GFS——分布式文件系统【高可用】

KVM+GFS——分布式文件系统【高可用】


(4)配置桥接网卡:


1、
vim /etc/sysconfig/network-scripts/ifcfg-ens33
末尾加上这行:
BRIDGE=br0  //br0是桥接网卡的名称

2、
cd /etc/sysconfig/network-scripts/
cp -p ifcfg-ens33 ifcfg-br0
vim ifcfg-br0
修改桥接网卡信息如下:
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.220.137
NETMASK=255.255.255.0
GATEWAY=192.168.220.1

3、重启网卡:
systemctl restart network


(4)开启虚拟化:


systemctl start libvirtd
systemctl enable libvirtd


第二步:GlusterFS 部署

四台节点虚拟机添加一块新的磁盘

(1)修改好各自的主机名,关闭好防火墙。


(2)修改 /etc/hosts 文件,四台节点操作相同:


vim /etc/hosts
添加以下内容:
192.168.220.179 node1
192.168.220.131 node2
192.168.220.140 node3
192.168.220.136 node4
192.168.220.137 kvm


(3)安装 GlusterFS :


cd /opt/
mkdir /abc
mount.cifs //192.168.10.157/MHA /abc   //远程挂载到本地
cd /etc/yum.repos.d/
mkdir bak  
mv Cent* bak/   //将原来的源都移到新建的文件夹中

vim GLFS.repo   //新建一个源
[GLFS]
name=glfs
baseurl=file:///abc/gfsrepo
gpgcheck=0
enabled=1


(4)时间同步设置:


ntpdate ntp1.aliyun.com   //时间同步(每台节点都需要操作)

添加存储信任池,在node1上添加所有节点:
[root@localhost yum.repos.d]# gluster peer probe node2
peer probe: success. 
[root@localhost yum.repos.d]# gluster peer probe node3
peer probe: success. 
[root@localhost yum.repos.d]# gluster peer probe node4
peer probe: success. 
[root@localhost yum.repos.d]# gluster peer status //查看所有节点状态

(5)磁盘配置:


fdisk /dev/sdb                    //配置
mkfs.xfs /dev/sdb1                //格式化
mkdir -p /data/sdb1               //创建挂载点
mount /dev/sdb1 /data/sdb1/       //挂载


(6)创建分布式复制卷:


[root@node1 ~]# gluster volume create models replica 2 node1:/data/sdb1 node2:/data/sdb1 node3:/data/sdb1 node4:/data/sdb1 force
[root@node1 ~]# gluster volume start models   //开启卷
volume start: models: success


第三步: 客户端挂载glusterfs卷

(1)修改 hosts 文件:


vim /etc/hosts
添加以下主机名和对应IP地址:
192.168.220.179 node1
192.168.220.131 node2
192.168.220.140 node3
192.168.220.136 node4
192.168.220.137 kvm


(2)GlusterFS 部署:


[root@kvm ~]# cd /etc/yum.repos.d/
[root@kvm yum.repos.d]# mkdir bak 
[root@kvm yum.repos.d]# mv Cent* bak/
[root@kvm yum.repos.d]#mkdir /aaa
[root@kvm yum.repos.d]#mount.cifs //192.168.41.104/MHA /aaa

[root@kvm yum.repos.d]# vim GLFS.repo
添加以下代码:
[GLFS]
name=glfs
baseurl=file:///aaa/gfsrepo
gpgcheck=0
enabled=1

yum install -y glusterfs glusterfs-fuse    //安装依赖包

再将原来的CentOS源转移出来:
[root@kvm yum.repos.d]#mv bak/* ./

(3)挂载卷:


mkdir /kvmdata       //创建挂载点
mount.glusterfs node1:models /kvmdata/    //将分布式复制卷挂载

KVM+GFS——分布式文件系统【高可用】

再创建两个文件,一个作为 kvm虚拟化存储磁盘、一个为虚拟化镜像文件:


cd /kvmdata/
mkdir kgc_disk kgc_iso    //kgc_disk作为磁盘存储位置;kgc_iso作为镜像存储位置
cd /opt/
mv CentOS-7-x86_64-DVD-1708.iso /kvmdata/kgc_iso/   //将镜像拷贝到刚刚创建好的文件里
virt-manager   //进入虚拟化创建


(4)虚拟系统管理器:


1、创建两个存储池:store;iso

KVM+GFS——分布式文件系统【高可用】

KVM+GFS——分布式文件系统【高可用】

2、选择路径:就是刚刚创建的 kgc_disk;kgc_iso

KVM+GFS——分布式文件系统【高可用】

KVM+GFS——分布式文件系统【高可用】

3、添加存储卷,名为 centos7:

KVM+GFS——分布式文件系统【高可用】

4、创建新的虚拟机:镜像和磁盘存储就路径就选择刚刚创建的两个

KVM+GFS——分布式文件系统【高可用】

KVM+GFS——分布式文件系统【高可用】

选择主机引导时启动虚拟机,在选择开始安装:

KVM+GFS——分布式文件系统【高可用】

接下来就出现安装界面:

KVM+GFS——分布式文件系统【高可用】


四、查看存储方式:

由于,我们刚刚做了 KVM + GFS ,在 node1 上可以查看到 镜像和磁盘存储的文件:

KVM+GFS——分布式文件系统【高可用】

KVM+GFS——分布式文件系统【高可用】

由于分布式复制卷的性质,所以其他三台node节点上都是相同的卷:

KVM+GFS——分布式文件系统【高可用】

KVM+GFS——分布式文件系统【高可用】

KVM+GFS——分布式文件系统【高可用】





相关内容

热门资讯

谷歌被罚9亿欧元后,特朗普称欧... 当地时间7月23日,欧盟委员会指控美国谷歌公司违反欧盟《数字市场法》,对其处以8.9亿欧元罚款。这一...
14对14,中国反击欧盟,干净... 对于欧盟的指手画脚,中国第一时间反击了。14:14。干净利落,来而不往非礼也。国际博弈,从来如此:没...
风未到,人已行!凌晨不眠!一场... 7月24日晚,台风“红霞”持续逼近,市应急管理局五楼会议室灯火通明,市应急管理局党委书记、局长李见秋...
省自然资源厅部署12号台风“红... 受今年第12号台风“红霞”影响,我省中部和南部地区有一轮强降雨过程,部分地区有较高的地质灾害风险。自...
长虹美菱获得发明专利授权:“一... 证券之星消息,根据天眼查APP数据显示长虹美菱(000521)新获得一项发明专利授权,专利名为“一种...
女童毕业照走光维权反遭辱骂,是... 毛乐然(南京传媒学院)杭州一家摄影机构拍摄的女童毕业照出现走光问题,家长维权反遭恶语相向,令人愤慨。...
给“AI”发身份证!国内首个智... 《人工智能 智能体互联》系列国家标准应用推进专题会议近日在北京中关村展示中心召开。现场发布GB/Z1...
探秘科技殿堂 点亮科学梦想—中... 为拓宽青少年科学视野,丰富课外实践内容,激发学生科技创新思维与探索精神,7月23日,原州区中河乡中心...
小米申请音频处理方法专利,能够... 国家知识产权局信息显示,北京小米移动软件有限公司申请一项名为“音频处理方法、装置、电子设备、存储介质...
中纪委最新通报:上半年立案省部... △图1:全国纪检监察机关处分人员按职级划分图△图2:全国纪检监察机关运用“四种形态”占比图2026年...