前面一篇文章介绍了利用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设置,就这样形成循环。
 

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

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

    NFS作为一种网络文件系统,近些年随着云计算的发展也变得越来越受欢迎.因为云环境下会部署大量的虚拟机,而在物理机发生故障的时候,云服务商必须要保障虚拟机的安全性,即不能因为物理机的故障就停止虚拟机.这 ...

  2. 利用Vmware 创建Linux虚拟机的方法

    https://blog.csdn.net/qq_34929457/article/details/52663265 使用VMware新建一个Linux系统虚拟机 原创 2016年09月25日 17: ...

  3. kvm安装window系统及使用NFS动态迁移

    验证是否开启虚拟化 # grep -E 'svm|vmx' /proc/cpuinfo - vmx is for Intel processors - svm is for AMD processor ...

  4. 平台支持的从经典部署模型到 Azure Resource Manager 的 IaaS 资源迁移

    本文介绍如何才能将基础结构即服务 (IaaS) 资源从经典部署模型迁移到 Resource Manager 部署模型. 用户可以阅读有关 Azure Resource Manager 功能和优点的更多 ...

  5. VMware 接入 Openstack — 使用 Openstack 创建 vCenter 虚拟机

    目录 目录 软件环境 前言 Openstack 接口驱动 使用 KVM 在 Compute Node 上创建虚拟机的流程 使用 VCDirver 在 vCenter 上创建虚拟机的流程 配置 vCen ...

  6. KVM虚拟化管理 virt manager常用操作

    部分涉及到Linux.Nginx.tomcat.MySQL等的点滴操作记录,时间长了,就忘掉了,偶尔整理一下操作的history,就此简要备份一下: [原][BG]-一次虚拟化环境实践简要记录: ht ...

  7. Centos7利用kvm搭建Windows虚拟机

    这几天玩了一下kvm虚拟化,真的很有意思,我把这几天踩的坑,还有收获,都记录下来,作为以后的复习和检查. 首先说一下我的基本逻辑,我有一台win7的笔记本,我的底层虚拟化是使用VMWare构建的Cen ...

  8. 云计算---记一次黑客攻击openstack创建的虚拟机

    一:问题定位 现象: 近期发现有几台openstack云主机被修改密码并被肉鸡. 黑客操作日志: -- :: ##### root tty1 : #### -- :: top -- :: ##### ...

  9. NFS存储迁移至GlusterFS

    NFS存储迁移至GlusterFS 前提条件 为防止脑裂,建议使用最低3台节点制作3复制集的存储卷: 在进行存储迁移前,GluseterFS存储节点需先成为k8s集群中的node节点: 存储切换时请勿 ...

随机推荐

  1. MDI多文档窗体--在一个窗体中装载多个窗体

    创建MDI窗体之前,首先要明确两个概念:父窗体和子窗体,在MDI窗体中,起到容器作用的窗体被称为“父窗体”, 可放在父窗体中的其他窗体被称为子窗体,也成为MDI子窗体.当应用程序启动时,首先会显示父窗 ...

  2. 关于Spring MVC Controller 层的单元测试

    关于Spring MVC Controller 层的单元测试 测试准备工作: 1.搭建测试Web环境 2.注入Controller 类 3.编写测试数据 测试数据的文件名一定要与测试类的文件名相同,比 ...

  3. form 回车键(ENTER)

    <form class="clb_yyxx_nr" name="appointment_content" action="" onsu ...

  4. Java 执行linux scp 远程获取文件和上传

      需要的jar包:ganymed-ssh2-build210.jar import java.io.ByteArrayOutputStream;import java.io.File;import ...

  5. VC++分页打印实现

    VC++分页打印实现:  C++ Code  12345678910111213141516171819202122232425262728293031323334353637383940414243 ...

  6. ResNet 结构理解

    博客来源于:https://blog.csdn.net/buyi_shizi/article/details/53336192:https://blog.csdn.net/dcrmg/article/ ...

  7. 灵活的javaScript

    通常我们不像下面这样声明函数,因为会创建很多全局变量. function checkName() { // code } function checkEmail() { // code } 所以,我们 ...

  8. [转]ASP.NET MVC 5 - 控制器

    MVC代表: 模型-视图-控制器 .MVC是一个架构良好并且易于测试和易于维护的开发模式.基于MVC模式的应用程序包含: · Models: 表示该应用程序的数据并使用验证逻辑来强制实施业务规则的数据 ...

  9. ArcGIS GP应用-GP模型服务发布

    1.双击模型名称打开运行窗体 2.在图上交互和窗体中输入数据后,点击确定运行模型,查看运行结果 3.在当前模型“缓冲区分析”的目录树上,右击含有图形(点.线.面)的节点,点击添加至显示,显示图片 4. ...

  10. phpcms v9表单实现问答咨询功能

    本文转自别人 phpcms v9的留言板插件可以安装留言板,做问答咨询,那样的话有很多东西需要修改,也有人发现phpcms v9有个表单向导功能,只能留言,不能回复,今天仿站网:新源网络工作室告诉大家 ...