
ZFS 옵션을 사용하여 Ubuntu 21.10을 설치하거나 업그레이드한 후 이상한 문제가 발생하기 시작했습니다.
예를 들어 명령줄에서 다음과 같은 오류가 표시되기 시작했습니다.
Cannot access 'foobar': No such file or directory
일부 디렉토리에서 ls -l을 실행하면 다음과 같은 물음표가 표시됩니다.
-????????? ? ? ? ? ? foobar.txt
-????????? ? ? ? ? ? foobar2.txt
결국에는 (ZFS를 사용하는) Ubuntu 21.10도 부팅할 수 없었습니다.
답변1
이는 알려진 문제입니다. 그만큼Ubuntu 21.10 릴리스 노트말하다:
알려진 문제
리눅스 커널
- 5.13.0-19 커널에 포함된 ZFS 드라이버 버전에는 다음이 포함되어 있습니다.버그파일 시스템이 손상될 수 있습니다. ZFS 사용자는 업그레이드하기 전에 21.10에서 커널의 첫 번째 안정 릴리스 업데이트가 나올 때까지 기다리는 것이 좋습니다.
나는 다음과 같은 조치를 권장합니다.
- Ubuntu 21.10을 설치하는 경우 ZFS 옵션을 선택하지 마십시오. 이로 인해 원하지 않는 파일 시스템 손상이 발생합니다.
- Ubuntu 21.10으로 업그레이드하고 ZFS를 사용하는 경우 수정 사항이 릴리스되고 사용자가 더 이상 문제를 보고하지 않을 때까지 업그레이드하지 마십시오. (글을 쓰는 시점에서는 아직 수정본이 출시되지 않았습니다.)
이미 Ubuntu 21.10으로 업그레이드한 경우 부팅 메뉴(grub)에서 "되돌리기" 옵션을 선택하여 이전 파일 시스템으로 되돌릴 수 있습니다. del부팅하는 동안 누르면 이 부팅 메뉴가 표시됩니다.
답변2
FWIW Flimm의 게시물에 언급된 버그를 확인한 후 방금 21.04에서 21.10으로 성공적으로 업그레이드했습니다.일부 징후(내가 원했던 것만큼 명확하지는 않습니다...) 커널 버전에서 수정되었습니다 5.13.0-20
. 이 버그는 5.13.0-19
처음에 21.10과 함께 치명적으로 출시된 버전인 를 포함하여 모든 이전 5.13 커널 버전에 존재하는 것으로 보입니다 .
내 시스템은 루트에서 사용자 정의 배포된 ZFS를 실행하고 있습니다. Hirsute(ZFS v2.0.3)와 함께 제공되는 기본 버전을 사용하여 처음부터 배포되었습니다. 나는 Ubuntu의 Zsys를 실행하고 있지 않지만 그것이 관련이 없다고 생각합니다.
절차
- 별도의 시스템에 충분한 백업이 있는지 확인했습니다. 분명히 ZFS 스냅샷에 의존하는 것은 여기서 적합한 전략이 아닙니다.
- 일반적인
do-release-upgrade
절차를 실행했습니다. 모든 것이 완벽하게 진행되었습니다. 실제로 제가 경험한 가장 원활한 Ubuntu 업그레이드 중 하나입니다. - 업그레이드가 완료되었으나재부팅하기 전에(예: "안전한" 5.11 Hirsute 커널을 계속 실행하는 동안)
/boot
부팅할 커널이5.13.0-19
; 나는 얻었다5.13.0-22:
$ ll /boot/vmlinuz
lrwxrwxrwx 1 root root 25 Dec 27 16:59 /boot/vmlinuz -> vmlinuz-5.13.0-22-generic
추가 정보
아래 조언은 22.04("Jammy")의 안정 버전이 나올 때까지만 관련이 있습니다.
라이브 이미지
이 글을 쓰는 시점에서 Canonical의 21.10 라이브 이미지에는 여전히 버그가 있는 커널 5.13.0-19가 함께 제공됩니다. 그러므로어떤 상황에서도 아니고해당 이미지를 사용하여 ZFS 파일 시스템에 액세스/배포합니다.
이러한 유지 관리를 수행해야 하는 경우 다음을 사용해야 합니다.21.04 라이브 영상21.10이 아닌; ZFS 버전은 매우 유사합니다(2.0.3/2.0.6).
루트에 ZFS를 사용한 새로운 21.10 배포
이용이 가능한 것으로 확인되었습니다.21.04 라이브 영상21.10 ZFS-on-root 배포를 수행합니다. 간단히 다음을 따르십시오.루트 가이드의 ZFSdebootstrap
다음과 같이 호출할 때(3.4단계에서) 원하는 릴리스를 지정합니다 .
debootstrap impish /mnt
또한 (4.3단계) impish
에서 동일한 버전( )을 지정해야 합니다 ./mnt/etc/apt/sources.list