ZFS를 사용하는 Ubuntu 21.10의 이상한 파일 문제

ZFS를 사용하는 Ubuntu 21.10의 이상한 파일 문제

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를 실행하고 있지 않지만 그것이 관련이 없다고 생각합니다.

절차

  1. 별도의 시스템에 충분한 백업이 있는지 확인했습니다. 분명히 ZFS 스냅샷에 의존하는 것은 여기서 적합한 전략이 아닙니다.
  2. 일반적인 do-release-upgrade절차를 실행했습니다. 모든 것이 완벽하게 진행되었습니다. 실제로 제가 경험한 가장 원활한 Ubuntu 업그레이드 중 하나입니다.
  3. 업그레이드가 완료되었으나재부팅하기 전에(예: "안전한" 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

관련 정보