パーティションレスファイルシステムのメリット


39

数週間前に見たことのない何かに出くわしました:パーティションなしでストレージデバイスにインストールされたファイルシステム(ext3と思います)。本質的/dev/sdb ファイルシステム全体でした。私は多くのファイルシステムを空のスペースに拡張できることを知っているので、これを行うとLVMまたは他の種類のボリュームマネージャーを扱うことなく拡張できますが、このようにストレージを設定する他の利点はありますか?

私が見た特定のケースは、数値演算サーバーの一時データボリュームであり、ブートボリュームとルートボリュームは完全に異なるストレージデバイス上の従来のパーティションでした。-


Oracle VMもこれを行います-「ローカルストレージ」。
ニルス

3
私はこの質問を見逃し、同じ根拠をカバーする新しい質問unix.stackexchange.com/q/52389/4801を開始しました。その質問は現在クローズされていますが、そこにある回答のいくつかはこのQの読者にも役立つかもしれず、ここにマージされるかもしれません。
-dubiousjim


-ここに示すように、時間を無駄に終わるだろう問題に取り組んでいますが、リードaccess.redhat.com/documentation/en-us/red_hat_enterprise_linux/...を
slm

回答:


24

利点:パーティションテーブルで1つのディスクセクタを無駄にしないでください。(わーい。)

Pro:ディスクは、PCスタイルのパーティションをサポートしないオペレーティングシステムで使用できます。(これを使用するように。)

短所:これは異常であり、共同システム管理者を混乱させる可能性があります。(見る?)

短所:別のオペレーティングシステムをインストールすると、ディスクにゴミが含まれていると考えられ、間違ったディスクを選択して誤って上書きしてしまう可能性があります。

無関係:ファイルシステムがディスク上に直接ある場合、パーティション内にある場合よりもファイルシステムを拡張することは簡単ではありません。逆も同様です。(LVMを使用すると、簡単になります。)

結論:動作しますが、良いアイデアではありません。


2
混乱、アホイ!私の内部メーターは現在、「最適化の見当違いの試み」に傾いています。
sysadmin1138

6
別の欠点:後でパーティションを2つに分割するのが難しくなります。
キム

3
この出くわしたスーパーQ&A使用していくつかの良い例がありますhexdumpし、odで何が起こっているか非常に具体的に示して/dev/sda...対/dev/sda1セットアップ。
slm

4
最初にパーティションを拡張する必要がないため、ディスク全体のボリュームを拡張する方が少し簡単です。
psusi 14年

2
非商用環境では、別のOSのインストールが関連する場合がありますが、誰が商用環境でマルチブートしますか?これが正解であることに私は不安を感じています。意見以外は何も悪いことはありません。私はパーティションなしのディスクの使用についてフェンスにいますが、いくつかの正当な理由を以下に示します。
グラハムニコルズ

18

これがLinuxにどのように適用されるかはわかりませんが、ネイティブZFSでは、パーティションではなくディスク全体にプールを作成することが推奨される理由の1つは、ディスク書き込みキャッシュを有効にできる場合です。

ここで言及した他のいくつかの理由:

http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide#Storage_Pools

結論:それは機能し、ファイルシステムによっては良いアイデアかもしれません。


知っておくといい。この特定のケースでは、クラウドにありました!そのため、ストレージはシステムのセットアップ時にかなり抽象化されます。
sysadmin1138

1
ディスク書き込みキャッシュは、パーティションテーブルが使用されているかどうかと一体何の関係がありますか?
プソイ

3
書き込みキャッシュをパーティションレベルで有効にすることはできません。有効にすると、ディスク全体に影響します。ファイルシステムがディスク全体を使用している場合、そのディスクを「所有」しているため、付随的なリスクなしにキャッシュをオンまたはオフにできます。そうしないと、独自の理由でキャッシュを無効にする必要がある別のディスクコンシューマーに影響を与える可能性があります。
jlliagre

4
確かに、ファイルシステムやrawデバイスの消費者の要件を知らずにOSを盲目的にキャッシュをオンにすることは、信頼できるアプローチではありません。コミットされたトランザクションがメモリだけでなくディスク上にあることを確認する必要があるデータベースなどのアプリケーションがあります。
jlliagre

1
@psusi fsyncがディスクキャッシュをフラッシュするかどうかは、ファイルシステムに依存しているように見えます。
jlliagre 14年

16

これが仮想環境で行われると、本当のメリットが得られます。VMDKはNASに保存されているため、動的に拡張できます。

パーティションを使用している場合、LVM(およびそれに関連するオーバーヘッド)を使用してパーティションをチェーンするか、ホスト(または使用していない場合はファイルシステム)を停止してgpartedなどを使用する必要があります。

ただし、パーティションではなくディスク全体を使用する場合は、SCSIディスクで強制的に再スキャンし、resize2fsを使用して、オンライン(および使用中)の間にファイルシステムを拡張できます。


いい視点ね!仮想ディスクでは(必要に応じて作成、削除、サイズ変更が可能)、パーティションは役に立たないレイヤーのようです。
パブーク

11

パーティションを作成せずにファイルシステムをディスクデバイスに配置することは珍しくありません。

利点:

  • とにかくスペース全体を使用したい場合は、パーティションツールで時間を無駄にする必要はありません
  • 「標準」パーティション形式の非互換性について心配する必要はありません(ところで、どのパーティション形式が標準なのか、DOSのものか、BSDのものか)。たとえば、DOSパーティション形式では、使用時に最大2 TB 512バイトの論理セクター!
  • (現在)異常なセクターサイズ(4 kなど)のドライブでパーティションに起因するアライメントの問題を心配する必要はありません-確かに、現在のディストリビューションには、異なるセクターサイズで正しいアライメントを行うパーティションツールが付属しています

rawデバイス上のファイルシステムのサイズを変更できることは、正当な理由ではありません。そのようにして節約したスペースは、他のものには使用できません。したがって、デバイス全体にファイルシステムを直接作成できます。


2

記載されていない答えは、パーティションを作成しない場合は、カーネルがそれを検出するのを待つ必要はありません。

1つのユースケースは、ノードに追加し、最初の起動時に初期化するEC2 EBSボリュームです。

初期化プロセスでパーティションが作成される場合、新しく作成されたパーティションを表示するためにカーネルを再起動する必要があるというリスクがあります。通常、次のようなメッセージが表示されます。

エラー:パーティション/ dev / xvde1の変更に関するカーネルへの通知エラー-デバイスまたはリソースがビジーです。これは、リブートするまでLinuxが/ dev / xvde1に加えた変更を認識しないことを意味するため、リブートする前にマウントしたり使用したりしないでください。

この場合、初期化プロセスは再起動を実行してから、新しく作成されたパーティションにファイルシステムを追加し続ける必要があります。

必要なパーティションが1つだけであることがわかっている場合は、そのパーティションをスキップして、リブートが必要になるリスクを回避することもできます。

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