Linuxのファイルシステムについて読んでいます。ここ。この文は私を少し混乱させます。
ext3の場合、
- 最大個別ファイルサイズは16 GBから2 TBまで可能です。
- ext3ファイルシステムの合計サイズは2TBから32TBまで異なります。
それでは、上記の文は、サイズが2TBを超える単一のファイルを持つことができないという意味ですか?
それでは、一つ持ってはいけませんか?mysql
それ以上2TB容量?これらのテーブルは、datadir
上記のパラメータストアに従って保存されます/etc/my.cnf
。たとえば、私にハードドライブがあるとしましょう。4TB容量とmysql
サイズチャート2.5TB、ハードドライブが机に入ることができますか?
編集する
Barmarの回答で指定された最大ファイルサイズは気にしません。
調べるのがもっと心配です。mysql
ext3ファイルシステムが許可する最大単一ファイルサイズより大きいテーブルがある場合、エラーは発生しますか?
答え1
~によるとテーブルサイズの制限Linux 2.4+でext3を使用する最大テーブルサイズは4TBです。
MyISAMはあるファイルに行データを保存し、別のファイルにインデックスを格納するので、これはデータ+インデックスの理論上最大サイズであるようです。 ext3ではファイルを2TBに制限するため、行データがこの値を超えることはできません。
答え2
一般的に言えば、指示に従ってください。ここ@Barmarが述べたように。これにはさまざまなオペレーティングシステムによる制限がリストされていますが、必ずしもファイルシステムの制限ではありません。多少誤解を招く「Linux 2.4+(ext3ファイルシステムを含む)4TB」のリストもあります。
もう一つ非常に最大ファイルサイズを決定するときは、ext3ファイルシステムでこれを考慮する必要があります。複数のデータベーステーブルを作成する前に、ブロックサイズを確認してください。ブロックサイズが1kのext3パーティションの最大ファイルサイズは約16.5GBです。ブロックサイズが4kの同じディスクの最大ファイルサイズは4TBです。詳細な理由は説明で確認できます。ここ。ブロックサイズが4kの場合、mysqlサイトのドキュメントは完全に正確です。最近、ほとんどのインストールはデフォルトで4kに設定されています。 4TBファイルシステムは1kブロックサイズに比べて大きすぎると思いますが、確認するのは間違いありません。
答え3
はい、デフォルトのファイルシステムにファイルサイズ制限がある場合は、ファイルがいっぱいになるまでデータを追加しようとするとMySQLでエラーが発生します。
ただし、単一のテーブルが複数のMYDファイルとMYIファイルにデータを分散するようにMySQLテーブルを分割すると、ファイルシステムのファイルサイズ制限を簡単にバイパスできます。 http://dev.mysql.com/doc/refman/5.5/en/partitioning.html
これで、ext3の代わりにext4を使用する必要があります。 ext4のファイルサイズ制限は16TB(標準4kブロックサイズ)です。 https://ext4.wiki.kernel.org/index.php/Ext4_Howto#Bigger_File_System_and_File_Sizes