web-dev-qa-db-ja.com

@や@homeなどのbtrfsサブボリュームを作成する

Btrfsに興味があるので、VMでそれをいじることに決めました。 /bootを別のパーティションに置くことを忘れない限り、インストールはうまく機能し、すべて正常に動作するようです。

私がやりたいのは、@@homeなどの設定とは異なる設定で、バルクデータ用に個別のサブボリュームを作成することです。 btrfs subvolume create dataは私のためにそれを行いますが、なぜ@/data(または/dataまたは@dataを試すときに同様の名前を付けるのか不思議です。 @@homeのようなサブボリュームを作成する特別な方法はありますか?データサブボリュームは@dataとして表示されますか? (および:命名スキームの正確な違いは何ですか?)


追加情報:

  • ubuntu 12.04.2、mint15ホストでKVMゲストとして実行。
  • kernel 3.8.0-27-generic from ubuntu-x-swat(raring backport);
  • /dev/sda/dev/sdbの2つのデバイスを使用するbtrfs
  • /dev/sdaおよび/dev/sdbは、ホストOSが使用しないディスク上のパーティションです
10
akaIDIOT

ため息、IRCの全能のZosmaの助けを借りて、私は少し早すぎて投稿したようです。これがどのように機能するかがわかりました。

サブボリューム@および@homeはbtrfsルートの子であるため、/は実際にはファイルシステムのルートではありません。 btrfsルートのUUIDは/etc/fstabで2回提供され、/および/homeのマウントを提供します。ファイルシステムの実際のルートをマウントすると、インストーラーによって作成されたサブボリュームが表示されます。

root@box:~# mkdir /mnt/btrfs
root@box:~# mount UUID=f8963df3-1320-4bc0-a125-62be185b029e /mnt/btrfs
root@box:~# ls /mnt/btrfs
@  @home

それが彼らが行った場所です! ubuntuインストーラーとまったく同じ方法で新しいサブボリュームを作成するのは簡単です。

root@box:~# btrfs subvolume create /mnt/btrfs/@data
Create subvolume '/mnt/btrfs/@data'

これで、インストール用のルートファイルシステムではなくbtrfsルートにサブボリュームを作成したので、/data/は自動的に表示されなくなります。幸いなことに、/etc/fstabを調べて/dataに別のマウントを追加することにより、インストーラーが使用するトリックをコピーするのは簡単です。

UUID=f8963df3-1320-4bc0-a125-62be185b029e /data  btrfs  defaults,subvol=@data 0 2

最後のステップは、マウントポイントmkdir /dataを作成することです。再起動後、別のbtrfsサブボリュームから/dataディレクトリがマウントされます。

…利益!

11
akaIDIOT

/ bootを別のパーティションに置くことを忘れない限り、インストールはうまく機能します。

別の/ bootを用意する必要はありません。 GRUB2は、btrfsからLinuxを読み取って起動できます。

私がやりたいのは、@や@homeなどとは異なる設定で、バルクデータ用に個別のサブボリュームを作成することです。

異なる マウントオプション でサブボリュームをマウントする場合は、現在(2013年11月)サポートされていないことに注意してください:Btrfs FAQによると、「 異なるサブボリュームをマウントできますか? mount options? "、現在、btrfs固有のオプションのみがサポートされていないか、実装されていません。ただし、開発者は将来的に実装する計画があります。

btrfsサブボリューム作成データは私のためにそれを行いますが、なぜそれを@/data(または/ dataまたは@dataを試してみると同様のもの)と命名し続けるのか興味があります

デフォルトでは、UbuntuのインストーラーUbiquityはファイルシステムにサブボリューム@および@homeを作成し、Ubuntuルートは実際にはサブボリューム@にあります。

データサブボリュームが@dataとして表示されるように、@や@homeなどのサブボリュームを作成する特別な方法はありますか? (および:命名スキームの正確な違いは何ですか?)

@および@homeは、インストーラーによって選択される任意の名前であり、/etc/fstab以外では意味がありません。実際、私はそれらのfstabを更新することを覚えている限り、同じbtrfsに多くのUbiquityがインストールされたディストリビューションを持つことができるように、通常、それらをより具体的な名前に変更します。

Funtoo.org-BTRFS でさらにサブボリュームの説明があります。

5
ignis