一、KVM+GFS 分布式存储系统构建 KVM 高可用
资源分配
实验环境
主机名 / IP / 磁盘:挂载点 | node01 / 172.16.10.11 / sdb1:/data_kvm node02 / 172.16.10.12 / sdb1:/data_kvm node03 / 172.16.10.13 / sdb1:/data_kvm node04 / 172.16.10.14 / sdb1:/data_kvm kvm / 172.16.10.10 |
---|
关闭防火墙和selinux | systemctl disable firewalld systemctl stop firewalld setenforce 0 | 添加hosts文件 | cat >> /etc/hosts << EOF 172.16.10.11 node01 172.16.10.12 node02 172.16.10.13 node03 172.16.10.14 node04 172.16.10.10 kvm | 时间同步 | yum -y install chrony systemctl start chronyd chronyc sources -v |
1.1 部署GFS
1.1.1 node节点安装gluster
?# 安装yum源
?[root@node1 ~]# yum -y install centos-release-gluster
?# 安装gluster相关软件
?[root@node1 ~]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
1.1.2 启动GlusterFS
?[root@node1 ~]# systemctl start glusterd
?[root@node1 ~]# systemctl enable glusterd
??
?# 出现以下错误可以尝试升级systemd和openssl
?[root@node1 ~]# yum -y install systemd openssl
?# 报错信息:
?[root@node1 ~]# systemctl status glusterd -l
?● glusterd.service - GlusterFS, a clustered file-system server
? ? Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled; vendor preset: disabled)
? ? Active: failed (Result: exit-code) since 六 2021-07-24 15:02:18 CST; 26s ago Docs: man:glusterd(8)
?7月 24 15:02:18 node3 systemd[1]: Starting GlusterFS, a clustered file-system server...
?7月 24 15:02:18 node3 systemd[1]: glusterd.service: control process exited, code=exited status=1
?7月 24 15:02:18 node3 systemd[1]: Failed to start GlusterFS, a clustered file- system server.
?7月 24 15:02:18 node3 systemd[1]: Unit glusterd.service entered failed state.
?7月 24 15:02:18 node3 systemd[1]: glusterd.service failed.
?7月 24 15:02:20 node3 systemd[1]: [/usr/lib/systemd/system/glusterd.service:4] Unknown lvalue 'StartLimitBurst' in section 'Unit'
?7月 24 15:02:20 node3 systemd[1]: [/usr/lib/systemd/system/glusterd.service:5] Unknown lvalue 'StartLimitIntervalSec' in section 'Unit
1.1.3 添加节点
?[root@node1 ~]# gluster peer probe node1 # node1 也可以不执行
?[root@node1 ~]# gluster peer probe node2
?[root@node1 ~]# gluster peer probe node3
?[root@node1 ~]# gluster peer probe node4
1.1.4 查看群集状态
?[root@node1 ~]# gluster peer status
1.1.5 创建分布式复制卷
?# 创建分布式复制卷
?[root@node1 ~]# gluster volume create dis-rep replica 2 node1:/data_kvm node2:/data_kvm node3:/data_kvm node4:/data_kvm force
?# 查看卷的详细信息
?[root@node1 ~]# gluster volume info dis-rep
?# 启用GlusterFS逻辑卷
?[root@node1 ~]# gluster volume start dis-rep
?# 查看卷列表,显示所有的卷
?[root@node1 ~]# gluster volume list
??
1.2 部署Gluster客户端即kvm节点
1.2.1 安装客户端软件
?# 安装yum源
?[root@kvm ~]# yum -y install centos-release-gluster
?# 安装gluster相关软件
?[root@kvm ~]# yum -y install glusterfs glusterfs-fuse
1.2.2 创建挂载点
?[root@kvm ~]# mkdir /data_kvm
1.2.3 挂载Gluster文件系统
?# 手动挂载
?[root@kvm ~]# mount -t glusterfs node1:dis-rep /data_kvm
?# 自动挂载
?[root@kvm ~]# vim /etc/fstab
?node1:dis-rep /data_kvm glusterfs defaults,_netdev ?0 ?0
?[root@kvm ~]# mount -a
?[root@kvm ~]# df -Th
1.3 部署kvm
1.3.1 部署KVM
?# 安装需要的软件包
?[root@kvm ~]# yum -y install qemu-kvm qemu-kvm-tools virt-install qemu-img bridge-utils libvirt virt-manager virt-viewer
??
# 启动libvirt服务
[root@kvm ~]# systemctl start libvirtd
[root@kvm ~]# systemctl enable libvirtd
?# 配置桥接网络
?[root@kvm ~]# cd /etc/sysconfig/network-scripts/
?[root@kvm network-scripts]# vim ifcfg-ens33
?#IPADDR=172.16.10.10 ? ? ## 这几行注释掉
?#NETMASK=255.255.255.0
?#GATEWAY=172.16.10.2
?#DNS1=172.16.10.2
?BRIDGE=br0
?[root@kvm01 network-scripts]# vim ifcfg-br0
?TYPE=Bridge ? ?##类型为 桥接
?NAME=br0
?DEVICE=br0
?IPADDR=172.16.10.10
?NETMASK=255.255.255.0
?GATEWAY=172.16.10.2
?DNS1=172.16.10.2
?UUID=famjoaflajoagm75979afarw ?## 删掉uuid
?[root@kvm01 network-scripts]# systemctl restart network
??
?# 在gluster挂载点下创建存储目录
?[root@kvm~]# mkdir /data_kvm/store
?[root@kvm ~]# mkdir /data_lvm/iso
??
?# 上传镜像并将镜像移动到/data_kvm/iso/目录下
?[root@kvm01 ~]# mv CentOS-7-x86_64-Minimal-2009.iso /data_kvm/iso/
1.3.2 创建虚拟机test01
?# 创建虚拟机
?[root@kvm01 ~]# virt-install --name test01 -r 1024 --vcpus=1 \
?--disk path=/data_kvm/store/test01.qcow2,size=10 -w bridge:br0 \
?--virt-type=kvm --accelerate --autostart \
?-c /data_kvm/iso/CentOS-7-x86_64-Minimal-2009.iso \
?--vnc --vncport=5901 --vnclisten=0.0.0.0 ?
?WARNING 无法连接到图形控制台:没有安装 virt-viewer。请安装 'virt-viewer' 软件包。
?WARNING 没有控制台用于启动客户机,默认为 --wait -1
?开始安装......
?正在分配 'test01.qcow2' ? ? ? ? ? ? ? ? ? ? | ?10 GB ?00:00:00
?ERROR ? unsupported format character '奠(0xffffffe7) at index 47
?域安装失败,您可以运行下列命令重启您的域:
?'virsh start virsh --connect qemu:///system start test01'
?否则请重新开始安装。
??
?# vnc连接虚拟机进行安装
??
?# 安装好开启虚拟机test01
?[root@kvm01 ~]# virsh start test01
1.3.3 验证存储
?[root@node1 ~]# ll /data_kvm/store
?总用量 4168
?-rw-------. 2 root root 21478375424 8 月 29 10:40 test01.qcow2
?[root@node2 ~]# ll /data_kvm/store
?总用量 4168
?-rw-------. 2 root root 21478375424 8 月 29 10:40 test01.qcow2
?[root@node3 ~]# ll /data_kvm/store
?总用量 0
?[root@node4 ~]# ll /data_kvm/store
?总用量 0
|