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


41

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

多くのフォルダを別々のパーティションにマウントできます

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

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

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


6
@CharlesGreenその質問は、これらのディレクトリの使用について説明しています。別のパーティションにマウントすることの利点と欠点を知りたいです。したがって、これらの質問は同じではありません。
登録ユーザー14

回答:


54

昔々のこと...

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

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

  1. /bootLinuxファイルシステムが壊れやすく、ハードドライブが小さい時代がありました。人々は、ハードドライブがいっぱいになるか、破損してUbuntuが起動しないことを恐れていました。カーネルを別のパーティションに保持することで、他の問題が発生したときにシステムを起動できました。当時、Linuxユーザーは独自のカーネルをコンパイルし、古いカーネルをクリーンアップしていました。Ubuntu 16.04 LTSと同様に、Software Updaterアプリは最新のカーネルアップデートをインストールしましたが、古いカーネルは削除しませんでした。その結果、小さな/bootパーティションが古いカーネルでいっぱいになり、定期的にクリーンアップしない限り、システムの起動が停止しました。別の/bootパーティションがあり、それを定期的にクリーニングするのを忘れた場合に何が起こったのかを確認してください:/ bootの空き容量を増やすにはどうすればよいですか? Ubuntu 18.04 LTSでは、Software 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ます。

お役に立てれば


+1、いい答え。また、askubuntu.com / a
379212/16395

1
ありがとう@Rmanoあなたの詳細な答えを見たことがあります。私はあなたの2番目の答えから借りて、私のものを編集します。
user68186 14

2
それは大丈夫です(完全な再インストールを生き残るためにそれをしますが、新しいインストーラは保存できます/homeが保存はできません/usr/local。 )それをしている人々の
Rmano 14

2
/ bootを個別のパーティションとして持つ歴史的な理由は、カーネルがBIOSが処理できるよりも大きく、カーネルがディスクのアクセスできない部分にある場合、ロードできなかったためです。/ bootパーティションを最初にディスクに置くことにより、LinuxがブートできるようにBIOSが常にカーネルにアクセスできることが保証されました。
トールビョーンラヴンアンデルセン14

1
また、より多くのスペースを確保するためにディスクを追加することもできますが、Unixでは、ドライブ文字を割り当てるだけでなく、どこかにマウントする必要があります。たとえば、ディスクがいっぱいになった場合、/ homeを保持するために新しいディスクが購入され、現在のコンテンツがそこに移動しました。
トールビョーンラヴンアンデルセン

15

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

  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を用意すると便利です。


どういたしまして。/boot平均的なデスクトップユーザー用に個別のパーティションを用意するのは良い考えだとは思いません。古いカーネルは自動的にクリーンアップされず、新しいカーネルが追加されます。その後、これが起こります!
user68186 14

1
いっぱいになると、ユーザーは新しいカーネルをインストールできなくなり、更新は失敗します。しかし、システムは機能します。
ミルチャVutcovici 14

1
一方、GRUBでサポートされていないファイルシステムを使用している場合、または/パーティションを暗号化する場合は、/ bootパーティションを使用する必要があります。
ミルチャVutcovici 14

両方の点で合意しました。
user68186 14

1
回答を編集して、/ bootパーティションの必須要件を削除しました。
ミルチャVutcovici 14

2

デスクトップ用?

変わりはない。

サーバー用?

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

システムに多数のユーザーがいる場合、/ 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(遅い)


1
最後の点について詳しく説明していただけますか?別の投稿では、追加の障害点が発生したため、これらのパーティションを別のディスクに配置することを勧めていました。現在、どちらかのドライブに障害が発生すると、システムが動作しなくなります。/がHDDパーティションのマウントを待機しているため、起動時間が遅くなることは言うまでもありません。
-Khashir

2

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


2

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


個別の/ homeは私のソープボックスの1つですが、oneiricノートブックでテストするためだけにsaucyを別のパーティションにインストールしたときにまだ焼けてしまいました。再起動しました。
ジョー14

0

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

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.