題 我應該在VirtualBox,VDI,VMDK,VHD或HDD上使用什麼磁盤映像?


最新版本的VirtualBox支持多種虛擬磁盤格式,但是他們忘了在它們之間進行比較。

  • VDI
  • VMDK
  • VHD
  • 硬盤

現在,我對考慮以下內容的推薦或比較感興趣:

  • 能夠使用動態大小調整
  • 能夠擁有快照
  • 能夠以最小的努力將我的虛擬機移動到另一個操作系統或甚至另一個免費的虛擬化解決方案(可能在Ubuntu上運行正常)。
  • 性能

261
2017-11-23 00:28


起源


運行虛擬框並單擊幫助圖標>目錄,在“虛擬存儲”下有一個公平的解釋 - Moab
關於遷移到“另一個可以在Ubuntu上正常運行的免費虛擬化解決方案”,我非常確定VirtualBox可用於Linux。 - Iszi
性能方面,我認為如果你有空間,最好是創建固定磁盤。否則,在創建時使用虛擬機而不是一次時,操作系統會非常緊張。 - Alexis Wilke
另外需要考慮的是在需要時調整圖像大小 - VBoxManage無法調整VMDK的大小,因此您必須首先克隆到VDI,然後調整大小,然後再返回VMDK +捏造UUID。僅僅因為這個原因,VDI對我來說似乎是更好的選擇。 - Mike Demenok


答案:


VirtualBox有 全力支持 VDIVMDK,和 VHD 和支持 Parallels版本2(HDD) (不是更新的版本)

回答你的注意事項

  • 能夠使用動態大小調整

VDIVMDK,和 VHD 所有都支持動態分配大小。 VMDK還具有將存儲文件拆分為每個小於2 GB的文件的附加功能,如果您的文件系統具有較小的文件大小限制,這將非常有用。

  • 能夠擁有快照

所有四種格式 支持VirtualBox上的快照。

  • 能夠以最小的努力將我的虛擬機移動到另一個操作系統或甚至另一個免費的虛擬化解決方案(可能在Ubuntu上運行正常)。

VDI是VirtualBox的本機格式。我沒有搜索任何支持此格式的其他軟件。

