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