ZFS冗長データセット

ZFS冗長データセット

ブートパーティションに十分なスペースがないことに関連しているように見えるaptでエラーが発生します。dpkg --configure -a

Setting up initramfs-tools (0.140ubuntu13) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.140ubuntu13) ...
update-initramfs: Generating /boot/initrd.img-5.15.0-46-generic
...
zstd: error 25 : Write error : No space left on device (cannot write compressed block) 
E: mkinitramfs failure zstd -q -1 -T0 25
update-initramfs: failed for /boot/initrd.img-5.15.0-46-generic with 1.
dpkg: error processing package initramfs-tools (--configure):
 installed initramfs-tools package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 initramfs-tools

パーティションをきれいにしましたが、問題はまだ存在します。 du -d1 -h /boot与えられた

8.2M    /boot/grub
14M /boot/efi
373M    /boot
373M    total

zfs list生産する:

bpool                                   1.64G   115M       96K  /boot
bpool/BOOT                              1.63G   115M       96K  none
bpool/BOOT/ubuntu_kd8ik4                 325M   115M      351M  /boot
bpool/BOOT/ubuntu_xwub0c                1.32G   115M      351M  /boot

そしてzpool status -v bpool

  pool: bpool
 state: ONLINE
  scan: scrub repaired 0B in 00:00:01 with 0 errors on Thu Aug 18 11:10:49 2022
config:

    NAME                                    STATE     READ WRITE CKSUM
    bpool                                   ONLINE       0     0     0
     ef6a5d5a-29e2-3b47-bd01-cc9b33b50787  ONLINE       0     0     0

errors: No known data errors

データはパーティションから削除されましたが、実際には以前のスナップショットにまだ存在しているようです。

ただし、zfs list -rt snapshot bpool大きなパーティションは表示されません。

NAME                                           USED  AVAIL     REFER  MOUNTPOINT
bpool/BOOT/ubuntu_xwub0c@autozsys_g612ij        72K      -      254M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_zz6jnc        56K      -      254M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_37jsph        56K      -      254M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_e1jf32         0B      -      254M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_iediod         0B      -      254M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_kvs9cu         0B      -      254M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_2ljo2e         0B      -      254M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_nuk0ub         0B      -      254M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_ofjed2         0B      -      254M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_wbqse4         0B      -      455M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_x820pz         0B      -      455M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_wwx7np         0B      -      455M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_fhi1tz        72K      -      341M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_8jj3zu        64K      -      341M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_bfdhhr         0B      -      341M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_95dnyh         0B      -      341M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_7orem7        64K      -      341M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_5rpfzz        72K      -      351M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_1npt7j         0B      -      351M  -
bpool/BOOT/ubuntu_xwub0c@autozsys_uevq0m         0B      -      351M  -

どんなアイデアがありますか?おそらく私がここで見ているものを理解するのに役立ちます。スナップショットではない場合、スナップショットとは何ですか?どのように統合しますか?

編集する zfs list -o name,used,usedsnap -s usedsnap bpool

NAME    USED  USEDSNAP
bpool  1.64G        0B

ベストアンサー1

簡単に言うと:

マニュアルページで入手してください:man zfs

別のドライブに「テストプール」を設定し、そのプールのスナップショットとファイルシステムを把握することで、システムの重要なプールに対する作業を心配する必要はありません。

