前言

主要有三个坑:

  • 一是如果原先虚拟机没有安装virtio驱动,要设置设备驱动为ide,
  • 二是cinder要配置glance_api_version的值为v2,上传的镜像需要是raw格式
  • 三是迁移前后最好保持ip和主机名不变,这样对业务的影响最小

基础信息

给我们以下文件:

anquanpingtai-win2008r2-10.100.100.110.ova

解压后得到:

anquanpingtai-win2008r2_10.100.100.110-disk1.vmdk

anquanpingtai-win2008r2_10.100.100.110-disk2.vmdk

anquanpingtai-win2008r2 10.100.100.110.mf

anquanpingtai-win2008r2 10.100.100.110.ovf

我们使用 anquanpingtai-win2008r2作为主机名,10.100.100.110

迁移步骤

1. 查看镜像大小

查看vmdk镜像的信息,镜像1和镜像2的虚拟大小分饱是是100Gb,400Gb

[root@ha01-mon02-osd01 ~]# qemu-img info anquanpingtai-win2008r2_10.100.100.110-disk1.vmdk
image: anquanpingtai-win2008r2_110.100.100.110-disk1.vmdk
file format: vmdk
virtual size: 100G (107374182400 bytes)
disk size: 14G
cluster_size: 65536
Format specific information:
cid: 4099282801
parent cid: 4294967295
create type: streamOptimized
extents:
[0]:
compressed: true
virtual size: 107374182400
filename: anquanpingtai-win2008r2_10.100.100.110-disk1.vmdk
cluster size: 65536
format:

2. 将镜像上传到openstack

虽然openstack支持vmdk格式的镜像,但是ceph只支持raw格式的虚拟磁盘,所以我们要提前convert将镜像转换成raw格式再上传,节约时间。

qemu-img convert -f  vmdk  -O raw ./anquanpingtai-win2008r2_10.100.100.110-disk1.vmdk  ./anquanpingtai_disk1

qemu-img convert  -f  vmdk  -O raw ./anquanpingtai-win2008r2_10.100.100.110-disk2.vmdk  ./anquanpingtai_disk2

 glance image-create --name anquanpingtai_disk1 --disk-format "raw"  --container-format 'bare' --progress --file ./anquanpingtai_disk1 --min-disk 100
glance image-create --name anquanpingtai_disk2 --disk-format "raw" --container-format 'bare' --progress --file ./anquanpingtai_disk2 --min-disk 400

因为vmware过来的镜像没有安装virtio驱动,所以我们要设置镜像的磁盘驱动为ide,网卡驱动为e1000,这样子虚拟机的性能差一些,所以如果有条件的话,最好在迁移之前把虚拟机virtio的网卡和磁盘驱动安装好

openstack image set  --property hw_disk_bus=ide  --property hw_vif_model=e1000 anquanpingtai_disk1
openstack image set --property hw_disk_bus=ide --property hw_vif_model=e1000 anquanpingtai_disk2

3. 以镜像为源,创建云硬盘

如果镜像的磁盘格式是raw,且cinder访问glance使用的api版本是v2,以镜像为源创建云硬盘的时候,cinder支持直接rbd clone镜像文件来复制镜像文件,创建云硬盘。否则,cinder需要把镜像下载到本地文件系统,转换成raw格式,再上传到ceph中,当镜像文件很大的时候,这个过程常常因为超时而失败。

所以我们需要修改cinder.conf服务的glance_api_version为v2,然后重启cinder-volume服务。

使用这两上一步个镜像创建云硬盘, 大小为100G和400G, id分别记作VOLUME1_ID, VOLUME2_ID

4. 创建迁移用网络

迁移前后最好保持虚拟机的ip不变,这样可以避免很多未知问题

按照科技网给出的信息,服务器的ip是10.100.100.110,所以我们需要创建一个网络10.100.100.0/24,由于我们不计划通过这个网络来访问外网,所以这个网络可以是任何类型,vlan,vxlan,flat都可以,只要里面包含这两个ip就可以,所以可以直接在界面创建,这里不再给出命令,将创建的网络id记作$MIG_NET_ID

5. 创建虚拟机

假设我们已经完成上述步骤,用以下命令创建虚拟机,并指定ip

nova boot --flavor 4 --block-device source=volume,dest=volume,id=$VOLUME1_ID ,bus=ide,bootindex=0,shutdown=preserve --nic net-id=$MIG_NET_ID,v4-fixed-ip=10.100.100.110 anquanpingtai-win2008r2

![enter description here][1]

6. 绑定云硬盘

由于ide驱动不支持热插拔,所以我们要将虚拟机关机,然后将之前创建的400G大小的硬盘2,再重新开机, 在界面上操作就可以,这里不给出命令

至此,服务器状态的恢复就完成了

7. 绑定浮动ip并连接网络

给这个虚拟机绑定一个浮动ip,然后联系网络部同事,将这个浮动ip的80端口映射到公网ip上,即可。

6. 绑定云硬盘

由于ide驱动不支持热插拔,所以我们要将虚拟机关机,然后将之前创建的400G大小的硬盘2,再重新开机, 在界面上操作就可以,这里不给出命令

至此,服务器状态的恢复就完成了

