通过virt-manager 利用NFS创建、迁移虚拟机2

前面一篇文章介绍了利用NFS创建虚拟机的过程,本文就介绍下如何利用NFS对虚拟机进行动态迁移。

动态迁移就是把一台虚拟机在不停止其运行的情况下迁移到另一台物理机上。这看起来似乎不太可能,不过还好kvm本身就支持者一特性,且libvirt也提供了相应的API,我们可以通过virsh命令或者virt-manager对虚拟机进行动态迁移。

进行动态迁移由于不间断虚拟机的运行,所以其所需的条件就必要多:

1、两台虚拟机的虚拟化环境必须一致,libvirt版本、qemu版本。

2、两台物理机必须有着相同的共享目录,即把NFS服务器上的镜像文件夹挂载到相同目录下

3、源主机需要配置DNS,这样LIbvirt才可以找到目的主机,hostname可以自己命名

4、物理主机开启nfs虚拟化支持

5、给qemu设置root权限

为了迁移成功,我们先检查下上述条件:

1、

目的主机:

源主机:

前面两行是在安装vtpm引起的,这里不影响,可以看到这里的虚拟化环境是一致的。

2、NFS共享文件挂载目录

目的主机:

源主机:

由于不需要安装虚拟机,所以我们就不用挂载ISO目录。可以看到这里镜像文件目录结构是一样的。

3、检查目的主机和源主机的域名配置

目的主机域名查看

源主机:

这里注意修改了host文件后注意重启网络服务生效。

4、检查selinux中nfs对虚拟化支持的相关选项

目的主机:

源主机:

5、给qemu设置root权限:

源主机:

在/etc/libvirt/qemu.conf

目的主机:

注意设置以后要重启libvirtd服务:systemctl restart libvirtd.service

6、执行迁移

(1)迁移前虚拟机的标签:

迁移之后:

可以发现其实sVIrt标签已经变化了,即在动态迁移过程后,虚拟机的隔离性依然有效。

当然在利用NFS迁移的过程中也有一些问题,总结如下:

Question1:

unable to migrate guest: internal error: Attempt to migrate guest to the same host domain

Solution1:

1、在/etc/hosts中添加$(target IP) domain

2、重启网络服务

Question2:

internal error: hostname on destination resolved to localhost, but migration requires an FQDN

solution2

1、在对方运行hostname domain

Question3:

internal error: process exited while connecting to monitor: 2016-09-04T06:11:21.526046Z qemu-kvm: -drive file=/nfsFile/images/ubuntu12.04.qcow2,if=none,id=drive-ide0-0-0,format=qcow2: could not open disk image /nfsFile/images/ubuntu12.04.qcow2: Could not open ‘/nfsFile/images/ubuntu12.04.qcow2‘: Permission denied。

Solution3:

1、应该是在对方或者本地没有开启virt_nfs_use

2、运行setsebool virt_nfs_use on

Question4:

问题1和问题2每次执行迁移时都会遇见,不晓得为何!

Solution:

想了许久终于明白,这里需要在source主机添加目的主机的域名,即修改source主机的/etc/hosts文件添加:

源IP targetname

//targetname 为目标主机的hosname,如果不清楚可以在目标主机执///行hostname查看下。

但是默认情况下,hostname是localhost.localdomain,而这个会被libvirt认为是本地,所以会拒绝,那么就只能给目标机器修改一个hostname,然后在源主机上配置DNS解析即可。

至于前面为何出现那种情况,是因为我们如果利用hostname命令修改了hostname,那么/etc/hosts中的设置就失效,那么就需要重启网络服务,而一旦重启,那么下次在使用domain这个域名就会失效,仍然需要利用hostname设置,就这样形成循环。

时间: 09-18

通过virt-manager 利用NFS创建、迁移虚拟机2的相关文章

通过virt-manager 利用NFS创建、迁移虚拟机1

NFS作为一种网络文件系统,近些年随着云计算的发展也变得越来越受欢迎.因为云环境下会部署大量的虚拟机,而在物理机发生故障的时候,云服务商必须要保障虚拟机的安全性,即不能因为物理机的故障就停止虚拟机.这对于客户来说是零容忍的.这就要求在物理机发生问题的时候,云服务商可以在很短的时间内把虚拟机迁移到另一台物理机上,这也就是虚拟机的动态迁移. 经过一段时间的学习,就利用virt-manager来创建一台虚拟机: 硬件: 物理机1:223.129.0.132    源主机 物理机2:223.129.0.

