SUSE Linux Enterprise에서 Btrfs 읽기 전용 파일 시스템 오류 해결하기

SUSE Linux Enterprise Server(SLES)에서 파일을 저장하거나 서비스를 업데이트하려고 할 때 "읽기 전용 파일 시스템입니다."라는 메시지가 나타날 수 있습니다. 이 메시지는 마운트가 의도적으로 읽기 전용으로 설정되었거나, 읽기 전용 Snapper 스냅샷으로 부팅되었거나, Btrfs 파일 시스템이 문제를 감지하여 볼륨 보호를 위해 쓰기 작업을 중단했음을 의미할 수 있습니다. 이러한 원인에 따라 필요한 대응 방법이 다릅니다. 먼저 어떤 파일 시스템과 마운트가 문제인지 파악하십시오. 커널 로그를 확인하고 중요한 데이터를 보호하기 전에 강제로 다시 마운트하거나 복구 명령을 실행하지 마십시오.

오류가 의미하는 바는 무엇인가요?

Btrfs는 많은 표준 설치에서 SLES 루트 파일 시스템으로 기본 사용되는 복사 시 쓰기 방식의 Linux 파일 시스템입니다. Btrfs 서브 볼륨 은 파일 시스템의 독립적으로 마운트 가능한 부분이며, 스냅샷은 변경되지 않은 데이터 블록을 공유하는 서브볼륨의 특정 시점 복사본입니다. Snapper와 SLES 부팅 메뉴는 스냅샷을 사용하여 시스템 변경으로부터 시스템을 복구할 수 있습니다. 스냅샷으로 부팅하면 포함된 부분이 의도적으로 읽기 전용으로 마운트됩니다. 또한, Btrfs는 특정 구조적 오류가 감지되면 추가 쓰기를 방지하기 위해 읽기 전용 모드로 전환할 수 있습니다. SUSE는 SLES 15 SP7 Snapper 가이드 에서 스냅샷 동작에 대해 설명하고 있으며, Btrfs 프로젝트는 트리 체커 문서 에서 파일 시스템 구조 검사를 통해 볼륨이 추가 손상을 방지하기 위해 읽기 전용 모드로 전환될 수 있다고 설명합니다 . 정확한 메뉴 레이블과 사용 가능한 복구 옵션은 SLES 서비스 팩 및 스토리지 레이아웃에 따라 다를 수 있습니다.

권한 문제는 이와는 다릅니다. "권한 거부"는 일반적으로 소유권 또는 접근 제어 문제를 나타내며, "읽기 전용 파일 시스템"(종종 로 표시됨 EROFS)은 파일 시스템 또는 하위 볼륨 상태를 나타냅니다. 명령어를 사용하여 파일 권한을 변경해도 chmod읽기 전용 마운트된 파일을 쓰기 가능하게 만들 수는 없습니다.

변경하기 전에

운영 서버, 데이터베이스 볼륨 또는 중요 데이터의 유일한 복사본인 경우 시스템 관리자에게 문의하여 복구를 시도하기 전에 백업 상태를 확인하십시오. 시스템을 읽을 수 있는 상태라면, 문제가 있는 장치에 과부하를 주지 않고 가장 중요한 파일을 정상적인 다른 저장 장치로 복사하십시오. Btrfs 파일 시스템은 심각한 오류 발생 후 최근 메타데이터 변경 사항이 메모리에만 저장될 수 있으며, 마운트 해제 또는 재부팅 시 커밋되지 않은 변경 사항이 손실될 수 있습니다. 로그에 I/O 오류, 장치 사라짐 또는 반복적인 재설정이 언급되면 쓰기 복원보다 저장 장치 상태 및 데이터 보호를 우선시해야 합니다.

루틴의 첫 단계로 실행하지 마십시오 btrfs check --repair. Btrfs 프로젝트는 복구 모드가 손상을 초래할 수 있으며 모든 종류의 손상을 복구할 수 없다고 경고합니다. 또한 읽기/쓰기 재마운트를 반복적으로 강제로 수행하지 마십시오. 커널이 어떤 이유로든 파일 시스템을 보호한 경우 즉시 실패할 수 있습니다.

1단계: 문제가 발생한 마운트를 확인합니다.

쓰기 오류가 발생한 경로를 사용하십시오. 예를 들어, 서비스가 에 쓰기 오류가 발생하는 경우 /srv/app루트 파일 시스템에 문제가 있다고 가정하기보다는 해당 경로를 검사하십시오.

findmnt -T /srv/app -o TARGET,SOURCE,FSTYPE,OPTIONS

