解決策 1:
分割の主な (歴史的な) 理由は次のとおりです。
-
ユーザーおよびアプリケーション データからオペレーティング システムを分離する . RHEL 7 のリリースまで、サポートされているアップグレード パスはありませんでした。 メジャーバージョンのアップグレードには再インストールが必要で、たとえば
/home
別のパーティション (または LVM ボリューム) 上のその他の (アプリケーション) データにより、ユーザー データとアプリケーション データを簡単に保存し、OS パーティションをワイプできます。 -
ディスク容量が完全になくなると、ユーザーが適切にログインできなくなり、興味深い方法でシステムに障害が発生し始めます。複数のパーティションを使用すると、OS 用に予約済みのハード ディスク領域を割り当て、それをユーザーや特定のアプリケーションが書き込みを許可されている領域 (例:
/home /tmp/ /var/tmp/ /var/spool/ /oradata/
) とは別に保つことができます。 など)、オペレーショナル リスクの軽減 行儀の悪いユーザーやアプリケーションの。 -
割り当て。 ディスク クォータにより、管理者は個々のユーザーが利用可能なすべての領域を使い果たし、システムの他のすべてのユーザーへのサービスを中断することを防ぐことができます。個々のディスク クォータはファイル システムごとに割り当てられるため、1 つのパーティション、つまり 1 つのファイル システムは 1 つのディスク クォータのみを意味します。複数の (LVM) パーティションとは、複数のファイル システムを意味し、よりきめ細かなクォータ管理を可能にします。使用シナリオに応じて、たとえば、各ユーザーにホーム ディレクトリに 10 GB、外部ストレージ アレイの /data ディレクトリに 2 TB を許可し、誰でもホーム ディレクトリには大きすぎるデータセットをダンプできる大きな共有スクラッチ領域を設定することができます。ポリシーが「いっぱいいっぱい」になるところですが、それが起こっても何も壊れません。
-
専用 IO パスの提供 . SSD と回転ディスクを組み合わせて使用している場合は、別の方法で対処することをお勧めします。汎用サーバーではそれほど問題ではありませんが、データベースのセットアップでは、特定のスピンドル (ディスク) をさまざまな目的に割り当てて、IO の競合を防ぐこともよくあります。トランザクション ログ用の個別のディスク、実際のデータベース データ用の個別のディスク、および一時領域用の個別のディスク。 .
-
起動 別の
/boot
が必要になる場合があります パーティション。歴史的には、1024 シリンダーの制限を超えて起動する際の BIOS の問題に対処するためでしたが、最近では暗号化されたボリュームをサポートする必要があり、特定の RAID コントローラー、SAN からの起動をサポートしていない HBA、またはインストーラーによってすぐにサポートされないファイル システムなどをサポートする必要があります。 -
チューニング 異なるチューニング オプションや、まったく異なるファイル システムが必要になる場合もあります。
ハード パーティションを使用する場合、多かれ少なかれインストール時に正しく設定する必要があり、単一の大きなパーティションは最悪ではありませんが、上記の制限がいくつかあります。
通常、メイン ボリュームを 単一の大きな Linux LVM 物理ボリューム としてパーティション分割することをお勧めします 論理ボリュームを作成 現在のニーズに適合し、残りのディスク容量については、必要になるまで未割り当てのままにしておきます。 .
これらのボリュームとそのファイル システムを必要に応じて拡張したり (ライブ システムで実行できる簡単な操作です)、追加のボリュームを作成したりすることもできます。
LVM ボリュームの縮小は簡単ですが、多くの場合、それらのファイル システムの縮小はあまりサポートされていません そしておそらく避けるべきです。
解決策 2:
複数のパーティションを使用するという概念は、完全なパーティションが間違った場所に配置されても、システム全体が予期せず動作する原因とならないということです。
使用可能な空き領域がなくなるまで、非常に高速にログファイルをいっぱいにするマシン上のプロセスを考えてみましょう。たとえば、単一パーティションのマシンでは、これにより、システムが新しいデータを /tmp に書き込むことができなくなる可能性があります。 /tmp に書き込みたい別のプロセスがある場合、おそらくエラーで終了し、予期しない動作を引き起こします。
ユーザーまたはプロセスが通常書き込む場所 (/home、/var、/tmp) に別のパーティションを使用すると、これを防ぐことができます。
古いサーバーのどのフォルダが大きくなる傾向があるかを確認することをお勧めします。コマンドラインで
du -h -d 1 / 2> /dev/null
最も多くのデータが蓄積されている場所を確認し、次のシステムを適切に設計します。 "-d 1" は、出力をフォルダーの深さの 1 レベルのみに制限し、読みやすくします。
解決策 3:
単一の大きなパーティションを持つことの主な問題は、ファイルシステムがいっぱいになり、ログインできなくなる可能性があることです.
ユーザー ルートにはホーム フォルダー (/root
) があります。 ) /home
の外側 このため。ある状況下でファイルシステムがいっぱいになると、root でもログインできなくなり、システムを修復できなくなります。
これが、通常 /var
の別のマウント ポイントを作成する理由です。 、 /tmp
と /home
他のパーティションの 1 つがいっぱいになったときにシステムを修復するために、少なくとも root としてログインできるようにします。
解決策 4:
私見ですが、1 つのパーティションを / にすることは非常に合理的です。
ただし、lvm (論理ボリューム マネージャー) を使用できます。すべてのディスクを lvm グループとして使用しますが、/、/home、/usr およびシステム管理者が好むもののために小さな論理ディスクを作成します。次に、システムがいっぱいになり始めたら、監視を開始し、必要なディスクを拡張します。 lvresize と resize2fs はオンライン ツールで、サーバーを再起動せずに展開できます。ただし、ディスクを減らすことはできないため、適度に小さく始めて、必要に応じて増やす必要があります。
解決策 5:
Linux の大きな単一パーティションのセットアップには最小限の問題がありますが、大きなメリットがあります。
パーティションのレイアウトを変更するのは、少し難しくて危険なことです。多くの場合、長時間のダウンタイムがなければ変更できません。
その唯一の利点は、ディスクがいっぱいになる問題に対する保護があることです。しかし、これらの問題は多く見つかります。 頻繁。パーティションの 1 つがいっぱいで、他のパーティションがほとんど空であっても、そのスペースを使用できない場合を想像してみてください。 !
一部のプロのシステム管理者は、これについてまったく異なる意見を持っています。彼らは、複数のパーティションを持つことでシステムの信頼性が向上し、パーティションを分割する前にパーティションの大きさを知っておく必要があると言っています。私の意見では、これは単純に言うことはできません。システムの柔軟性に対するひどい欠点であり、彼らの本当の動機は、単に パーティション マップで遊ぶのが好き ということです。 .
lvm という名前の単純なシステムがあり、「パーティション」(用語ではボリューム) のオンザフライでの移動/サイズ変更を可能にします。しかし、単一のローカル部門サーバーでは、IMHO は通常必要ありません。