1. 程式人生 > >把ESXi中的虛擬機器通過OVA匯出的方式遷移到Proxmox 5

把ESXi中的虛擬機器通過OVA匯出的方式遷移到Proxmox 5

一、前言

    之前發現ESXi是免費的時候,非常興奮地把幾臺伺服器都裝上了,用著確實還行,但是用久了之後就發現,很多高階功能需要進一步付費才能使用,比如HA等。另外就是它還有很多侷限性,比如賬號許可權配置、只能在windowns下用客戶端登入、無法記住登入賬號密碼等,這些我來說,變得越來越不可忍受。

    經過長時間的尋找,從XenServer到更加強大的OpneClound,都有了解甚至嘗試去搭建試用,發現它們不是功能太有限就是搭建和維護難度太大,最終確定了一款叫Proxmox VE的軟體,可以算是開源軟體,免費使用免費升級,安裝超級簡單(可以下載iso像安裝linux一樣用u盤光碟之類來安裝),而且有web管理端,常用功能直接在web就可以搞定,進階功能又可以用命令列完成,使用一段時間後深得我心。現在要把之前在ESXi中的虛擬機器遷移過去,因為在網上找到的資料都不完整,特此記錄一下。值得注意的是本文的方法只能在Proxmox 5 以上版本使用,我在4.4上試過,發現沒有qm importovf命令。

二、匯出ova 

首先第一步是從ESXi的管理客戶端vSphere Client中把要遷移的虛擬機器關機,然後選中它,在選單“檔案”-“匯出”-“匯出OVF模板”,然後格式選擇“單個檔案(OVA)”,等待匯出完成。這個方法好像會把虛擬機器硬碟未使用部分壓縮起來,會比原來的vmdk檔案小很多,如果你虛擬機器的硬碟不是使用滿了的話。

三、上傳到目標主機

    然後就是把ova檔案上傳到proxmox到主機。可以用winscp,也可以用web端。用web端的時候,在web左側選擇“資料夾檢視”,然後展開“儲存”,選中一個可以上傳映象的儲存,比如“local(pve1)”,其中pve1是你的主機名字,在右邊選擇“內容”-“上傳”即可。這裡有一個技巧,因為上傳的只能是iso或者容器模板,這裡選擇iso,然後把之前的ova檔案加上一個iso字尾就可以上傳成功了。

四、解壓

    用ssh客戶端或者直接在web上登入你上傳iso的主機,找到上傳的ova檔案,先用tar解壓,例如上傳的是vm01.ova.iso,則解壓命令如下:

tar xvf vm01.ova.iso

解壓成功之後會得到以下檔案:

1.一個ovf檔案,這個檔案包含了虛擬機器的硬體配置,例如cpu規格、記憶體等。

2.一個或多個vmdk檔案,這些是虛擬機器的硬碟映象,數量取決於虛擬機器有多少個硬碟。

五、匯入

    最後使用命令把ovf匯入到proxmox中。命令如下:

qm importovf 999 vm01.ovf local --format qcow2

其中:

999是虛擬機器的id,在proxmox所有虛擬機器中要唯一,是一個3位數字。

vm01.ovf 是tar解壓出來的ovf檔案

--format qcow2是指定匯入後硬碟映象的格式,預設是raw格式。