vmware遷移到openstack的一些坑

前言

主要有三個坑:api

  • 一是若是原先虛擬機沒有安裝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.110ide

遷移步驟

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格式再上傳,節約時間。code

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的網卡和磁盤驅動安裝好orm

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中,當鏡像文件很大的時候,這個過程經常由於超時而失敗。ip

因此咱們須要修改cinder.conf服務的glance_api_version爲v2,而後重啓cinder-volume服務。ci

使用這兩上一步個鏡像建立雲硬盤, 大小爲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,再從新開機, 在界面上操做就能夠,這裏不給出命令

至此,服務器狀態的恢復就完成了

相關文章
相關標籤/搜索