在测试HA方案时,会用到很多CLI命令去查看当前节点的状态和信息。其中有一些经验总结,如下:
1. 相互疏散的节点是Status为enabled的computer节点
2. Computer节点为disabled时,将不会有新的VM实例调度过去
3. 测试关机状态
就是在物理机上关闭电源,从而所有网络都是不通的
4. 当所有网络都不通时,该如何处理?
就是会选择不到任何一个合适的目标主机,执行完evacuate后该实例还在原节点
5. 查看日志
cd /var/log/nova
接下来介绍一些常用命令:
controller控制节点上:
1. 要执行nova命令,先执行: .admin-openrc.sh 或者 source admin-openrc.sh
2. 查看帮助:nova help
3. 查看服务列表:nova service-list
该命令获取的是nova数据库的数据,State信息不一定会及时更新。所以在computer-02执行 systemctl restart openstack-nova-compute 让computer重启后,这里命令获取的computer-02的State不一定是up。
4. 查看目标主机在跑的实例
nova hypervisor-servers computer-01
5. 列出所有实例:nova list --all-ten
6. 查看computer-02的services状态
nova service-list | grep -i computer-02 | awk -F "|" '{print $7}'
7. 列出所有host
nova host-list | grep compute
8. 实例从status:ERROR 和PowerState:NOSTATE -> ACTIVE Running
(1)重置虚拟机
nova reset-state 6bc7f520-5b82-4854-a567-371f3b38227e --active
(2)硬重启
nova reboot -hard 6bc7f520-5b82-4854-a567-371f3b38227e
9. 查看实例信息
nova show 6bc7f520-5b82-4854-a567-371f3b38227e
10. 删除虚拟机
nova delete 6bc7f520-5b82-4854-a567-371f3b38227e
11. 查看资源使用状态
nova hypervisor-stats
12. 将虚拟机从shutoff关机状态启动
nova start 6956c4f1-b2a7-48d1-b816-f86830ada266
13. 将计算节点的Status由disabled变为enabled
nova service-enable computer-02 nova-compute
互换:
nova service-disable computer-02 nova-compute
computer计算节点上:
1. 登录computer-02:ssh computer-02
2. 列出计算节点在线的虚拟机
virsh list --all
有数据显示的前提是computer的状态state为up
3. 存放虚拟机实例的路径
/var/lib/nova/instances
进入某个实例,查看虚拟机实例配置文件:cat libvirt.xml
4. 查看节点状态
systemctl status openstack-nova-compute
5. computer上重启nova服务
systemctl restart openstack-nova-compute
执行成功的话,computer的状态变为up,可在controller上用nova service-list进行查看
6. evacuate之后要把原主机上的实例undefine掉
for did in 'virsh list --all|awk '{print $2}' | grep -v "^$" | grep -v "Name"'; do virsh undefine $did; done
7. 批量删除nova
for m in 'nova list --all-ten | awk '{print $2}' | grep -v "^$" | grep -v "ID" '; do nova delete $m; done
8. 清除实例
virsh undefine instance-00000462
9. 找到所有qemu-kvm实例并干掉
ps -ef | grep qemu-kvm | grep -v grep | awk '{print $2}' | xargs -i kill -9 {}
10. 启动/停掉网卡
ifdown eth3
ifup eth3
另:外部网 ifup br-ex 管理网:ifup br-mgmt
11. 查看网关
(1)Ifconfig
只会显示所有up的网关(比如,执行ifdown br-ex就看不到br-ex网卡)
(2)ip a