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
# 主机名更改后,执行下面命令生效
$ bash
source /etc/profile
关闭防火墙及selinux
在生产环境中,建议防火墙放行内网网段即可。selinux设置为permissive
模式。
# 关防火墙
$ systemctl stop firewalld && systemctl disable firewalld
# 关selinux
setenforce 0
sed -i 's#^SELINUX=.*#SELINUX=permissive#g' /etc/selinux/config
sed -i 's#^SELINUX=.*#SELINUX=permissive#g' /etc/sysconfig/selinux
配置时间同步
# 同步management时间
$ mv /etc/chrony.conf{,.bak}
cat > /etc/chrony.conf << EOF
server 192.168.20.2 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
logdir /var/log/chrony
EOF
# 重启chronyd
systemctl enable chronyd && systemctl restart chronyd
配置yum源
这一步主要是将默认的国外yum源配置为国内阿里的yum,如果你有自己内网的yum源服务器,请跳过此步骤。
# 更换为阿里云源
$ mkdir /etc/yum.repos.d/bak
mv /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.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
cat > /etc/yum.repos.d/cloudstack.repo << 'EOF'
[cloudstack]
name=cloudstack
baseurl=http://download.cloudstack.org/centos/$releasever/4.15/
enabled=1
gpgcheck=0
EOF
节点确保可查看到共享目录:
$ showmount -e 192.168.20.4
Export 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 << EOF
TYPE=Ethernet
DEVICE=ens33
ONBOOT=yes
BRIDGE=cloudbr0
EOF
cat > /etc/sysconfig/network-scripts/ifcfg-cloudbr0 << EOF
DEVICE=cloudbr0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.20.6
GATEWAY=192.168.20.1
DNS1=223.5.5.5
EOF
# 修改完成后,务必检查是否修改正确,网卡名称、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 0
kvm 586948 1 kvm_intel
irqbypass 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、查看是否迁移成功:
至此,验证完成。