영향을 받는 파일 또는 디렉터리로 바꾸십시오 /srv/app. 출력에서 ​​Btrfs 소스, 마운트 대상 및 옵션( ro또는 ) 을 확인하십시오 rw. 대상은 /별도의 데이터 마운트 또는 서브볼륨일 수 있습니다. 계속하기 전에 소스와 대상을 기록해 두십시오. 명령이 다른 파일 시스템 유형을 보고하는 경우 해당 경로에는 Btrfs 관련 단계가 적용되지 않습니다.

파일 시스템이 읽기 전용이 된 이유를 확인하려면 현재 부팅 시 커널 메시지를 확인하십시오.

sudo journalctl -k -b --no-pager | grep -iE 'btrfs|I/O error|read-only|readonly'

Btrfs 오류 또는 "강제 읽기 전용" 메시지, 체크섬 또는 트리 오류, 장치 I/O 오류 및 장치 연결 끊김을 확인하십시오. 로그 라인은 단서일 뿐 완전한 진단은 아닙니다. 재부팅하기 전에 관련 메시지와 타임스탬프를 저장하십시오. 로그는 스토리지 또는 하드웨어 지원 팀에 유용할 수 있습니다.

2단계: 의도적으로 읽기 전용으로 생성된 스냅샷이 있는지 확인합니다.

GRUB에서 부팅 가능한 스냅샷으로 서버를 시작한 경우, 해당 스냅샷에 포함된 파일은 기본적으로 읽기 전용입니다. 이는 이전 시스템 상태를 확인하기 위한 복구 환경이며, 자동으로 영구 복원되는 시스템이 아닙니다. 스냅샷 부팅이 실수로 발생한 경우, 관리자에게 부팅 항목을 확인한 후 재부팅하고 일반 기본 SLES 부팅 항목을 선택하십시오. SUSE는 스냅샷으로 부팅하면 해당 스냅샷에 포함된 파일 시스템 부분이 읽기 전용으로 마운트된다는 사실과 별도의 롤백 절차에 대해 SLES 15 SP7 Snapper 복구 가이드 에 설명하고 있습니다 .

상위 파일 시스템이 읽기/쓰기 모드로 마운트되어 있더라도 특정 스냅샷은 읽기 전용일 수 있습니다. 스냅샷을 의도적으로 사용하는 경우, 변경하지 않고 스냅샷을 검사하십시오.

sudo btrfs property get -t subvol /path/to/subvolume ro

경로를 서브볼륨의 마운트 경로로 바꾸십시오. 결과가 나오면 ro=true서브볼륨 속성이 읽기 전용임을 확인할 수 있습니다. Btrfs 속성 참조 에서 이 플래그에 대한 설명을 확인할 수 있습니다. Snapper로 관리하거나 수신한 백업 스냅샷을 단순히 읽기/쓰기 모드로 변경하지 마십시오. 읽기 전용 상태는 롤백 또는 증분 백업의 전제 조건일 수 있습니다. 쓰기 전용 상태가 필요한 경우 지원되는 Snapper 워크플로를 사용하거나 별도의 쓰기 가능한 서브볼륨을 생성하십시오.

3단계: 마운트 구성 및 스토리지 상태 검토

findmnt보고서 ro와 로그에 Btrfs 또는 I/O 오류가 표시되지 않으면 .에서 해당 마운트 항목을 검사하십시오 . /etc/fstab마운트가 복구, 어플라이언스 이미지 또는 데이터 보호 정책을 위해 의도적으로 읽기 전용으로 구성되었을 수 있습니다. 서비스 소유자와 의도된 상태를 확인한 후에만 구성을 변경하십시오. 또한 시스템이 트랜잭션 또는 읽기 전용 루트 배포를 사용하는지 확인하십시오. SLES는 트랜잭션 업데이트 가이드 에서 이러한 구성 및 유지 관리 워크플로에 대한 문서를 제공 합니다. 항목이 명시적으로 쓰기 가능해야 하고 장치가 정상이며 경로가 읽기 전용 스냅샷이 아닌 경우 관리자는 임시로 다시 마운트할 수 있습니다.

sudo mount -o remount,rw /mountpoint

/mountpoint표시된 정확한 대상 위치로 교체하십시오 findmnt. 이 작업은 손상을 진단하거나 복구하지 않습니다. 실패하거나 오류가 발생하거나 커널 로그에 스토리지 문제가 표시되면 작업을 중지하고 다른 옵션으로 다시 시도하는 대신 복구 계획을 수립하십시오.

용량 문제가 발생할 수 있으므로 Btrfs 할당 및 장치 상태를 검토하십시오.

sudo btrfs filesystem usage /mountpoint
sudo btrfs filesystem show /mountpoint

SUSE는 Btrfs 파일 시스템에서 데이터와 메타데이터가 별도로 할당되기 때문에 일반적인 디스크 여유 공간 요약 정보가 오해의 소지가 있을 수 있다고 지적합니다. Snapper 스냅샷 또한 상당한 공간을 유지할 수 있습니다. 그러나 "장치에 남은 공간이 없습니다"라는 메시지는 Btrfs 읽기 전용 오류와 동일하지 않으므로, 애플리케이션이 실제로 어떤 메시지를 수신했는지 확인해야 합니다. 단순히 가설을 테스트하기 위해 스냅샷을 삭제하지 마십시오. 스냅샷에 포함된 내용을 확인하고 해당 보존 정책을 먼저 준수하십시오. 자세한 내용은 SLES 15 SP7 파일 시스템 문제 해결 가이드를 참조하십시오 .

4단계: 파일 시스템 복구가 필요한지 여부를 결정합니다.

커널 로그에 Btrfs 오류가 나타나거나, 장치가 없거나, 재마운트가 거부되는 경우, 복구 작업을 시작하기 전에 로그를 보존하고 검증된 백업 또는 스토리지 수준 스냅샷을 생성하십시오. 루트가 아닌 데이터 볼륨의 경우, 유지 관리 기간을 계획하고 오프라인 검사 전에 마운트를 해제하십시오. 루트 파일 시스템의 경우, SUSE 설치 또는 복구 미디어를 사용하고 해당 SLES 릴리스 및 오류 서명에 맞는 절차를 따르십시오. 장치 이름을 추측하지 마십시오. Btrfs 파일 시스템은 여러 장치에 걸쳐 있을 수 있으므로 먼저 모든 멤버와 올바른 마운트 또는 장치 식별자를 설정해야 합니다.

SUSE의 SLES 15 SP7 관리 가이드에는 마운트할 수 없는 루트 Btrfs 파티션에 대한 특정 섹션이 있습니다. 해당 부팅 실패에 대한 복구 옵션에 대해 설명합니다. 하지만 이 지침이 모든 마운트된 읽기 전용 파일 시스템의 로그를 지워야 한다는 의미는 아닙니다. btrfs-rescue 매뉴얼 에서는 로그 삭제가 마운트 중 특정 로그 재생 실패에 대한 것이며, 마지막으로 커밋된 트랜잭션 이후의 변경 사항을 폐기할 수 있다고 설명합니다 btrfs rescue zero-log. 기록된 오류가 문서화된 사례와 일치하고 복구 계획에 데이터 손실 가능성이 고려된 경우에만 사용하십시오.

btrfs check기본적으로 마운트되지 않은 파일 시스템에서는 읽기 전용으로 실행됩니다. 초기 평가 시에는 읽기 전용 상태를 유지하고, 출력 결과를 SUSE 지원팀이나 Btrfs 전문가와 공유하십시오. btrfs-check 매뉴얼 에서는 숙련된 사용자나 개발자의 조언 없이 사용하지 말 것을 명시적으로 경고하고 있습니다 --repair. 마운트되어 있거나 변경 중인 파일 시스템에서는 오프라인 검사기를 절대 실행하지 마십시오.

5단계: 복구 확인

문제의 원인을 해결한 후에는 복구 계획에서 요구하는 경우에만 재부팅하십시오. 재부팅 후 findmnt -T /path -o TARGET,SOURCE,FSTYPE,OPTIONS다시 사용하고 마운트하려는 위치가 읽기/쓰기 가능한지 확인하십시오. 커널 로그에서 Btrfs 또는 I/O 오류가 새로 발생했는지 확인하십시오. 마지막으로 영향을 받은 서비스 또는 애플리케이션이 정상적으로 작동하는지 확인하고 백업이 계속 사용 가능한지 확인하십시오. 재마운트가 성공했다고 해서 스토리지가 정상이라고 보장할 수는 없습니다.

파일 시스템이 읽기 전용 모드로 돌아가거나, 장치 연결이 끊어지거나, 오류가 계속 발생하면 쓰기 작업을 중지하고 저장된 로그, findmnt출력, Btrfs 장치 목록, SLES 서비스 팩 수준 및 스토리지 컨트롤러 세부 정보와 함께 문제 보고를 진행하십시오. 이러한 증거는 의도적인 스냅샷 또는 마운트 옵션과 미디어, 연결, 드라이버 또는 파일 시스템 손상 여부를 구분하는 데 도움이 되며, 보호용 읽기 전용 상태가 더 큰 복구 문제로 이어지는 것을 방지합니다.

