kvm虚拟化学习笔记(十四)之kvm虚拟机静态迁移

这里提到的静态迁移同是基于KVM虚拟主机之间的迁移,非异构虚拟化平台的静态迁移。

1.静态迁移就是虚拟机在关机状态下,拷贝虚拟机虚拟磁盘文件与配置文件到目标虚拟主机中,实现的迁移。

(1)虚拟主机各自使用本地存储存放虚拟机磁盘文件

本文实现基于本地磁盘存储虚拟机磁盘文件的迁移方式,

(2)虚拟主机之间使用共享存储存放虚拟机磁盘文件

该方式只是在目标虚拟主机上重新定义虚拟机就可以了。

2.静态迁移过程如下

(1)确定虚拟机关闭状态

[[email protected] ~]# virsh list --all
 Id    Name                        State
----------------------------------------------------
 -     CentOS6.5-01                   shut off
 -     CentOS6.5-02                   shut off
 -     CentOS6.5-03                   shut off
 -     Ser08R2-01                    shut off

[[email protected] ~]#

(2)准备迁移CentOS6.5-02虚拟机,查看该虚拟机配置的磁盘文件

[[email protected] ~]# virsh domblklist CentOS6.5-02  
Target     Source
------------------------------------------------
vda        /data/kvm/CentOS6.5-02.img
hdc        -

[[email protected] ~]#

(3)导入虚拟机配置文件

[[email protected] ~]# virsh dumpxml CentOS6.5-02 > /root/CentOS6.5-02.xml 
[[email protected] ~]# ll
total 100
-rw-------. 1 root root  1536 Nov 15  2016 anaconda-ks.cfg
-rw-r--r--  1 root root  2781 Nov 27 15:45 CentOS6.5-02.xml
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Desktop
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Documents
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Downloads
-rw-r--r--. 1 root root 43152 Nov 15  2016 install.log
-rw-r--r--. 1 root root  9360 Nov 15  2016 install.log.syslog
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Music
-rw-r--r--  1 root root     0 Nov 27 15:30 node1.txt
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Pictures
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Public
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Templates
drwxr-xr-x. 2 root root  4096 Nov 15  2016 Videos
[[email protected] ~]#

(4)拷贝配置文件到目标虚拟主机上。

[[email protected] ~]# scp CentOS6.5-02.xml 10.10.172.192:/etc/libvirt/qemu/
[email protected]'s password: 
CentOS6.5-02.xml                                                    100% 2781     2.7KB/s   00:00    
[[email protected] ~]# 
[[email protected] ~]#

(5)查看虚拟机磁盘文件并拷贝到目标虚拟主机。

[[email protected] ~]# cd /data/kvm/
[[email protected] kvm]# ll
total 20806040
-rw-r--r-- 1 root root    393216 Nov 22 17:06 CentOS6.5-01_add.qcow2
-rwxr-xr-x 1 root root  7516192768 Nov 22 15:08 CentOS6.5-01.img
-rw-r--r-- 1 root root  2318139904 Nov 27 15:40 CentOS6.5-01.qcow2
-rwxr-xr-x 1 root root  7516192768 Nov 22 13:52 CentOS6.5-02.img
-rwxr-xr-x 1 root root  7516192768 Nov 22 14:39 CentOS6.5-03.img
-rwxr-xr-x 1 root root  10737418240 Nov 22 14:40 Ser08R2-01.img
[[email protected] kvm]#

拷贝虚拟磁盘文件

[[email protected] kvm]# scp CentOS6.5-02.img 10.10.172.192:/data/kvm/
[email protected]'s password: 
CentOS6.5-02.img                                                    100% 7168MB 140.6MB/s   00:51    
[[email protected] kvm]# 
[[email protected] kvm]#

3.目标虚拟主机上

上面已经将虚拟机磁盘文件与配置文件都已经复制到目标虚拟主机上了。下面开始配置与启动。

(1)查看目标虚拟主机环境。

[[email protected] ~]# virsh list --all        
 Id    Name                           State
----------------------------------------------------

[[email protected] ~]# 
[[email protected] ~]# ll /etc/libvirt/qemu   
total 8
-rw-r--r--. 1 root root 2781 Nov 27 08:06 CentOS6.5-02.xml
drwx------. 3 root root 4096 Nov 27 07:57 networks
[[email protected] ~]# 
[[email protected] ~]#

查看虚拟机磁盘文件,目录结构与源虚拟主机一致。

[[email protected] ~]# cd /data/kvm/
[[email protected] kvm]# ll
total 7340036
-rwxr-xr-x. 1 root root 7516192768 Nov 27 08:13 CentOS6.5-02.img
[[email protected] kvm]# 
[[email protected] kvm]#

(2)定义注册虚拟主机

[[email protected] ~]# 
[[email protected] ~]# 
[[email protected] ~]# virsh define /etc/libvirt/qemu/CentOS6.5-02.xml 
Domain CentOS6.5-02 defined from /etc/libvirt/qemu/CentOS6.5-02.xml

[[email protected] ~]# 
[[email protected] ~]#

(3)启动虚拟主机并确认

[[email protected] ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     CentOS6.5-02                   shut off

[[email protected] ~]# 
[[email protected] ~]# virsh start CentOS6.5-02
Domain CentOS6.5-02 started

[[email protected] ~]# 
[[email protected] ~]# virsh console CentOS6.5-02
Connected to domain CentOS6.5-02
Escape character is ^]

