Openstack运维手册2017年7月18日目录***执行任何openstack命令之前都必须运行openstack的环境变量source/root/(每次新开控制台窗口必须执行一次)一、健康检查1、认证模块检查openstacktokenissue有输出即可,如输出异常重启服务即可serviceapache2restartservicememcachedrestart2、计算模块检查novaservice-list所有计算服务的status必须是enabledState必须是up如有服务存在异常,直接重启异常的服务。
servicenova-certrestartservicenova-consoleauthrestartservicenova-schedulerrestartservicenova-conductorrestartservicenova-computerestart3、网络模块检查neutronagent-list所有网络服务的alive必须是:-)如有服务存在异常,直接重启异常的服务。
serviceneutron-plugin-openvswitch-agentrestart serviceneutron-l3-agentrestart serviceneutron-dhcp-agentrestart serviceneutron-metadata-agentrestart4、存储模块检查cinderservice-list所有存储服务的status必须是enabledState必须是up如有服务存在异常,直接重启异常的服务。
servicecinder-schedulerrestart servicecinder-apirestartservicecinder-volumerestart5、镜像模块检查glanceimage-list有输出即可,如输出异常重启服务即可serviceglance-registryrestartserviceglance-apirestart6、检查Horizon服务ps-ef|grepapache2如有输出horizon用户执行apache2命令即可如异常重启memcached servicememcachedrestart7、分布式存储检查ceph–sHealth必须是HEALTH_OK如遇到mon或者osddown重启对应节点服务即可,查询节点命令cephosdtree重启服务命令/etc/二、运维命令1、虚拟机开通➢查询现有的虚拟机模拟novaflavor-list➢查询当前的虚拟机镜像novaimage-list➢创建虚拟机Novaboot--flavorname--imagename--nicnet-id=4d42b06a-5b86-4d20-a249-4d0e9f7a8162--security-groupdefaulttest1➢查看虚拟机状态novashowid当vm_state状态显示为active时,说明虚拟机部署完毕,可以使用了2、安全组管理➢创建一个安全组novasecgroup-createtest“thisisatest”➢查看所有的安全组novasecgroup-list➢向安全组添加规则允许来自的ICMP和ssh流量novasecgroup-add-ruletesttcp2222novasecgroup-add-ruletesticmp-1-1➢如果虚拟主机运行Windows系统,则添加一条允许建立TCP连接的规则novasecgroup-add-ruletesttcp➢查看安全组所有配置规则novasecgroup-list-rulestest➢从安全组中删除允许来自的TCP流量规则novasecgroup-delete-ruletesttcp2222➢删除安全组novasecgroup-deletetest3、创建和挂载弹性云硬盘➢查看已创建的云硬盘novavolume-list➢创建一块新的云硬盘,名称为test_disk,大小为10Gnovavolume-create--display_nametest_disk10➢查看新创建云硬盘test_disk的详细信息novavolume-showid**注意:新创建的云硬盘test_disk,此时还没有挂载到任何虚拟主机中。
➢删除新创建的云硬盘novavolume-deletea6cb97b7-145d-4acc-94ae-e3425d76254e➢将新创建的云硬盘test_disk挂载到指定的云主机test上novavolume-attachtesta6cb97b7-145d-4acc-94ae-e3425d76254e➢将云硬盘从云主机test上卸载novavolume-detachtesta6cb97b7-145d-4acc-94ae-e3425d76254e4、创建网络➢查看所有的网络neutronnet-list➢查看子网设置neutronsubnet-list➢创建弹性公网IP池neutronsubnet-createext-net--nameext-subnet--allocation-pool--disable-dhcp--gateway➢创建一个弹性IP给当前租户novafloating-ip-createext-net➢将IP地址分配给虚拟机novaadd-floating-ipvm_id5、镜像上传与格式转换➢转换成raw格式qemu-imgconvert-fqcow2-Oraw*.img*.raw➢上传镜像glanceimage-create--name"*.raw"--file*.raw--disk-formatraw--container-formatbare–progr ess6、虚拟机模板管理➢创建虚拟机模板novaflavor-createtestIDramdiskcpu例:novaflavor-createtest➢查看虚拟机模板状态novaflavor-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四、常见故障实战模拟、虚拟机不通虚拟机IP不通告警,(邮件提醒ICMP、测试ICMP告警首先自行测试IP是否通,也有可能由于网络闪断、或者负载过高导致网络异常,短暂时间会恢复、查找物理机如网络确实不通,查找该虚拟机上承载的物理机信息利用虚拟机IP调命令novalist|grep筛选出虚拟机名称和ID号利用ID号,novashowID找出承载虚拟机的物理机。
、物理机网络判断由上图可以看到故障虚拟机上的物理机是comput29,在其所属成都集群上Ping主机,如果通,则进行下一步判断,如果不通,择将虚拟机迁移到其他物理机上,详细操作见后面。
、物理机通、承载的虚拟机网络不通物理主机是通的,虚拟机不通,可查找承载该物理机上的其他虚拟机网络状态是否一致,如所有虚拟机都不通,则重启该物理机上的neutron服务。
root@compute2:~#serviceneutron-linuxbridge-agentrestart等十几秒后再次尝试ping故障虚拟机和其他虚拟机如未能解决,则迁移。
、物理机通、承载的虚拟机网络通物理主机是通的,只有这台虚拟机不通,则从web页面进入操作系统,看系统是否卡死、或者系统损坏如系统卡死,可直接重启启动、看网络状态是否恢复,可进入虚拟机操作系统,ifconfig查看;如遇系统损坏,暂不处理。
如虚拟机重启后仍无法通,则迁移。
、物理机网络不通无论物理机是宕机还是网卡异常。
直接将物理机上的虚拟机疏散(迁移)出去。
目标主机要在管理程序上找比较空闲的机器进行疏散疏散后切换到选择的物理机查看迁移后的状态,测试网络是否正常,如不正常则手动重启虚拟机。
、疏散后状态异常如迁移后虚拟机状态异常,则后台修改数据库。
Mysql-uroot-p-hUsenova;updateinstancessetpower_state='4',vm_state='stopped'whereuuid='1329434e-715d-48c8-aa80-f066ac809873';直接启动即可。
、疏散失败如果疏散失败,则手动修改数据库进行人工迁移。
(疏散失败就是一直在原来的物理机)修改数据库信息后手动重启虚拟机。
Mysql-uroot-p-hUsenova;updateinstancessetpower_state='4',vm_state='stopped',host='compute39',launched_on='compute39',node='compute39'whereuuid='13294 34e-715d-48c8-aa80-f066ac809873';、疏散失败导致任务状态异常如遇到任务一直卡主某个状态,刷新数据库,正常状态是无。
Mysql-uroot–pUsenova;#updateinstancessettask_state=null;。