web-dev-qa-db-ja.com

さまざまなディレクトリを別々のパーティションにマウントする利点と欠点は何ですか?

「その他」オプションを使用してUbuntuをインストールしているときに、下の画像に示すように、個別のパーティションにマウントできるフォルダーがたくさんあることがわかりました。

many folders can be mounted on separate partitions

では、これらのフォルダ(またはディレクトリ)を個別のパーティションにマウントすることの利点と欠点は何ですか?

具体的には、ディレクトリは

  1. /boot
  2. /home
  3. /tmp
  4. /usr
  5. /var
  6. /srv
  7. /opt
  8. /usr/local
40
Registered User

ずっと前...

...人々がLinuxをインストールして、特定のニーズに合わせて手動で設定するのに使用した時代がありました。 これはサーバーでも今日でも当てはまります。gpartedに表示される選択肢は、平均的なデスクトップユーザーと比べてニーズが非常に異なる人々に人気のある選択肢です。 、Ubuntuデスクトップの対象読者。

これらを一度に取り上げてみましょう。あまり知らないものはスキップします。

  1. /boot Linuxファイルシステムが壊れやすく、ハードドライブが小さい時代がありました。人々は、ハードドライブがいっぱいになるか、破損してUbuntuが起動しないことを恐れていました。カーネルを別のパーティションに保持することで、他の問題が発生したときにシステムを起動できました。当時、Linuxユーザーは独自のカーネルをコンパイルし、古いカーネルをクリーンアップしていました。 Ubuntu 16.04 LTSと同様に、Software Updaterアプリは最新のカーネルアップデートをインストールしましたが、古いカーネルは削除しませんでした。その結果、小さな/bootパーティションが古いカーネルでいっぱいになり、定期的にクリーンアップしない限り、システムの起動が停止しました。個別の/bootパーティションがあり、定期的にクリーンアップするのを忘れた場合に何が起こったのかを確認してください。 / bootの空き容量を増やすにはどうすればよいですか?Ubuntu 18.04 LTSSoftware Updaterアプリは、システムを最新の状態に保つだけでなく、古いカーネルも削除します。
  2. 一方、(作業中の秘密ソフトウェアを保護するために)/パーティションを暗号化する場合は、別個の(暗号化されていない)/bootパーティションが必要です。そうしないと、システムは起動しません。同様に、RAIDドライブを使用している場合は、/bootを非RAIDパーティションに保持すると便利です。多くの人は、これらの理由から、別個の/bootパーティションを持つことは非常に良い考えだと考えています。
  3. /home別のパーティションに家を置いておくのはまだ意味があります。このフォルダー/パーティションには個人ファイルがあり、別のパーティションに置くことで、/をフォーマットし、ファイルを変更せずにUbuntuを再インストールできます。 Ubuntuインストールソフトウェアの最近のバージョンには、DVD/USBからの更新の選択肢が含まれています。このオプションは、別のパーティションにない場合でも、/homeを保持します。 /パーティションでプライマリドライブのスペースが不足した場合。新しいドライブを追加し、新しいドライブに単一の/homeパーティションを作成することができます。
  4. /tmpは、一時ファイルの保存先です。大きな一時ファイルを作成するサーバーを実行している場合、すべてのディスク領域がいっぱいになり、サーバーが停止する可能性があります。別のパーティションに保持すると、そのパーティションがいっぱいになるだけで、大きな一時ファイルを作成していたプロセスが停止する場合がありますが、システムの残りの部分は停止しません。 /tmpパーティションの下にある一時フォルダよりも、いっぱいになった/パーティションを処理する方が簡単だと言われています。
  5. /usr//opt/、および/usr/localはすべて、プログラムとアプリが異なる条件下で保持される場所です。 Linux用のソフトウェアを開発する場合は、これらを別々のパーティションに保持するのが理にかなっています。そのため、Ubuntuを再インストールしても、作成したプログラムや作業中のプログラムは削除されません。
  6. /opt//usr/localを別々のパーティションに保持することは、ソース(独自または他の場所)からプログラムをインストールし、同じコンピューターにインストールされた別のディストリビューション(Red Hatなど)で使用する場合にも意味があります独自のパーティションに。その後、UbuntuとRed Hatの両方のディストリビューションが/optパーティションと/usr/localパーティションを共有できます。 (Rmanoに感謝!)
  7. /srv/varは、サーバーを実行したりWebページを開発したりする場合に、個別のパーティションとして特に役立ちます。平均的なデスクトップユーザーにとって、これらのフォルダーは多くのスペースを占有せず、ユーザーにとって価値のあるものを保持しません。 Web開発者にとって/var/wwwを失うと、仕事を失うことになるかもしれません。

確かに、パーティションとしてマウントできるディレクトリはこれらだけではありません。 Linuxでは、パーティションを任意のフォルダとしてどこにでもマウントできます。多くの場合、パーティションは/mnt/および/mediaのサブディレクトリとしてマウントされます。

お役に立てれば

51
user68186

複数のパーティションを持つことの一般的な利点:

  1. 異なるディスク/ LUNを使用して、パフォーマンスを向上させることができます。これにより、ストレージのトランザクションログと別のストレージのデータファイルを保持できるため、データベースのパフォーマンスを向上させることができます。ディスクI/O集中型Webアプリケーションでも同様です。
  2. さまざまなマウントオプションを使用できます(セキュリティを強化するか、パフォーマンスまたは安定性にさらにきめ細かく影響を与えます)
  3. 異なるファイルシステムを持つことができます
  4. スペースは個別に管理します。そのため、他のアプリケーションに影響を与えないスペースを埋める厄介なアプリケーションを持つことができます。
  5. 1つのパーティションの断片化は、他のパーティションから独立しています。
  6. これらのファイルシステムのパフォーマンスを個別にスナップショット、マウント、アンマウント、フォーマット、デフラグ、監視できます。
  7. 特定のボリュームで暗号化できます。
  8. オンデマンドでボリュームをマウントできます。