CentOS release 6.5 (Final)
Kernel 2.6.32-431.el6.x86_64 on an x86_64

CentOS6.5-02 login: root
Password: 
Last login: Wed Nov 22 05:41:25 on ttyS0
[[email protected] ~]# 
[[email protected] ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 52:54:00:77:D9:F4  
          inet addr:10.10.172.243  Bcast:10.10.172.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:fe77:d9f4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:242 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:22894 (22.3 KiB)  TX bytes:566 (566.0 b)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

[[email protected] ~]#

至此虚拟机静态迁移完成。

时间: 2024-10-07 06:00:09

kvm虚拟化学习笔记(十四)之kvm虚拟机静态迁移的相关文章

kvm虚拟化学习笔记(二十一)之KVM性能优化学习笔记

本学习笔记系列都是采用CentOS6.x操作系统,KVM虚拟机的管理也是采用virsh方式,网上的很多的文章都基于ubuntu高版本内核下,KVM的一些新的特性支持更好,本文只是记录了CentOS6.x系列操作系统下KVM优化的点,有很多都是默认支持开启了的,除了采用virtio方式的磁盘IO,与网络IO接口优化之外,其它真是无需太多优化. 1. CPU性能优化 (1) 服务器或宿主机主板BIOS中开启Intel Virtualization Technology(简称VT), 如果主板支持In

KVM虚拟化学习笔记系列文章列表(转)

Kernel-based Virtual Machine KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51cto.com/703525/1288795kvm虚拟化学习笔记(二)之linuxkvm虚拟机安装http://koumm.blog.51cto.com/703525/1289627kvm虚拟化学习笔记(三)之windowskvm虚拟机安装h

KVM虚拟化学习笔记系列文章列表

kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51cto.com/703525/1288795kvm虚拟化学习笔记(二)之linux kvm虚拟机安装 http://koumm.blog.51cto.com/703525/1289627kvm虚拟化学习笔记(三)之windows kvm虚拟机安装http://koumm.blog.51cto.com/703525/1290191kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置http://koumm.b

Swift学习笔记十四:构造(Initialization)

类和结构体在实例创建时,必须为所有存储型属性设置合适的初始值.存储型属性的值不能处于一个未知的状态. 你可以在构造器中为存储型属性赋初值,也可以在定义属性时为其设置默认值.以下章节将详细介绍这两种方法. 注意: 当你为存储型属性设置默认值或者在构造器中为其赋值时,它们的值是被直接设置的,不会触发任何属性观测器(property observers). 一.基本语法 class Human{ var name :String init(){ name = "human" } init(n

laravel3学习笔记(十四)

原作者博客:ieqi.net ==================================================================================================== 运行时配置 在 Laravel3 中很多地方我们都可以看到“约定大于配置”的影子,我本人也很喜欢这种工程哲学尤其是在框架领域,当然这并不能代替所有的配置.我们知道 Laravel3 中,主要配置都写在 application/config 文件夹下,在应用逻辑中,往往

老广: KVM虚拟化学习笔记

前言: 虚拟化的理论知识我就不啰嗦了,可以参见http://bbs.linuxtone.org/thread-24347-1-1.html,kvm全称Kernel-based  Virtual Machine, 其实kvm只是一个内核模块,提供虚拟cpu和内存管理的模块,至于其它的设备是由qemu模拟的,如网卡,显卡,磁盘等.后来redhat联合IBM以及Linux社区创造了libvirt,模拟的设备性能要比qemu的好很多,并提供了一系列的管理工具和api,整个集成了kvm虚拟化的解决方案.L

【转】angular学习笔记(十四)-$watch(1)

本篇主要介绍$watch的基本概念: $watch是所有控制器的$scope中内置的方法: $scope.$watch(watchObj,watchCallback,ifDeep) watchObj: 需要被检测的对象,可以是以下任意一种: 1. 某个数据,监测这个数据的值是否发生变化 2. 一条angular表达式,监测表达式的结果是否发生变化 3. 函数(),监测函数的返回值是否发生变化 注意,以上三种,无论是哪种,都应该是字符串格式,并且都是在$scope作用域下执行的. 4.函数,非字符

Android学习笔记十四.深入理解fragment(二) 之《图书详情》实战

深入理解fragment(二) 之<图书详情>实战 通过上一篇博文<深入理解fragment一>,我们学习了Android-Fragment的核心知识点.现在在此基础上,利用Fragment技术开发一款适用于大屏幕手机/平板的查找图书详情的应用软件.该项目主要在于两方面,一是Activity.Fragment的源码实现:二是,布局界面资源文件的实现. 1.res/../BookListFragment.java: 自定义类,继承于ListFragment,无需实现OnCreateV

JavaScript权威设计--Window对象之Iframe(简要学习笔记十四)

1.Window对象属性的文档元素(id) 如果在HTML文档中用id属性来为元素命名,并且如果Window对象没有此名字的属性,Window对象会赋予一个属性,它的名字是id属性的值,而他们的值指向表示文档元素的HTMLElement对象. Window对象是以全局对象的形式存在于作用域链的最上层,这就意味着HTML文档中使用的id属性会成为可以被脚本访问的全局变量. 如: <button id="but"/> 就可以通过全局变量but来引用此元素. 2.多窗体窗口(if