Advanced Formatとは何ですか?
Advanced Format-一部のハードドライブで使用される新しいセクターレイアウト形式。 512バイトの従来のセクターの代わりに、4096バイトが使用されます。 一部のSCSI / SAS / FCドライブは、 追加のデータ整合性制御に520バイトおよび528バイトのシックセクターを使用できますが、これはこの記事のトピックではありません。
セクターサイズの8倍の増加は、最新のディスク上のデータ配置の効率を高める必要性に関連しています。 512バイトのマークアップに関連するオーバーヘッドが、HDD容量のさらなる増加を妨げ始めています。 サービスフィールドに加えて、各512バイトセクターには、長さが50バイトのエラー修正コード(ECC)を持つフィールドがあります。 4096バイトのセクターでは、ECCフィールドの長さは100バイトです。 全体的なストレージ効率は約10%向上しました。
当然、ディスクコントローラとオペレーティングシステムには非標準セクタのサポートが必要です。 互換性の問題を解決するために、追加の512E標準が導入されました。これは、4096バイトの物理セクターサイズを持つディスクを指しますが、512バイトの通常のセクターサイズをエミュレートします。 エミュレーションなしのAdvanced Formatディスクは4KNと指定されます 。 したがって、現在3つのマークアップオプションがあります。
書式
| 論理セクターサイズ
| 物理セクターサイズ
|
| 512バイト
| 512バイト
|
| 512バイト
| 4096バイト(4KiB)
|
| 4096バイト(4KiB)
| 4096バイト(4KiB)
|
適合性
オペレーティングシステム
一見、512バイトセクターのエミュレーションを使用すると、互換性の問題がすべて除去されるように見えますが、そうではありません。 まず、パフォーマンスの問題がすぐに発生します。 512バイトブロックが4096バイトのセクターサイズでディスクに書き込まれるとどうなりますか(512バイトセクターの存在をエミュレートしますが)。 古典的な読み取り-変更-書き込みプロセスが発生し、1つの操作ではなく、2つの操作が必要になります。4096バイトセクターの読み取り、その512バイト(書き込み可能なブロック)の変更、4096バイトの書き込み。 記録されたデータブロックが非常に大きく、4096バイトの倍数にさえなる可能性がありますが、実際のセクターの境界に対してシフトされる場合、同様の問題がアライメントなしで表示されます。
現代の状況では、4096バイト未満のブロックでの書き込み操作は非常にまれですが、アライメントの問題は残ります。 たとえば、古いWindows(Windows Server 2008より前)では、インストール中に63セクターのオフセットでブートパーティションが作成されます。 これは、BIOSがLBAの代わりに実際のディスクジオメトリを使用したときから歴史的に起こりました。 もちろん、63x512のオフセットは4096で除算されないため、後続のすべてのセクションの位置がずれてパフォーマンスが低下します。 この問題は、RAIDコントローラーを使用し、ストライプの境界にパーティションを配置する必要があるために最初に気付きました。また、Windows Vista / Windows Server 2008(および他のOSでもほぼ同時に)で境界に1024KiB( 1MiB)、つまり 最初のパーティションは、2048 512バイトセクターのオフセットで作成されます。
より小さいオフセットが適切な場合、なぜ正確に1MiBです(主なことは4096バイトで割ることです)? 物理ディスクに加えて、RAIDコントローラー上のボリューム(デフォルトのストライプサイズ、たとえばAdaptec 256KiB)、SSD(大きなページサイズ)、または仮想化使用時のディスクイメージもブロックデバイスとして機能できるため、予約が必要だからです。 、SQLまたはExchangeの推奨NTFSクラスターサイズは64KiBなどです。
問題番号2は、同期記録シナリオの潜在的なデータ損失です。 4096バイト未満のブロックまたはアライメントされていないブロックを記録する状況では、同期記録は実際には機能しません。 書き込み時に512Eディスクで4096バイト未満のブロックを使用しないようにOSに「教える」ことは残っていますが、これには特定の問題があります。
マイクロソフト
Microsoft OSの場合、次の公式( ソース )データがあります。
書式
| 論理セクターサイズ
| 物理セクターサイズ
| 対応OS
|
| 512バイト
| 4096バイト(4KiB)
|
|
| 4096バイト(4KiB)
| 4096バイト(4KiB)
|
|
diskpartを使用して、既存のパーティションの配置を確認し、Windowsで新しいパーティションのオフセットを設定できます。 例(1024KiBまたは2048 512バイトセクターのオフセットを持つディスク0上のパーティション):
ディスク0を選択 プライマリパーティションの作成= 1024チェックする最も簡単な方法は、WMIを使用することです(例)。
wmicパーティションはBlocksize、StartingOffset、Nameを取得します BlockSize Name StartingOffset 512ディスク#0、パーティション#0 1048576 512ディスク#0、パーティション#1 368050176 512ディスク#2、パーティション#0 135266304 512ディスク#1、パーティション#0 1048576
StartingOffset列は、最初のセクションでは1024KiB、残りのセクションでは1024KiBで分割する必要があります。つまり、すべてが4096バイトと他のすべての「適切な数値」(ストライプおよびNTFSクラスターのサイズ)で分割されます。
最新のWindowsでは、デフォルトで1024KiBのオフセットがすでに使用されているため、「63セクター」時代のOSについては手動でチェック/設定するだけでよいことを思い出してください。 512Nまたは512Eドライブに(ディスクの管理を介して)GPTマークアップを自動的に作成すると、17KiBの最初のパーティションのオフセットが表示されます。 これはMSRサービスパーティションであるため、アラームの原因ではありません。 最初の標準セクションは、135266304バイト(129MiB)のオフセットで作成されます。これは、「良い数値」のいずれかに完全に分割されます。
Linux
Linuxの互換性テーブル(一般的なサーバーディストリビューションのみがリストされています):
書式
| 論理セクターサイズ
| 物理セクターサイズ
| 対応OS
|
| 512バイト
| 4096バイト(4KiB)
|
|
| 4096バイト(4KiB)
| 4096バイト(4KiB)
|
|
/ sys / block / sdX / queue / physical_block_sizeと/ sys / block / sdX / queue / logical_block_sizeでそれぞれ物理ブロックと論理ブロックのサイズを確認できます。
GNU Fdiskは、起動時に-cおよび-uスイッチを使用して自動的に1MiBオフセットを使用します(DOS互換モードを無効にし、セクターを単位として使用します)。 通常のFdiskではGPTの操作方法がわからないため、2 TBを超えるドライブには役に立たず、PartedまたはGPT Fdiskを使用する必要があります。 後者は、デフォルトで、512N / 512Eディスクの2048セクターに必要なオフセットを使用します。
ディスク/ dev / sde:7814037168セクター、3.6 TiB 論理セクターサイズ:512バイト ディスク識別子(GUID):BE7D7D71-F6ED-4371-ACFE-B04819A4DDC2 パーティションテーブルは最大128エントリを保持します 最初の使用可能なセクターは34、最後の使用可能なセクターは7814037134です パーティションは2048セクターの境界に配置されます 合計空き容量は7814037101セクター(3.6 TiB)
GNU Partedの例(512N / 512Eドライブの場合):
#新しいGPTマークアップを作成 mklabel gpt #2048セクターのオフセットですべての空き領域にパーティションを作成 (parted)mkpart part1 2048s 100% (分けられた)印刷 モデル:ATA WDC WD40EFRX-68W(scsi) ディスク/ dev / sde:7814037168s セクターサイズ(論理/物理):512B / 4096B パーティションテーブル:gpt 番号開始終了サイズファイルシステム名フラグ 1 2048s 7814035455s 7814033408s part1
LVMではすべてが正常です。デフォルトのオフセットは1MiBで、PEサイズ(物理エクステント)は1MiBの倍数です。
#オフセットを確認 #pvs / dev / sde -o + pe_start PV VG Fmt Attr PSize PFree 1st PE / dev / sde VolRed lvm2 a-- 3.64t 3.64t 1.00m #PEのサイズを確認 #pvdisplay / dev / sde ---物理ボリューム--- PV名/ dev / sde VG名VolRed PVサイズ3.64 TiB /使用不可3.84 MiB 割り当て可能はい PEサイズ4.00 MiB 合計PE 953861 無料のPE 953861 割り当てられたPE 0 PV UUID 9AfJr9-OOtC-PB34-dUnq-kCDK-L1fN-aTAxus
VMware
VMwareナレッジベースの記事では、512Eドライブも4KNドライブもサポートされていないと主張しています。 4KNドライブのサポートは、vSphere 6.0で発表されました。
VMFS-5の出現により、単一のブロックサイズ-1MiBと、最初のパーティションの正しい1MiBオフセットが得られました。 以前は、常に適切な64KiBオフセットが使用されていませんでした。 ただし、これはすべて、512EディスクがサポートされていないというVMwareの声明をキャンセルするものではありません。 どうやら、これはVMDK形式が512バイトの粒度でデータを保存するという事実によるものです。
その他のOS
Mac OSXは、Tiger以降のAdvanced Formatをサポートしています。 FreeBSDおよびその他のBSD、Oracle Solaris、および他の多くのOSがまだ存在しますが、Advanced Formatディスクを使用した状況の詳細な説明は、この記事の範囲外です。
マイクロソフトサービス
ハイパーv
512EディスクはWindows Server 2008および2008 R2でサポートされているという事実にもかかわらず(インストールされたKBの要件の表を参照)、Hyper-Vで問題が発生します:VHD仮想ディスクファイル形式は、動的(「シン」)に512バイト構造を使用します差分VHDは、通常の読み取り-変更-書き込みに自然につながります。 ゲストOSの場合、仮想ディスクには512バイトの物理セクターがあるように見えるため、状況はさらに悪化します。 固定VHDを使用しますが、可能であれば、512Eドライブを使用してVHDファイルをホストしないでください。
Windows Server 2012はVHDX形式を導入しましたが、これには上記の問題はありません(512N / 512E / 4KNの任意の形式で作成できます)。
Exchangeサーバー
DAGのレプリケーションに関連する機能があります。
- データベースとログを格納するためにExchange Availability Group(DAG)Exchangeで使用されるすべてのディスクは、同じ物理セクターサイズを使用する必要があります。
- 4KNドライブはサポートされていません
- Exchange 2010 Service Pack 2以降でサポートされている512Eドライブ
SQLサーバー
状況はExchange Serverの場合と同じです。データベースとログのフォールトトレラント構成では、すべてのノードが同じ物理セクターサイズのディスクを使用する必要があります。
記憶域スペースを使用すると、興味深い状況が発生します:物理セクターの現在のサイズは、記憶域スペースがどのディスクから組み立てられているかに関係なく4KiBになります(記憶域スペースは異なるディスクから作成できます-512Nと512E、もちろん、4KNと混合することはできませんSSDでの階層化の使用)。 VHDX(仮想ディスク)形式は、デフォルトで512Eとして作成されます。 これを確認するには、fsutil fsinfo ntfsinfo <ドライブ名>を実行します。
セクターあたりのバイト数:512 物理セクターあたりのバイト数:4096
4KNディスクで構成される記憶域スペース(またはハードウェアRAID)でVHDXを使用する場合、VHDX自体も4KNを作成するために望ましい:
New-VHD -Path D:\ image4kn.vhdx -Fixed -SizeBytes 500GB -LogicalSectorSizeBytes 4096 -PhysicalSectorSizeBytes 4096
これは、SQLおよびその他の同期書き込みアプリケーションにとって安全ですか? ストレージの大きな粒度はデータの整合性に違反しないため、答えはイエスです。4096は512で除算されるため、これはパフォーマンスにも影響しません。
ESENTを使用するサービス
Windows Server 2008の実際の問題ではありません。ExtensibleStorage Engine API(AD、WINS、DHCP)を使用するサービスは、物理セクターのサイズが変わるとクラッシュする場合があります(たとえば、512Nドライブから512Eに移行する場合)。 詳細な説明と修正プログラムはこちらをご覧ください 。
その他のソフトウェア
明らかに、パーティションの管理(クローン作成、移動、サイズ変更)およびバックアップの自動化のために設計されたソフトウェアは、Advanced Formatディスクを操作する機能を考慮する必要があります。 方法は次のとおりです。
- アクロニス製品 。
- Symantec Backup Execは、バージョン2012リビジョン1798 Service Pack 2以降のAdvanced Formatディスク(512Eおよび4KN)をサポートしています。以前のリリースは512Eディスクで動作する可能性がありますが、シマンテックはこの組み合わせは公式にサポートされていないと主張しています。
- Symantec Norton Ghostは4KNドライブをサポートしていません。
コントローラー
すべてのコントローラーのユニバーサルルール:
- 4KNおよび512N / 512Eドライブを同じアレイに混在させることはできません。
- AdaptecおよびLSIコントローラーの場合、メタデータはディスクの最後にあり、ユーザースペースはLBA0で利用できます。 これは、512Eドライブのアライメントの問題がないことを意味します。
- 4KNディスクのアレイも、物理/論理セクターサイズが4KiBになります。 GPTとUEFIは、それらから起動するために必要です。
- ファームウェアで管理ユーティリティとドライバーを更新することを忘れないでください。
- 512Eディスクで作成されたLUNはどのように表示されますか(512Nまたは512E)? 検証できたもの:LSI 9260、Adaptec 6thシリーズコントローラー、Infortrend ESDSストレージシステムは512N(512バイトの論理/物理ブロック)を報告します。 同期記録の問題は残ります。 必ずライトバックキャッシュ(もちろん、保護付き)とUPSを使用してください。 さらに、ファームウェアを変更すると、ストレージシステムとコントローラーが突然「正しく」動作し、LUNが512Eになり、互換性の結果がすべて生じる可能性があります。
PMCによるAdaptec
- SAS HBAシリーズ5および6:512Eをサポート、4KNはサポートしません
- SAS HBAシリーズ6Hおよび7H:512E、4KNをサポート-ファームウェア10467以降
- シリーズ7および8のRAIDコントローラー:512E、4KNをサポート-ファームウェア30862以降。
Adaptecコントローラーの互換性リスト
LSI /アバゴ
LSIベースのコントローラーは、Dell、IBM、Lenovo、Fujitsu、Intel、およびSupermicroを使用します。 LSIのモデルとOEMオプションの対応は、チップ上で設定できます。
- 古いLSI1078ベースのコントローラー:Advanced Formatドライブをまったくサポートしない
-
LSI2108以前の3wareに基づくLSI 3ware 9750シリーズ:Advanced Formatドライブをまったくサポートしていません。 - LSISAS2108(LSI 9260/61/80):MR4.8ファームウェアから512Eをサポート、4KNはサポートしていません。 互換性リスト (4KNドライブは存在しますが、明らかにLSI 2208を参照しています。以下を参照)。
- LSISAS2208(LSI 9265/66/71/85/86):MR5.5ファームウェア以降512Eをサポート、MR5.8ファームウェア以降4KNをサポート。 互換性リスト 。
- LSISAS3108(LSI 9361/80):512Eおよび4KNをサポートします。 互換性リスト 。
- LSISAS2008およびLSISAS2308(LSI 9211/9200/9207)に基づくSAS HBA:512Eおよび4KNをサポートします。 互換性リスト 。
- LSISAS3008(LSI 9311/9300)に基づくSIS HBA:512Eおよび4KNをサポートします。 互換性リスト 。
- LSISAS2008(LSI 9240、iMRファームウェア)に基づくRAID:512Eをサポート、4KNはサポートしていません。 互換性リスト 。
- LSISAS3008ベースのRAID(LSI 9340、iMRファームウェア):512Eをサポート、4KNはサポートしていません。 互換性リスト 。
2015年3月25日の更新: 3108 RAIDコントローラーに基づく最新のLSI MegaRAIDには、 エミュレーションタイプと呼ばれる不十分に文書化されたボリューム(VD)プロパティがあります。 コントローラBIOSでは、可能な値はDefault、Disabled、およびForcedです。 MSMまたはStorCLIを使用して切り替えることもできます。
storcli / cx / vx set emulationType = 0 | 1 | 2
このプロパティは、ホストに提示されるブロックサイズに正確に関与します。
デフォルト(0):ボリュームに512Eディスクがある場合、512Eとして表示されます。 すべてのドライブが512Nの場合、ボリュームは512Nとして表示されます
無効(1):512Eディスクにもかかわらず、ボリュームは常に512Nとして表示されます
強制(2):512Eディスクがない場合でも、ボリュームは常に512Eとして表示されます
エミュレーションタイプも SAS2コントローラー(LSI 2108/2208)に移植されましたが、Forced値はありません(2)。
Intelチップセット上のソフトウェアRAID(RST / RSTe)
4KNはまったくサポートされていません。512Eドライブ上のIntel RSTには新しいドライバーが必要です。
エンタープライズクラスのドライブでの高度なフォーマット。 何が私たちを待っていますか?
最新シリーズのエンタープライズクラスのドライブについてです。 デスクトップHDDおよびNASまたはビデオ監視用に配置されたものは、ここには届きませんでした。
仕入先 | シリーズ | フォームファクター | インターフェース | スピンドル回転速度、rpm | | | | オプショナル |
シーゲイト | エンタープライズパフォーマンス10K HDD(10k.8) | 2.5 " | SAS | 10,000 | Y | Y | Y | 512Nの容量には制限があります:600 / 1200GB |
シーゲイト | エンタープライズパフォーマンス15K HDD(15k.5) | 2.5 " | SAS | 15,000 | Y | Y | Y | 32GB内部SSDキャッシュ |
シーゲイト | エンタープライズキャパシティ2.5 HDD(V.3) | 2.5 " | SAS、SATA | 7200 | Y | Y | ||
シーゲイト | Enterprise Capacity 3.5 HDD(V.4) | 3.5 " | SAS、SATA | 7200 | Y | Y | ||
シーゲイト | アーカイブHDD | 3.5 " | SATA | 7200 | Y | アーカイブ用に配置され、MTBFが少なく、BERが悪い | ||
シーゲイト | テラスケールHDD | 3.5 " | SATA | 5900/7200 | Y | クラウドでの使用、MTBFの削減、BERの悪化に対応 | ||
Hgst | ウルトラスターC10K1800 | 2.5 " | SAS | 10,000 | Y | Y | Y | 512Nの容量には制限があります:300/600/900 / 1200GB |
Hgst | ウルトラスターC15K600 | 2.5 " | SAS | 15,000 | Y | Y | Y | |
Hgst | ウルトラスターC7K1000 | 2.5 " | SAS | 7200 | Y | |||
Hgst | ウルトラスターHe 8 | 3.5 " | SAS、SATA | 7200 | Y | Y | ||
Hgst | ウルトラスターHe 6 | 3.5 " | SAS、SATA | 7200 | Y | |||
Hgst | ウルトラスター7K6000 | 3.5 " | SAS、SATA | 7200 | Y | Y | ||
Hgst | MegaScale DC 4000.B | 3.5 " | SATA | 5400 | Y | クラウドでの使用、MTBFの削減、BERの悪化に対応 | ||
WD | Xe | 2.5 "/3.5" | SAS | 10,000 | Y | |||
WD | 再 | 3.5 " | SATA | 7200 | Y | |||
WD | セ | 3.5 " | SATA | 7200 | Y | クラウドでの使用、MTBFの削減、BERの悪化に対応 | ||
WD | ええ | 3.5 " | SATA | 5760 | Y | ? | アーカイブ用に配置され、MTBFが少なく、BERが悪い | |
東芝 | AL13SE | 2.5 " | SAS | 10,000 | Y | |||
東芝 | AL13SX | 2.5 " | SAS | 15,000 | Y | |||
東芝 | AL13SEL | 3.5 " | SAS | 10,000 | Y | |||
東芝 | MG03ACA / MG03SCA | 3.5 " | SAS、SATA | 7200 | Y | |||
東芝 | MG04ACA | 3.5 " | SATA | 7200 | Y | Y | ||
東芝 | MG04SCA | 3.5 " | SAS | 7200 | Y | Y | ||
東芝 | MC04ACA | 3.5 " | SATA | 7200 | Y | クラウドでの使用、MTBFの削減、BERの悪化に対応 |
SSD
SSDには独自の特性があります。 SSDのアーキテクチャに応じて、2–4–8–16KiBのページでデータを読み書きできます。 同時に、記録のために、セルの予備消去を行う必要があります。これは、ページごとではなく、数百ページのブロックで実行されます。 たとえば、Samsung 840 EVOには2MiBブロックがあり、各ブロックは256ページの8KiBで構成されています。 この場合、もちろん、ホストに提示されるブロックサイズ(512または4096バイト)は抽象化されます。
最新のSAS / SATA SSDの一部は512Eドライブをエミュレートしますが、互換性に関する考慮事項のほとんどは512Nです。 この接続では、エンタープライズクラスのSSDのようにキャッシュの内容が電力損失から必然的に保護されるため、特別な対策は必要ありません。 ページサイズに揃えるには十分です。
たとえば、Fusion IOによって製造された一部のPCI-E SSDでは、独自のユーティリティを使用して、フォーマット時に論理セクターのサイズを変更できます。 512Eモードと4KNモードを切り替えます。 一部のSAS SSDでは、これも可能です。たとえば、Seagate 1200は通常のsg_formatでセクターのサイズ変更をサポートします。 一部のシナリオで 4KiBセクターに切り替えると、生産性が大幅に向上します。
結論
- 512Eドライブは、物理セクターのサイズを無視するレガシーオペレーティングシステムを搭載したサーバーでの使用には適していません。 デスクトップアプリケーションでは、これは大した問題ではありません。通常、同期記録を使用する人はいないからです。
- OS、使用サービス、コントローラー、ストレージ、コントローラーとストレージのキャッシュモードなど、インフラストラクチャを慎重に検討してください。 パフォーマンスやデータの整合性に潜在的な問題がある場合は、必要な措置を講じてください。
- レガシOSの問題は仮想化で回避できますが、パーティションのアライメントに注意を払う必要があります。
参照資料
- IBM DeveloperWorks:4 KBセクターディスク上のLinux:実用的なアドバイス
- RHEL6ドキュメント:LinuxでのIO制限とIOヒント
- fdisk、LVM、MDのアライメント
- Hyper-Vでの大セクタードライブのサポート
- Exchange Server 2010の可用性グループとセクターサイズ
- Windows Server 2008および2008 R2の大規模セクターディスクでのHyper-Vの使用
- SQL Serverおよび新しい4Kセクターディスク
- Windows 7またはWindows Server 2008 R2をインストールするときの「WindowsセットアップはこのコンピューターのハードウェアでWindowsを構成できませんでした」エラー
- 物理セクターのサイズ変更時のExtensible Storage Engine API(ESENT)アプリケーションの問題
- Oracleファイルの4KBセクターのサポートについて
- innodbログブロックサイズ4096バイトの影響