btrfs에서 읽기 전용 스냅샷을 만드는 방법은 무엇입니까?

btrfs에서 읽기 전용 스냅샷을 만드는 방법은 무엇입니까?

내가 이해한 바로 btrfs subvolume snapshot는 기본적으로 생성된 스냅샷은 btrfs 볼륨 마운트 지점 아래의 경로에 쓰기 가능하고 표시됩니다.

정상적인 시스템 작동 중에 스냅샷에 아무것도 기록되지 않도록 시스템을 설정하려면 어떻게 해야 합니까? 그러나 사용자에게 보이지 않게 만들지는 않습니다(즉, 해당 권한 내의 모든 사용자가 읽을 수 있어야 합니다).

(현재는 스냅샷이 매핑된 위치만 알고 있습니다 chmod og-rwx /.snapshots. 그러나 이는 두 번째 희망을 충족시키지 못하고 보장도 충분히 강력하지 않습니다. 루트 권한이 있는 프로세스가 거기에서 무언가를 손상시킬 수 있습니다.)

mount이를 달성하는 데 필요한 트릭이 있습니까 ?

답변1

  • 읽기 전용 하위 볼륨을 생성합니다(루트로):
    btrfs subvolume snapshot -r /path/to/mounted/subvolume /path/to/snapshot
    
  • 기존 하위 볼륨/스냅샷을 읽기 전용으로 변경:
    btrfs property set /path/to/snapshot ro true
    
  • 기존 하위 볼륨의 현재 상태를 확인하십시오.
    btrfs property get /path/to/snapshot ro
    

(이전 버전의 Ubuntu에서는 작동하지 않습니다.)

답변2

우분투를 사용하고 있습니까?

Ubuntu는 이전 버전의 btrfs-tools(일명 "btrfs-progs")와 함께 제공되므로 사용자 공간 도구는 읽기 전용 스냅샷을 지원하지 않습니다.

이 오류(및 상위 오류)를 확인하세요.

https://bugs.launchpad.net/ubuntu/+source/btrfs-tools/+bug/924621

답변3

~에 따르면Btrfs 위키, 읽기 전용 스냅샷은 Linux 2.6.38부터 사용할 수 있습니다. 따라서 최신 커널이 있는지 확인하십시오. 그렇지 않으면 ro마운트 옵션( mount -o [other-options],ro ...)을 사용하여 이를 수행 할 수 있습니다 .

관련 정보