Openstack云平台运维手册
Openstack运维手册
2017年7月18日
目录
Openstack运维手册 (1)
一、健康检查 (3)
1、认证模块检查 (3)
2、计算模块检查 (3)
3、网络模块检查 (4)
4、存储模块检查 (4)
5、镜像模块检查 (5)
6、检查 Horizon 服务 (5)
7、分布式存储检查 (5)
二、运维命令 (6)
1、虚拟机开通 (6)
2、安全组管理 (6)
3、创建和挂载弹性云硬盘 (7)
4、创建网络 (7)
5、镜像上传与格式转换 (8)
6、虚拟机模板管理 (8)
三、日志检查 (8)
四、常见故障实战模拟 (9)
4.1、虚拟机不通 (9)
4.1.1、测试ICMP告警 (9)
4.1.2、查找物理机 (9)
4.1.3 、物理机网络判断 (10)
4.1.3.1、物理机通、承载的虚拟机网络不通 (10)
4.1.3.2、物理机通、承载的虚拟机网络通 (10)
4.2、物理机网络不通 (10)
4.2.1 、疏散后状态异常 (11)
4.2.2、疏散失败 (12)
4.2.3 、疏散失败导致任务状态异常 (12)
***执行任何openstack命令之前都必须运行openstack的环境变量source /root/admin-openrc.sh(每次新开控制台窗口必须执行一次)
一、健康检查
1、认证模块检查
openstack token issue
有输出即可,如输出异常
重启服务即可
service apache2 restart
service memcached restart
2、计算模块检查
nova service-list
所有计算服务的status 必须是 enabled
State 必须是 up
如有服务存在异常,直接重启异常的服务。
service nova-cert restart
service nova-consoleauth restart
service nova-scheduler restart
service nova-conductor restart
service nova-compute restart
3、网络模块检查
neutron agent-list
所有网络服务的alive 必须是:-)
如有服务存在异常,直接重启异常的服务。
service neutron-plugin-openvswitch-agent restart
service neutron-l3-agent restart
service neutron-dhcp-agent restart
service neutron-metadata-agent restart
4、存储模块检查
cinder service-list
所有存储服务的status 必须是 enabled
State 必须是 up
如有服务存在异常,直接重启异常的服务。
service cinder-scheduler restart
service cinder-api restart
service cinder-volume restart
5、镜像模块检查
glance image-list
有输出即可,如输出异常
重启服务即可
service glance-registry restart
service glance-api restart
6、检查 Horizon 服务
ps -ef | grep apache2
如有输出horizon用户执行apache2命令即可
如异常重启memcached
service memcached restart
7、分布式存储检查
ceph –s
Health 必须是 HEALTH_OK
如遇到mon或者osd down
重启对应节点服务即可,查询节点命令
ceph osd tree
重启服务命令
/etc/init.d/ceph start osd.x
二、运维命令
1、虚拟机开通
查询现有的虚拟机模拟
nova flavor-list
查询当前的虚拟机镜像
nova image-list
创建虚拟机
Nova boot --flavor name --image name
--nic net-id=4d42b06a-5b86-4d20-a249-4d0e9f7a8162 --security-group default test1
查看虚拟机状态
nova show id
当 vm_state 状态显示为 active 时,说明虚拟机部署完毕,可以使用了
2、安全组管理
创建一个安全组
nova secgroup-create test “this is a test”
查看所有的安全组
nova secgroup-list
向安全组添加规则
允许来自 192.168.0.1 的 ICMP 和 ssh 流量
nova secgroup-add-rule test tcp 22 22 192.168.0.1/0
nova secgroup-add-rule test icmp -1 -1 192.168.0.1/0
如果虚拟主机运行 Windows 系统,则添加一条允许建立 TCP 连接的规则 nova secgroup-add-rule test tcp 3389 3389 192.168.0.1/0
查看安全组所有配置规则
nova secgroup-list-rules test
从安全组中删除允许来自 192.168.0.1 的 TCP 流量规则
nova secgroup-delete-rule test tcp 22 22 192.168.0.1/0
删除安全组
nova secgroup-delete test
3、创建和挂载弹性云硬盘
查看已创建的云硬盘
nova volume-list
创建一块新的云硬盘,名称为 test_disk,大小为 10G
nova volume-create --display_name test_disk 10
查看新创建云硬盘 test_disk 的详细信息
nova volume-show id
**注意:新创建的云硬盘 test_disk ,此时还没有挂载到任何虚拟主机中。
删除新创建的云硬盘
nova volume-delete a6cb97b7-145d-4acc-94ae-e3425d76254e
将新创建的云硬盘 test_disk 挂载到指定的云主机 test 上
nova volume-attach test a6cb97b7-145d-4acc-94ae-e3425d76254e
将云硬盘从云主机 test 上卸载
nova volume-detach test a6cb97b7-145d-4acc-94ae-e3425d76254e
4、创建网络
查看所有的网络
neutron net-list
查看子网设置
neutron subnet-list
创建弹性公网 IP 池
neutron subnet-create ext-net 10.9.0.0/24 --name ext-subnet --allocation-pool start=10.9.0.113,end=10.9.0.140 --disable-dhcp --gateway 10.9.0.254
创建一个弹性 IP 给当前租户
nova floating-ip-create ext-net
将 IP 地址分配给虚拟机
nova add-floating-ip vm_id 10.1.253.164
5、镜像上传与格式转换
转换成raw格式
qemu-img convert -f qcow2 -O raw *.img *.raw
上传镜像
glance image-create --name "*.raw" --file *.raw --disk-format raw --container-format bare –progress
6、虚拟机模板管理
创建虚拟机模板
nova flavor-create test ID ram disk cpu
例:nova flavor-create test 6 512 100 2
查看虚拟机模板状态
nova flavor-list
三、日志检查
Nova 日志目录:
/var/log/nova/*.log
Horizon 日志目录:
/var/log/apache2 /*.log
Cinder 日志目录:
/var/log/cinder/*.log
Keystone 日志目录:
/var/log/keystone/*.log
Glance 日志目录:
/var/log/glance/*.log
Neutron 日志目录:
/var/log/neutron/*.log
Ceph 日志目录:
/var/log/ceph/*.log
四、常见故障实战模拟
4.1、虚拟机不通
虚拟机IP不通告警,(邮件提醒ICMP 10.36.8.230不通)
4.1.1、测试ICMP告警
首先自行测试IP是否通,也有可能由于网络闪断、或者负载过高导致网络异常,短暂时间会恢复
4.1.2、查找物理机
如网络确实不通,查找该虚拟机上承载的物理机信息
利用虚拟机IP调命令nova list|grep 筛选出虚拟机名称和ID号
利用ID号,nova show ID 找出承载虚拟机的物理机。
4.1.3 、物理机网络判断
由上图可以看到故障虚拟机上的物理机是comput29,在其所属成都集群上Ping主机,如果通,则进行下一步判断,如果不通,择将虚拟机迁移到其他物理机上,详细操作见后面。
4.1.3.1、物理机通、承载的虚拟机网络不通
物理主机是通的,虚拟机不通,可查找承载该物理机上的其他虚拟机网络状态是否一致
,如所有虚拟机都不通,则重启该物理机上的neutron服务。
root@compute2:~# service neutron-linuxbridge-agent restart
等十几秒后再次尝试ping故障虚拟机和其他虚拟机
如未能解决,则迁移。
4.1.3.2、物理机通、承载的虚拟机网络通
物理主机是通的,只有这台虚拟机不通,则从web页面进入操作系统,看系统是否卡死、或者系统损坏
如系统卡死,可直接重启启动、看网络状态是否恢复,可进入虚拟机操作系统,ifconfig 查看;
如遇系统损坏,暂不处理。
如虚拟机重启后仍无法通,则迁移。
4.2、物理机网络不通
无论物理机是宕机还是网卡异常。直接将物理机上的虚拟机疏散(迁移)出去。
目标主机要在管理程序上找比较空闲的机器进行疏散
疏散后切换到选择的物理机查看迁移后的状态,测试网络是否正常,如不正常则手动重启虚拟机。
4.2.1 、疏散后状态异常
如迁移后虚拟机状态异常,则后台修改数据库。
Mysql -u root -p -h 10.36.1.100(10.36.2.100\10.36.3.100)
Use nova;
update instances set power_state='4',vm_state='stopped' where uuid='1329434e-715d-48c8-aa80-f066ac809873';
直接启动即可。
4.2.2、疏散失败
如果疏散失败,则手动修改数据库进行人工迁移。(疏散失败就是一直在原来的物理机)
修改数据库信息后手动重启虚拟机。
Mysql -u root -p -h 10.36.1.100(10.36.2.100\10.36.3.100)
Use nova;
update instances set power_state='4',vm_state='stopped',host='compute39',launched_on='compute39',node='compute39' where uuid='1329434e-715d-48c8-aa80-f066ac809873';
4.2.3 、疏散失败导致任务状态异常
如遇到任务一直卡主某个状态,刷新数据库,正常状态是无。
Mysql -u root –p
Use nova;
#update instances set task_state=null;