Mount
如何在整個磁碟上使用 zerofree?
我的 VirtualBox 文件系統如下所示:
# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 29799396 5467616 22795012 20% / devtmpfs 1929980 0 1929980 0% /dev tmpfs 1940308 12 1940296 1% /dev/shm tmpfs 1940308 8712 1931596 1% /run tmpfs 1940308 0 1940308 0% /sys/fs/cgroup /dev/sdb 31441920 1124928 30316992 4% /srv/node/d1 /dev/sdc 31441920 49612 31392308 1% /srv/node/d2 /dev/sdd 31441920 34252 31407668 1% /srv/node/d3 /dev/sda1 999320 253564 676944 28% /boot tmpfs 388064 0 388064 0% /run/user/0
磁碟
/dev/sdb
,/dev/sdc
,/dev/sdd
是 VDI 數據磁碟。我從它們中刪除了一些數據(不是所有數據),然後想用它zerofree
來壓縮它們。看起來我不能zerofree
在這些磁碟上使用。這是一個執行:# zerofree -v /dev/sdb zerofree: failed to open filesystem /dev/sdb
是否可以在此類磁碟上使用 zerofree?如果沒有,是否有任何替代解決方案?我需要將現有數據保留在這些磁碟上,但使用
zerofree
(或其他任何東西)用零填充已刪除的數據。
我沒有找到有關如何
zerofree
在此類磁碟上使用的答案,但我找到了一種效果很好的替代解決方案。
- 將您的磁碟安裝在某處(在我的情況下,3 個磁碟安裝到以下位置:
/srv/node/d1
、、、/srv/node/d2
)/srv/node/d3
。- 輸入安裝磁碟的目錄 (
cd /srv/node/d1
)。- 執行命令:
dd if=/dev/zero of=zerofillfile bs=1M
- 刪除創建的文件:
rm -f zerofillfile
- 對所有磁碟執行上述操作。
PS 和這個問題無關,但是對於虛擬盒子磁碟壓縮,執行上述命令後使用命令:
VBoxManage modifyhd --compact /path/to/my/disks/disk1.vdi