簡體   English   中英

將 qcow2 轉換為 vmdk 並使其兼容 ESXi 6.0

[英]Convert qcow2 to vmdk and make it ESXi 6.0 Compatible

我目前正在研究 VMWare 虛擬化; 我正在嘗試使用 ESXi Server 6.0 制作從 qcow2 到 vmdk 的轉換圖像。

我的 myImage.qcow2 帶有一個為 300GB 進行精簡配置的磁盤。

我使用圖像轉換器工具 qemu 和以下命令

qemu-img convert -f qcow2 myImage.qcow2 -O vmdk myNewImage.vmdk 

此命令為我提供了一個僅與 VMWare Workstation 兼容的 vmdk 映像。 因此,為了使其與 ESXi 兼容,我必須通過以下命令使用 vmkfstools。

vmkfstools -i myImage.vmdk outputName.vmdk -d thin

vmkfstools 命令給了我兩個文件,一個 metadata.vmdk 和實際的 data.vmdk。

如上所述,我的磁盤已精簡配置為 300GB,當我應用 vmkfstools 時,它會擴展磁盤並提供 300GB 的大小。

通過 vSphere Client 部署映像沒有任何問題; 然而,為了這個項目的目的,我想使用 ovftool 並且使用如此大的圖像這樣做是不可行的。

有沒有辦法讓我的 .vmdk ESXi 兼容而無需 vmkfstools 將我的圖像擴展到 300GB?

或者有沒有其他方法可以讓我在磁盤映像位於數據存儲上時使用 ovftool 部署那些 300GB,這樣就不必通過部署過程下載/上傳它?

我已經堅持了幾個星期,任何幫助將不勝感激。

僅供參考:根據變更日志,此支持已在 Qemu 2.1 及更高版本中添加

qemu-img convert -f qcow2 -O vmdk -o adapter_type=lsilogic,subformat=streamOptimized,compat6 SC-1.qcow2 SC-1.vmdk

這對我適用於 VMware 6.7

TL; DR 是

qemu-img convert -f qcow2 -O vmdk -o subformat=streamOptimized source_qcow_image_path destination_path_to_vmdk

例如:

qemu-img convert -f qcow2 -O vmdk -o subformat=streamOptimized \
 CentOS-7-x86_64-GenericCloud-1503.qcow2 \
 CentOS-7-x86_64-GenericCloud-1503.vmdk

使用以下腳本更新嵌入在轉換圖像中的 vmdk 版本設置:

* 這才是真正對我有用的 *

printf '\x03' | dd conv=notrunc of=<vmdk file name> bs=1 seek=$((0x4))

例如:

printf '\x03' | dd conv=notrunc of=CentOS-7-x86_64-GenericCloud-1503.vmdk bs=1 seek=$((0x4))

來源: https : //kb.vmware.com/s/article/2144687

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM