1、计划中的维护

  举例:需要升级某一个计算节点的硬件配置,需要将计算节点上的虚拟机迁移后在对其进行操作,分为两种情况。

  1.1 云系统使用了共享存储

    a. 获取虚拟机列表:nova list --host compute01-node-Name --all-tenant

    b. 将每个虚拟机迁移至另一台计算节点:nova live-migration <uuid> compute02-node-Name

    c. 停止nova-compute服务:stop nova-compute

    d. 维护工作完成以后,启动服务:start nova-compute

    e. 确认服务正常启动和AMQP正常连接:status nova-comput     grep AMQP /var/log/nova-compute

    f. 将虚拟机迁移回来

  1.2 云系统没有使用共享存储

    将上述迁移命令改为:nova live-migration --block-migrate <uuid> compute02-node-Name

2、虚拟机实例启动故障

  2.1 意外关闭可能会出现磁盘分区错误,需要对root分区进行fsck,此时使用VNC连接虚拟机即可完成修复。

  2.2 libvirt的XML错误:nova reboot --hard <uuid>

3、从故障实例中恢复数据

  故障:虚拟机正常运行,SSH无法链接,VNC控制台显示kernel panic错误

  恢复数据:

    a. 使用virsh list查看故障实例的ID,假设ID为30 实例名为instance-30

    b. 挂起实例:virsh suspend 30

    c. 将qemu-nbd设备链接到磁盘上:

      cd /var/lib/nova/instance/instance-30

      qemu-nbd -c /dev/nbd0 `pwd`/disk

    d. 挂载qemu-nbd设备

      qemu-nbd会将虚拟机的不同分区导出为/dev/nbd0 nbd0p1 nbd0p2等

      挂载:mount /dev/nbd0p1 /mnt  进去mnt目录即可查看实例数据

    e. 查看完成后释放qemu-nbd设备

      umount /mnt

      qemu-nbd -d /dev/nbd0

    f.  恢复实例:virsh resume 30

4、卷

  如果故障的虚拟机的挂载的有卷,需要将卷手工分离并挂载

  mysql> select nova.instances.uuid as instance_uuid, cinder.volumes.id as volume_uuid, cinder.volumes.status, cinder.volumes.attach_status, cinder.volumes.mountpoint,  cinder.volumes.display_name from cinder.volumes inner join nova.instance on cinder.volumes.instance_uuid=nova.instances.uuid where nova.instances.host = 'compute01-node-Name';

  手工分离:nova volume-detach <instance_uuid> <volume_uuid>

  重新挂载:nova volume-attach <instance_uuid> <volume_uuid> /dev/vdX

5、计算节点彻底故障

  故障:计算节点无法启动,恢复虚拟机实例,如果/var/lib/instances使用了共享目录

  a. 生产故障节点运行的所有实例uuid列表

    mysql> select uuid from instances where host = '故障节点主机名' and deleted = 0;

  b. 更新数据库,将虚拟机实例宿主机改为其他计算节点

    mysql> update instances set host = 'NewComputeName' where host = '故障节点主机名' and deleted = 0;

  c. 启动虚拟机并生产XML

    nova reboot --hard <uuid>

  d. 根据4恢复相对于的卷即可。

  如果没有使用共享目录,这个目录在计算节点的硬盘上