vmware迁移到openstack的一些坑的更多相关文章

  1. OpenStack 之vmware机器迁移到openstack集群

    原理 openstack本身是支持使用vmware格式的镜像的,但是是需要我们我们在/etc/nova/nova.conf的配置文件中指定该计算节点使用vmware的驱动 1 2 3 4 5 6 7 ...

  2. virt-v2v命令将ESXI 虚机迁移到OpenStack中

    一简介: virt-v2v是将外部的虚拟化平台上的虚拟机转化到可以运行的KVM平台上.它可以读取在VMware.Xen运行Hyper-V和其他虚拟机管理程序上的Windows和Linux的虚拟机,并将 ...

  3. v2v-VMware/VSphere中虚机离线迁移至openstack平台

    先决条件 exsi到openstack的迁移,分为两种,一种是静态迁移,另一种是在线迁移. 静态迁移(offline migration)也叫做常规迁移,离线迁移.在迁移之前将虚拟机暂停,同时拷贝虚拟 ...

  4. 从Oracle迁移到MySQL的各种坑及自救方案

    当企业内部使用的数据库种类繁杂时,或者有需求更换数据库种类时,都可能会做很多数据迁移的工作.有些迁移很简单,有些迁移可能就会很复杂,大家有没有考虑过为了顺利完成复杂的数据库迁移任务,都需要考虑并解决哪 ...

  5. Vmware迁移以后eth0消失,无法上网

    一个再普通不过的大神帮助小菜做虚拟机镜像的事情: 小张:帮我做个Vmware下的Ubuntu镜像吧,大神. 小黄:好啊,等我一下,下午发给你. 经过一番操作,小黄顺利的做出了一个虚拟机操作系统 小黄: ...

  6. 从 ASP.NET Core 2.1 迁移到 2.2 踩坑总结

    官方迁移文档:https://docs.microsoft.com/zh-cn/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs= ...

  7. migration vmware vms to openstack kvm 修改vmware windows scsi to ide

  8. Openstack部署踩坑

    第一周: 使用kola部署Openstack,vip_address有问题,双网上也不行,就是部署不了,但all-in-one却可以,可是节点不会加. 第二周: 使用Packstack部署Openst ...

  9. 安装VMware Tools的步骤和那些坑

    背景环境:VMware workstation 12.5+Ubuntu16.04 首先VMware Tools在ubuntu中是及其不稳定的,也就是说,当你点击菜单栏中的install vmware ...

随机推荐

  1. BlueMix - IBM的Paas云计算平台

    Bluemix,2015年年中,IBM推出了名为Bluemix的云计算平台.这一"平台即服务"的PaaS云将帮助开发者更快的进行应用开发和部署.   Bluemix正是IBM回应这 ...

  2. spring5——Aop的实现原理(动态代理)

    spring框架的核心之一AOP,面向切面编程是一种编程思想.我对于面向切面编程的理解是:可以让我们动态的控制程序的执行流程及执行结果.spring框架对AOP的实现是为了使业务逻辑之间实现分离,分离 ...

  3. 定点化_mif文件生成

    clc; %全屏清零 clear all; %变量清零 N=^; %设置ROM深度(字变量)的变量参数, s_p=:; %正弦波一个周期的采样点数 sin_data=sin(*pi*s_p/N); % ...

  4. ICC_lab总结——ICC_lab5:布线&&数字集成电路物理设计学习总结——布线

    字丑,禁止转载! 这里将理论总结和实践放在一起了. 布线的理论总结如下所示: 下面是使用ICC进行实践的流程: 本次的布线实验主要达成的目标是: ·对具有时钟树布局后的设计进行可布线性检查 ·完成布线 ...

  5. oracle获取表字段属性

    select b.COMMENTS,a.COLUMN_NAME,a.DATA_TYPE,a.DATA_LENGTH, a.DATA_PRECISION,a.DATA_SCALE,a.NULLABLE, ...

  6. [洛谷P3383][模板]线性筛素数-欧拉筛法

    Description 如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) Input&Output Input 第一行包含两个正整数N.M,分别表示查询的 ...

  7. 复习HTML+CSS(2)

    n  项目符号嵌套编号思路 标签的内容(文本.项目符号.表格.图片等)必须放在最底层标记中. n  图片标记(行内元素,单边标记) l  语法:<img 属性 = "值"&g ...

  8. 如何使用Visual Studio 2017自带的源代码反编译功能

    反编译C#源代码,大家可能第一时间想到 .NET Reflector 这个工具.但是这个工具反编译出来的代码跟实际源码还是有一定差距的,阅读起来不是很便利. 本人在查看Visual Studio 20 ...

  9. jacascript DOM变动事件

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! DOM变动事件 变动事件(MutationEvent)能在DOM中的某一部分发生变化时给出提示,这类事件非 ...

  10. 使用hue查看hdfs系统报无法访问:/user/hadoop。 Note: you are a Hue admin but not a HDFS superuser, "hdfs" or part of HDFS supergroup, "supergroup".

    出现这个问题,是因为默认的超级用户是hdfs ,我的是hadoop用户登录的, 也就是说首次登录hadoop这个用户是我的超级用户 此时只需要将hue.ini配置改为 然后重启即可.