sdk manager 创建的虚拟机启动的时候总是在Android字样解决

一直显示Android字样,只需要删除目录下的snapshots.img 找到sdk的目录下的\tools\lib\emulator,然后删除上面的文件snapshots.img即可,我的sdk路径是下面的,所以进入这里杀出它就好了 D:\adt-bundle-windows-x86-20140321\adt-bundle-windows-x86-20140321\sdk\tools\lib\emulatorsdk manager 创建的虚拟机启动的时候总是在Android字样解决,布布扣,bu

如何动态迁移虚拟机存储

今天我们分享如何在hyper-v管理器中进行虚拟机存储的动态迁移.迁移的操作步骤相对来说比较简单,但是我们需要掌握动态迁移虚拟机存储的场景,这个关键在于我们如何把理论知识(各种概念,各种操作步骤)转变成实际的工作能力(应对生产环境中的场景给出相应的方案).那么我们什么时候需要动态迁移虚拟机存储呢?以我当前的理论水平,我将归为如下几点: 1 硬件上面限制,这个我主要强调的是存储设备,比如设备已无可扩展性. 2 存储设备升级和维护,这点和上一点类似,只不过最后我们还要将虚拟机存储迁移回来. 当然可能

CentOS 5.6下创建KVM虚拟机

首先要保证你的CPU支持虚拟化.执行以下命令查看CPU的flag信息,里面包含svm的flag就说明支持虚拟化: [[email protected] ~]# egrep '(vmx|svm)' --color=always /proc/cpuinfo flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxe

迁移虚拟机

迁移是指将一个虚拟机从一个主机或存储位置移动到另一个主机或存储位置的过程. 有4种迁移选项: 1.  冷迁移:已关闭电源,可以将配置文件,磁盘文件重新定位到新的存储位置.可以从一个数据中心迁移到另一个数据中心. 2.  迁移挂起的虚拟机:已挂起的虚拟机移至新的主机.可以将配置文件,磁盘文件重新定位到新的存储位置,可以从一个数据中心迁移到另一个数据中心. 3.  通过vmotion迁移:已打开电源,可以在不中断虚拟机可用性的情况下将虚拟机移至新的主机.不能将虚拟机从一个数据中心移至另一个数据中心,

基于LAMP平台利用NFS远程共享资源实现站点构建

要求: 构建NFS共享服务,利用nfs来提供远程共享资源,web服务通过远程共享资源来构建一个基于LAMP环境的站点(WordPress),要求此站点可以正常发布文章和图片) 环境: 192.168.1.101----->Web 192.168.1.110----->Mariadb 192.168.1.113----->PHP 192.168.1.114----->NFS 一.部署LAMP环境 #web服务的部署(192.168.1.101) (1)安装服务:yum -y inst

使用Hyper-V Server创建Linux虚拟机

通过 Hyper-V 及 Windows Azure 供应 Linux,这是微软改善对开源软件支持情况的一大举措.作为该倡议的一部分,微软的 Linux 集成服务(LIS)团队持续开发着先进的 Linux 驱动,并直接由 Linux 的内核团队进行检查,因此 CentOS.Debian.Red Hat.SUSE 及 Ubuntu 等主要发行版的后续新版本都能直接进行集成. 该集成服务最初是通过微软网站提供下载的.Linux 用户下载并安装这些驱动,并在需要获得支持时直接联系微软.随着驱动的逐渐成

Azure平台跨存储迁移虚拟机

客户场景描述: 近段时间,客户注册了Azure测试账号(一个月的使用时间),进行测试使用,搭建了WEB网站服务,客户对Azure云平台,针对web开发,应用服务,非常满意,准备把web网站正式投入到生产,由于Azure测试账号只能试用一个月的时间,而测试账号不支持更转正式Azure账号使用. 客户如下需求: Azure测试账号里的虚拟机和数据库迁移到正式的Azure上. 迁移虚拟机方法: 方法一: 虚拟机VHD和数据VHD文件,创建成磁盘,下载到本地,在进行上传到正式账号平台下,由于文件数据太大

创建kvm虚拟机

1.通过图形界面或通过命令的方式创建kvm虚拟机,通过vnc方式连接到虚拟机中进行管理和配置虚拟机.并实现开启自动启动虚拟机. #规划网络 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" TYPE="Ethernet" ONBOOT="yes" BRIDGE="br1" vi /etc/sysconfig/network-scripts/ifcfg-br1