4kセクターのハードドライブをフォーマットする方法


12

Seagate ST3000DM001 3TBハードドライブを購入しました。エンクロージャー内で販売されました。ext4にフォーマットし、データをコピーしてからエンクロージャーから取り外して、マザーボードに直接接続しました。私のデータはOSに表示されませんでした(1つの未知の〜300GiBパーティションと残りを空き領域として見ていました)ので、Advanced Formatと2TBを超えるドライブについて読み始めました。

ディスクを再びUSBで接続し、すべてのデータをコピーして、もう一度sataに接続しました。gpartedを使用してGPTパーティションテーブルを作成し(ubuntuディスクユーティリティでは許可されませんError synchronizing after initial wipe: Timed out waiting for object (udisks-error-quark, 0)、1つの大きな3Tb Ext4パーティションを作成し、デフォルトAlign to値のままにしMiBてフォーマットしました。

ドライブが正しく認識され、適切にマウントされます。ファイルは、ドライブとの間で正常にコピーできます。

しかしながら:

Gpartedは、512kセクターのディスクを示していますが、これは事実ではありません1

gpartedスクリーンショット

cat /sys/block/sdb/queue/physical_block_size報告しながら4096

私はいくつかの報告を発見したlibparted非512Kのセクターに問題がある2、その他3 MIBへの位置合わせが十分であると言います。

Partedは、最小を選択するとドライブが調整されると報告しています。

(parted) align-check 
alignment type(min/opt)  [optimal]/minimal? min                           
Partition number? 1                                                       
1 aligned
(parted)    

私の設定は正しいですか?ディスクは512kセクターでフォーマットされているため、パフォーマンスが低下しますか、gPartedは誤った値を報告しますか、それとも全体が間違っていることを理解していますか?

  1. http://www.storagereview.com/seagate_barracuda_3tb_review_1tb_platters_st3000dm001
  2. http://ubuntuforums.org/showthread.php?t=1536933&p=9754234#post9754234
  3. http://wdc.custhelp.com/app/answers/detail/a_id/5655

これらのSeagteドライブのいくつかと、WDおよびFujitsu / HGST 3TBドライブがあり、それらはすべて問題なく動作します。GPartedについて正しいかもしれません。現在USB経由で接続されているSeagateのGGateは、GPartedで4096セクターサイズで表示されます。私のGPartedバージョンは0.12.1で、デフォルトはquantalです。
LiveWireBT

USB経由で接続すると、ここにも4096と表示されると思います。そこにあるUSB-SATAコントローラーには魔法があります。
qwazix

回答:


5

古いOS(Windows)との後方互換性のための論理セクターサイズであるため、512バイトを報告します。(g)partedはパーティションを1 MiBにアラインします。これは、4kの物理セクターを使用するドライブで適切に動作するのに十分であるため、そのままで問題ありません。


11

まず、ほとんどのAdvanced Formatドライブは、物理セクターサイズが4096バイト(4KiB)であっても、512バイトの論理セクターサイズを提供します。これは、ドライブのファームウェア内のデータをジャグリングすることで行われ、パーティションが適切にアライメントされていないと、パフォーマンスの問題が発生する可能性があります。ただし、これがあなたの問題の原因ではない可能性があり、パーティションのアライメントに焦点を当てることが見当違いです。(確かに、パーティションの位置合わせ重要です。それ単に問題の原因ではありません。)

私の予感(そしてそれちょっとした問題)は、USBエンクロージャーとディスクの直接接続を切り替えることで問題が発生することです。一部のエンクロージャーは、ディスク上の512バイトの論理セクターをコンピューターに提供される4096バイトの論理セクターに変換します。つまり、Advanced Formatディスクのファームウェアとは逆です。私は前向きではありませんが、一部のエンクロージャーは2TiB以上のディスクでのみこれを行うと思われます。MBRとGPTの両方のパーティションスキームは、セクター番号でデータを参照するため、セクターサイズを変更するとパーティションデータが無効になります。したがって、このように変換するUSB​​エンクロージャーでディスクを準備し、ディスクを直接使用しようとすると(またはその逆)、パーティション(およびGPTバックアップデータ)が使用されないため、エラーが表示されますコンピューターが期待する場所。目隠しをした人に「

この問題を解決するには、準備とでディスクを使用することである1 -の方法のいずれかのUSBエンクロージャを使用するか、直接接続ではなく、両方を使用します。何らかの理由で両方が必要な場合は、このタイプの翻訳を適用せずに機能するエンクロージャーを見つける必要があります。

私の仮説をテストするには、論理セクターサイズpartedを報告するツール(など)を使用できます。例えば:

sudo parted /dev/sda print
Model: ATA Hitachi HDP72505 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B

この出力から多くの情報を省略しました。重要な詳細は、ここに示されている最終行にあります。論理的および物理的セクターのサイズは両方とも512バイトです。このテストを実行してから、別の方法でディスクを再接続して再度実行すると、結果を比較できます。論理セクタサイズがディスクの接続方法に応じて変化する場合、私の仮説は正しいものであり、それが問題の原因です。または、少なくとも1つの問題です。他にもあるかもしれません。特に、Error synchronizing after initial wipeあなたが言及したエラーは別の問題を示している可能性があります。OTOH、それは副作用の可能性がありますpartedディスクの最後を超えてバックアップGPTデータを読み取ろうとしています。いずれにせよ、論理セクタサイズの変化が見られる場合は、他の何かを処理する前にその問題に対処する必要があります。ディスクのパーティションを再分割したいが、Error synchronizingエラーが原因で問題が発生する場合は、GParted ではなくgdiskor cgdiskgdiskパッケージ内)を使用してみてくださいpartedgdiskファミリは、ファミリよりもエラーに対してより堅牢partedです。


