文章目录
- 一、案例概述
- 二、实验环境
- 三、实验目的
- 四、实验配置
- 4.1、部署GFS分布式复制卷平台
- 4.2、部署KVM虚拟化平台
- 五、实验验证
所需安装包(GFS软件和XFTP软件包)
链接:https://pan.baidu.com/s/1Zf9Y-mpu2W0jvsO6qU1FQQ
提取码:ez51
一、案例概述
- 本案例主要通过KVM及Glusterfs技术,结合起来达到kvm高可用。
- 利用Glusterfs的分布式复制卷,对kvm虚拟机文件进行分布式存储和冗余功能
二、实验环境
在vmware虚拟机中开3台虚拟机,一台搭建KVM虚拟化平台,二台做GFS分布式复制卷
三、实验目的
- 当其中一个节点数据丢失或者损坏之后, kvm 仍然能够通过卷组找到另一节点上的虚拟机文件, 保证虚拟机正常运行。
- 当节点修复之后, Glusterfs 会自动同步同一组里面有数据的节点数据
四、实验配置
4.1、部署GFS分布式复制卷平台
- 创建主机名和IP地址映射关系
[root@node1 ~]# vim /etc/hosts
192.168.100.41 node1
192.168.100.42 node2
- 为2个节点分别添加一块磁盘用于存储数据,下面只演示node1,node2同理。
- 将磁盘挂载到/data目录下
[root@node1 ~]# fdisk /dev/sdb ###创建磁盘分区
欢迎使用 fdisk (util-linux 2.23.2)......
###依次按
n ###创建分区
p ###创建主分区
回车 ###默认主分区1
回车 ###默认块大小
回车 ###默认主分区大小
w ###保存分区信息
正在同步磁盘。
[root@node1 ~]# mkfs -t ext4 /dev/sdb1 ###格式化
[root@node1 ~]# mkdir /data ##创建挂载点
[root@node1 ~]# vim /etc/fstab ###挂载
/dev/sdb1 /data ext4 defaults 0 0
[root@node1 ~]# mount -a ##重新加载fstab
[root@node1 ~]# df -hT
/dev/sdb1 ext4 20G 45M 19G 1% /data ##已经挂载
- 将gfsrepo 软件上传到/opt目下
- 打开xftp软件,直接将gfsrepo文件拖到/opt目录即可
- 搭建本地YUN仓库,安装GLFS软件,启动GFS
[root@node1 yum.repos.d]# rm -rf /etc/yum.repos.d/*.repo
[root@node1 yum.repos.d]# vi /etc/yum.repos.d/local.repo
[GLFS]
name=glfs
baseurl=file:///opt/gfsrepo
gpgcheck=0
enabled=1
[root@node1 yum.repos.d]# yum clean all
[root@node1 yum.repos.d]# yum list
[root@node1 yum.repos.d]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma ###安装
[root@node1 yum.repos.d]# systemctl start glusterd.service ###启动
[root@node1 yum.repos.d]# systemctl enable glusterd.service ###开机自启
[root@node1 yum.repos.d]# systemctl status glusterd.service
Active: active (running) since 三 2020-02-19 05:18:22 CST; 17s ago
Main PID: 38633 (glusterd) ###已经running
- 关闭防火墙,创建集群
- 添加节点服务器
[root@node1 yum.repos.d]# systemctl stop firewalld.service ###关闭防火墙
[root@node1 yum.repos.d]# setenforce 0
[root@node1 yum.repos.d]# gluster peer probe node1
[root@node1 yum.repos.d]# gluster peer probe node2
[root@node1 yum.repos.d]# gluster peer status ####查看集群状态
Number of Peers: 1
Hostname: node2
Uuid: 6df47b61-0262-47da-877c-d7aebd86361f
State: Peer in Cluster (Connected)
- 创建分布式复制卷并启动
[root@node1 yum.repos.d]# gluster volume create kvmdata replica 2 node1:/data node2:/data force
[root@node1 yum.repos.d]# gluster volume info kvmdata
[root@node1 yum.repos.d]# gluster volume start kvmdata
4.2、部署KVM虚拟化平台
- 将kvm宿主机部署成GFS客户端
- 用xftp将gfsrepo软件上传到/opt目下
- 挂载虚拟机CD源,搭建本地YUN仓库
[root@kvm yum.repos.d]# mount /dev/sr0 /mnt
[root@kvm yum.repos.d]# rm -rf /etc/yum.repos.d/*.repo
[root@node1 yum.repos.d]# vi /etc/yum.repos.d/local.repo
[local]
name=test
baseurl=file:///mnt
enabled=1
gpgcheck=0
[GLFS]
name=glfs
baseurl=file:///opt/gfsrepo
gpgcheck=0
enabled=1
[root@kvm yum.repos.d]# yum clean all
[root@kvmyum.repos.d]# yum list
[root@kvm yum.repos.d]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma ###安装
[root@kvm yum.repos.d]# systemctl start glusterd.service ###启动
[root@kvmyum.repos.d]# systemctl enable glusterd.service ###开机自启
- 创建主机名和IP地址映射关系
[root@node1 ~]# vim /etc/hosts
192.168.100.41 node1
192.168.100.42 node2
- 永久挂载GFS文件系统,将分布式复制卷挂载过来
[root@kvm opt]# mkdir /kvmdata
[root@kvm opt]# vim /etc/fstab
node1:kvmdata /kvmdata glusterfs defaults,_netdev 0 0
[root@kvm opt]# mount -a ###重新加载
- 安装KVM模块,启动libvirtd工具
yum groupinstall -y "GNOME Desktop" ####安装 GNOME 桌面环境 如果装了图形界面不需要装了
yum -y install qemu-kvm ####KVM 模块
yum -y install qemu-kvm-tools ####KVM 调试工具,可不安装
yum -y install virt-install ####构建虚拟机的命令行工具
yum -y install qemu-img ####qemu 组件,创建磁盘、 启动虚拟机等
yum -y install bridge-utils ####网络支持工具
yum -y install libvirt ####虚拟机管理工具
yum -y install virt-manager ####图形界面管理虚拟机
[root@kvm ~]# systemctl start libvirtd
[root@kvm ~]# systemctl enable libvirtd
[root@kvm ~]# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
[root@kvm ~]# init 6
注意:
笔记本电脑的bios里面要调CPU虚拟化
创建虚拟机的时候,CPU要勾选虚拟化
cat /proc/cpuinfo | grep vmx ###查看CPU是否支持虚拟化
- 设置KVM网络为桥接模式
桥接模式, 这种模式允许虚拟机像一台独立的主机一样拥有网络, 外部的机器可以直接访问到虚拟机内部, 但需要网卡支持, 一般有线网卡都支持。
[root@kvm ~]# systemctl stop firewalld.service ###关闭防火墙
[root@kvm ~]# setenforce 0
[root@kvm ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=0e5a02f3-25d6-4222-a2c7-3303cc76117a
DEVICE=ens33
ONBOOT=yes
#IPADDR=192.168.100.43
#PREFIX=24
#GATEWAY=192.168.100.1
BRIDGE=br0
[root@kvm ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.100.44
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
[root@kvm ~]# systemctl restart network ##重启网卡
- 管理KVM,创建虚拟机
[root@kvm ~]# mkdir -p /kvmdata/iso ####上传镜像centos 7的镜像
[root@kvm ~]# mkdir -p /kvmdata/store ####虚拟机存储
- 上传centos7镜像到/kvm/data/iso中
- 创建存储池和存储卷
[root@kvm ~]# virt-manager
- 同理添加iso目录存储池
- 在"cunchuchi"池子中创建存储卷
- 开始创建虚拟机
五、实验验证
- 在GFS节点上查看目录里是否存在虚拟机文件,可以看见虚拟机文件已经分布式复制的方式存在2个节点中
[root@node1 ~]# ll /data/store/
总用量 1253468
-rw-------. 2 qemu qemu 21478375424 2月 19 08:44 aaa.qcow2
[root@node2 ~]# ll /data/store/
总用量 1253468
-rw-------. 2 qemu qemu 21478375424 2月 19 08:44 aaa.qcow2
- 关闭节点1服务器,发现kvm平台中的虚拟机仍然可以正常运行。