版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Nova计算资源管理EasyStack Inc.设置环境变量rootnode-1 # source openrcNova组件状态检查rootnode-1 # nova service-list根据输出,查看State是否存在down的情况,如果没有证明整个集群工作正常。如果有down的情况需及时进行处理。 Nova服务down掉,不会影响虚机运行, 但对相关物理机上的虚机操作会有影响(如开关机,迁移等等)。可尝试重启相应服务。Nova常用命令列出可用的实例 nova list -all-tenantnova list -all-tenant -host node-4.domain.tldNov
2、a常用命令rootnode-1 # nova show testvm01Nova常用命令列出可用的flavorrootnode-1 # nova flavor-list定制flavor,flavor name=test500 flavor id=500 ram=512Mb cpu=2rootnode-1 # nova flavor-create test500 500 512 1 2Nova常用命令-创建虚机创建一个vm实例-image 后面加镜像UUID,使用glance image-list查看-flavor 后面加flavor的UUID,使用nova flavor-list查看,也可以新
3、建flavor-nic net-id 后面加网络UUID,使用neutron net-list查看,主要是net,部署subnet-availability-zone 如果不指定由nova-scheduler根据策略自动指定主机部署, 默认是nova。可以通过zone_name:node-name将虚拟机部署到指定的主机上面,比如:Internal_Zone:node-11.domain.tld前面是zone名称,后面是宿主机的主机名Nova常用命令-创建虚机先获取flavor id: nova flavor-list |grep 500获取image id: glance image-lis
4、t获取网络 id: neutron net-list创建vm 实例testvm01nova boot -image f911dbae-aaee-4969-8b99-c535d6e18eaa -flavor test500 -nic net-id=b21a53d6-b4c0-4e49-ac78-50a8d66c310f testvm01启动/关闭/删除一个虚机获取实例的id: nova list通过指定实例id启动实例nova start 3f84a737-e26b-4cee-a5d9-ff44d9458172通过指定实例关闭实例nova stop 3f84a737-e26b-4cee-a5d9
5、-ff44d9458172通过指定实例id删除实例nova delete 3f84a737-e26b-4cee-a5d9-ff44d9458172Nova常见问题-服务相关A. Compute服务down nova服务分布在控制节点和计算节点上。 其中控制节点上有Nova-cert,nova-consoleauth,nova-scheduler,nova-conductor, 计算节点上只有 pute服务。其中控制节点上nova服务down掉的几率不大。 计算节点 pute服务down掉时, 先检查相应节点的网络连接,确认管理网络正常。网络检查正常后,可尝试ssh至问题节点,/etc/init
6、.d/openstack- pute restart 来尝试重启 pute服务。 此操作不会影响正在运行的虚机。Nova常见问题-服务相关B pute服务无法重启 在重启 pute服务后,可执行/etc/init.d/openstack- pute status 来确认服务是否正常启动。 如果现实pid xxxx is running. 则服务正常。 有时会有 progress is not rugnning but pid file exist 的报错。 此时需要删除 /var/run/nova/ pute.pid 文件, 再次重启即可。 如果还有问题,请检查系统rsyslog服务,一般出现
7、这种情况,都是由于系统rsyslog服务卡死,先重启rsyslog服务后,再检查compute服务。Nova常见问题-虚机操作问题A .部署,迁移,调整虚机失败有时,由于某些原因,虚机在迁移,修改大小后报错,虚机状态为”error”, 可用下列命令恢复其状态nova reset-state -active这种问题出现的可能性有很多, 需要分析相应的log。 分析日志的顺序为控制节点上的nova-api.log- nova-conductor.log-nova-scheduler.log 如果都没问题, 则检查相应计算节点上的 pute.log。Nova常见问题-虚机操作问题B. 创建虚拟机失败
8、 创建虚拟机是一个复杂的操作,涉及到openstack很多的服务。 当用户提交创建虚拟机的请求时,请求首先会到达nova-api服务,nova-api 会记录用户的请求,随后调用 pute完成虚拟机的创建工作。在创建虚拟机的过程中, pute会调用glance获取镜像,调用neutron创建网卡,调用cinder挂载volume,调用ceph创建系统盘。 任何一个步骤失败都会导致虚拟机创建失败,所以,在排除虚拟机创建失败的问题时,需要了解openstack的总体架构,熟悉nova创建虚拟机的流程,然后根据虚拟机的状态及nova服务的日志判断创建虚拟机的操作执行到哪步失败了。Nova常见问题-虚
9、机创建失败创建虚拟机的过程中调度失败故障描述: 执行虚拟机创建操作之后,很长时间虚拟机还在“创建中”。虚拟机创建的过程中,需要nova-scheduler服务确定在哪个物理服务器上运行刚刚创建的虚拟机,如果nova-scheduler服务不响应调度任务,则虚拟机可能一直处于scheduling状态。# source /root/openrc# nova show Nova常见问题-虚机创建失败字段含义status在浏览器里面,用户看到的状态。status是虚拟机task_state、vm_state、power_state综合起来的结果。OS-EXT-STS:task_statenova管理服
10、务正在对虚拟机执行的操作。如果为-,则表示没有人在管理此虚拟机。OS-EXT-SRV-ATTR:host虚拟机所在宿主机的hostname。如果为-,则表示虚拟机还没有确定,一般在刚创建虚拟机的过程中,调度器还没有完成调度时会显示为该状态。如果OS-EXT-STS:task_state为scheduling, 而且 OS-EXT-SRV-ATTR:host 为-,则表示还在等待调度程序确定运行虚拟机的宿主机。由此可以判断nova-scheduler服务出问题了。如果调度没有问题,或者没有可用的宿主机,调度程序都会很快返回,不会一直停留在scheduling的状态。Nova常见问题-虚机创建失败
11、解决方法出现上面的故障有两种可能性,一种是整个集群没有可用的nova-scheduler实例;另一种是nova-scheduler服务出问题了。对此,首先要查看整个集群是否有nova-scheduler服务在运行。查看方法如下:nova service-list | grep scheduler 整个集群至少需要一个nova-scheduler实例处于up状态。需如果集群中至少有一个nova-scheduler实例的状态是up的,我们就需要查看查看nova-scheduler的日志来进一步确定原因了。到控制节点上,查看/var/log/nova/scheduler 日志。tail -f /va
12、r/log/nova/scheduler nova-scheduler服务不能正常工作最常见的一个原因是连不上RabbitMQ服务,或者能连上就是不消费队列中的消息。为此需要查看消息队列中nova-scheduler服务未消费的消息数目。具体方法是在控制节点上执行下面的命令: nova-scheduler服务使用的队列名称是以scheduler开头,每个nova-scheduler会监听两个队列,一个是 scheduler.server-xx 表示这个实例运行在 server-xx 上面;scheduler_fanout_xxxxx 这个队列是用来接收调度服务的广播消息。如果这些队列中的消息数
13、量一致大于零,就表示队列中的消息没有人消费。对于这种情况,可以重启下 所有的 nova-scheduler 实例看看问题是否能得到解决。/etc/init.d/openstack-nova-scheduler restartNova常见问题-虚机创建失败创建虚拟机过程中报NoValidHost执行虚拟机创建操作之后,虚拟机的状态没有变为“运行中”,而是变为了“错误”,用 nova show 查看虚拟机状态,发现关键字 NoValidHost登录控制节点,执行下面的命令显示虚拟机的详细信息:# source /openrc# nova show (虚拟机UUID是创建失败的虚拟机的UUID)如上
14、图所示,关键信息是 fault 字段中包含了 No valid host was found 这样的信息。如果出现这类关键信息,可以参考下面的解决办法。Nova常见问题-虚机创建失败上面的错误信息是nova-scheduler服务返回的,表明上的意思是没有可用的宿主机,也就是说请求的资源太多了,现在集群中没有哪个宿主机有那么多资源,所以请求失败。由于nova-scheduler会封装 pute所遇到的错误,所以上面的消息不一定准确。为了确定确切的原因,可以通过如下的命令来查看整个集群的资源占用情况。字段名称含义memory_mb所有宿主机内存总量memory_mb_used已经分配给虚拟机的内
15、存总量;openstack允许内存复用比大于一,所以,这个值可能比 memory_mb 还大vcpus所有宿主机中cpu数量(总线程) vcpus_used已分配的虚拟机的vcpus总量;openstack允许CPU复用比大于一,所以,这个值可能比 vcpus 还大running_vms已经创建的虚拟机的总数,包括关机状态的虚拟机Nova常见问题-虚机创建失败以及命令;nova hypervisor-show node-x.domain.tld 来查看单台服务器的使用情况。 如果集群系统不够用了,上面统计的已经分配给虚拟机的 vcpus & 内存应该都比较高。否则的话,有可能是 pute上某些
16、操作执行失败了。默认情况下,调度器会尝试三次,在不同的宿主机上运行虚拟机,如果都失败,也会报 No valid host 的错误。具体错误,可以查看scheduler.log pute创建虚拟机失败可能有很多原因,可能是创建系统盘失败,也可能是调用neutron创建网卡失败,也可能是 虚拟化层的错误。对于这种情况,需要进一步查看 pute及相关服务的日志确定具体的原因。具体方法如下:# cat pute.log | grep -v INFO | grep -v AUDIT | lessrootnode-1 # tail -f /var/log/nova/nova-scheduler.logNo
17、va常见问题-虚机创建失败也可以不使用某些filter, 如忽略掉内存不足的情况,强行部署虚机。 可在/etc/nova/nova.conf文件中修改下列配置:Nova常见问题-虚机创建失败创建虚拟机过程中申请内存失败执行虚拟机创建操作之后,虚拟机的状态没有变为“运行中”,而是变为了“错误”,用 nova show 查看虚拟机状态,发现关键字 Cannot allocate memory.由于openstack允许的内存复用比是可配置的,而且可以大于1,所以,有的时候物理机的可用内存可能所剩无几,但是nova-scheduler可能仍然会将虚拟机调度到该物理机运行。当 pute调用底层的虚拟化
18、组件运行虚拟机时,虚拟化组件可能会因为申请不到足够的内存而失败。如果是这种原因导致了创建虚拟机失败,那么在虚拟机状态、 pute的日志、libvirt的日志中都会记录相关的错误。所以,还是比较好定位。 查看 pute的日志,可以看到类似的错误。具体日志如下: 5792957c-7935-422a-bd72-7da744c731cb Cannot set up guest memory pc.ram: Cannot allocate memory2015-12-08 14:16:22.726 117355 TRACE pute.manager instance: 5792957c-7935-42
19、2a-bd72-7da744c731cb如果有这种日志,就可以确定是因为创建虚拟机失败的原因是内存不足。Nova常见问题-虚机创建失败 如果创建虚拟机因为内存不足而失败,需要检查是不是虚拟机所请求的内存太大了。如果不是,可能是因为集群内存使用率已经比较高了。这时候,需要检查所有计算节点的内存占用情况。如果总体内存占用比价高,就需要清理空闲的资源,或者进行扩容了。另外如果创建出来的虚拟机如果都是运行比较耗内存的业务,最好将内存的复用比调低。具体的方法是修改计算节点的配置文件,调整 DEFAULT section下面的 ram_allocation_ratio,将其设置为1.0 或者更低(因为其他
20、服务也需要消耗内存)。具体如下:# cat /etc/nova/nova.confDEFAULT ram_allocation_ratio = 1.0修改完配置之后,还需要重启 pute 才能生效。Nova常见问题-VNC无法使用VNC常见问题为方便用户登录和管理虚拟机,openstack提供了vnc代理服务,用户通过浏览器就可以访问虚拟机的终端,为用户的管理提供了很大的方便。由于vnc代理服务也是要多个服务相互协作才能完成,此外还和虚拟机的状态也有关系,所以也比较容易出问题。用户通过浏览器访问虚拟机的过程大致如下:1. 浏览器给nova-api发送请求,获取虚拟机的console的URLa.
21、 请求首先到达nova-api,nova-api再转给 puteb. pute调用底层的虚拟化接口,获取vnc server的地址和端口号,并生产一个随机的token,并通过nova-consoleauth对token进行授权。c. pute将vnc server的连接地址和token组合成一个URL返回给浏览器。2. 浏览器获取console URL之后,连接nova-novncproxy服务,建立websocket连接a. 浏览器连接nova-novncproxy获取静态文件、css文件、js脚本b. js脚本连接到nova-novncproxy建立websocket连接c. nova-n
22、ovncproxy收到websocket连接之后,会连接nova-consoleauth验证用户的token,如果token有效,nova-consoleauth会返回vnc server的连接地址和端口。d. Nova-novncproxy建立websocket到vnc server 的端口转发,一旦端口转发建立起来,用户就可以在浏览器里面登陆虚拟机了。如果 pute服务有问题,第一步就会失败,获取不了console URL;如果websocket建立失败,有可能是虚拟机关机了,也有可能是配置不对,也有可能是nova-novncproxy服务出问题了。Nova常见问题-VNC无法使用问题解决
23、 为了确定VNC登陆虚拟机失败是不是无法获取console URL,只需要登录集群控制节点,然后执行下面的命令就可以知道。# source /openrc# nova get-vnc-console novnc如果命令执行的结果如下,说明正常:如果无法输出可在三个控制节点上,均重启nova-api,nova-consoleauth和nova-novncproxy服务。/etc/init.d/openstack-nova-api restart/etc/init.d/openstack-nova-consoleauth restart/etc/init.d/openstack-nova-novn
24、cproxy restartNova常见问题A. 为虚机挂载加密狗有时某些应用需要为其挂载加密狗,挂载方式如下:1. 首先,通过nova list命令,找到需要挂载加密狗的虚机,以及其uuid2. 其次通过nova show 命令,得到虚机所在的物理机,及其instance-name3. 将加密狗插到node-5上,ssh至node-5 , 执行virsh list -all , 根据instance_name确认虚机是否存在。4. 在node-5上,安装usbutils包。 Yum install usbutils5. 使用lsusb命令,查询插上的加密狗上图中,Aladdin Knowledge System即为加密狗。记住ID 0529:0003Nova常见问题6. 编辑生成usb_device.xml文件#vim usb_device.xmlvendor id即为id的前半部, product id为后半部。7. 挂载加密狗#virsh attach-device usb_device.xmlNova常见问题B. 虚拟机迁移nova live-migrat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安徽省黄山市幼儿园教师招聘笔试备考题库及答案解析
- 2026年马鞍山市金家庄区街道办人员招聘考试模拟试题及答案解析
- 2025年河北省幼儿园教师招聘笔试试题及答案解析
- 2026年昆明市官渡区网格员招聘考试参考题库及答案解析
- 2026一年级上新课标校园生活规则意识
- 2026年四川省雅安市街道办人员招聘笔试备考试题及答案解析
- 2026年双鸭山市宝山区幼儿园教师招聘笔试备考题库及答案解析
- 2026年洛阳市老城区幼儿园教师招聘笔试备考试题及答案解析
- 2026道德与法治三年级阅读角 阅读大慈恩寺三藏法师传
- 2026年广东省广州市街道办人员招聘考试模拟试题及答案解析
- 静疗题库及答案400题
- 2026年卫生专业技术资格考试(中医肛肠科学基础知识主治医师代码327)题库测试题及答案解析
- 雨课堂学堂在线学堂云《水声通信原理( 西工)》单元测试考核答案
- 物业管理师实操题库及案例分析含答案
- 2025年初中二年级物理期末评估试卷(含答案)
- IT运维技术支持岗位运维服务质量管理方案
- 医院获得性肺炎诊断与治疗
- 水库大坝混凝土施工方案
- 华润燃气管理能力测评题库及答案详解
- 上海初中入团考试试题及答案
- 2025向量化与文档解析技术加速大模型RAG应用
评论
0/150
提交评论