date: 2021-02-28title: cloudstack增加kvm计算节点 #标题
tags: cloudstack #标签
categories: cloudstack # 分类
这篇博文将在 cloudstack + kvm部署实践 的基础上新增一个kvm计算节点。
环境准备
cloudstack + kvm部署实践 博文的正常运行环境,以及一个新的计算节点:IP为192.168.6,4g4c,CPU支持虚拟化,如下:

修改主机名
# 根据实际情况设置主机名$ hostnamectl set-hostname kvm2# 主机名更改后,执行下面命令生效$ bashsource /etc/profile
关闭防火墙及selinux
在生产环境中,建议防火墙放行内网网段即可。selinux设置为permissive模式。
# 关防火墙$ systemctl stop firewalld && systemctl disable firewalld# 关selinuxsetenforce 0sed -i 's#^SELINUX=.*#SELINUX=permissive#g' /etc/selinux/configsed -i 's#^SELINUX=.*#SELINUX=permissive#g' /etc/sysconfig/selinux
配置时间同步
# 同步management时间$ mv /etc/chrony.conf{,.bak}cat > /etc/chrony.conf << EOFserver 192.168.20.2 iburstdriftfile /var/lib/chrony/driftmakestep 1.0 3rtcsynclogdir /var/log/chronyEOF# 重启chronydsystemctl enable chronyd && systemctl restart chronyd
配置yum源
这一步主要是将默认的国外yum源配置为国内阿里的yum,如果你有自己内网的yum源服务器,请跳过此步骤。
# 更换为阿里云源$ mkdir /etc/yum.repos.d/bakmv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repowget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repocat > /etc/yum.repos.d/cloudstack.repo << 'EOF'[cloudstack]name=cloudstackbaseurl=http://download.cloudstack.org/centos/$releasever/4.15/enabled=1gpgcheck=0EOF
节点确保可查看到共享目录:
$ showmount -e 192.168.20.4Export list for 192.168.20.4:/export/primary */export/secondary *
配置cloudstack-agent
修改网络配置
主要是生成一个网桥设备,以便VM都可以连接到此网桥。
# 备份源网卡配置文件$ cp /etc/sysconfig/network-scripts/ifcfg-ens33{,_$(date +%F_%H).bak}# 修改网卡配置文件cat > /etc/sysconfig/network-scripts/ifcfg-ens33 << EOFTYPE=EthernetDEVICE=ens33ONBOOT=yesBRIDGE=cloudbr0EOFcat > /etc/sysconfig/network-scripts/ifcfg-cloudbr0 << EOFDEVICE=cloudbr0TYPE=BridgeONBOOT=yesBOOTPROTO=staticIPADDR=192.168.20.6GATEWAY=192.168.20.1DNS1=223.5.5.5EOF# 修改完成后,务必检查是否修改正确,网卡名称、IP地址与你的实际环境是否一致# 确认无误后,重启网络服务$ systemctl restart network
安装cloudstack-agent
# 下载rpm包(如果下载较慢,请使用windows下的多线程工具,如NDM等先下载到本地,再上传至服务器)$ wget http://download.cloudstack.org/centos/7/4.14/cloudstack-common-4.14.0.0-1.el7.x86_64.rpm$ wget http://download.cloudstack.org/centos/7/4.14/cloudstack-agent-4.14.0.0-1.el7.x86_64.rpm# 安装cloustack-agent$ yum -y install cloudstack-agent-4.14.0.0-1.el7.x86_64.rpm \cloudstack-common-4.14.0.0-1.el7.x86_64.rpm
确认加载kvm模块
$ lsmod | grep kvm # 输出如下,则表示已加载kvm_intel 183621 0kvm 586948 1 kvm_intelirqbypass 13503 1 kvm
修改libvirt默认配置
# 修改vnc默认监听地址$ sed -i 's/^#vnc_listen =.*/vnc_listen = "0.0.0.0"/g' /etc/libvirt/qemu.conf# 指定cloudstack-management地址$ MGR_IP=192.168.20.2 # 将其替换为你的实际manager地址。$ sed -i "s/host=.*/host=${MGR_IP}/g" /etc/cloudstack/agent/agent.properties# 重启libvirt$ systemctl restart libvirtd
启动cloudstack-agent并加入开机自启
$ systemctl start cloudstack-agent && systemctl enable cloudstack-agent
management添加计算节点
登录到管理节点控制台,进行如下操作:
1、添加主机

2、稍等片刻,刷新页面,即可看到添加成功:

验证可用性
我们这里的虚机主存储是放在nfs共享存储上的,所以其支持虚机热迁移,那么现在就开始将虚机迁移到新加入的计算节点。
1、查看虚机当前所在主机节点:

2、持续ping虚机
找台可以和虚机通信的节点,持续ping虚机IP,以便观察在迁移过程中是否会中断网络通信(我这里就在本地电脑上了):

如上所述,虚机IP为192.168.30.99,那么就ping这个地址(命令:ping -t 192.168.30.99):

3、开始迁移:

4、选择迁移的目标主机:

5、查看ping结果:
在迁移过程中,可能会有一两个包耗时较久,或者请求超时,取决于你的网络环境,如下:

6、查看是否迁移成功:

至此,验证完成。