댓글 남기기

Pardus XFCE와 GNOME 비교: 공정한 메모리 벤치마크가 알려줄 수 있는 것과 알려줄 수 없는 것

Pardus XFCE와 GNOME 비교: 공정한 메모리 벤치마크가 알려줄 수 있는 것과 알려줄 수 없는 것

Pardus XFCE와 GNOME의 메모리 사용량을 공정하게 비교해 보세요. 공식 25.2 버전 자료에서 확인된 내용, 사용 가능한 RAM 측정 방법, 그리고 어떤 버전이 여러분의 PC에 적합한지 알아보세요.

HamoniKR OS 리뷰: 한국의 국가대표 리눅스는 기업 환경에 적합할까?

HamoniKR OS 리뷰: 한국의 국가대표 리눅스는 기업 환경에 적합할까?

비즈니스 데스크톱용 HamoniKR OS 8 Paektu에 대한 실용적인 리뷰입니다. Ubuntu 24.04 기반, 2034년 업데이트 예정, 한국 워크플로우 및 기업 시범 운영 검증 결과를 다룹니다.

Harmonica OS(HamoniKR)에서 잊어버린 루트 암호를 재설정하는 방법

Harmonica OS(HamoniKR)에서 잊어버린 루트 암호를 재설정하는 방법

GRUB 복구 모드를 사용하여 HamoniKR OS에서 잊어버린 관리자 또는 루트 암호를 재설정하는 방법(검증된 명령어, 문제 해결 팁 및 암호화 주의 사항 포함).

HamoniKR OS에서 사용자 설정을 백업하고 복원하는 방법

HamoniKR OS에서 사용자 설정을 백업하고 복원하는 방법

HamoniKR 사용자 설정을 외장 드라이브에 백업하고, 아카이브를 검증하고, 선택한 바탕 화면 및 앱 설정을 안전하게 복원하는 방법을 알아보세요.

SUSE Enterprise Server에서 LUKS를 사용하여 암호화된 볼륨을 설정하는 방법

SUSE Enterprise Server에서 LUKS를 사용하여 암호화된 볼륨을 설정하는 방법

SUSE Linux Enterprise Server에서 LUKS로 암호화된 볼륨을 생성, 잠금 해제, 포맷, 마운트 및 영구 저장하는 방법을 알아보세요. 안전 점검 및 복구 팁도 포함되어 있습니다.

SUSE Linux Enterprise에서 Btrfs 읽기 전용 파일 시스템 오류 해결하기

SUSE Linux Enterprise에서 Btrfs 읽기 전용 파일 시스템 오류 해결하기

SUSE Linux Enterprise에서 Btrfs 읽기 전용 파일 시스템을 안전하게 진단하세요. 변경하기 전에 마운트 옵션, Snapper 스냅샷, 커널 로그, 스토리지 상태 및 복구 제한을 확인하십시오.

SLES 15 자동 배포를 위한 AutoYaST 구성 방법

SLES 15 자동 배포를 위한 AutoYaST 구성 방법

AutoYaST를 사용하여 SLES 15 설치를 자동화하세요. XML 프로파일을 빌드 및 검증하고, 안전하게 제공하고, 테스트 시스템을 부팅하고, 배포 결과를 확인할 수 있습니다.

우분투 24.04 LTS에서 HDMI 오디오 출력 누락 문제 해결: 단계별 가이드

우분투 24.04 LTS에서 HDMI 오디오 출력 누락 문제 해결: 단계별 가이드

Ubuntu 24.04 LTS에서 HDMI 오디오가 작동하지 않는 문제를 해결하려면 디스플레이 연결을 확인하고, 올바른 사운드 출력을 선택하고, PipeWire를 검사하고, 하드웨어 감지를 확인하십시오.

SUSE Linux Enterprise 15에서 네트워크 본딩을 구성하는 방법

SUSE Linux Enterprise 15에서 네트워크 본딩을 구성하는 방법

wicked 및 ifcfg 파일을 사용하여 SLES 15 네트워크 본딩을 구성합니다. 본딩 모드를 선택하고 본딩을 활성화한 다음 페일오버 및 링크 상태를 확인합니다.

우분투 24.04 블루투스 헤드셋 마이크 작동 오류 해결 방법

우분투 24.04 블루투스 헤드셋 마이크 작동 오류 해결 방법

Ubuntu 24.04에서 블루투스 헤드셋 마이크를 복원하려면 입력 장치, HSP/HFP 프로필, 앱 설정, PipeWire 서비스, 블루투스 패키지 및 페어링을 확인하십시오.