虚拟机异构环境迁移

现在是老环境的虚拟机需要往新环境迁移:

面临的问题:

1、新老环境存储不同

2、部分代码不同

3、网络环境不同

4、win2003的虚拟机老环境没有装virtio驱动,新环境用的virtio

解决方案:

现在迁移的总体方案

1、在新环境各个用户的账号下创建相同规格(或者不同规格)虚拟机,这样可以保证数据库数据是没有问题的,也不会多出垃圾数据;创建相同的卷;需要记录虚拟机uuid和卷uuid,以下称为:{new_instance_uuid}和{new_volume_uuid}

如果规格完全相同,则迁移后界面显示的规格和实际规格就没有问题

如果规格不同,则迁移后存在底层实际是老环境的规格,而界面显示是新的规格

2、将老环境虚拟机的实际资源拷贝到新环境下:

具体操作:

a、获取需要迁移的虚拟机的uuid,以下称为:{old_instance_uuid},通过cinder list | grep {instance_uuid}查询到存储卷的id,以下称为{old_volume_uuid}。

b、拷贝文件/var/lib/nova/instances/{old_instance_uuid}/disk 到/var/lib/nova/instances/{new_instance_uuid}/disk ,拷贝之前记得备份,如果虚机是2003的系统,记得先安装virtio驱动,安装方法在后面。

c、拷贝文件/var/lib/nova/instances/volume-{old_volume_uuid}到新环境的计算节点下(新建目录之下,待传到rbd上后可删除)

d、拷贝文件/var/lib/nova/instances/_base/{base_uuid}到新环境对应的目录

获取{base_uuid}的方法:

qemu-img info disk 查看backup file路径对应的文件

3、待资源都拷贝到新环境之后,作如下替换操作:

a、由于存储不同(新环境使用ceph rbd,老环境是glusterfs),首先修改拷贝过来得文件名称为volume-{new_volume_uuid};然后删除rbd中已存在的volume-{new_volume_uuid},最后重新往rbd中上传改过名称的用户存储文件volume-{new_volume_uuid}。

具体操作如下:

aa:修改名称:mv volume-{old_volume_uuid} volume-{new_volume_uuid}

bb:删除rbd存储数据:rbd rm volumes/volume-{new_volume_uuid} (此处需在计算节点操作,因为计算节点安装了ceph客户端)

cc:上传老环境的改过名的存储文件到rbd中:

qemu-img convert -f raw -O raw volume-{new_volume_uuid}  rbd:volumes/volume-{new_volume_uuid} (同样计算节点操作)

4、目前新环境使用的virtio的网卡(支持千兆),老环境没有使用,因此win2003需要安装virtio驱动才能正常使用网络,经过测试必须在disk文件中安装才能生效,因此对于需要迁移的win2003,需要一个一个去安装驱动。

安装步骤:

a、将老环境的虚拟机的disk拷贝到备份目录,并同时将virtio驱动拷贝,2003的virtio驱动virtio-win-1.5.2-2003.vfd

命令如下:

/usr/libexec/qemu-kvm -m 1024 -drive file=disk,index=0,boot=on -fda virtio-win-1.5.2.vfd -boot d -net nic,model=virtio -net user -nographic -vnc :90

使用vnc登陆机器,安装virtio驱动(设备管理器里更新驱动,选择软盘)

装好后拷贝到新环境对应的目录下

时间: 2024-10-11 14:36:44

虚拟机异构环境迁移的相关文章

Xen虚拟化进阶篇-Xen平台下虚拟机的实时迁移

Xen的虚拟机的实时迁移简介 Xen为我们提供了一种强大的功能,它就是动态迁移法.它能让Domain在运行期间,以最小的服务中断为代价,将Domain迁移到另外的Xen 服务器上. 使用Xen动态迁移的主要优点列举如下: 1.Xen的动态迁移随同诸如heartbeat之类的高可用性解决方案一起使用,能给我们带来一个"永不抛锚"的系统.最新版本的Enterprise SUSE Linux Server 和Red Hat EnterpriseLinux 也是利用Xen来提供各种高可用性解决

VMware ESXi虚拟机克隆及迁移

