需求说明:
计算节点linux-node1.openstack:192.168.1.8  
计算节点linux-node2.openstack:192.168.1.17

这两个计算节点在同一个控制节点下(192.168.1.8既是控制节点,也是其中一个计算节点),现在需要将linux-node1.openstack上的虚拟机kvm-server005迁移到liunx-node2.openstack上。

一、openstack的虚拟机线下迁移(”冷迁移“,迁移前关闭虚拟机)

操作记录如下:

linux-node1.openstack上的操作:

1)查看虚拟机

[root@linux-node1 src]# source admin-openrc.sh 
[root@linux-node1 src]# nova list
+--------------------------------------+----------------------------+--------+------------+-------------+--------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+----------------------------+--------+------------+-------------+--------------------+
| b6a4738d-7e01--a09b-7008b612d126 | beta-new1 | ACTIVE | - | Running | flat=192.168.1.151 |
| 9acdb28b-02c2-41bb-87c4-5f3a8fa008ab | dev-new-test1 | ACTIVE | - | Running | flat=192.168.1.150 |
| 30e5ba3e---9ba6-7523cf865b6f | fangfull-backup | ACTIVE | - | Running | flat=192.168.1.152 |
| 3483d9f1-4015-48d9-9837-b67ca82dd54d | kvm-server005 | ACTIVE | - | Running | flat=192.168.1.154 |
| 5ec50ae5-a1f9--b509-cfeb5ef62ca3 | memcache1-backup | ACTIVE | - | Running | flat=192.168.1.155 |
| a5863e46-ef75--a9df-505da5db58ed | memcache2-backup | ACTIVE | - | Running | flat=192.168.1.156 |
| 377c536e-4d27--8d9d-24c2686a73f6 | memcache3-backup | ACTIVE | - | Running | flat=192.168.1.103 |
| a2893208-3ec9--ab82-d7a870206cb9 | xqsj-backup | ACTIVE | - | Running | flat=192.168.1.153 |
+--------------------------------------+----------------------------+--------+------------+-------------+--------------------+

2)停止待迁移虚拟机kvm-server005

[root@linux-node1 src]# nova stop 3483d9f1-4015-48d9-9837-b67ca82dd54d
Request to stop server 3483d9f1-4015-48d9-9837-b67ca82dd54d has been accepted.
[root@linux-node1 src]# nova list
+--------------------------------------+----------------------------+--------+--------------+-------------+--------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+----------------------------+--------+--------------+-------------+--------------------+
| b6a4738d-7e01-4068-a09b-7008b612d126 | beta-new1 | ACTIVE | - | Running | flat=192.168.1.151 |
| 9acdb28b-02c2-41bb-87c4-5f3a8fa008ab | dev-new-test1 | ACTIVE | - | Running | flat=192.168.1.150 |
| 30e5ba3e-3942-4119-9ba6-7523cf865b6f | fangfull-backup | ACTIVE | - | Running | flat=192.168.1.152 |
| 3483d9f1-4015-48d9-9837-b67ca82dd54d | kvm-server005 | SHUTOFF| - | Shutdown | flat=192.168.1.154 |
| 5ec50ae5-a1f9-4425-b509-cfeb5ef62ca3 | memcache1-backup | ACTIVE | - | Running | flat=192.168.1.155 |
| a5863e46-ef75-4601-a9df-505da5db58ed | memcache2-backup | ACTIVE | - | Running | flat=192.168.1.156 |
| 377c536e-4d27-4447-8d9d-24c2686a73f6 | memcache3-backup | ACTIVE | - | Running | flat=192.168.1.103 |
| a2893208-3ec9-4606-ab82-d7a870206cb9 | xqsj-backup | ACTIVE | - | Running | flat=192.168.1.153 |
+--------------------------------------+----------------------------+--------+--------------+-------------+--------------------+

3)查看待迁虚拟机kvm-server005所在的宿主机

[root@linux-node1 src]# nova show 3483d9f1-4015-48d9-9837-b67ca82dd54d | grep 'OS-EXT-SRV-ATTR:hos'
| OS-EXT-SRV-ATTR:host | linux-node1.openstack

4)登录宿主机linux-node1.openstack上,将虚拟机kvm-server005虚拟机的数据拷贝到待迁移的宿主机linux-node2.openstack上

