web-dev-qa-db-ja.com

btrfsを使用したパーティショニングとサブボリューム戦略

私はbtrfsを初めて使用するので、パーティショニングとサブボリューム戦略についてアドバイスを求めています。このシステムは軽量のWebサーバーであり、ディスクが1つしかないことを前提としています。

Extファイルシステムでは、/、/ var、swap(および場合によっては/ bootと/ home)用に別々のパーティションを常に作成してきました。私にとって、/ varには常にすべての貴重なWebサーバーデータ(MySQLデータベースなど)が含まれ、コードは含まれていません。これにより、データを別のシステムに簡単に移動したり(/ varを移動またはコピーしたり)、データを中断することなくOSを再インストールしたり(/を再フォーマットしたり)することができます。

Btrfsを使用すると、同じことを実行し、同じパーティションスキームを使用して、パーティションごとに個別のbtrfsファイルシステムを作成できます。または、単一のパーティションを作成し、/、/ varなどにbtrfsサブボリュームを使用することもできます。その長所と短所は何でしょうか?

たとえば、/-onlyおよび/ var-onlyスナップショットを使用することには、いくつかの利点があるように思われます(「すべてのデータを前のチェックポイントに復元する」、「すべてのコードを復元する」、「両方を復元する」)。それは正しいですか、それともそのようにしか表示されませんか?

ボーナスの質問:btrfsファイルシステムの下でlvmを使用することに利点はありますか?

ボーナス質問2:システムに同じサイズのディスクが2つある場合、アドバイスはどのように変わりますか?

「これが私がしたことであり、それが私にとってどのように機能したか」という記事へのポインタもいただければ幸いです。自分にできることについてはたくさんの資料を見つけることができますが、「これが私が試したものであり、これがうまくいった、またはうまくいかなかった理由です」という言葉をあまり見つけることができません。

10
Johannes Ernst

特定のニーズがない場合は、別のファイルシステムを使用するのと同じようにbtrfsを使用してください。/homeを分離することは良い習慣です。

個人的には、ホームサーバーではサブボリュームは/ etcだけなので、構成のスナップショットを作成できます。これは、スナッパーなどのツールを使用して自動化できます。

通常、/ lib/stuffも復元する必要があるため、以前のバージョンの/ varだけを復元することにはほとんど関心がありません。それはオールオアナッシングの状況です。

/ homeのスナップショットは非常に大きくなる可能性があるため、ディスクサイズの管理がすぐに問題になります。問題なく実行できますが、残りのスペースに注意してください。また、スナップショットは同じディスク上でのみ作成できるため、ディスク障害が発生した場合のバックアップのソリューションではありません。 「おっと、2時間前にこのファイルを削除しましたが、まだ必要です」などの状況に対応するものと考えてください。

ボーナス1:なし。実際、btrfsは、スタックmdadm + lvm + fsを単純化するために設計されました。したがって、それを避ける方が本当に良いです。

ボーナス2:いいえ、ただしRAID 1を作成してください!シンプルで効率的な、あなたのデータはあなたを愛します:)

忍者ボーナス:あなたはおそらく btrfs wiki をよく見てみたいと思うでしょう。

6
Damien Clauzel

私は最近これを再検討していて、サブボリュームを含むトップレベルのディレクトリを持つ1つのパーティションを提案する非常によく考えられた投稿を共有すると思いました: https://bbs.archlinux.org/viewtopic.php?id = 194491

TL; DR

subvolid=0
      ├── subvol_root
      │        └── /usr, /bin, /sbin, /.snapshots, etc
      ├── subvol_snapshots
      ├── subvol_home
      └── subvol_opt
0
ebrious