ディスク全体でゼロフリーを使用するには?

ディスク全体でゼロフリーを使用するには?

私の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/sddVDIデータディスクです。一部のデータ(すべてではない)を削除してzerofree後で圧縮するために使用したいと思います。zerofreeこのディスクでは使用できないようです。以下は実行です。

# zerofree -v /dev/sdb
zerofree: failed to open filesystem /dev/sdb

そのようなディスクでZerofreeを使用できますか?そうでなければ、他の解決策はありますか?このディスクには既存のデータを保持する必要がありますが、zerofree削除されたデータをゼロで埋めるために使用するか、他のものを使用する必要があります。

ベストアンサー1

zerofreeそのようなディスクでどのように使用するかの答えは見つかりませんでしたが、うまく機能する代替ソリューションを見つけました。

  1. ディスクを特定の場所にマウントします(私の場合は3つのディスクを、、、/srv/node/d1/srv/node/d2/srv/node/d3
  2. ディスクインストールディレクトリ(cd /srv/node/d1)を入力してください。
  3. 注文の実行:dd if=/dev/zero of=zerofillfile bs=1M
  4. 生成されたファイルの削除:rm -f zerofillfile
  5. すべてのディスクに対して上記の操作を実行します。

PSこの質問には関係ありませんが、仮想ボックスディスクを圧縮するには、上記の命令を実行してから命令を使用してください。

VBoxManage modifyhd --compact /path/to/my/disks/disk1.vdi

おすすめ記事