btrfs 하위 볼륨을 자동으로 생성하고 마운트하려고 합니다. 저에게는 이를 생성하고 fstab 항목을 생성하는 것이 쉽지만 하위 볼륨 ID를 구문 분석하는 것은 어렵습니다.
다른 하위 볼륨에는 "@" 접두사가 붙은 예측 가능한 이름이 있고 /etc/fstab에 그런 방식으로 마운트되어 있음을 확인했습니다.
UUID=280d6f04-6ad0-4647-96b9-580aec12bbdc /var/log btrfs noatime,subvol=@/var/log 0 0
실제로 이와 같은 태그를 통해 설치하면 작동합니다.
$ mount -o subvol=@/var/log photoshop-32
'일반' 이름을 사용하여 하위 볼륨 마운트가 실패함
$ mount -o subvol=var/users/robert/wines/photoshop-32 /var/users/robert/wines/photoshop-32/
mount: mount(2) failed: /var/users/robert/wines/photoshop-32: No such file or directory
그래서 이런 이름으로 하위 볼륨을 만들려고 했으나 실패했습니다.
# btrfs subvolume create /var/users/robert/wines/blah/@/var/users/robert/wines/blah
ERROR: cannot access '/var/users/robert/wines/blah/@/var/users/robert/wines': No such file or directory
# btrfs subvolume create /@/var/users/robert/wines/blah
ERROR: cannot access '/@/var/users/robert/wines': No such file or directory
# btrfs subvolume create //@/var/users/robert/wines/blah
# ERROR: cannot access '//@/var/users/robert/wines': No such file or directory
이름에 "@"이 포함된 하위 볼륨을 만드는 방법은 무엇입니까? 또는 하위 볼륨 ID를 조회하지 않고도 하위 볼륨을 마운트하려면 어떻게 해야 합니까?
답변1
IRC의 #btrfs 채널 덕분에(전체 참조), 다음을 발견했습니다.
- 이러한 하위 볼륨은
subvolid=0
하위 볼륨 아래에 생성되며 기본적으로 마운트되지 않습니다. - 이러한 하위 볼륨을 생성하려면 먼저 최상위 하위 볼륨을 마운트한 다음 그 아래에 하위 볼륨을 생성합니다.
예를 들어 내 시나리오에서는 다음과 같습니다.
# mount UUID=280d6f04-6ad0-4647-96b9-580aec12bbdc -o subvolid=0 btrfs-sys/
# tree -L 2 /mnt/btrfs-sys/
/mnt/btrfs-sys/
└── @
├── boot
├── etc
├── opt
├── srv
├── tmp
├── usr
└── var