私は問題がUSBと内部間の切り替えのためであると信じています。実際、それが私の最初の考えであり、ディスクをPCに戻し、sataで接続した、パーティションテーブルを再作成したのはそのためです。(最初にデータを取り出すためだけに取り出しました)。USB経由で報告された論理セクターをテストするために再度削除したくありませんが、すべての事実がこれを示唆しています。
qwazix

インターフェイスの切り替えを続けるつもりはありません。ディスクは、SATA接続で準備されたままの状態で動作します。私はあなたが言及したパフォーマンスのペナルティを心配しているだけであり、実際に何が起こるかを理解したいと思います。parted /dev/sdb printが返される512/4096ので、gPartedは、@ LiveWireBTが同じディスク(USB経由で接続)で4096を認識する理由を説明する論理セクターサイズを報告し、上記のように予測を確認するようです。
qwazix

Verbatim Store'n'Go外付けドライブで同じ問題が発生した場合、論理セクターサイズは512で、物理サイズは4096です。
15

4

Advanced Formatドライブをサポートするために、Linuxカーネルとユーティリティの両方に変更が加えられました。これらの変更により、Advanced Formatドライブ上のすべてのパーティションが4Kセクター境界に適切に配置されます。Advanced Formatドライブのカーネルサポートは、カーネルバージョン2.6.31以降で利用できます。Advanced Formatドライブの分割とフォーマットのサポートは、次のLinuxユーティリティで利用できます。

Fdisk:GNU Fdiskは、ハードドライブをパーティション分割するコマンドラインユーティリティです。バージョン1.2.3以降は、Advanced Formatドライブをサポートしています。

Parted:GNU Partedは、ハードドライブをパーティション分割するためのグラフィカルユーティリティです。バージョン2.1以降は、Advanced Formatドライブをサポートしています。

4Kネイティブ(4Kn)ディスクの論理セクターサイズは4KBです。最新のオペレーティングシステムでは、これらのディスクにデータを保存できますが、通常、これらのディスクから起動することはできません。これらのディスクは通常、USB接続の外部ドライブです。

