实验规划
在KVM学习(十七)中我已经搭建了一个由node1,node2,ntp组成的群集,这次再将NFS服务器加进去。
网络规划上,node1和node2三网卡,nfs服务器双网卡
业务网 心跳 存储
node1 192.168.160.11 172.16.1.231 10.0.1.231
node2 192.168.160.12 172.16.1.232 10.0.1.232
ntp 192.168.160.20
nfs 192.168.160.21 10.0.1.240
首先配置网络
注意VM Workstation player由于缺少功能是没有办法进行实验的,需要VM Workstation。
点击编辑–>虚拟网络配置器
除了已有的VMnet8、VMnet1,再添加两个网络。
把使用本地DHCP服务将IP地址分配给虚拟机去掉勾选
子网一个设定成172.16.1.0,一个设成10.0.1.0
然后给node1添加两块网卡:
原有的网卡请选择VMnet8(NAT模式)
新添加的网卡一个选择VMnet2,一个选择VMnet3
然后打开node1
ip addr
应该是有ens33,ens34,ens38三块网卡,其中ens33有ip,其他两块没有ip。
我们需要给ens34,ens38创建配置文件他们才能使用
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens34
cp ifcfg-ens33 ifcfg-ens38
vi ifcfg-ens34
vi ifcfg-ens38
改动name,device,ipaddr,gateway,hwaddr即可
systemctl restart network
ip addr
配置 /etc/hosts
node1的三个ip地址就设置完了,其他节点同理。
配置nfs
NFS服务器与前面一样,详情查看KVM学习(九)
安装nfs-utils
防火墙:
systemctl enable firewalld
systemctl start firewalld
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=bind
firewall-cmd --permanent --add=service=mountd
firewall-cmd --reload
配置/etc/exports
在每个节点测试读写
在node1,2上mount nfs服务器
配置/etc/fstab
mkdir /vm
mount 10.0.1.240:/nfsshare /vm
配置SELinux
setsebool -P virt_use_nfs 1
安装测试用的虚拟机
node1和node2安装kvm模块包
modprobe kvm
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer -y
用virt-install在本地安装一个虚拟机centos7m
将centos7m的映像文件mv到/vm下,修改配置文件,把device的地址改成/vm/centos7m.qcow2
virsh edit centos7.0
测试迁移,用virt-manager和virsh均可。
创建虚拟机资源
在群集中,虚拟机是一种资源,所有节点都应该可以访问虚拟机配置文件和磁盘镜像文件,虚拟机也应该是由群集软件控制而不是libvirtd控制。
具体做法是把虚拟机的镜像和配置文件都放到共享存储上,新建一个放配置文件的目录qemu_config,然后用virsh取消对虚拟机的控制,再通过pcs创建虚拟机
上次实验已经建好了一个群集,把它删了
pcs cluster destroy --all
然后重新验证,当然我们上回给hacluster设的密码是还在的。这次创建一个群集用上心跳网ip
pcs cluster auth node1 node2
pcs cluster setup --name cluster1 node1-cr node2-cr
/etc/corosync/corosync.conf可以看到群集的信息
pcs cluster start --all
把配置文件弄到共享里
mkdir /vm/qemu_config
cd /etc/libvirt/qemu/
cp centos7.0.xml /vm/qemu_config
转移控制权
virsh undefine centos7.0