私は btrfs を初めて使用しており、パーティション分割とサブボリューム戦略についてアドバイスをいただきたいと思います。このシステムは軽量の Web サーバーであり、ディスクは 1 つしかないと想定しています。
ext ファイルシステムでは、/、/var、swap (および場合によっては /boot と /home) 用に常に個別のパーティションを作成しています。私の場合、/var には常にすべての貴重な Web サーバー データ (MySQL データベースなど) が含まれており、コードは含まれていません。これにより、データを別のシステムに簡単に移動したり (/var を移動またはコピー)、データを中断せずに OS を再インストールしたり (/ を再フォーマット) することができます。
btrfs を使用すると、同じこと、同じパーティション スキームを使用して、各パーティションに個別の btrfs ファイルシステムを作成できます。または、単一のパーティションを作成し、/、/var などに btrfs サブボリュームを使用することもできます。その場合の長所と短所は何でしょうか。
たとえば、/ のみのスナップショットと /var のみのスナップショットを持つことには、何らかの利点があるように思えます (「すべてのデータを以前のチェックポイントに復元する」と「すべてのコードを復元する」と「両方を復元する」)。これは正しいのでしょうか、それともそう見えるだけでしょうか?
ボーナス質問: btrfs ファイルシステムの下で lvm を使用する利点はありますか?
ボーナス質問 2: システムに同じサイズのディスクが 2 つある場合、アドバイスはどのように変わりますか?
「これは私がやったことであり、それが私にとってどのように機能したか」という記事へのポインターもいただければ幸いです。私ができることに関する資料はたくさん見つかりますが、「これは私が試したことであり、これがそれが機能した、または機能しなかった理由です」という記事はあまり見つかりません。
答え1
特別なニーズがない場合は、他のファイルシステムと同じように btrfs を使用してください。/home を分離することは良い習慣です。
個人的には、ホーム サーバーではサブボリュームは /etc のみなので、設定のスナップショットを作成できます。これは snapper などのツールで自動化できます。
通常、/lib/stuff も復元する必要があるため、/var の以前のバージョンだけを復元することにはあまり関心がありません。これは、すべてまたは何もない状況です。
/home のスナップショットは非常に大きくなる可能性があるため、ディスク サイズの管理がすぐに問題になります。問題なく実行できますが、残りのスペースに注意してください。また、スナップショットは同じディスク上でのみ作成できるため、ディスク障害が発生した場合のバックアップ ソリューションにはなりません。スナップショットは、「おっと、このファイルを 2 時間前に削除しましたが、まだ必要です」などの状況に対応するものと考えてください。
ボーナス 1: なし。実際、btrfs は mdadm+lvm+fs スタックを簡素化するために設計されました。したがって、これを避けるのが最善です。
ボーナス 2: いいえ、でも RAID 1 を作成してください! シンプルで効率的、データが喜ぶはずです :)
忍者ボーナス:あなたは本当によく見たいと思うでしょうbtrfs ウィキ。
答え2
最近、この問題を再検討していて、サブボリュームを含むトップレベルのディレクトリを持つ 1 つのパーティションを提案する、非常によく考えられた投稿を共有したいと思いました。https://bbs.archlinux.org/viewtopic.php?id=194491
要約
subvolid=0
├── subvol_root
│ └── /usr, /bin, /sbin, /.snapshots, etc
├── subvol_snapshots
├── subvol_home
└── subvol_opt