メディアストレージデバイスとして使用するパーティションを作成するには、キーボードのCtrl+ Alt+ Tを押してターミナルを開きます。開いたら、以下のコマンドを実行します:

sudo mkfs.ext4 -m 0 /dev/sdb1

ほとんどの4kディスクは、3TBがプレートに収まるように4096バイトの物理セクターサイズを持っていますが、1つのセクターを512Bと想定するOSとの互換性のために、512Bの論理セクターサイズをまだ持っています。そのため、partedでprintコマンドを使用して詳細を印刷すると、セクターサイズの論理/物理512B / 4096Bと表示されます。それは正常です。

この「変換」は、ディスク自体のインテリジェンスによって行われ、それは正常です。それがどのように機能するかです。

BIOSで最初に3TB全体が表示されない場合は、ディスクサイズが制限されていないことを確認してください。ディスクをサポートするにはBIOSの更新が必要な場合があります。

また、partedを使用して0から始まるパーティションを作成することは間違いです。ディスク上のパーティションが最適なパフォーマンスのために調整されるように、1MiBと同等のセクター2048で最初のパーティションを開始する必要があります。

したがって、ユニットをMiBに変更し、MiBでディスクサイズを印刷するディスクの詳細を印刷し、1MiBから始まり最後のMiB(または最後の1つ前)で終わるパーティションを作成します(単一のパーティションのみが必要な場合)。 。

たとえば、3TBディスクには、実際には2,861,022 MiBのようなものが必要です。したがって、/ dev / sdXというディスクデバイス上のディスク全体にまたがる単一のパーティションを作成するのは、次のようになります(Xを正しい文字に置き換えます)。

sudo parted /dev/sdX
unit MiB
mklabel gpt
print (to see the total size in MiB)
mkpart primary 1 2861022
quit

ディスクサイズが数少ないMiBである場合、2861022より大きいか小さい場合、終了位置を調整します。

それでおしまい。その後、パーティションに必要なファイルシステムを作成します。

ソース、および追加の読み物

4KセクターのドライブとLinux

Linuxでの4kドライブのエラーチェックとインストール

Ubuntuフォーラム


回答いただきありがとうございますが、実際には私の質問には答えていません。カーネルがドライブのセクターサイズを認識し、そのgparted もそれを認識するはずですが、それ以外の場合は報告され、説明がある場合、バグである場合、または何か間違ったことをした場合。
qwazix

0

パーティションを4KBの倍数に揃える限り、問題ありません。それ以外の場合は、4KBの物理セクターを持つドライブに対して特別なことをする必要はありません。

古いパーティションソフトウェアは、63x512Bの倍数のセクターにパーティションを配置しました。4KBの倍数ではなく31キロバイトであるため、ドライブに4KBの物理セクターがある場合、パフォーマンスが低下します。

現在、Ubuntuで現在利用可能なパーティション分割ソフトウェアは、これを行うことはありません(特に何らかの方法で要求しない限り)。ほとんどの場合、デフォルトで1MiBの倍数(2048x512Bセクター、256x4KBセクター)に調整されます。

調整しないとどうなりますか?

パーティションを4KBの倍数に揃えない場合、最悪の事態はパフォーマンスの低下(小さなファイルの場合はかなり大きなもの)です。4KBセクターのドライブは、既存のシステムとの互換性のために512Bセクターをエミュレートする傾向があります。したがって、これらを512Bセクタードライブとして扱うだけで完全に機能します。ただし、単一の512B領域に書き込むと、4KBセクター全体が書き換えられます。

そのため、パフォーマンス上の理由から、ファイルシステムで使用する4KBクラスターがドライブ上の4KBセクターと一致していることを確認することが重要です。これにより、単一のクラスター書き込みでドライブに2つの4KBセクターを書き込む必要がなくなります。

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