使用ESXi经常会遇到这样的问题,我需要建立多个虚拟机,都是linux操作系统,难道必须一个一个安装吗? VMware ESXi.VMware vCenter Server 和 vSphere Client,它们分别是 vSphere 的虚拟化层.管理层和接口层.作为接口层的vSphere Client客户端并不提供克隆虚拟机的功能,需要安装vCenter管理ESXi才有这一功能. 虽然如此,但是我们可以以手动的方式完成这项工作. 下面是克隆"linux"这台虚拟机的操作过程: 1.进

在虚拟机linux环境下编译windows版adb fastboot

原文出自:http://blog.chinaunix.net/uid-20546441-id-1746200.html 我根据虚拟机编译遇到的问题进行一些添加 [前提条件] Linux Android源码完整 虚拟机磁盘空间100G左右(60G用来存放代码和编译后的文件) swap 30G左右,若太小会导致在编译后提示缺失文件 [具体步骤] 理论上,只要下一个windows版本的SDK,里面就自带了fastboot和adb工具. 但我最近确实遇到了一个需要在linux下编译出windows版本的

环境迁移

有时我们需要把一个环境从一个单板迁移到另一个单板,这时就需要进行环境的复制: 1.备份原环境.用tar命令将整个环境的家目录打包备份,即使不进行环境迁移,定期备份环境也是一个好习惯,当有一天环境意外崩溃或者升级包被替换错了,直接用备份环境还原就可以挽救. 2.创建新环境.首先需要在root用户下,先创用户组和用户,然后改用户密码,最后切换到新用户下: groupadd wlfgroup useradd wlf -m -d /home/wlf -G wlfgroup -s /bin/bash pa

centos虚拟机,环境配置

yum安装 yum -y install 包名(支持*) :自动选择y,全自动yum install 包名(支持*) :手动选择y or n 1.安装vim Centos默认自带VI,功能没VIM丰富,安装VIM取代VI.用Yum查找源中的VIM包,不知安装哪个合适. yum search vimvim-X11.i386 : The VIM version of the vi editor for the X Window System.vim-common.i386 : The common

ODI开发环境往正式环境迁移问题

      正式环境安装的模式为运行时,因此只需要把主资料库的相关信息和场景导入到正式环境 同步数据库表结构 资料档案库的同步(只需要一次,以后就不需要了,除非修改了拓扑结构) 在开发环境将ODI的接口都测试通过后,生成场景 再将开发环境的场景导入正式的工作资料库,第一次导入方式采用同义词插入的方式,如此做的原因为以后如果开发环境的数据发生修改后,可以用同义词更新的方式导入正式环境,只有这样,才能保证下次导入的时候是更新的形式. 正式环境配置调度 下面的来自 ODI开发环境往正式环境迁移问题,没

Cocos2d-x 3.0游戏开发之虚拟机IOS环境:匹配才是好,莫要随便升级软件

尊重开发者的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/34110449 做为一个买不起MAC的Coder,只好使用虚拟机. 前不久,重装了系统,又把虚拟机升级到了10.0... 然后启动MAC,一直失败,不知道什么原因... 有砸电脑的冲动了... 忽然, 灵思一动, 卸载了10.0,回归到VMware8.0, 再次启动MAC, 柳暗花明... 至今原因未知, 又想起了,几年前就因为升级遇到的各种坎坷, 特

虚拟机下linux迁移造成MAC地址异常处理办法

虚拟机下linux迁移造成MAC地址异常处理办法 Linux无法启用网卡:Device eth0 has different MAC address than expected,ignoring解决 遇到这样一个错误: 在linux上面, 无法成功启动网卡, 当我们Activate一个网卡的时候, 提示下面的错误. Cannot activate network device eth0! Device eth0 has different MAC address than expected, i

Linux虚拟机学习环境搭建—虚拟机安装

接上一篇的Linux虚拟机学习环境搭建-虚拟机创建"  点击"开启此虚拟机",进入系统安装界面. Tab键可以调整选项,直接选择第一项,回车.备注:鼠标点击进入虚拟机,要跳出虚拟机回到主机控制,按下Ctrl+Alt. 出现Disc Found界面,用Tab键,选择到Skip选项,回车.备注:此操作是校验安装文件是否有损坏,现在是安装学习测试机,跳过校验. 进入到图标界面,单击 "下一步" 进入到语言选择界面,此处选择"English",