用openmediavault裝nextcloud跟當檔案伺服器,
當初一時興起做出來玩,想不到現在上頭賞臉拿去用了,
偶然去看備份的時候突然發現VHDX檔佔用容量遠比實際大很多,
才發現動態擴充不會自動釋放空間,我嘗試用Hyper-v編輯壓縮也沒變小,
請問要如何把空間釋放出來?
如果放著不管會依實際空間上限變成像固定大小停在上限
還是會超出上限大小甚至開不起來?
最近也在研究將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)。