複数のパーティションを持つことの一般的な欠点:

  1. 管理オーバーヘッドが増加します。
  2. より多くのディスク容量を無駄にする可能性が高くなります。
  3. ディスクがいっぱいになると、さらに多くのインシデントが発生します。
  4. 異なるボリュームで実行されているアプリケーションの一貫したスナップショットを作成することはより困難です。
  5. わずかに多くのリソースを使用します。
  6. ボリュームの種類(MS-DOSラベル、LVM、btrfs ...)によっては、別のボリュームを縮小することにより、ボリュームからスペースを簡単に割り当てることができない場合があります。特にオンライン。

システムをパーティション分割するもう1つの方法は、/にLVM、btrfsまたはzfsを使用することです。 /に最小限のスペースのみを割り当て、必要に応じて論理ボリュームを作成するか、/を拡張します。これにより、後でボリュームを分割する選択肢が残り、メンテナンスコストが低くなります。

今、特定のもの:

  • / bootは別のパーティションにすると良いでしょう。ファイルシステムは、ブートローダー(通常はGRUB)でサポートされているものでなければなりません。
  • EFI/UEFIを使用する場合、EFIシステムパーティションが必要です。
  • / homeは、ユーザーのものをOSやアプリケーションから分離するのに適しています。
  • / tmpは、noexec、nodev、nosuidでマウントできます。 tmpfsのようなメモリマップされたfsにすることができます。
  • / usrは読み取り専用でマウントでき、更新のためにrwを再マウントするだけで、NFS共有のようにリモートにすることができます。
  • / srv/optは、アプリケーションとアプリケーションデータを保存します。 I/Oを集中的に使用するアプリケーションがある場合は、より優れたディスクサブシステム(SSDなど)を使用できます
  • / usr/localは、現在のマシンにローカルにインストールされたアプリケーションが使用するデフォルトです。たとえば、NFS上に他のすべてのものがあり、ローカルディスクがある場合...

完璧な解決策はありません。新しいパーティションを作成する明確な理由がない場合は、しないでください。 /以外に作成する必要があるパーティションは/ bootのみです。

デスクトップ/ラップトップの場合、データに関係なくOSを再インストールできるように/ homeを用意すると便利です。

15

デスクトップ用?

変わりはない。

サーバー用?

スペース管理とバックアップ。

システムに多数のユーザーがいる場合、/ home /に追加のパーティションを作成できます。ユーザーはそのスペースを使用せず、ルート(/)は影響を受けません。

NFS、SMB、またはそれらのフォルダーの他の物理ディスク上のパーティションをマウントすることもできます。例えば ​​:

/ dev/sda1/boot(1GB)

/ dev/sda2 /(60GB)

nfs:// IP/folder/home(X TB)

/ dev/sdb1/var(/ var/wwwまたは/ var/ftpの場合は1TB)

ラップトップ用

/ m-sata(高速)で

/ var/home/opt/tmp on hdd(遅い)

2
przemo

przemoの答えimoは、実際のポイントに最も近いものです。以下に、実用的な追加の考慮事項を示します。

エンタープライズ環境では、通常、少なくとも/、/ home、/ opt、/ var、/ boot、および/ optの下の追加のファイルシステム(アプリケーションまたはアプリケーションチームごとに1つ)に個別のパーティションを使用します。これは主に、誰かがホームディレクトリを大量に取得する(/ home)、ログが制御不能になる(/ var)、アプリが大量のスペースを消費する(/ opt、/ opt //など)ためにシステムがスペース不足になるのを避けるためです、および/ bootを使用して、他のパーティションをLVMで構築できるようにします。また、何らかの理由でプライマリシステムパーティションが破損した場合にリカバリシェルを取得できるようにします。

私自身の個人的なサーバー以外の使用では、複数のLinux/UNIX OSをデュアルブートし、それらに同じ/ homeパーティションを使用できるように、/、/ boot、および/ homeパーティションを個別に保持します。

Oracle Virtualbox、VMWare Player/Workstation/Fusionなどで個人使用のためにVMを構築する場合、Niceフォルダー共有のために異なるマウントポイントを持つ複数のパーティションを持つ実際的な理由はありません。少なくともVirtualBoxおよびVMWare Player/Workstation/Fusionによって提供される機能。単一の例外は、「エンタープライズ環境」の段落で示した回復シェルの理由から/ bootになる場合があります。

2
MGodby

更新またはメジャーバージョンのアップグレード中に何か問題が発生した場合、別のパーティションに/ homeを置くことで、CDから起動し、データを失うことなく完全に消去してオペレーティングシステムを再インストールできます。また、これにより、さまざまなLinuxディストリビューションでの複数のブートが可能になり、一部の人々はこれらを並行して評価したいと考えています。

2
h22

既存の回答に加えて、異なるパーティションの恩恵を受ける非標準/共通の互換性とパフォーマンスのユースケースがあります。

Windowsなどの別のオペレーティングシステムとデータを共有し、Linuxとサポートの両方を備えたファイルシステムを使用する必要がある場合があります。

さまざまなチューニング(多くの小さなファイル用のEXT4パーティションと少数の大きなファイル用のEXT4パーティション(仮想マシンなど)など、同じタイプのファイルシステムのチューニングを可能にする特別なユースケースがあります。両方のユースケースでストレージとパフォーマンスを最適化します。

0
NGRhodes