Web アプリケーション サーバー (Apache/MySQL/PHP) 用の FreeBSD ディスク パーティション分割

Web アプリケーション サーバー (Apache/MySQL/PHP) 用の FreeBSD ディスク パーティション分割

皆さん、サーバー ディスクをどのようにパーティション分割することをお勧めしますか? サーバーは FreeBSD で動作し、主に複数のアプリケーション/Web サイト用の Web アプリケーション サーバー (Apache、MySQL、PHP など) として使用されます。

ディスクはRAID1に編成されている

答え1

ディスクのパーティション分割は、パフォーマンスの向上、障害の分離、セキュリティの向上に役立ちます。これらのうち、障害の分離は今日本当に重要な唯一の部分です。

障害の分離: ファイルシステムがいっぱいになると、Unix の動作が悪くなります。多くのプログラムは、ファイルシステムがいっぱいでない限り、書き込みが成功すると想定しており、通常は成功します。FS がいっぱいになると、さまざまな恐ろしいことが起こり始めるので、どこに何が書き込まれているのか、FS がいっぱいになるとどれほど悪いのかを考える必要があります。

セキュリティ: ディレクトリの読み取りと、そのファイルシステム内の任意のディレクトリへの書き込みが可能であれば、そのディレクトリ内のファイルへのハードリンクを作成できます。面白い悪ふざけとして、別のユーザーのホーム ディレクトリを読み取り、そこにあるすべてのものを自分のホーム ディレクトリ内のディレクトリにハードリンクするスクリプトを作成するというものがあります。しばらくすると、他のユーザーは自分のファイルを削除できなくなるため、クォータを使い果たしてしまいます。コンピューターが実際のタイムシェアリングを行っていない今日では、この種の問題はそれほど問題ではありません。

パフォーマンス: 速度が大きく異なるディスクが多数ある場合、異なるデータを異なるスピンドルに配置して、データの使用方法を最適化できます。このような懸念が曖昧になる今日の途方もなく高速なディスクや RAID では、おそらく興味をそそられません。

最後に、パーティショニングに関するその他のドメイン固有の問題がある可能性があります。たとえば、OS が特定の種類のファイルシステムから起動できない場合や、1 つのファイルシステムを暗号化したいが他のファイルシステムは暗号化したくない場合などです。

答え2

おそらく、次のマウント ポイントに個別のボリュームが存在することになります。

  • /
  • /usr/local/wwwまたはApacheのDocumentRoot
  • /var/log
  • /var/db/mysqlまたはmysql dbルート

関連情報