iT邦幫忙

0

VHDX動態擴充佔用容量怎麼壓縮

用openmediavault裝nextcloud跟當檔案伺服器,
當初一時興起做出來玩,想不到現在上頭賞臉拿去用了,
偶然去看備份的時候突然發現VHDX檔佔用容量遠比實際大很多,
才發現動態擴充不會自動釋放空間,我嘗試用Hyper-v編輯壓縮也沒變小,
請問要如何把空間釋放出來?

如果放著不管會依實際空間上限變成像固定大小停在上限
還是會超出上限大小甚至開不起來?

你用的linux應該可以掛載NFS或CIFS把NAS空間串連進系統,或是使用iSAN/iSCSI把STORAGE上的volume mount進來擴充空間,我都是這樣做,主系統上的開機硬碟只有小小的幾百GB SSD
wayneup4 iT邦新手 1 級 ‧ 2021-01-29 11:07:02 檢舉
我想要的是壓縮VHDX的容量,不是實際容量不夠,因為動態擴充的關係VHDX虛胖,想幫它瘦身一點。
https://blog.dino9021.com/2017/12/compact-vhd-vhdx.html
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
japhenchen
iT邦超人 1 級 ‧ 2021-01-29 11:29:02
看更多先前的回應...收起先前的回應...
wayneup4 iT邦新手 1 級 ‧ 2021-01-29 14:28:08 檢舉

這個我也試過了,壓縮跑完了,可是VHDX的容量沒變。

你那個是固定容量的VHDX檔吧?

wayneup4 iT邦新手 1 級 ‧ 2021-01-29 14:45:19 檢舉

有時候你會發現, Dynamic 的 VHD / VHDx 怎麼 Compact 都還是一樣大一個 100GB 的 VHD 裡面明明只有 20GB 卻無法縮小。

  • 就是這個問題,只是照他的方法不管是自己掛接唯讀-壓縮,還是直接用指令,跑完壓縮檔案一樣沒縮小。我再想是不是方法不適用linux系統的VHDX檔。

只有一個可能,VHDX的磁區尾端有無法移動的資料(應該說是記錄)

wayneup4 iT邦新手 1 級 ‧ 2021-01-29 15:00:29 檢舉

那應該是沒辦法了,等到上限再看怎麼辦,謝謝。

0
lsesroom
iT邦新手 3 級 ‧ 2023-03-01 16:16:09

最近也在研究將linux的vhdx縮減的方法。我成功將我的ubuntu變小了,你可以參考看看。

1.用ubuntu光碟開機(我使用22.04 desktop版的),然後選試用ubuntu。
2.在試用的系統中用GParted去resize partition的大小,並將partition都移動向左邊靠攏。(swap磁區需要swapoff後才能移動,移動完成套用後,記得要swapon。)

這邊我遇到兩個問題。一是在hyper-v的介面將vhdx縮減是可行的。但是縮到系統跟你說的最小值之後(應該是hyper-v看硬碟分割表給出的建議),虛擬機器就開不起來了。我還沒測試過不要縮到最小建議值會不會正常,不過依硬碟分割表來設定vhdx大小應該要是沒有問題的才是。

二是我嘗試用另一個方法,也就是將硬碟備份成image,再還原到設定較小的vhdx中。我用的是再生龍這個軟體。但在還原時卻發生了partition2跟partition3分隔大小對調的問題,所以在還原partition2時就因為容量不足失敗而。

跟問題一一起看下來,我猜可能在使用GParted調整partition時產生的錯誤。或許可以嘗試用kde partition manager來調整partition,看會不會較正常。

3.最後我是個別將partition做成image,再在新的小vhdx中先做好分割,然後將partition的image個別還原回去就可以了。

如果你要再增加vhdx的容量,可以試試在hyper-v中先設定vhdx的大小。接著再用GParted或kde partition manager將要擴大的partition移到右端,再把partition resize看看。我覺得單純將partition拉大,應該不會直接把vhdx變大,而是要放資料進去才會(大概)。然後你之前vhdx無法縮減,可能是在硬碟的末端有磁區的關係(通常是swap)。

我要發表回答

立即登入回答