wordpress主题去版权,江门搜狗网站推广优化,长沙公司建,wordpress 技术博客一#xff1a;部署GFS高可用分布式存储环境 1#xff1a;安装部署 KVM 虚拟化平台 2#xff1a;部署 GlusterFS
在所有节点上执行如下命令#xff1a;
#xff08;1#xff09;关闭防所有节点的防火墙、SELiunx
systemctl stop firewalldsystemctl disable firewallds…一部署GFS高可用分布式存储环境 1安装部署 KVM 虚拟化平台 2部署 GlusterFS
在所有节点上执行如下命令
1关闭防所有节点的防火墙、SELiunx
systemctl stop firewalldsystemctl disable firewalldsetenforce 0 2编写 hosts 文件
[rootnode1 ~]# catEOF /etc/hosts192.168.10.101 node1192.168.10.102 node2192.168.10.103 node3192.168.10.104 node4192.168.10.201 kvm01192.168.10.202 kvm02EOF 3安装软件
注意先设置阿里yum仓库
[rootnode1 ~]# yum -y install centos-release-gluster
[rootnode1 ~]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma 4启动 GlusterFS
在所有节点Gluster执行以下操作
[rootnode1 ~]# systemctl start glusterd.service systemctl enable glusterd.service
5在 node1 上添加所有节点
[rootnode1 ~]# gluster peer probe node2peer probe: success.[rootnode1 ~]# gluster peer probe node3peer probe: success.[rootnode1 ~]# gluster peer probe node4peer probe: success. 6查看集群状态
[rootnode1 ~]# gluster peer status 3创建 GlusterFS 分布式复制卷
在所有节点创建/data
[rootnode1 ~]# mkdir /data 创建分布式复制卷。
[rootnode1 ~]# gluster volume create models replica 2 node1:/data node2:/data node3:/data node4:/data force
查看 models 卷
[rootnode1 ~]# gluster volume info models
启动 models 卷
[rootnode1 ~]# gluster volume start models 为KVM主机部署GFS存储
KVM挂载 glusterfs 卷(所有kvm主机上都配置)
安装 glusterfs 客户端软件。
[rootkvm01 ~]# yum -y install glusterfs glusterfs-fuse
创建挂载目录并挂载 models 卷。
[rootkvm01 ~]# mkdir /kvmdata
[rootkvm01 ~]# mount -t glusterfs node1:models /kvmdata/
[rootlocalhost ~]# vi /etc/fstab
node1:models /kvmdata glusterfs defaults,_netdev 0 0
查看挂载卷。
[rootkvm01 ~]# df -h 在kvm01上安装虚拟机
1拷贝qcow2磁盘文件
[rootkvm01 ~]# cp CentOS-7-x86_64-GenericCloud-2009.qcow2 /kvmdata/test01.qcow2
2部署虚拟机
[rootkvm01 ~]# yum -y install libguestfs-tools
[rootkvm01 ~]# gpasswd -a qemu root
备注
该工具提供了virt的高级命令其中有一个virt-customize命令可以为系统镜像设置密码。
[rootkvm01 ~]# virt-customize -a /kvmdata/test01.qcow2 --root-password password:aptech
[rootkvm01 ~]# virt-install --nametest01 -r 1024 --vcpus1 --disk devicedisk,busvirtio,path/kvmdata/test01.qcow2,size10 -w bridge:br0 --virt-typekvm --boot hd 3登录测试
测试实时迁移环境
配置kvm01和kvm02的无密码登录环境
[rootkvm01 ~]# ssh-keygen -t rsa[rootkvm01 ~]# ssh-copy-id kvm02[rootkvm01 ~]# ssh-copy-id kvm01[rootkvm02 ~]# ssh-keygen -t rsa[rootkvm02 ~]# ssh-copy-id kvm01[rootkvm02 ~]# ssh-copy-id kvm02 将test01虚拟机从kvm01主机迁移到kvm02主机
[rootkvm01 ~]# virsh migrate --persistent --undefinesource test01 qemussh://kvm02/system[rootkvm01 ~]# virsh list --all 查看kvm02主机上的虚拟机状态
[rootkvm01 ~]# virsh --connectqemussh://kvm02/system list 将test01从kvm02主机迁移到kvm01主机
[rootkvm01 ~]# virsh --connectqemussh://kvm02/system migrate --persistent --undefinesource test01 qemussh://kvm01/system 创建虚拟机资源
为配置文件创建共享目录
[rootkvm01 ~]# mkdir /kvmdata/config 将test01的配置文件拷贝到共享目录
[rootkvm01 ~]# cp /etc/libvirt/qemu/test01.xml /kvmdata/config/ 取消定义test01虚拟机
[rootkvm01 ~]# virsh shutdown test01[rootkvm01 ~]# virsh undefine test01[rootkvm01 ~]# virsh list --all 重新定义test01虚拟机
[rootkvm02 ~]# virsh define /kvmdata/config/test01.xml
[rootkvm01 ~]# virsh start test01
域 test01 已开始
[rootkvm01 ~]# virsh list --all 部署群集
群集组件的安装kvm01和kvm02都安装
设置好阿里的基础源和epel扩展源
[rootkvm01 ~]# yum -y install pcs pacemaker fence-agents-all
[rootkvm01 ~]# passwd hacluster
[rootkvm01 ~]# systemctl start pcsd
[rootkvm01 ~]# systemctl enable pcsd 认证组成群集的节点只在kvm01上操作
[rootkvm01 ~]# pcs cluster auth kvm01 kvm02 -u hacluster -p aptech 自动生成配置文件只在kvm01上操作
[rootkvm01 ~]# pcs cluster setup --name cluster-kvm kvm01 kvm02 启动群集只在kvm01上操作
[rootkvm01 ~]# pcs cluster start --all
[rootkvm01 ~]# pcs cluster enable --all 在任意一个kvm主机上查看pcs群集状态
[rootkvm01 ~]# pcs status 将其中一个节点关闭查看群集状态
[rootkvm01 ~]# pcs cluster stop kvm01 在另一个节点查看状态
[rootkvm02 ~]# pcs status
Online: [ kvm02 ]
OFFLINE: [ kvm01 ] 7查看后再开启让群集正常运行
[rootkvm01 ~]# pcs cluster start kvm01
关闭隔离设备的功能每个设备都执行
pcs property set stonith-enabledfalse 向群集中添加资源
[rootkvm01 ~]# pcs resource create test01 VirtualDomain hypervisorqemu:///system config/kvmdata/config/test01.xml migration_transportssh meta allow-migratetrue 查看当前群集状态
[rootkvm01 ~]# pcs status KVM群集验证 在两台kvm主机上分别查看虚拟机状态
kvm01的状态
kvm02的状态
注意此时虚拟机在kvm01 删除资源test01的约束
清除某个 pcs 资源只能在某个主机上运行的限制
[rootkvm01 ~]# pcs resource clear test01[rootkvm01 ~]# pcs constraint ##查询限制情况如下显示结果为无限制Location Constraints:Ordering Constraints:Colocation Constraints:Ticket Constraints: 当把虚拟机迁移到了另一台主机会出现约束要想将虚拟机迁移回来需要先清除约束 手动迁移
[rootkvm01 ~]# pcs resource move test01 kvm01上查看状态
[rootkvm01 ~]# virsh list --all[rootkvm01 ~]# pcs status
kvm02上查看状态
[rootkvm02 ~]# virsh list --all备注
迁移后test01运行在kvm02上
将kvm02挂起模拟故障
如果kvm01上对test01有约束需要在kvm01上清除约束才能将test01迁移回来
pcs resource clear test01 查看kvm01中的状态 [rootkvm01 ~]# pcs status
[rootkvm01 ~]# virsh list --all