web-dev-qa-db-ja.com

Windows Server 2012およびSQL Server 2014のディスクパーティションアライメントについて

Windows Server 2012でSQL Server 2014をセットアップしようとしています。ドライブの最高のパフォーマンスから始めて、ドライブを64kアロケーションユニットサイズでフォーマットしました。今、私はDiskpartを使って行き詰まり、完璧なオフセットを設定しています。私が理解している限り、63の隠しセクターがあり、それを自分のフォーマットに合わせるために1024kのオフセットを使用できますが、正しいですか?とにかく、後でパーティションを一覧表示すると、次の結果が得られます。

Disk partition

コマンドラインの使用wmic partition get BlockSize, StartingOffset, Name, Index

135266304の開始オフセットを取得します

一部のウェブサイト/ブログは32Kを推奨し、その他は2012年に1Kを推奨していますが、誰が信頼できますか?現在、それを正しく理解するのに問題があります。力(あなた)が私を啓発してくれますか?

3
RayofCommand

Windows Server 2008以降では、新しいパーティションがそのまま配置されます。

KB 929491 2,048セクター(1メガバイト)の開始オフセットが文書化されています-これは、SANのほとんどをカバーしています。

Kendal van Dykeはいくつかのテストを行っています here

結果は、RAID 10アレイ上のOLTPデータベースの場合、64 KBのRAIDストライプ、64 KBのパーティションオフセット、64 KBのアロケーションユニットサイズが最適な構成であることを示しています。

将来の読者のために、 dbatools.io には関数 Test-DbaDiskAlignment.ps1

警告:
動的ドライブ(またはサードパーティのソフトウェアを介してプロビジョニングされたドライブ)は、組み込みツールのいずれかによってポーリングされたときに正確な結果を得る場合と得ない場合があります。詳細については、ベンダーにお問い合わせください。 Windowsには、ストライプユニットサイズを決定する信頼できる方法がありません。これらの値は、ベンダーのディスク管理ソフトウェアまたはSAN管理者から取得されます。WindowsServer 2008より前のバージョンのシステムドライブは位置合わせできませんが、SQL Serverデータベースをシステムに配置することは通常推奨されませんドライブ。

参照: SQL Serverのディスクパーティションアライメントのベストプラクティス

2
Kin Shah

価値があるのは、本番環境またはUAT環境で、SANのクラスターにデータファイル用のLUNがあり、別のLUNがあるLOGファイルとTEMPDBファイル用の別のLUNについては、少なくとも。

その他の考慮事項として、環境にディスクが1つしかなく、これがOSディスクである場合は、アロケーションユニットのサイズをそのままにしておきます。 SQL Server 2014をOSディスクとは別のディスクにセットアップしようとしている場合、おそらくそのディスクでは、64Kアロケーションユニットサイズを使用するとパフォーマンスが向上しますが、パフォーマンスとメンテナンスの両方のベストプラクティスで、データファイル、ログファイル、およびTEMPDBファイルは、せいぜい、異なるディスクに分離します。これは、SQL Server製品グループからのこのブログ投稿の提案からです: http://blogs.technet.com/b/dataplatforminsider/archive/2012/12/19/disk-and-file-layout-for -sql-server.aspx

1