Linuxシステムでサポートされている最大パーティションサイズがわかります。Linuxシステムによってインストールされたディスクに作成できる論理およびプライマリパーティションの量はどれくらいですか?
MMC_BLOCK_MINORS
可能なパーティションの数を制限するために使用することに注意してください(デフォルト値は8)。
Linuxシステムでサポートされている最大パーティションサイズがわかります。Linuxシステムによってインストールされたディスクに作成できる論理およびプライマリパーティションの量はどれくらいですか?
MMC_BLOCK_MINORS
可能なパーティションの数を制限するために使用することに注意してください(デフォルト値は8)。
回答:
私は他の、より速く、より良い人々がすでにこれに完全に答えていると信じています。:)
以下の説明では、制限は理論上のものであることを常に覚えておいてください。多くの場合、実際の制限は理論上の制限を下回ります。
これらの制限に違反した場合に何が起こるかも簡単ではありません。たとえば、10 GBのディスクの時代には、マルチギガバイトのパーティションを作成できましたが、一部のマシンでは、1,024シリンダー以降に格納されたコードを起動できませんでした。これが、多くのLinuxインストーラーがディスクの先頭にある別の小さな/ bootパーティションを要求する理由です。起動に成功したら、問題はありませんでした。
MS-DOSはパーティションを(開始、サイズ)形式で保存します。各形式は32ビット幅です。昔のシリンダーヘッドセクターの座標をエンコードするために使用された各数値。現在は、任意のセクター番号が含まれているだけです(ディスクは、セクター番号から媒体固有の座標への変換を管理します)。'MS-DOS'パーティションタイプのカーネルソースは、パーティションサイズがセクター単位で32ビット幅であることを示唆しています。これにより、2 ^ 32 * 512、または2 ^ 41バイト、または2 ^ 21バイナリメガバイト、または2,097,152メガバイト、または2,048ギガバイト、または2テラバイト(マイナス1セクター)が得られます。
GUIDパーティションテーブル(GPT)ディスクラベルを使用している場合、パーティションテーブルは(開始、終了)ペアとして保存されます。どちらも8バイトの長さ(64ビット)であり、これにより、使用する可能性が非常に高い2 ^ 64 512バイトセクター、または2 ^ 73バイト(8バイナリゼタバイト)、または2 ^ 33テラバイトが可能になります。 。
従来のCP / M時代のBIOSではなく、UEFI ROMから起動する場合は、GPTを既に取得しています。そうでない場合は、常にディスクラベルとしてGPTを使用することを選択できます。あなたが新しいディスクを持っているなら、あなたは本当にそうすべきです。
セクターは長い間512バイトでした。これは4,096バイトに変更するように設定されています。多くのディスクはすでにこれを持っていますが、512バイトのセクターをエミュレートしています。変更が前面に来て、アロケーションユニットが4,096バイトセクターになり、LBAが4,096バイトセクターをアドレス指定すると、上記のすべてのサイズは3桁のバイナリオーダーで変化します。それらすべてに8を掛けて、新しい恐ろしい値を取得します。
LVMを使用する場合、作成するボリュームは、パーティションとファイルシステムの間にあるため、LVMもサポートする必要があります。LVM2 FAQによると、LVM2は64ビットアーキテクチャのLinux 2.6で最大8EB(エクサバイト)をサポートします。32ビットアーキテクチャで動作するLinux 2.6では16TB(テラバイト)。Linux 2.4では1TB。
もちろん、これらはパーティション(またはLVMボリューム)ごとのサイズ制限です。しかし、パーティションを持つことのポイントは通常、ファイルシステムを格納することであり、ファイルシステムには独自の制限があります。実際、ファイルシステムにどんな種類の制限があるかは、ファイルシステム自体に依存します!唯一のグローバルな制限は、ファイルシステムの最大サイズとその中の各ファイルの最大サイズです。
EXT4では、ファイルごとに最大16TB、ボリュームごとに1EB(エクサバイト)までのパーティションが可能です。ただし、32ビットのブロック番号を使用するため、デフォルトの4,096バイトのブロックサイズを増やす必要があります。これはカーネルとアーキテクチャでは不可能な場合があるため、PCではボリュームあたり16TBの方が現実的です。
ZFSは16EBファイルと16EBボリュームを許可しますが、疑いなく独自のその他の予期しない制限もあります。
ウィキペディアには、人に知られているほとんどのファイルシステムに対するこれらの制限の非常に優れた表があります。
Linux 2.6以降を64ビットマシンとGPTパーティションで使用している場合、ファイルシステムの選択とその制限についてのみ心配する必要があるようです。それでも、それほど心配する必要はありません。とにかく、16TBの単一ファイルを作成するべきではありません。1エクサバイト(1,048,576 TB)は、しばらくの間、現実的な制限になります。MBRを使用していて、2テラバイトを超えるバイナリが必要な場合は、パーティションあたり2 TBの制限で動作しているため、UEFIとGPTに切り替える必要があります(これは、既に展開されているコンピューターでは簡単ではない場合があります)。
私は古いおならであり、2の累乗の倍数を計算するときにバイナリ単位を使用することに注意してください。ディスクの製造元は、小数単位を使用してチートを行うことを好んでいます(そうではないことがわかっていても、常にこれを行っていると確信しています)。したがって、最大の「2TB」ディスクは2バイナリテラバイトよりも小さいため、問題は発生しません。LVMまたはRAID-0を使用する場合を除きます。
2つの制限があります。Linuxでのサポート、もう1つは使用されるパーティションテーブルスキームの最大数です。レガシーMBRと新しいGPTのどちらを使用するかによって異なります。
MBRは4つのプライマリパーティションをサポートします。それらの1つは、ディスクスペースによってのみ制限される任意の数の論理パーティションを含むことができる拡張パーティションである可能性があり ます。
GPTは最大128の「プライマリ」パーティションをサポートします。
昔は、デバイス数が限られているため、LinuxはIDEで最大63パーティション、SCSIディスクで最大15パーティションしかサポートしていませんでした。現在、カーネルはデバイス番号を動的に割り当てることができるので(udevがキーワードです)、この制限はもはや有効ではありません。
Wikipediaによると、カーネルは最大16 TBのファイルシステムをサポートしているため、これはパーティションを最大の容量で使用できます。もちろん、すべてのファイルシステムが実際に完全な16TBをサポートするわけではありません。