VMDK由VMWare開發,但是對於VMWare,Sun xVM,QEMU,VirtualBox,SUSE Studio和.NET DiscUtils也支持它。 (這種格式可能是最適合您的,因為您需要在Ubuntu上運行良好的虛擬化軟件。

VHD是Microsoft Virtual PC的本機格式。這是一種受Microsoft產品歡迎的格式。

我對HDD一無所知。從看看來看 這個網站,Parallels是Mac OS X產品,可能不適合您,特別是考慮到VirtualBox僅支持舊版本的HDD格式。

  • 性能

格式不應影響性能,或至少性能影響可忽略不計。

影響績效的因素有:

  • 您的物理設備限制(在硬盤驅動器上比在硬盤驅動器上更明顯) 固態硬盤... 為什麼?
  • 擴展動態分配的虛擬磁盤驅動器(虛擬磁盤擴展時寫入操作較慢,但一旦足夠大,擴展應該更少)
  • 虛擬化技術(硬件與軟件;硬件虛擬化有助於VirtualBox並提高虛擬操作系統的速度)
  • 您正在運行虛擬操作系統的事實。由於虛擬化過程,性能總是比在主機上運行操作系統慢。

184
2018-06-22 20:33



+1我將補充說VMDK似乎提供了我在增量備份方面一直在尋找的靈丹妙藥:我不再 有 為客戶的單個位更改備份巨大的單片VDI。 - msanford
我認為原始主機硬盤有一些缺失的考慮因素,即從主機看到的使用“物理”硬盤(或RAID設備)的虛擬客戶機。與在文件系統上使用模擬驅動器相比,這將允許更好的性能。 - Enzo
@Enzo:我現在在原始塊設備上使用VMDK。最大的問題是VirtualBox需要以root身份運行。此外,原始磁盤不支持快照,但我有第三方快照系統(ZFS)。原始磁盤上的VMDK也不那麼便攜。至於表現,我沒有任何可靠的基準,但我也沒有投訴。 - Deltik
VHD可以作為驅動器安裝在Windows磁盤管理中,這對於VDI來說似乎並不那麼簡單: superuser.com/q/342334/13889 - endolith
@msanford你能詳細說明VMDK如何避免備份龐大的文件 - rsync能否更好地找出差異? VMDK文件似乎也在每次調整時都會發生變化。 - Ben Creasy


我總是使用VDI,因為它是VirtualBox的原生格式;但是,使用VMDK(VMWare格式)將增加與其他虛擬機軟件的兼容性。

VirtualBox可以在Ubuntu上正常運行,因此如果目標是Windows / Ubuntu互操作性,VDI將是一個完美有效的選擇。

兩種格式都可以滿足您的要求。

至於另外兩個,VHD是微軟開發的格式,HDD是Apple開發的格式;這些都是專有許可的,因此限制了跨平台的支持;我不推薦他們。


34
2018-06-22 20:58





Mpack,解釋了VHD和VDI之間的關鍵性能差異:

在最近研究了VHD格式之後,我預計VDI中至少會有一個小的差異,當你比較喜歡時,最明顯的就是優化的VDI與優化的VHD。原因是動態VHD格式將這些“位圖”扇區分散在整個磁盤中。每次修改塊內的扇區時,這些位圖塊也可能需要更新和寫入,包括額外的搜索,讀取和寫入。當從驅動器圖像中讀取連續的簇時,也必須跳過這些位圖扇區 - 更多的尋道。 VDI格式沒有這些開銷,特別是如果VDI已經過優化(虛擬磁盤上的塊按LBA順序排序)。

我的所有評論都適用於動態VHD格式與動態VDI。對固定大小的虛擬磁盤進行性能測試是沒有意義的,因為兩種格式都是相同的(只是磁盤的普通映像),它們只有不同的標頭。

https://forums.virtualbox.org/viewtopic.php?f=1&t=22688


15
2018-05-08 14:20





我不知道使用vmdk是否可以透明地運行在VMware中的VirtualBox中創建的虛擬機。它可能。但是,更通用的選項可能是使用VirtualBox文件/導出功能來創建“Open Virtualization Appliance”.ova文件,然後可以將其導入VMware。使用這種方法,您可以移植到任何支持.ova的虛擬化系統,而無需考慮您在VirtualBox中使用的磁盤映像格式。

如果您需要定期從同一VM導出,例如每天,這可能是一種痛苦。但是,如果你偶爾只採用不同的技術,那應該沒問題。

如果您已經有.vdi文件,則可以在不必創建新虛擬機的情況下測試它是否有效。將其導出到.ova,然後嘗試使用vmware導入。


5
2017-07-03 21:22





磁盤映像文件駐留在主機系統上,並且客戶機系統將其視為某個幾何體的硬盤。當客戶機操作系統讀取或寫入硬盤時,VirtualBox會將請求重定向到映像文件。

與物理磁盤一樣,虛擬磁盤的大小(容量)必須在創建映像文件時指定。但是,與物理磁盤相反,VirtualBox允許您在創建後展開圖像文件,即使它已經有數據; VirtualBox支持四種磁盤映像文件:

VDI:通常,VirtualBox將自己的容器格式用於來賓硬盤 - 虛擬磁盤映像(VDI)文件。特別是,當您使用新磁盤創建新虛擬機時,將使用此格式。

VMDK:VirtualBox還完全支持流行的和開放的VMDK容器格式,許多其他虛擬化產品使用這種格式,特別是VMware。[25]

VHD:VirtualBox還完全支持Microsoft使用的VHD格式。

還支持Parallels版本2(HDD格式)的圖像文件。[26]由於缺少格式文檔,不支持較新的格式(3和4)。但是,您可以使用Parallels提供的工具將此類圖像文件轉換為版本2格式。


5
2017-11-28 18:23



這個答案來自VirtualBox手冊的第5章。 鏈接 - JerryOL


我使用vmdk的一個很好的理由是,使用VDI格式的Virtualbox(至少在v4.1之前)有一種趨勢,即使內部虛擬磁盤的使用量仍然少得多,也會隨著時間的推移填充整個分配的磁盤空間。使用vmdk磁盤的Virtualbox,這似乎不是一個問題。

但我說幾年正常運轉。這可能不是很多人遇到的問題。


4
2018-01-30 15:13



它與客戶文件系統的碎片比與格式本身更相關。 - Enzo


這取決於您計劃如何使用虛擬磁盤。並非每個VM都希望在單個磁盤上使用單個分區。

VDI似乎有更多選項(與VirtualBox一起使用時),但是一旦你將VirtualBox從圖片中刪除,對VDI的支持就會變得有點不穩定(截至2014年底)。

例如,我的解決方案需要最大程度的跨平台支持。在Linux或Windows 7上安裝VDI(例如環回設備)比您預期的更難和更困難。幾乎就像VDI具有太多功能一樣,很難使完全符合要求的實用程序能夠對其進行操作。

當你想讓它與任何工作站上的任何虛擬機一起工作時,當你想要將它3次克隆到網絡上的其他系統時,以及當你想在不啟動虛擬機的情況下打開它時,VMDK就不那麼輕鬆了實例。

儘管我在90%的時間內都使用VirtualBox,但是在我的磁盤在某些工作流程中無法訪問的那些次數讓我更喜歡VMDK用於可插拔/共享文件系統。


3
2018-01-08 04:33





看起來使用VDI可以將磁盤文件修剪為其實際大小 VirtualBox和SSD的TRIM命令支持


3
2017-11-19 00:23



雖然對於一個詢問這些格式之間的一般差異的問題,準確一點有點黯淡,你不覺得嗎? - Seth
@Seth概述是由以前的答案提供的,我沒有足夠的代表只是評論,但提到這個事實仍然很重要 - OwnageIsMagic
正如一個建議雖然添加它給它更多的上下文。例如。 “而 這個 答案提供了一個很好的概述,你也應該考慮......的優勢。所以,即使單獨閱讀,你的答案也與更普遍的答案有關。 - Seth
@Seth有 edit 我問你的按鈕:D - OwnageIsMagic
它建議你如何改善帖子。這是你的決定,只要你想做,因為這只是我的意見。在編輯中或多或少地重寫一個相當糟糕的風格 - 再次只是我的意見。 ;) - Seth


如果VM變得太大,VDI更容易壓縮。


1
2017-08-02 18:14