ドライブ、コントローラー、OS、および高度なフォーマット

画像 過去4年間のAdvanced Formatディスクについては、すべてを見つけることができたようです。 確かに多くの出版物がありますが、1つの大きな記事ですべての技術的な詳細と落とし穴を検討する時が来ました。 サーバーでAFディスクを使用することについてであり、大企業であってもほとんどの管理者にとって、ほとんどの場合、主題の知識は「それは何らかの形で最新のディスクに接続されますが、すべてがうまくいく」ことに気づきました。



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つのマークアップオプションがあります。

書式

論理セクターサイズ

物理セクターサイズ

512N

512バイト

512バイト

512E

512バイト

4096バイト(4KiB)

4KN

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

512E

512バイト

4096バイト(4KiB)

  • Windows 8、8.1
  • Windows Server 2012、2012 R2
  • Windows 7 w / MS KB 982018
  • Windows 7 SP1
  • Windows Server 2008 R2 w / MS KB 982018
  • Windows Server 2008 R2 SP1
  • Windows Vista w / MS KB 2553708
  • Windows Server 2008 w / MS KB 2553708


4KN

4096バイト(4KiB)

4096バイト(4KiB)

  • Windows 8、8.1
  • Windows Server 2012、2012 R2


Windows Server 2003 R2、Windows XP、およびその他のXPベースのOS(たとえば、Windows Home Server 1.0、Windows Small Business Server 2003、2003 R2)は追加で使用できることに注意してください。 512Eディスクですが、Microsoftはそのようなディスクの使用に注意しています。アライメントの問題を解決できる場合、 パフォーマンスの問題や、読み取り-変更-書き込み中の電力損失による潜在的なデータ損失を回避できません。



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

512E

512バイト

4096バイト(4KiB)

  • RHEL 6.1
  • SLES 11 SP2
  • Ubuntu 13.10
  • Ubuntu 12.04.4


4KN

4096バイト(4KiB)

4096バイト(4KiB)

  • RHEL 6.1
  • SLES 11 SP2
  • Ubuntu 13.10
  • Ubuntu 12.04.4


他のディストリビューションでは、カーネルバージョン(> 2.6.31)およびパーティションユーティリティのバージョンに焦点を当てることができます:GNU Fdisk> 1.2.3またはGNU Parted> 2.1



/ 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のレプリケーションに関連する機能があります。



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ディスクを操作する機能を考慮する必要があります。 方法は次のとおりです。





コントローラー



すべてのコントローラーのユニバーサルルール:



PMCによるAdaptec





Adaptecコントローラーの互換性リスト

LSI /アバゴ



LSIベースのコントローラーは、Dell、IBM、Lenovo、Fujitsu、Intel、およびSupermicroを使用します。 LSIのモデルとOEMオプションの対応は、チップ上で設定できます。



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 512N 512E 4KN オプショナル
シーゲイト エンタープライズパフォーマンス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の悪化に対応
トレンドを自分で見ることができます。ついにAdvanced Formatがデスクトップセグメントからコーポレートセグメントに浸透しました。 512Nバージョンでは10/15千rpmの高速SASディスクが引き続き利用可能ですが、密度の増加により、メーカーは4KiBセクターの使用を余儀なくされています:1800GBの容量を持つSeagate 10k.8およびHGST Ultrastar C10K1800は、512Eおよび4KNバリアントでのみ利用可能です。 HGST Ultrastar He 6を除く5TBを超えるすべてのドライブ-アドバンストフォーマットのみ。



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セクター切り替えると、生産性が大幅に向上します。



結論



  1. 512Eドライブは、物理セクターのサイズを無視するレガシーオペレーティングシステムを搭載したサーバーでの使用には適していません。 デスクトップアプリケーションでは、これは大した問題ではありません。通常、同期記録を使用する人はいないからです。
  2. OS、使用サービス、コントローラー、ストレージ、コントローラーとストレージのキャッシュモードなど、インフラストラクチャを慎重に検討してください。 パフォーマンスやデータの整合性に潜在的な問題がある場合は、必要な措置を講じてください。
  3. レガシOSの問題は仮想化で回避できますが、パーティションのアライメントに注意を払う必要があります。


参照資料






All Articles