热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

详细介绍kvm虚拟机静态和动态迁移(图文介绍)

本文主要介绍了kvm虚拟机静态和动态迁移,具体如下: 一、kvm虚拟机静态迁移 1.静态迁移就是虚拟机在关机状态下,拷贝虚拟机虚

本文主要介绍了kvm虚拟机静态和动态迁移,具体如下:

一、kvm虚拟机静态迁移

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

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

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

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

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

2.静态迁移过程如下
(1)确定虚拟机关闭状态
image
(2)准备迁移oeltest02虚拟机,查看该虚拟机配置的磁盘文件image
(3)导入虚拟机配置文件

[root@node1~]# virsh dumpxml oeltest02 > /root/oeltest02.xml

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

3.目标虚拟主机上

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

(1)查看目标虚拟主机环境。image
查看虚拟机磁盘文件,目录结构与源虚拟主机一致。image
(2)定义注册虚拟主机
image
(3)启动虚拟主机并确认image
至此虚拟机静态迁移完成。

二、kvm虚拟机动态迁移

相比KVM虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可以采用GFS2集群文件系统来实现,本文的动态迁移是基于共享存储动态迁移。KVM动态迁移目前有两种,一种是基于共享存储的动态迁移,一种是基于基于数据块的动态迁移,需要qemu-kvm-0.12.2以上版本支持,OEL6.3版本是qemu-kvm-0.12.1.2,其它发行版可能有支持。

1.虚拟化平台架构
image

2.虚拟化环境介绍

(1)KVM虚拟化服务器node1

操作系统版本:OEL6.3x64
KVM虚拟化:自带版本
桥接IP地址1:192.168.159.150
测试虚拟机:oeltest01
虚拟机IP地址:192.168.159.132
虚拟磁盘文件1:/data/test01.qcow2
虚拟磁盘文件2:/data/test01_add01.qcow2
nfs挂载目录:/data

(2)KVM虚拟化服务器node2

操作系统版本:OEL6.3x64
KVM虚拟化:自带版本
桥接IP地址1:192.168.159.160
nfs挂载目录:/data

(3)nfs服务器(nfs配置略)

操作系统版本:OEL5.8x64
桥接IP地址1:192.168.169.180

nfs服务目录:/mnt/vg/nfs/abc

3.kvm虚拟主机配置准备
(1)节点1挂载nfs目录image
(2)节点2挂载nfs目录imageimage
确保两节点都有相同的虚拟机磁盘文件存储目录。

4.kvm虚拟机迁移

(1)节点1虚拟机状态,oeltest01虚拟机开机状态image
(2)节点2虚拟机状态,无虚拟机运行image
(3)在主机1上执行迁移命令

[root@node1~]#virsh migrate --live --verbose oeltest01 qemu+ssh://192.168.159.160/system tcp://192.168.159.160
root@192.168.159.160'spassword:
Migration:[100%]

image
过程有一个暂停与关闭的过程。

(4)客户机一直ping查看迁移,可以看到中间有两个包的中断,基本上没有太大影响。image
(5)虚拟主机2上,可以看到虚拟机oeltest01已经启动了。image
虽然oeltest01虚拟机已经在节点2上启动了,但是虚拟主机上还没有oeltest01虚拟机的配置文件。所以需要创建配置文件并定义虚拟机。
image
(6)虚拟主机2上,通过迁移过来的虚拟机内存状态创建虚拟机配置文件,并通过xml配置文件定义虚拟机。image
在虚拟主机2上进入虚拟机没有问题。image
到此,kvm虚拟机动态迁移成功。

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • 本文详细介绍了Java Web应用程序中的过滤器(Filter)功能,包括其作用、实现方式及配置方法。过滤器可以在请求到达目标资源之前对其进行预处理,并在响应返回给客户端之前进行后处理。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 本文介绍了ArcXML配置文件的分类及其在不同服务中的应用,详细解释了地图配置文件的结构和功能,包括其在Image Service、Feature Service以及ArcMap Server中的使用方法。 ... [详细]
author-avatar
三毛
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有