zfs list -t snapshot rpool/ROOT/ubuntu_ycu6f2

zfs list -t snapshot rpool/ROOT/ubuntu_ycu6f2

Ubuntu 21.04を使用してルートでzfsを実行する1TBドライブがあります。私のシステムは70GB未満のメモリを使います。 600GBのイメージファイルを作成(切り捨てました)しました。私はこのイメージファイルを他のzfsデータセットと一緒に使用します。その後、プールとイメージファイルのデータセットを削除しました。また、画像ファイルをゼロに切り捨てます。約200GB程度の回復が可能でした。 400GBを超えるディスク容量が不足しています。 zfsは私が673GBを使用していると報告します。 70GB以上使ったことを見たことがありません。そのような多くのディスク容量を使用するスナップショットはありません。

#zfs リスト -o スペース -r rpool 見せるrpool/ROOT/ubuntu_ycu6f2スナップショットには636 GBを使用します。このスナップショットが見つかりません。

    NAME                                                              AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD
    rpool                                                              241G   673G        0B     96K             0B       673G
    rpool/ROOT                                                         241G   647G        0B     96K             0B       647G
    rpool/ROOT/ubuntu_ycu6f2                                           241G   647G      636G   3.83G             0B      6.56G
....

zfs list -t snapshot rpool/ROOT/ubuntu_ycu6f2

NAME                                       USED  AVAIL     REFER  MOUNTPOINT
rpool/ROOT/ubuntu_ycu6f2@autozsys_14wuai   245M      -      637G  -
rpool/ROOT/ubuntu_ycu6f2@autozsys_edz0lw   122M      -      637G  -
rpool/ROOT/ubuntu_ycu6f2@autozsys_m7el6f   201M      -      637G  -
rpool/ROOT/ubuntu_ycu6f2@autozsys_4fi5he   167M      -     4.14G  -
rpool/ROOT/ubuntu_ycu6f2@autozsys_3af8r6   130M      -     4.35G  -

失われたディスク領域がどこにあるかを見つける方法と回復方法。

答え1

REFER出力の列を表示しますzfs list。最初の3つのスナップショットは637Gを参照します。最後の2つのスナップショットは、それぞれ4.14Gと4.35Gのみを参照します。切り捨てられたファイルは最初の3つのスナップショットではまだ参照されますが、最後の2つでは参照されなくなったようです。

スペースを回復するには、切り捨てられたファイルの前のスナップショットを削除する必要があります。

sudo zfs destroy -v rpool/ROOT/ubuntu_ycu6f2@autozsys_14wuai
sudo zfs destroy -v rpool/ROOT/ubuntu_ycu6f2@autozsys_edz0lw
sudo zfs destroy -v rpool/ROOT/ubuntu_ycu6f2@autozsys_m7el6f

コマンドライン-vにオプションを追加すると、各コマンドでどのくらいのスペースが確保されているかが表示されます。zfs destroyこれらのスナップショットを削除すると、約633 Gの空き容量を再利用できます。

関連情報