实验环境

4台GFS节点服务器做GlusterFS集群,提供存储服务给KVM客户端做虚拟化
服务器角色 IP地址 磁盘空间
gfs-node1 192.168.142.152 40G+40G
gfs-node2 192.168.142.154 40G+40G
gfs-node3 192.168.142.162 40G+40G
gfs-node4 192.168.142.163 40G+40G
kvm-client 192.168.142.163 40G

第一步:部署GFS节点服务器

1.为四台GFS节点服务器服务器每台添加一个新磁盘

使用GFS集群部署KVM虚拟化平台_第1张图片
2.使用脚本一键部署GFS节点

#!/bin/bash
systemctl stop firewalld.service
setenforce 0

#格式化磁盘
echo "the disks exist list:"
fdisk -l |grep '磁盘 /dev/sd[a-z]'
echo "=================================================="
PS3="chose which disk you want to create:"
select VAR in `ls /dev/sd*|grep -o 'sd[b-z]'|uniq` quit
do
    case $VAR in
    sda)
        fdisk -l /dev/sda
        break ;;
    sd[b-z])
        #create partitions
        echo "n
                p

                w"  | fdisk /dev/$VAR

        #make filesystem
        mkfs.xfs -i size=512 /dev/${VAR}"1" &> /dev/null
 #mount the system
        mkdir -p /data/${VAR}"1" &> /dev/null
        echo -e "/dev/${VAR}"1" /data/${VAR}"1" xfs defaults 0 0\n" >> /etc/fstab
        mount -a &> /dev/null
        break ;;
    quit)
        break;;
    *)
        echo "wrong disk,please check again";;
    esac
done
#授予执行权限
chmod +x a.sh

#执行脚本
./a.sh

#注意修改主机地址!!!
cat >>/etc/hosts<<-EOF
192.168.142.152 node1
192.168.142.154 node2
192.168.142.162 node3
192.168.142.163 node4
192.168.142.163 kvm
EOF

#创建yum源仓库
#进入yum仓库目录
cd /etc/yum.repos.d

#创建备份文件夹
mkdir bak

#移动使用文件到备份文件夹
mv C* bak

#清除yum缓存
yum clean all

#创建私有yum源
cat >GLFS.repo<<-EOF
[demo]
name=demo
baseurl=http://123.56.134.27/demo
gpgcheck=0
enable=1

[gfsrepo]
name=gfsrepo
baseurl=http://123.56.134.27/gfsrepo
gpgcheck=0
enable=1
EOF

#重新加载yum源
yum list

#安装必要软件包
yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

#启动glusterd服务
systemctl start glusterd.service

#设定开机自启动glusterd服务
systemctl enable glusterd.service

#设定时间同步阿里时间服务器
ntpdate ntp1.aliyun.com

3.四台节点部署完毕,在node1节点上操作

#添加其他节点信息
gluster peer probe node2
gluster peer probe node3
gluster peer probe node4

#创建分布式卷
gluster volume create dis-volume replica 2 node1:/data/sdb1 node2:/data/sdb1 node3:/data/sdb1 node4:/data/sdb1 force 

#启动分布式卷
gluster volume start dis-volume

第二步: 客户端部署KVM操作

1.调试客户端环境,内存最少4G,开启虚拟化引擎
使用GFS集群部署KVM虚拟化平台_第2张图片
2.挂载GFS到客户端

#创建挂载目录
mkdir /data

#挂载分布式卷到客户端目录
mount.glusterfs node1:dis-vol /data

#查看磁盘分区信息
df -hT

#远程挂载微软宿主机上的镜像,后面再用
mount.cifs //192.168.142.1/ISO /mnt

3.安装KVM

#安装桌面环境组件包
yum groupinstall "GNOME Desktop" -y

#安装KVM模块
yum install qemu-kvm -y

#安装KVM调试工具
yum install qemu-kvm-tools -y

#安装构建虚拟机的命令行工具
yum install virt-install -y

#安装qemu组件,创建磁盘,启动虚拟机
yum install qemu-img -y

#安装网络支持工具
yum install bridge-utils -y

#安装虚拟机管理工具
yum install libvirt -y

#安装图像化管理虚拟机
yum install virt-manager -y

#查看CPU是否支持虚拟化(虚拟机需要配置中开启虚拟化功能)
egrep '(vmx|svm)' /proc/cpuinfo

#查看kvm模块是否安装
lsmod | grep kvm

#开启libvirtd服务
systemctl start libvirtd

#查看libvirtd服务状态
systemctl status libvirtd

#开机自启动libvirtd服务
systemctl enable libvirtd

4.部署linux虚拟机环境

#切换至挂载点
cd /data

#创建备份目录
mkdir vdisk viso

#后台复制镜像
cp -r /mnt/CentOS-7-x86_64-DVD-1708.iso /data/viso/ &

#切换网卡配置目录
cd /etc/sysconfig/network-scripts/

#复制ens33 网卡配置文件作为桥接网卡的模板
cp -p ifcfg-ens33 ifcfg-br0

#编辑ens33 网卡配置文件
vim ifcfg-ens33
#尾行追加桥接
BRIDGE=br0

#编辑桥接 网卡配置文件
vim ifcfg-br0

#替换类型为bridge桥接模式
TYPE=bridge

#修改为静态模式
BOOTPROTO=static

#改名
NAME=br0

#改驱动名称
DEVICE=br0

#追加IP地址,掩码和网关
IPADDR=192.168.142.164
NETMASK=255.255.255.0
GATEWAY=192.168.142.1

#重启网络服务
service network restart 

第三步:KVM图形化管理

1.打开终端以root身份输入一下命令切换图形化管理界面

#打开终端输入一下命令切换图形化管理界面
virt-manager

2.创建部署虚拟化环境

创建存储池,双击QEMU/KVM,选择“存储”选项卡,然后单击“+”按钮新建存储池。
单击“前进”按钮,根据提示输入或浏览用以设置存储目录,如/data_kvm/store,最后单击“完成”按钮即可

使用GFS集群部署KVM虚拟化平台_第3张图片
使用GFS集群部署KVM虚拟化平台_第4张图片

使用GFS集群部署KVM虚拟化平台_第5张图片

使用GFS集群部署KVM虚拟化平台_第6张图片使用GFS集群部署KVM虚拟化平台_第7张图片使用GFS集群部署KVM虚拟化平台_第8张图片使用GFS集群部署KVM虚拟化平台_第9张图片使用GFS集群部署KVM虚拟化平台_第10张图片使用GFS集群部署KVM虚拟化平台_第11张图片使用GFS集群部署KVM虚拟化平台_第12张图片使用GFS集群部署KVM虚拟化平台_第13张图片

使用GFS集群部署KVM虚拟化平台_第14张图片使用GFS集群部署KVM虚拟化平台_第15张图片

使用GFS集群部署KVM虚拟化平台_第16张图片使用GFS集群部署KVM虚拟化平台_第17张图片

到这里就完成了GFS+KVM全部部署了,谢谢阅读!!!