OpenStack运维(二):OpenStack计算节点的故障和维护的更多相关文章

  1. 转-4年!我对OpenStack运维架构的总结

    4年!我对OpenStack运维架构的总结 原创: 徐超 云技术之家 今天 前言 应“云技术社区”北极熊之邀,写点东西.思来想去云计算范畴实在广泛,自然就聊点最近话题异常火热,让广大云计算从业者爱之深 ...

  2. OpenStack运维(三):OpenStack存储节点和配置管理

    1.对象存储节点维护 1.1 重启存储节点 如果一个存储节点需要重启,直接重启即可. 1.2 关闭存储节点 如果一个存储节点需要关闭很长一段时间,可以考虑将该节点从存储环中移除. swift-ring ...

  3. 对OpenStack运维架构的总结(转)

    这里,仅从技术角度出发,谈谈OpenStack云平台在部署.架构和运维实施等方面的感想. 缘起,在2014年大二首次接触到OpenStack,当时国内外资料远没有当前这么丰富,为安装一个OpenSta ...

  4. Openstack运维指南文档整理

    非常全面的运维指南整理http://zjzone.cc/index.php/2017/07/31/openstack-yun-wei-wen-dang-zheng-li/

  5. OpenStack运维(四):OpenStack备份恢复

    1.备份注意事项 要保留多少备份? 是否需要异地备份? 备份间隔多久? 恢复策略? 2.备份什么 2.1 数据库备份 2.1.1  制定crond 每天备份一次 2.1.2 备份命令根据系统而定,可用 ...

  6. 不只是安装,Kolla 让 OpenStack 运维变简单

    使用 kolla 部署的 OpenStack 环境和传统直接安装的环境相比较,因为使用了全容器化部署,基本操作上有很大不同.对于初学者,操作变得更清晰和更简单了,但是如果你已经有了一定的经验,可能反而 ...

  7. OpenStack运维(一):OpenStack项目和用户

    1.添加项目 keystone tenant-create --name=demo [--description tenant-description --enable false] demo:项目名 ...

  8. Linux运维--15.OpenStack vm使用keepalived 实现负载均衡

    外接mariadb集群 实现负载均衡 实验环境 10.0.1.27 galera1 10.0.1.6 galera2 10.0.1.23 galera3 10.0.1.17 harpoxy1 hapr ...

  9. python自动化运维二:业务服务监控

    p { margin-bottom: 0.25cm; line-height: 120% } a:link { } p { margin-bottom: 0.25cm; line-height: 12 ...

随机推荐

  1. Hive详解

    1.   Hive基本概念 1.1  Hive简介 1.1.1 什么是Hive Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 1.1 ...

  2. DOM操作中,getElementByXXXX 和 querySelector 的区别

    1. 返回值:     getElements返回动态集合:       优: 首次查找效率高      缺: 可能造成反复查找DOM树    querySelector返回非动态集合:      优 ...

  3. NB-IoT物联网,来了

    日前,深圳移动联合华为公司在深圳市福田.前海及盐田区域部署NB-IoT/LTE融合站点130余个,完成NB-IoT系统关键技术验证和组网技术验证,已初步形成NB-IoT试商用条件.深圳移动后续将在深圳 ...

  4. java MD5比较文件内容

    最近用到,记下来…… 功能: 对指定目录下的所有TXT文件,通过MD5比较内容,删除掉重复的文件.文件的扩展可以修改成.docx..doc..jpg..png,或者其它类型,根据需求灵活修改. pub ...

  5. java桌面程序打包教程

    首先打包成j可执行的jar文件. . 接下来找到自己生成jar文件的路径就可以看到jar文件了,我的是在桌面: 在桌面新建一个文件夹(名字随便取,一般去项目名字) 上面是我取的文件夹名字,然后把资料文 ...

  6. webMagic+RabbitMQ+ES爬取京东建材数据

    本次爬虫所要爬取的数据为京东建材数据,在爬取京东的过程中,发现京东并没有做反爬虫动作,所以爬取的过程还是比较顺利的. 为什么要用WebMagic: WebMagic作为一款轻量级的Java爬虫框架,可 ...

  7. vs2015 制作安装包额外需要安装的软件VSI_bundle

    vs2015 制作安装包额外需要安装的软件VSI_bundle 下载地址:http://files.cnblogs.com/files/sdner/VSI_bundle.rar

  8. vs 2015工具栏添加Tab Order

    1. 在工具栏右键,弹出菜单,选中“Customize”菜单项. 2. 选中Commands标签页,选择Toolbar,选择自己要加入的Tab order的类别,之后点击“Add Command”按钮 ...

  9. html5的结构

    目录 一.新增的主体结构元素 1.1.article元素 1.2.section元素 1.3.nav元素 1.4.aside元素 1.5.time元素 1.6.pubdate元素 二.新增的非主体结构 ...

  10. 【NOIP2012提高组】借教室

    90分暴力解法: 用线段树,初始值为该天的教室数,每个人来申请的时候在这段区间减去借走的数,然后查询最小值是否小于0,是就输出-1,否则继续. (其实在vijos是可以直接A的,他们的评测机太快了) ...