需求说明:
计算节点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. Javascript中的Label语句

    在javascript中,我们可能很少会去用到 Label 语句,但是熟练的应用 Label 语句,尤其是在嵌套循环中熟练应用 break, continue 与 Label 可以精确的返回到你想要的 ...

  2. javascript作用域链学习笔记

    作用域链 "JavaScript中的函数运行在它们被定义的作用域里,而不是它们被执行的作用域里." --权威指南 在JavaScript中,一切皆对象,包括函数.函数对象和其它对象 ...

  3. JavaScript中instanceof运算符的用法以及和typeof的区别

    instanceof : 判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例:返回boolean类型栗子①: var aColors = ["red", "g ...

  4. 详解;(function ($,window,document,undefined){...})(jQuery,window,document);

    1.代码最前面的分号,可以防止多个文件压缩合并以为其他文件最后一行语句没加分号,而引起合并后语法错误. 2.匿名函数(function(){})();:由于Javascript执行表达式是从圆括号里面 ...

  5. andriod GridView

    <?xml version="1.0" encoding="UTF-8"?> <GridView xmlns:android="ht ...

  6. 安卓开发_浅谈ListView(SimpleAdapter数组适配器)

    安卓开发_浅谈ListView(ArrayAdapter数组适配器) 学习使用ListView组件和SimapleAdapter适配器实现一个带图标的ListView列表 总共3部分 一.MainAc ...

  7. hadoop2.6完全分布式安装HBase1.1

    本文出自:http://wuyudong.com/archives/119 对于全分布式的HBase安装,需要通过hbase-site.xml文档来配置本机的HBase特性,由于各个HBase之间通过 ...

  8. KVO的使用

    KVO的使用 KVO是一种设计模式,名为观察者. addObserver:forKeyPath:options:context: 通知其他对象的方法,这个方法在NSObject中就已经申明了,也就是说 ...

  9. bsearch的溢出问题

    在java中为了避免 low+high溢出,可以用无符号右移:正数高位补0,负数高位补1 int mid = (low + high) >>> 1; 如果是在c++中,那么需要先转换 ...

  10. javascript中数组的map方法

    map方法原型:array1.map(callbackfn[, thisArg]) 参数: array1,必选. 一个数组对象.该函数一般用于数组对象 callbackfn,必选. 最多可以接受三个参 ...