부팅 파티션에 충분한 공간이 없는 것과 관련된 것으로 보이는 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
.
creation
zfs
이 속성을 쿼리하여 스냅샷이 생성된 날짜 스탬프를 표시 할 수 있습니다 .
$ 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 시스템을 쿼리하는 방법을 이해하는 데 도움이 되기를 바랍니다 .