だから私はBTRFSに頭を包み、BTRFSファイルシステムを使用してファイルサーバーを設定しようとしています。私のセットアップは次のとおりです。
/ dev/sda1:BTRFSファイルシステム、/および/ homeにマウントされた@、@ homeサブボリュームを含む。
/ dev/sdb1および/ dev/sdc1:BRTFSプールファイルシステム、2x3GB HDD、
にはすべてのメディアファイルが含まれています。現在、/ mnt/mediaにマウントされています
120 GB SSDである/ dev/sda1のメディアファイルがスペースを占有しないように、この方法でセットアップします。システムファイル用にのみ予約したいと思います。このセカンダリBTRFSファイルシステムを、@ mediaというラベルが付いたトップレベルのサブボリュームにマウントして、スナップショットを作成できるようにします。ただし、subvolidを使用して/ dev/sdb1または/ dev/sdc1をマウントしようとするたびに、次のエラーが表示されます。
peetipablo@flexo:/$ Sudo mount -t btrfs -o subvolid=354 /dev/sdb1 /mnt/media
mount: mount(2) failed: No such file or directory
サブボリュームリストは次のとおりです。
peetipablo@flexo:/$ Sudo btrfs subvolume list /
ID 257 gen 142548 top level 5 path @
ID 258 gen 142527 top level 5 path @home
ID 310 gen 113715 top level 5 path @apt-snapshot-release-upgrade-utopic-2015-04-30_08:11:14
ID 311 gen 113766 top level 5 path @apt-snapshot-release-upgrade-vivid-2015-04-30_08:39:50
ID 312 gen 134632 top level 257 path var/lib/machines
ID 313 gen 142500 top level 257 path root_snapshot_5_13_15
ID 354 gen 142517 top level 5 path @media
@mediaをディレクトリ/ mnt/mediaのデフォルトのサブボリュームにしようとすると、-o subvolidなしでsdb1をマウントできますが、スナップショットを作成しようとするとエラーが発生します。
peetipablo@flexo:/$ Sudo btrfs subvolume set-default 354 /mnt/media
peetipablo@flexo:/$ Sudo btrfs subvolume get-default /mnt/media
ID 354 gen 142517 top level 5 path @media
peetipablo@flexo:/$ Sudo mount -t btrfs /dev/sdb1 /mnt/media
peetipablo@flexo:/$ Sudo btrfs subvolume snapshot @media /mnt/media_snap
ERROR: error accessing '@media'
peetipablo@flexo:/$ Sudo btrfs subvolume snapshot /mnt/media /mnt/media_snap
Create a snapshot of '/mnt/media' in '/mnt/media_snap'
ERROR: cannot snapshot '/mnt/media' - Invalid cross-device link
私は何かを理解していない、またはこの新しいファイルシステムタイプを使用することを意図していない方法で使用していると感じています。 3つのデバイスすべてを1つのBTRFSファイルシステムにマージするだけで、SSDがメディアでいっぱいになる心配はありませんか?現在使用している方法とは異なる方法を使用して、最終目標を達成する方法はありますか?
Btrfsファイルシステムは相互に作用しないため、@media
サブボリュームは現在/dev/sd{b,c}1
にあるため、@media
サブボリュームを/dev/sda1
にマウントできず、クロスデバイスを取得します。 /mnt/media
が/mnt/media_snap
にあるのに対し、/mnt/media
は/dev/sd{b,c}1
にあるのに対し、/mnt/media_snap
を/dev/sda1
にスナップショットしようとするとエラーが発生します。
@media
btrfsファイルシステムに/dev/sda1
サブボリュームを作成する代わりに、@media
のbtrfsファイルシステムに/dev/sd{b,c}1
サブボリュームを作成します。
Sudo mount /dev/sdb1 /mnt/media/
Sudo btrfs subvol create /mnt/media/@media
Sudo umount /mnt/media/
Sudo mount -o subvol=@media /dev/sdb1 /mnt/media/
/mnt/media/
のスナップショットを作成できますが、スナップショットは/dev/sd{b,c}1
ファイルシステムにのみ配置できます。したがって、次のような読み取り専用のスナップショットを作成できます。
Sudo btrfs subvol snap -r /mnt/media/ /mnt/media/<snapshot_name>
ただし、サブボリュームの各スナップショットを配置することをお勧めします外部サブボリューム自体。これを行うには、/dev/sd{b,c}1
ファイルシステムのルートをマウントする必要があります。
Sudo mkdir /mnt/media_root/
Sudo mount -o subvol=/ /dev/sdb1 /mnt/media_root/
Sudo btrfs subvol snap -r /mnt/media_root/@media/ /mnt/media_root/<snapshot_name>