[root@linux-node1 src]# cd /var/lib/nova/instances
[root@linux-node1 instances]# ls
30e5ba3e-3942-4119-9ba6-7523cf865b6f 5ec50ae5-a1f9-4425-b509-cfeb5ef62ca3 a5863e46-ef75-4601-a9df-505da5db58ed compute_nodes
3483d9f1-4015-48d9-9837-b67ca82dd54d 9acdb28b-02c2-41bb-87c4-5f3a8fa008ab b6a4738d-7e01-4068-a09b-7008b612d126 locks
377c536e-4d27-4447-8d9d-24c2686a73f6 a2893208-3ec9-4606-ab82-d7a870206cb9 _base snapshots
[root@linux-node1 instances]# rsync -e "ssh -p22" -avpgolr 3483d9f1-4015-48d9-9837-b67ca82dd54d 192.168.1.17:/var/lib/nova/instances/
sending incremental file list
3483d9f1-4015-48d9-9837-b67ca82dd54d/
3483d9f1-4015-48d9-9837-b67ca82dd54d/console.log
3483d9f1-4015-48d9-9837-b67ca82dd54d/disk
3483d9f1-4015-48d9-9837-b67ca82dd54d/disk.info
3483d9f1-4015-48d9-9837-b67ca82dd54d/disk.swap
3483d9f1-4015-48d9-9837-b67ca82dd54d/libvirt.xml sent 381469737 bytes received 111 bytes 69358154.18 bytes/sec
total size is 381422781 speedup is 1.00

目标节点linux-node2.openstack上的操作

1)查看虚拟机kvm-server005的数据有没有拷贝过来,修改权限

[root@linux-node2 instances]# pwd
/var/lib/nova/instances
[root@linux-node2 instances]# ll
total 12
drwxr-xr-x. 2 nova nova 85 Oct 31 14:54 0944254c-1c75-4523-9751-2389d677d59c
drwxr-xr-x. 2 nova nova 85 Sep 6 12:59 3483d9f1-4015-48d9-9837-b67ca82dd54d
drwxr-xr-x. 2 nova nova 85 Oct 31 17:29 946b340a-28bc-492d-8b3a-59d2fea1b464
drwxr-xr-x. 2 nova nova 4096 Oct 31 17:17 _base
-rw-r--r--. 1 nova nova 44 Nov 1 10:53 compute_nodes
drwxr-xr-x. 2 nova nova 85 Oct 31 17:23 f6be1cb3-a694-4492-b2db-55ff9f09d843
drwxr-xr-x. 2 nova nova 4096 Oct 31 17:14 locks
[root@linux-node2 instances]# chown -R nova.nova 3483d9f1-4015-48d9-9837-b67ca82dd54d/
[root@linux-node2 instances]# ll 3483d9f1-4015-48d9-9837-b67ca82dd54d/
total 372492
-rw-rw----. 1 nova nova 65214 Sep 8 13:58 console.log
-rw-r--r--. 1 nova nova 381157376 Nov 1 10:59 disk
-rw-r--r--. 1 nova nova 162 Sep 6 12:59 disk.info
-rw-r--r--. 1 nova nova 197120 Sep 6 12:59 disk.swap
-rw-r--r--. 1 nova nova 2909 Sep 6 12:59 libvirt.xml

2)登录数据库更改MySQL中的host、node字段为新的物理主机名字

[root@linux-node2 instances]# mysql -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4063
Server version: 10.1.17-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> use nova;
Database changed
MariaDB [nova]> update instances set host='linux-node2.openstack', node='linux-node2.openstack' where uuid='3483d9f1-4015-48d9-9837-b67ca82dd54d';
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0 MariaDB [nova]>

3)在目标节点linux-node2.openstack上启动虚拟机,启动前重启一下该计算节点的compute服务

[root@linux-node2 instances]# systemctl restart  openstack-nova-compute
[root@linux-node2 instances]# nova start 3483d9f1-4015-48d9-9837-b67ca82dd54d

4)验证虚拟机所在的宿主机

[root@linux-node2 src]# nova list
+--------------------------------------+--------------+--------+------------+-------------+--------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+--------------+--------+------------+-------------+--------------------+
| 946b340a-28bc-492d-8b3a-59d2fea1b464 | centos03 | ACTIVE | - | Running | flat=192.168.1.104 |
| 0944254c-1c75-4523-9751-2389d677d59c | kvm-centos01 | ACTIVE | - | Running | flat=192.168.1.121 |
| f6be1cb3-a694-4492-b2db-55ff9f09d843 | kvm-centos02 | ACTIVE | - | Running | flat=192.168.1.122 |
| 3483d9f1-4015-48d9-9837-b67ca82dd54d | kvm-server005| ACTIVE | - | Running | flat=192.168.1.154 |
+--------------------------------------+--------------+--------+------------+-------------+--------------------+
[root@linux-node2 src]# nova show 3483d9f1-4015-48d9-9837-b67ca82dd54d | grep 'OS-EXT-SRV-ATTR:hos'
| OS-EXT-SRV-ATTR:host | linux-node2.openstack

二、openstack的虚拟机在线迁移(”热迁移“,虚拟机在运行中迁移)

直接在控制节点上操作

1)查看虚拟机

[root@linux-node1 src]# source admin-openrc.sh
[root@linux-node1 src]# nova list
+--------------------------------------+----------------------------+--------+------------+-------------+--------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+----------------------------+--------+------------+-------------+--------------------+
| b6a4738d-7e01-4068-a09b-7008b612d126 | beta-new1 | ACTIVE | - | Running | flat=192.168.1.151 |
| 9acdb28b-02c2-41bb-87c4-5f3a8fa008ab | dev-new-test1 | ACTIVE | - | Running | flat=192.168.1.150 |
| 30e5ba3e-3942-4119-9ba6-7523cf865b6f | fangfull-backup | ACTIVE | - | Running | flat=192.168.1.152 |
| 3483d9f1-4015-48d9-9837-b67ca82dd54d | kvm-server005 | ACTIVE | - | Running | flat=192.168.1.154 |
| 5ec50ae5-a1f9-4425-b509-cfeb5ef62ca3 | memcache1-backup | ACTIVE | - | Running | flat=192.168.1.155 |
| a5863e46-ef75-4601-a9df-505da5db58ed | memcache2-backup | ACTIVE | - | Running | flat=192.168.1.156 |
| 377c536e-4d27-4447-8d9d-24c2686a73f6 | memcache3-backup | ACTIVE | - | Running | flat=192.168.1.103 |
| a2893208-3ec9-4606-ab82-d7a870206cb9 | xqsj-backup | ACTIVE | - | Running | flat=192.168.1.153 |
+--------------------------------------+----------------------------+--------+------------+-------------+--------------------+

2)查看待迁虚拟机kvm-server005所在的宿主机

[root@linux-node1 src]# nova show 3483d9f1-4015-48d9-9837-b67ca82dd54d | grep 'OS-EXT-SRV-ATTR:hos'
| OS-EXT-SRV-ATTR:host | linux-node1.openstack

3)查看可用的计算节点

[root@linux-node1 src]# nova-manage service list
No handlers could be found for logger "oslo_config.cfg"
Binary Host Zone Status State Updated_At
.........
nova-compute linux-node1.openstack nova enabled :-) 2016-11-01 05:12:56
nova-compute linux-node2.openstack nova enabled XXX 2016-10-31 05:55:24

4)查看目标计算节点linux-node2.openstack资源

[root@linux-node1 src]# nova-manage service describe_resource linux-node2.openstack
No handlers could be found for logger "oslo_config.cfg"
HOST PROJECT cpu mem(mb) hdd
linux-node2.openstack(total) 32 64211 149
linux-node2.openstack(used_now) 6 14848 75
linux-node2.openstack(used_max) 6 14336 75
linux-node2.openstack 0cd3632df93d48d6b2c24c67f70e56b8 6 14336 75

5)执行虚拟机的在线迁移,迁移到计算节点linux-node2.openstack上

[root@linux-node1 src]# nova live-migration 3483d9f1-4015-48d9-9837-b67ca82dd54d linux-node2.openstack

6)查看迁移后虚拟机kvm-server005所在的宿主机是否已发生改变

[root@linux-node1 src]# nova show 3483d9f1-4015-48d9-9837-b67ca82dd54d | grep 'OS-EXT-SRV-ATTR:hos'
| OS-EXT-SRV-ATTR:host | linux-node2.openstack

注意:

1)/etc/hosts文件提前做好主机映射,确定节点之间能互相ping通主机名。
2)利用id nova命令查看下控制节点nova的uid和gid,并记录,保证两个计算节点的id和gid是否和控制节点保持一致
如果不一致,则利用
usermod -u “控制节点的nova的uid”
gropumod -g “控制节点的nova的gid”
两条命令进行修改,同时在所有计算节点运行该命令,保证所有nova相关文件使用新的uid和gid

