關於vmware虛擬機的ova/ovf轉換成aws上的AMI鏡像


很多時候,我們會有這樣的需求,需要將DC中vmware虛擬化的服務器,遷移到aws上,我們就得先將vmware虛擬機導出,然后轉換

關於vmvare虛擬的導出備份,一般有ova(Open Virtual Appliance )文件件和ovf(Open Virtual Format)多文件兩種格式

筆者根據自己的實際工作經驗,整理了主要操作過程,需要如下3步:

1、導出OVA/OVF備份

2、將OVA/OVF上傳至S3上

3、將S3上的OVA/OVF轉換成AMI

 

關於OVA/OVF轉換成AMI,也可參考如下AWS官方文檔資料:

https://docs.amazonaws.cn/vm-import/latest/userguide/vmimport-image-import.html

 

+++++++++ 具體操作如下,以OVF格式為例):

1、事先需要准備的,創建一個s3桶:s3://dcvmbackup,然后可以在其下單獨創建一個文件夾DC-VM-HGTAA02V

2、將導出的OVF備份目錄同步到s3上(使用cp上傳可能會中斷,推薦使用sync同步)

[qq_5201351@localhost DC-VM-HGTAA02V]# aws s3 sync ./ s3://dcvmbackup/DC-VM-HGTAA02V

3、上傳完成后,將S3上的備份轉換成AMI,先寫ovf轉換成ami的json文件(如寫到 /tmp/vm.json):

[
  {
    "Description": "First disk",
    "Format": "vmdk",
    "UserBucket": {
        "S3Bucket": "dcvmbackup",
        "S3Key": "DC-VM-HGTAA02V/HGTAA02V-1.vmdk"
    }
  },
  {
    "Description": "Second disk",
    "Format": "vmdk",
    "UserBucket": {
        "S3Bucket": "dcvmbackup",
        "S3Key": "DC-VM-HGTAA02V/HGTAA02V-2.vmdk"
    }
  }
]

3、執行轉換命令(成功后,將在aws層的后台執行了)

aws ec2 import-image --description "DC-VM-HGTAA02V" --disk-containers "file:///tmp/vm.json"

4、執行后,會在終端輸出一個import-task-ids,這個值將默認作為AMI轉換成功后,AWS/AMIs界面中的AMI Name

      后續也需要使用此值,查詢轉換的狀態(會分幾個階段執行的,完全轉換完成后,如下所示,在第一行最后會顯示completed)

[qq_5201351@localhost ~]# aws ec2 describe-import-image-tasks --import-task-ids import-ami-0b31bf4357b880a82
IMPORTIMAGETASKS x86_64 DC-VM-HGTAA02V ami-0fa0c86c6cf316c83 import-ami-0b31bf4357b880a82 AWS Windows completed
SNAPSHOTDETAILS First disk /dev/sda1 25364550656.0 VMDK snap-0e46853558beb56dd completed
USERBUCKET dcvmbackup DC-VM-HGTAA02V/HGTAA02V-1.vmdk
SNAPSHOTDETAILS Second disk /dev/sdg 27609645568.0 VMDK snap-075b0c2042a3e6a88 completed
USERBUCKET dcvmbackup DC-VM-HGTAA02V/HGTAA02V-2.vmdk
[qq_5201351@localhost ~]#

說明:轉換完成后,才會看到AMI-ID,如下所示的ami-0fa0c86c6cf316c83

 

++++++ 補充說明:如果是OVA格式的,只是json文件格式不一樣,因為是單文件、所以語法會更加簡潔一些,如下:

不過,好像新版本的Vcenter/Esxi,大多默認都只支持OVF格式的導出了

[
  {
    "Description": "My Server OVA",
    "Format": "ova",
    "UserBucket": {
        "S3Bucket": "my-import-bucket",
        "S3Key": "vms/my-server-vm.ova"
    }
  }
]

關於OVA格式的轉換同OVF一樣的,公司此前在轉換有些主機時,也可能會加上--license-type BYOL選項,從技術上來說,不加也是可以的

如果是要取消處於活躍狀態的導入任務,我們可以使用 cancel-import-task 命令,如下:

aws ec2 cancel-import-task --import-task-id import-ami-1234567890abcdef0

 

 

 

尊重別人的勞動成果 轉載請務必注明出處:https://www.cnblogs.com/5201351/p/14706034.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM