web-dev-qa-db-ja.com

最適なUNIXファイルシステムパーティション+セットアップ戦略

UNIX用の新しいシステムディスクをパーティション分割する場合、デスクトップとサーバーの両方、またはその両方に適した戦略は何ですか?

ディスクパーティションのレイアウト、ファイルシステムのフォーマットとオプション、マウントポイント、RAIDレベル、LVMグループとボリューム、暗号化、およびその他の関連する設定を含めてください。

16
cmcginty

私はこの種の問題のLVMのファンです。/boot用のスペースが必要です(私は約100MBを使用します)。動的に拡大および縮小(または少なくとも拡大)できるファイルシステムと組み合わせると、小さなパーティションについて考える必要がなくなります。

デスクトップでは、すべてのパーティションのファイルシステムとしてXFSを備えたLVMを使用しています。私はできるだけ小さく作成し、より多くのスペースが必要になったときにそれらを成長させます。

9
Martin

Linuxの場合は、別の/ bootを用意してください。

他のUnixバリアントの場合、通常、/および/ varのパーティションをお勧めします。データは通常、/ u001、/ u002などにマウントされます。

以前は、ディスクスペースが限られていて、単一の塗りつぶされたパーティションでシステム全体がダウンすることを望まなかったため、大量にパーティションを作成する必要がありました。現在利用可能なストレージが大幅に増加し、サイズ変更と仮想化のオプションが豊富に利用できるようになったため、IMOの多くのパーティションの必要性が低下しました。それは、パーティションが多いときに物事を移動するのが面倒であるという事実と相まって、少ない労力で逃げることができるのであれば、それを行うことを意味します。

32GBのメモリがある場合、スワップを2xRAMとして使用しても意味がありません。したがって、「ルール」は実際にはガイドラインであり、現在利用可能な新しいハードウェアに照らして意味をなさないものもあることを忘れないでください。

7
Jauder Ho

適切なパーティション構造の計画は、システムをどのように使用するかを実際に知ることに大きく依存します。システムが何をしているかを考慮しないランダムなアドバイスは、特に役に立ちません。

すべての豪華なファイルシステムが役立つ場合もありますが、安定したシステムが必要な場合は、他のものを使用する非常に正当な理由がない限り、「標準」ファイルシステム(つまりext3)を使用することをお勧めします。

RAIDは優れています。ハードドライブの故障が多すぎるため、すべてのパーソナルコンピュータで常にRAID1を実行しています。

dm-crypt のような暗号化は、システムがポータブルデバイスである場合、価値の高いデータがある場合、または単なる妄想である場合に適しています。

パーティションを計画しているときは、 Filesystem Hierarchy Standard や、選択したUNIXが標準からどのように逸脱しているかなどをよく理解しておくと非常に役立ちます。

[〜#〜] lvm [〜#〜] を使用すると、将来の考えを変えたり、再起動せずにパーティションを調整したりするのがはるかに簡単になり、スナップショットを作成する機能が非常に向上します。適切なバックアップを簡単に作成できます。 LVMを使用し、すべてのスペースをすぐに割り当てないでください。

5
Zoredache

FSタイプ以外に、パーティションを作成する理由は2つあります。

  1. システムの機能に影響を与えるアプリケーションからの過剰流出を防ぎます。アプリが/usrを埋める場合、システムを続行してログを記録できるように、/varにスペースを残しておくと便利です。

    ジョーダーは、これは今日のハードディスクのサイズによって打ち消されていると上で述べました-これは厳密には真実ではないと思います。私たちのドライブはもっと大きいかもしれませんが、私たちが引き渡すデータは増え続けています。自己満足する必要はありません。

  2. マウントオプション。各パーティションが採用する必要のあるアクセス許可をより慎重に定義できます。たとえば、/tmpからのファイル(特にsuid)の実行を許可しないことをお勧めします。これは、Webアプリケーションにサービスを提供するマシンの一般的な攻撃ベクトルであるためです。刑務所を運営しているのでない限り、/dev以外の場所にデバイスノードが表示されることは期待できません。等々。

例えば。

/ noatime  
/tmp noatime,nodev,nosuid,noexec  
/var noatime,nodev,nosuid  
/usr noatime,nodev  
/home noatime,nodev,nosuid  
5
Dan Carley

物理ディスクのパーティション分割
最低2つのディスクから始めます。

#1 100MB、ID = 83(Linux)、ブートフラグオン
#2残り、ID = FD(Linux Raid Auto)

100MBのパーティションは/ bootボリューム用です。柔軟性を持たせるために、これをすべてのドライブ(非起動も含む)に残して、後で任意のドライブを起動できるようにします。ディスクのサイズが一致しない場合、または奇数(500GB、250GBx2)の場合は、500GBドライブのパーティションを分割して小さいディスクに一致させます。

[〜#〜] RAID [〜#〜]
sdaおよびsdbの100MBパーティションを使用して、/bootのRAID1(ミラー)ボリュームを作成します。これはmd0になります。

 md0/boot 100MB Ext2 

/ bootでエキゾチックなFSを使用する必要はありません。それだけの価値はありません。

残りのスペースは、さまざまな方法で設定できます。私は64Kチャンクと「2ファーコピー」を使用するRAID10(ミラー/ストライプ)を選択して速度を上げています。これにより、ドライブを段階的にアップグレードするための多くの柔軟性が得られます。他のオプションは、RAID5/6を実行することです。ただし、使用可能なスペースは最小のパーティションに制限され、同じデバイスのパーティションは使用しないでください。新しいRAIDアレイに名前を付けますmd1md2など。

[〜#〜] lvm [〜#〜]
md0を除くすべてのRAIDアレイを取得し、lvm_vg0という名前の単一のLVMボリュームグループに配置します。 RAID5とRAID10のボリュームがある場合は、それらを組み合わせないのがおそらく最善ですが、害はないと思います。

残りのシステムマウント用にVG0を分割します。必要に応じてスペースを追加するのは比較的簡単なので、これらの数値はやや控えめにすることができます。

 lvm_vg0-root/8GB Ext3/ReiserFS(コアディストリビューションファイル)
 lvm_vg0-ホーム/ home 20 + GB Ext3/ReiserFS(ユーザーデータ、ドキュメント)
 lvm_vg0-data/data 60 + GB XFS(メディア、大きなファイル、vm)

XFSファイルシステムは縮小できないため、この点に注意してください。また、オンラインルートボリュームの縮小はおそらくサポートされていません。

アップグレードディスクをより大きなサイズに交換したい場合は、いくつかのオプションがあります。最も簡単なのは、ドライブをペア以上で追加し、新しいRAIDアレイを現在のLVMVGに追加することです。

もう1つのオプションは、現在のスペースの合計に> =である単一のドライブを追加することです。たとえば、RAID10に2つの100GBデバイスがある場合、新しい200GBデバイスを追加し、2つの古いデバイスを使用してミラーリングできます。これはエラーが発生しやすくなりますが、機能します。

必要に応じて、md#デバイスをLVMVGからデータを失うことなく削除できます。これは、使用されているすべてのLVMブロックをmd#デバイスから他のデバイスにシフトするのに十分な空きLVMスペースがある場合に実行できます。 LVMは、LVに割り当てられていないスペースのみを使用できるため、空のファイルシステムは「空き」スペースとしてカウントされません。

4
cmcginty

Linuxワークステーションを実行しているだけです。私はext3ファイルシステムを使用していますが、サイズはディスクのサイズに多少依存し、より大きなディスクのパーティションの方が寛大です。これらは、パーティションテーブルに表示される順序とほぼ同じです。

  • / boot-100 MB
  • スワップスペース-2xRAM
  • / usr-10〜20 GB
  • / -5〜10 GB
  • / var-1〜2 GB
  • / tmp-1〜2 GB
  • / usr/local-10〜20 GB
  • / home-その他すべて。

2台の750GBドライブを備えた大学の妻のワークステーションで、上記に加えて、さまざまなドライブ全体に12個の約100 GBのパーティションを作成し、すべて/ data/Nにマウントしました。Nは1から12までの数字です。 。彼女はこれらを使用して、さまざまな研究プロジェクトのデータを保持しています。

2
dagorym

すべてのディスクでnoatimeを使用します(理由がない限り)tmpfsに/ tmpをマウントしますが、これはサーバーではあまり良くないかもしれませんが、別のパーティションであることを確認して、nodev、nosuid、noexec、noatimeをマウントします。私は常に/ bootにext2を使用しているので、grubを使用して起動する機能を台無しにするfsのものを変更することを心配する必要はありません。他のすべてでext4、私は/ homeでjournal = dataを使用しますが、これはおそらく少し遅くなります(deallocがないため)が、journal = dataでもデータを失ったことはなく、少し最新/最高です娼婦、時々私のシステムがロックし、ハードリセットする必要があります(kmsのようなものを試し、バグを見つけたため)。

1
xenoterracide

うわー、いい質問です。ヨンクのためにこれに対する完璧な答えを求めてサーフィンをしてきました。

私は個人的に50Mb/boot〜8GB /を持っており、残りは/ homeに向かっています。代替ファイルシステムを調査する必要があります。現在、ext3を使用していますが、XFSなどの他のファイルシステムのすばらしいことを聞いています。

私は通常、純粋に/ tmpのファイルコンテナも作成するので、将来的にはより柔軟に対応できます。

0
Adam Gibbins