openstack虚拟机迁移的操作记录的更多相关文章

  1. openstack 虚拟机 迁移

    迁移. 如果 你的 云 系统 正在 使用 共享 存储, 使用 nova live- migration 命令 就可以. 首先, 要 获得 需要 被 迁移 的 实例 列表: # nova list -- ...

  2. OpenStack虚拟机冷迁移与热迁移

    一.虚拟机迁移分析 openstacvk虚拟机迁移分为冷迁移和热迁移两种方式. 1.1冷迁移: 冷迁移(cold migration),也叫静态迁移.关闭电源的虚拟机进行迁移.通过冷迁移,可以选择将关 ...

  3. OpenStack 虚拟机冷/热迁移的实现原理与代码分析

    目录 文章目录 目录 前文列表 冷迁移代码分析(基于 Newton) Nova 冷迁移实现原理 热迁移代码分析 Nova 热迁移实现原理 向 libvirtd 发出 Live Migration 指令 ...

  4. OpenStack 虚拟机冷/热迁移功能实践与流程分析

    目录 文章目录 目录 前文列表 虚拟机迁移的应用场景 需要迁移的虚拟机数据类型 虚拟机迁移的存储场景 文件存储 块存储 非共享存储 迁移的类型 迁移的方式 执行虚拟机冷迁移 冷迁移日志分析 执行虚拟机 ...

  5. Redis Cluster高可用集群在线迁移操作记录【转】

    之前介绍了redis cluster的结构及高可用集群部署过程,今天这里简单说下redis集群的迁移.由于之前的redis cluster集群环境部署的服务器性能有限,需要迁移到高配置的服务器上.考虑 ...

  6. 挂载银行前置机Ukey到windows server2012虚拟机的操作记录

    公司有跟银行对接的金融业务,需要配置银行前置机环境.通过KVM的WebVirtMgr管理平台创建windows server2008虚拟机,安装参考:kvm虚拟化管理平台WebVirtMgr部署-完整 ...

  7. Oracle数据迁移至HBase操作记录

    Oracle数据迁移至HBase操作记录 @(HBase) 近期需要把Oracle数据库中的十几张表T级别的数据迁移至HBase中,过程中遇到了许多苦难和疑惑,在此记录一下希望能帮到一些有同样需求的兄 ...

  8. OpenStack 虚拟机热迁移流程图

    目录 文章目录 目录 源计算节点与目的计算节点之间的交互流程 Nova 和 Neutron 之间的交互流程 源计算节点与目的计算节点之间的交互流程 热迁移主要包括三个阶段: pre_live_migr ...

  9. openstack虚拟机从数据库修改卷虚拟机backend操作

    由于意外故障,volume-type其中一个backend后段出现性能问题,客户云主机出现卡顿. 因此临时从ceph将系统卷导出,并导入至同一个backend的另一个后端,并启动虚拟机. Nova C ...

随机推荐

  1. ECMAScript 6学习笔记(一):展开运算符

    同步发布于:https://mingjiezhang.github.io/(转载请说明此出处). JavaScript是ECMAScript的实现和扩展,ES6标准的制定也为JavaScript加入了 ...

  2. SharePoint2013 - 移动文档

    In SharePoint 2010, the easiest way to transfer documents from one library to another involved using ...

  3. C语言中的指针和内存泄漏

    引言 对于任何使用C语言的人,如果问他们C语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏.这些的确是消耗了开发人员大多数调试时间的事项.指针和内存泄漏对某些开发人员来说似乎令人畏惧,但是 ...

  4. iOS菜单滚动联动内容区域功能实现

    平时开发APP中关于此功能还是比较经常碰到,本实例借用三个开源的插件,并对其中一个进行修改调整实现出想要的效果:本文重点介绍修改的内容跟三个插件的运用,这三个插件还可以各自扩展到其它项目的运用: 效果 ...

  5. IOS 网络浅析-(九 NSURLSession代理简介)

    从最开始什么都不懂的小白,到到现在略知一二的小孩.我觉得不仅仅是我,大家应该都会注意到代理几乎贯穿着IOS,那么问题来了,我接下来要说什么呢,那就是.标题的内容啦.上篇网络系列的文章我介绍了NSURL ...

  6. OC语言-07-OC语言-Foundation框架

    结构体 NSRange/CGRange 用来表示一个元素在另一个元素中的范围,NSRange等价于CGRange 包含两个属性: NSUInteger location:表示一个元素在另一个元素中的位 ...

  7. IOS之UI--小实例项目--添加商品和商品名

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  8. 小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(五)Image View视图 学习笔记

    留下两个问题:1.后面涉及到的异常不知道原因.2.动态图片到了程序里面就不动了.       然后:   上面是有问题的,下面是没有问题的了.    代码(另外简单写的代码,纠正了那个错误): imp ...

  9. Java静态同步方法和非静态同步方法

             所有的非静态同步方法用的都是同一把锁——该实例对象本身.也就是说如果一个实例对象的非静态同步方法获取锁后,该实例对象的其他非静态同步方法必须等待获取锁的方法释放锁后才能获取锁进而执行 ...

  10. Effective Java 13 Minimize the accessibility of classes and members

    Information hiding is important for many reasons, most of which stem from the fact that it decouples ...