zfs listファイルシステムを見ているのか、スナップショットを見ているのかを知るために友達を作成してください:zfs list -rt filesystem/ `zfs list -rt snapshot'

zfs getファイルシステムやスナップショットのさまざまなプロパティを表示する方法を知るために友達を作ります。zfs get all

最後に、スナップショットのバックアップ戦略を開発し、維持するスナップショットと、保持しないスナップショットを決定します。zfs destroy -v ....不要なスナップショットを操作してください。


ZFS データセットの使用方法については、zfsマニュアルページをお読みください。 ZFSデータセットには、データセット、スナップショット、ボリュームなどを使用するかどうかに応じて、多くの属性があります。

初心者の場合、

zfs list [-r|-d 深さ] [-Hp] [-o 属性[,属性]...] [-s 属性]... [-S 属性]... [-t タイプ[, タイプ] ...] [ファイルシステム|ボリューム|スナップショット]...

指定されたデータセットの属性情報を表形式で一覧表示します。指定した場合は、絶対パス名または相対パス名で属性情報を一覧表示できます。デフォルトでは、すべてのファイルシステムとボリュームが表示されます。 listnaps属性がon(デフォルトはoff)の場合、スナップショットが表示されます。名前、使用済み、使用可能、参照、マウントポイントのフィールドが表示されます。

表示している項目がファイルシステムかスナップショットであるかわからない場合は、表示したいzfsタイプのみを表示するように指定できます。ファイルシステムのみを表示するには、次のようにします。

zfs list -rt filesystem bpool

スナップショットのみを表示するには、以下を使用してください。

zfs list -rt snapshot bpool

両方を同時に表示するには、以下を試してください。

zfs list -rt all -o name,type,creation

ファイルシステムとスナップショット名をより具体的に選択して、ファイルシステムレイアウトの明瞭性を向上させることができます。私は通常YYYYMMDD-HHMMSSに基づいてスナップショットに名前を付けるので、名前付きスナップショットがファイルシステムpoolname/var/db@20220817-000500のスナップショット/var/dbであり、名前が指定されたスナップショットよりも最新であることをすばやく確認できますpoolname/var/db@20220815-000500

creationzfsこのプロパティを照会して、スナップショットが作成された日付スタンプを表示できます。

$ zfs get creation poolname/var/db@20220817-000500
NAME                             PROPERTY  VALUE                  SOURCE
poolname/var/db@20220817-000500  creation  Wed Aug 17  0:05 2022  -

または、データセットのすべてのスナップショット名と作成を表示しますpoolname/var/db

$ zfs list -rt snap -o name,creation poolname/var/db
NAME                                    CREATION
poolname/var/db@20220812-000500         Fri Aug 12  0:05 2022
poolname/var/db@prior-to-installworld   Fri Aug 12 12:13 2022
poolname/var/db@20220813-000500         Sat Aug 13  0:05 2022
poolname/var/db@20220814-000500         Sun Aug 14  0:05 2022
poolname/var/db@20220815-000500         Mon Aug 15  0:05 2022
poolname/var/db@20220816-000500         Tue Aug 16  0:05 2022
poolname/var/db@20220817-000500         Wed Aug 17  0:05 2022
poolname/var/db@prior-to-installkernel  Wed Aug 17 12:54 2022
poolname/var/db@20220818-000500         Thu Aug 18  0:05 2022
poolname/var/db@20220819-000500         Fri Aug 19  0:05 2022

ファイルシステムに対して ZFS が保存する属性の例を表示するには、次のようにします。

zfs get all bpool

ワークフローに役立つ属性を特定したら、セクションを調整してその属性を一覧表示でき-oますzfs list -rt all -o name,type,creation

どのスナップショットを削除しても安全かどうかに関する質問については、定義に従ってすべてスナップ写真削除しても安全です。ファイルシステムではなくスナップショットです。 (zfs複製されたファイルシステムのソースの場合は、スナップショットを削除できないことに注意してください。)すべてのバックアップ戦略と同様に、スナップショットを撮る頻度と保存時期を意図的に計画する必要があります。通常、スナップショットの寿命が変わりすぎて初期状態に戻すのが痛いため、スナップショットがバックアップポイントに価値がなくなるまで増えることがあります。スナップショットがその期間に達したら、定期的にスナップショットを削除して、スナップショットに使用されたプールスペースを復元することをお勧めします。これは、意味のある理解しやすいスナップショット名を使用すると、重要なスナップショットと重要でないスナップショットを区別するのに役立つ別の状況です。しかし、バックアップ戦略のテーマはまったく異なる問題です...

削除するスナップショットを識別したら、名前をコピーしてコマンドラインに貼り付けることができます。

zfs destroy -v bpool/BOOT/ubuntu_xwub0c@autozsys_g612ij

最後に、私は私が要求した不動産について十分に具体的ではありませんでしたUSEDSNAP。しかし、そうするなら:

zfs list -o name,used,usedsnap bpool/BOOT/ubuntu_xwub0c

データセットが合計スペースを使用していること、およびスナップショットがどのくらいのスペースを占めているかを確認する必要があります。

zfsこれは、マニュアルページの読み取りを開始し、必要な情報を取得するためにZFSシステムを照会する方法を理解するのに役立つことを願っています。

おすすめ記事