首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    KVM 实现虚拟机在线热迁移

    1、冷迁移 通常我们存放虚拟机磁盘的目录都是挂在的一个nfs文件系统的磁盘,而这个磁盘通常是LVM文件系统。所以需要进行冷迁移时,只要在目标主机上挂载这个nfs文件系统,就可以看到要迁移的那个虚拟机的磁盘文件,通常以.qcow2或.raw结尾的,然后,只需将虚拟机的.xml配置文件发送到目标服务器上,然后重新定义一下即可通过“virsh list --all”命令查看到迁移过来的虚拟机。 2、热迁移 如果源宿主机和目的宿主机共享存储系统,则只需要通过网络发送客户机的 vCPU 执行状 态、内存中的内容、虚机设备的状态到目的主机上。否则,还需要将客户机的磁盘存储发到目的主 机上。共享存储系统指的是源和目的虚机的镜像文件目录是在一个共享的存储上的。 在基于 共享存储系统 时,KVM 动态迁移的具体过程为: 1、迁移开始时,客户机依然在宿主机上运行,与此同时,客户机的内存页被传输到目的主机上。 2、QEMU/KVM 会监控并记录下迁移过程中所有已被传输的内页的任何修改,并在所有内存页都传输完成后即开始传输在前面过程中内存页的更改内容。 3、QEMU/KVM 会估计迁移过程中的传输速度,当剩余的内存数据量能够在一个可以设定的时间周期(默认 30 毫秒)内传输完成时,QEMU/KVM 会关闭源宿主机上的客户机,再将剩余的数据量传输到目的主机上,最后传输过来的内存内容在目的宿主机上恢复客户机的运行状态。 4、至此,KVM 的动态迁移操作就完成了。迁移后的客户机尽可能与迁移前一致,除非目的主机上缺少一些配置,比如网桥等。注意,当客户机中内存使用率非常大而且修改频繁时,内存中数据不断被修改的速度大于KVM能够传输的内存速度时,动态迁移的过程是完成不了的,这时候只能静态迁移。 3、迁移的注意事项 无论是冷迁移还是热迁移,注意事项大都差不多

    01

    virsh 虚拟机迁移目录_虚拟机迁移的六个步骤

    虚拟机静态迁移: 静态迁移也叫做常规迁移、离线迁移(Offline Migration)。是在虚拟机关机或暂停的情况下,拷贝虚拟机磁盘文件与配置文件到目标虚拟主机中,实现的从一台物理机到另一台物理机的迁移。因为虚拟机的文件系统建立在虚拟机镜像文件上面,所以在虚拟机关机的情况下,只需要简单的迁移虚拟机镜像和相应的配置文件到另外一台物理主机上即可。如果需要保存虚拟机迁移之前的状态,那么应该在迁移之前将虚拟机暂停,然后拷贝状态至目的主机,最后在目的主机重建虚拟机状态,恢复执行。这种方式的迁移过程需要显式的停止虚拟机的运行。从用户角度看,有明确的一段停机时间,虚拟机上的服务不可用。这种迁移方式简单易行,适用于对服务可用性要求不严格的场合。

    01

    开源云平台 CloudStack 4.1.0 安装以及故障处理

    CloudStack是一个功能强大、UI友好的开源云(IaaS)计算解决方案。自Ctrix将CloudStack捐献给 apache 后,一直持续高速发展,其社区活跃度已经渐渐赶上风头一时无两的另一开源云OpenStack平台。 CloudStack拥有所有开源云平台中最为友善的管理界面,而且其天生的多语种支持会使中文用户感觉很爽。 今天我们来详细介绍一下CloudStack最新版本 4.1.0 在 CentOS 6.4 下的安装部署的步骤。鉴于网上文章一大抄,很多内容都是装来装去一大堆东西,看官们一会就晕了,根本不了解为什么装这些程序,装来是干什么的。这回呢,我会把每一步说明尽可能详细一些,外加我的经验和理解(不少心得是重装了10次以上后得出的),希望能让后来者可以少走些弯路。 CloudStack可分为管理节点安装和受控节点安装。 管理节点安装无特殊要求,完全可以安装到虚拟机环境下。 受控节点因要创建虚拟机,故需要硬件虚拟化支持,推荐使用独立主机安装。CloudStack支持多种虚拟化方案,包括:KVM、Xen、XenServer、VMware。因XenServer、VMware已包含有强大的虚拟机管理功能,CloudStack可以直接与其通信调用其管理接口,因此这两种受控机环境下,无需安装任何软件。但KVM、Xen的受控机必须安装 CloudStack-Agent 之后,才能被CloudStack管理。 本篇我们主要来讲解管理节点搭建步骤: 一、前期准备 1、配置网卡,确保主机能上网 因我们要使用网络安装方式,所以要首先保证你的服务器可以正常联网。 1    pingwww.baidu.com 2、设置主机名称 CloudStack运行时需要获取本机名称,如无法正确获取可能导致服务无法正常启动并报一大堆的错。 运行以下命令检查: 1    hostname--fqdn 如无正常返回,请编辑 /etc/hosts 文件,添加主机ip对应的名称。 1    如: 2    192.168.19.135  manage.cloudstack.com vi /etc/sysconfig/network 将 HOSTNAME= 改为同你刚设置的一样。 编辑完后立即生效。如果还不成的话,重启下服务器应该就会好了。 3、配置时间同步 管理节点会通过各种协议与受控节点通讯,为了确保安全,受控节点接到命令后会进行一系列的校验,如果两机的时间不同步的话,会导致命令拒绝执行。 最简单的办法就是,所有服务器都安装 ntp实现时间的自动同步。 1    yuminstallntp 4、修改Linux安全设置 服务器上的SELinux会拦截CloudStack的一些命令,导致CloudStack操作失败,因此启动CloudStack前需要对SELinux进行设置。 vi /etc/selinux/config 1    SELINUX=permissive 以上修改需重启服务器才能生效,为使设置立即生效可使用下边的命令 1    setenforce permissive 二、更新 yum 仓库 默认情况下,CentOS的软件源中没有收录最新版本CloudStack,为了能顺利安装,我们需要手工指定软件源。 新建 /etc/yum.repos.d/cloudstack.repo 文件,内容为: 1    [cloudstack] 2    name=cloudstack 3    baseurl=http://cloudstack.apt-get.eu/rhel/4.1/ 4    enabled=1 5    gpgcheck=0 三、安装管理节点 设置好源以后,我们就可以直接使用 yum安装了,非常简单方便。 安装管理节点的命令为: 1    yuminstallcloud-client 如果你的CentOS 是最小化安装的话,将需要安装 160 兆以上的东东,请耐心等待哈... 四、配置数据库 CloudStack使用mysql管理数据,但安装cloud-client时没有包含mysql,这时需要我们手工安装,并导入数据。这是可以理解的,因为数据库可以被安装到其它机器上。 1    yuminstallmysql-server 默认的,mysql有连接数限制,无法满足CloudStack管理节点的要求,需要手工设定。 vi /etc/my.cnf 增加以下内容: 1    innodb_rollback_on_timeout=1 2    innodb_lock_wait_timeout=600 3    max_connections=350 4    log-bin=mysql-bin 5    binlog-format='ROW' 注:如果没改的话会发生什么现象我没有尝试,不

    01

    使用kvm制作OpenStack平台Windows镜像

    关于virtio: kvm因为使用了硬件虚拟化,所以其cpu方面的运行效率是很高的。不过,kvm在I/O虚拟化方面,传统的方式是利用QEMU纯软件的方式来模拟I/O设备, 这样每次虚机发起I/O请求的时候,KVM内核模块会捕获这次请求,然后处理后将其放入I/O共享页,并通知用户空间中运行的QEMU程序。 QEMU获得I/O操作,交由硬件模拟代码(Emulation)来模拟出本次I/O操作之后,将结果放回I/O共享页,同时通知KVM内核模块读取I/O共享页的操作结果,把结果返回给虚机。 由于这种方式每次I/O操作经过的路径很复杂,其效率很低。所以就提出了virtio这种方案,virtio其实就是一个运行于Hypervisor之上的api接口, 让客户机知道自己运行于虚拟化环境中,进行I/O操作的时候通过virtio与Hypervisor通信,从而是虚机有更好的性能。

    02
    领券