web-dev-qa-db-ja.com

適切な配置でGPTを分割できるLinuxツール

適切なパーティションの配置により、データアクセス中の理想的なパフォーマンスが保証されます。パーティションの配置が正しくないと、特にSSD(たとえば、内部ページサイズが4,096または8,192バイト)、4キロバイト(4,096バイト)のセクターを持つハードディスク、およびRAIDボリュームに関してパフォーマンスが低下します。

- http://www.thomas-krenn.com/en/wiki/Partition_Alignment

適切なパーティションの配置がどれほど重要か疑問に思うかもしれません。次に、これを確認してください http://www.ibm.com/developerworks/library/l-4kb-sector-disks/#benchmarks

最高のLinuxディスクパーティション分割およびアライメントチェックユーティリティはsfdiskです。 GPTパーティションを処理できないときまで、10年以上使用していました。

事実上のLinuxディスクパーティションツールはgpartedであり、GPTディスクを処理できることを私は知っています。しかし、IMHOは、デフォルトの配置オプションがMiBであるため、正しく処理していません。これはIMHOが間違っています。まあ、厳密に言えば間違いではありませんが、少なくとも最適ではありません。つまり、適切に行われていません。

私の発見によると(MSから http://support.Microsoft.com/kb/300415/en-us )、

すべての[〜#〜] mbr [〜#〜]ディスクでは、サイズまたはオフセットパラメータは切り上げられますシリンダーの位置合わせ[〜#〜] gpt [〜#〜]ディスクでは、サイズまたはオフセットパラメータはセクターに丸められますアラインメント

Trueの場合、GPTのgpartedのデフォルトの配置オプションは間違っています。しかし、問題は、他の唯一の健全性オプションがシリンダーに整列することであり、それはやり過ぎであり、セクターに整列するオプションがないことです。したがって、私の質問は、他の場所を探す必要があるためです。

私は見つけました

partedを使用して最高のパフォーマンスを得るためにパーティションを整列する方法
http://Rainbow.chard.org/2013/01/30/how-to-align-partitions-for-best-performance-using-parted/

開始は良好ですが、GPTディスク全体(100%)のパーティション分割で終了します。これは、他の/通常のパーティションのパフォーマンスを最高にするためにパーティションを整列する方法を説明できません。

では、どのLinuxツールがGPTを適切な配置で分割できるのでしょうか。

1
xpt

最高のLinuxディスクパーティション分割およびアライメントチェックユーティリティはsfdiskです。 GPTパーティションを処理できないときまで、10年以上使用していました。

AFAIK sfdiskには話すための配置オプションがないため、これをどのように行ったかはわかりません。少し戸惑っています。 (ただし、KiB、MiBなどの単位で特定の値を指定できます。) シリンダー/ヘッド/セクター(CHS) ジオメトリ値を設定するオプションは、今日では100%役に立たないことに注意してください。 CHSは1970年代と1980年代に有用でしたが、1990年代半ばまでには便利なフィクションに過ぎませんでした。 1990年代後半までに、それは不便なフィクションになり、今日では、CHSで何をしているかに応じて、役に立たないか無関係よりも悪くなっています。これは、Advanced Format、RAID、およびSSD構成の新しいアライメントのニーズと、CHSが約8GiBで最大になるため、ほとんどの最新のディスクでは無視されることを意味します。

事実上のLinuxディスクパーティションツールはgpartedであり、GPTディスクを処理できることを私は知っています。しかし、IMHOは、デフォルトの配置オプションがMiBであるため、正しく処理していません。これはIMHOが間違っています。まあ、厳密に言えば間違いではありませんが、少なくとも最適ではありません。つまり、適切に行われていません。

最小の最適な配置値はディスクごとに異なりますが、ほとんどのディスクでは、最適な配置は4KiB、256KiB、512KiBなどの2の累乗の倍数です。したがって、1MiBアライメントの使用は、パフォーマンスの観点からほとんどのディスクに最適ですが、一部のディスク(ほとんどの場合SSD)の値はこれよりも高くなります。

ニーズが小さいものに1MiBのアライメント値を設定すると、ディスクの開始時に最大で1MiB未満の無駄なスペースが発生することに注意してください(パーティション間の無駄なスペースが増える可能性がありますが、それは確かではありません)。最新のディスク上の1MiBの無駄なスペースはごくわずかです。たとえば、1TBのディスクでは、計算を正しく行った場合、1MiBは合計ディスク容量の0.0001%になります。このような少量のディスクスペースの浪費については心配しません。

私の発見によると(MSから http://support.Microsoft.com/kb/300415/en-us )、

すべての[〜#〜] mbr [〜#〜]ディスクでは、サイズまたはオフセットパラメータは切り上げられますシリンダーの位置合わせ[〜#〜] gpt [〜#〜]ディスクでは、サイズまたはオフセットパラメータはセクターに丸められますアラインメント。

Microsoftツールについてはあまり詳しくありませんが、WindowsVista以降のすべてのディスクでWindowsGUIツールがデフォルトで1MiBアライメントを使用していることは知っています。そのページで説明されているテキストモードDISKPARTがまだシリンダーの位置合わせを行っている場合、IMOはひどく壊れています。Nothing今日はCHSまたはシリンダーアライメントを使用する必要があります。ただし、veryをサポートするために使用することを目的としたツールを除きます。古いOS。 (私が最後にチェックしたところ、Linux cfdiskはまだシリンダーアライメントを使用していました。このため、壊れていると言います。)

「セクターアラインメント」への言及は、デフォルトでセクターの値を指定することを意味しているのではないかと思います。確かに、アラインされていないパーティション(「セクターアラインメント」が実際に意味するもの)を使用すると、ほとんどの最新のディスクでパフォーマンスが低下する可能性があります。

partedを使用して最高のパフォーマンスを得るためにパーティションを調整する方法 http://Rainbow.chard.org/2013/01/30/how-to -align-partitions-for-best-performance-using-parted /

開始は良好ですが、GPTディスク全体(100%)のパーティション分割で終了します。これは、他の/通常のパーティションのパフォーマンスを最高にするためにパーティションを整列する方法を説明できません。

いいえ、そのサイトでは、ディスク上の単一パーティションの整列について説明しています。後続のすべてのパーティションに同じ原則を適用するだけです。つまり、ディスクの最適値が2048セクターの配置であることがわかった場合は、すべてのパーティションがその値の倍数(2,097,152や15,403,008など)で始まることを確認します。

このスレッドのタイトルに暗示されている質問に答えるために、私自身の GPT fdisk(gdisksgdisk、およびcgdisk)、 これはgdiskまたはgptfdiskパッケージのほとんどのLinuxディストリビューションで利用可能で、任意の配置値の設定をサポートします。デフォルトは1MiB(ほとんどのディスクで2048セクター)ですが、エキスパートメニューのlオプション(gdisk内)を使用して調整できます。詳細は、このファミリの他のツールとは異なります。 )。残念ながら、アライメントデータを返すはずのLinuxシステムコールは信頼性が低いことがわかりました(ただし、最近では2、3年前よりも信頼性が高くなっています)。したがって、モデルの仕様を調べたり、RAID設定を確認して、ディスクに最適なものを確認する必要がある場合があります。

3
Rod Smith