1. 程式人生 > >vmware遷移到openstack的一些坑

vmware遷移到openstack的一些坑

info 一是 parent OS 80端口映射 mode 常常 鏡像文件 file

前言

主要有三個坑:

  • 一是如果原先虛擬機沒有安裝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的一些坑