ONTAPとWindows SCSIのunmapおよびスペース再生
環境
- ONTAP 9
- Windows Server 2012、2012 Core、2012 Hyper-V ゲスト
- Windows Server 2012R2、2012R2 Core、2012R2 Hyper-V ゲスト
- Windows Server 2016
- SnapDrive for Windows(SDW)
- SnapCenter Plug-in for Windows(SCW)
回答
- SCSI UNMAPとは何ですか?
-
UNMAPコマンドは、T10 SCSIコマンドセット内で標準化されたアドバイザリSCSIコマンドであり、ホストOS、アプリケーション、または仮想マシンによって削除されたブロックから領域を再利用するために使用されます。現在のコンピュータ業界で広く採用されているT10シンプロビジョニング技術は、UNMAPコマンドを使用して、ストレージ利用率の向上、柔軟な容量計画、およびノンストップのストレージ プロビジョニング サービスを実現します。SCSI UNMAPコマンドは、Windows 2012以降でインバンド操作として使用されます。- Windows 2008以前には、ネイティブのインバンドUNMAPサポートがありません。ただし、ベンダー固有のアウトオブバンドスペース再利用は、SnapDrive for WindowsやData ONTAP PowerShell Toolkitなどのアプリケーションを介してWindowsで利用できます。SnapDrive Space Reclaimer機能は、ベンダー固有のホールパンチングコマンドを使用してスペースを削除します。
- UNMAPは勧告コマンドであるため、SCSI仕様では、ターゲット側が指定された範囲内のすべてのブロックを再利用せずに、コマンドに対して成功応答を返すオプションが認められています。通常、これはシステム負荷のためにストレージアレイによって実行され、そのためUNMAP操作中に、期待されるすべてのブロックを必ずしも再利用できるとは限りません。
- Windows および ONTAP のどのバージョンがインバンド SCSI UNMAP と適切に連携しますか
-
- Data ONTAPは、以下のバージョンでSCSIインバンドUNMAPを使用します:
- Data ONTAP 7-Mode 8.1.3以降
- Clustered Data ONTAP 8.2以降
- ONTAP 9
- Windowsオペレーティングシステムは、以下のバージョンでインバンドUNMAPを使用します:
- Windows Server 2012
- Windows Server 2012 Core
- Windows Server 2012 Hyper-V ゲスト
- Windows Server 2012 R2
- Windows Server 2012 R2 Core
- Windows Server 2012 R2 Hyper-V ゲスト
- Windows Server 2016
- Data ONTAPは、以下のバージョンでSCSIインバンドUNMAPを使用します:
- Data ONTAPで機能を有効/無効にする方法
-
- Data ONTAP 7-Mode(8.1リリースファミリー)では、SCSI UNMAPを有効にするための設定変更は必要ありませんでした。Data ONTAP 8.2 7-Modeからは、SCSI UNMAPコマンドのサポートをアドバタイズし受け入れるために、LUN上で
space_allocオプションを有効にする必要があるという変更が実装されました。Data ONTAP 8.2より前のバージョンでは、オプションが設定されていない限り、すべてのT10 Thin Provisioning機能が有効になっていなくても、space_allocを有効にしなくてもSCSI UNMAPは完全に機能していました。 - クラスタ化Data ONTAPの場合、SCSI UNMAPのサポートは8.2リリースファミリーから開始されます。LUNがSCSI UNMAPコマンドのサポートをアドバタイズし受け入れるためには、この機能を使用する予定のLUNで
space-allocationオプションを有効にしてください。 - 注意: LUNをWindowsホストにプロビジョニングした後に
space_allocまたはspace-allocation設定を変更した場合、Windowsホストを再起動して、変更された設定を認識させてください。
- Data ONTAP 7-Mode(8.1リリースファミリー)では、SCSI UNMAPを有効にするための設定変更は必要ありませんでした。Data ONTAP 8.2 7-Modeからは、SCSI UNMAPコマンドのサポートをアドバタイズし受け入れるために、LUN上で
- Windows ホストでこの機能を有効 / 無効にする方法
-
- Data ONTAP DSM 4.0以降はData ONTAPバージョンをチェックし、インバンドUNMAPを適応的に設定します。 Windows MMCから、ストレージセクションData ONTAP DSM Managementを探し、右クリックして Refreshを選択します。
- Server Coreエディションの場合、これは
PowerShell cmdlet 'get-sandisk'コマンドを実行することで実行されます。 - WindowsネイティブDSM(MSDSM)を使用する場合は、以下から対応するWindows Host Utilities(WHU)バージョンを使用してください:
- Data ONTAP 8.0.x-->WHU 6.0.1
- Clustered Data ONTAP 8.1.x-->WHU 6.0.1
- Data ONTAP 8.1.0〜8.1.2(7-Mode)-->WHU 6.0.1
- Data ONTAP 8.1.3(7-Mode)-->WHU 6.0.2
- Data ONTAP 8.2.x(7-Modeおよびclustered Data ONTAP)-->WUHU 7.1
- Interoperability Matrix Tool でお使いの構成に合わせた推奨事項を参照してください。
*** WHU 6.0.1 --> turns in-band UNMAP offfsutil behavior query disabledeletenotify
DisableDeleteNotify = 1*** WHU 6.0.2 --> turns in-band UNMAP onfsutil behavior query disabledeletenotify
DisableDeleteNotify = 0
- Windows ホストで SCSI UNMAP が有効か無効かを確認する方法
-
- コマンドプロンプトから以下のコマンドを実行して設定を確認します:
> fsutil behavior query disabledeletenotify - 返された値(
DisableDeleteNotify = 1)は、ホストに対してインバンド UNMAP が無効になっていることを意味します。 DisableDeleteNotify = 0は、ホストに対してインバンド UNMAP が有効になっていることを意味します。
- コマンドプロンプトから以下のコマンドを実行して設定を確認します:
- 検証方法と統計情報の収集
-
- SCSI UNMAP設定が異なる複数のData ONTAPコントローラに接続している場合は、インバンドUNMAPを無効にすることを推奨します。
クラスタ化されたData ONTAPがUNMAPコマンドを受信していることを確認するには、クラスタシェルCLIからstatisticsコマンドを実行し、unmap_reqsカウンタを検索します。 - 例:
clustername::*> statistics start -object lun -instance /vol/lun1/win2012-lun -vserver svm_name - Sample-idの統計情報の収集が開始されます:
sample_60 - この時点で、WindowsホストからテストSCSI UNMAPコマンドを生成します:
clustername::*> statistics stop -sample-id sample_60
- Sample-id:
sample_60の統計情報の収集が停止されていますclustername::*> statistics show -sample-id sample_60Object: lunInstance: /vol/lun1/win2012-lunStart-time: 3/21/2016 14:23:18End-time: 3/21/2016 14:23:56Vserver: MySVMNumber of Constituents: 2 (complete_aggregation)Counter Value-------------------------------- --------------------------------{SNIP}unmap_reqs 100
- ストレージがブロックが解放されたことを認識するには、クライアントからUNMAPリクエストを取得する必要があります。
- データが削除されるLUNが非常に大きいにもかかわらず、ストレージにそれほど多くのUNMAPリクエストが届かない場合、期待どおりに領域解放が行われない可能性があります。
- ストレージに解放すべき大きなデータがある場合、NetAppは大量のUNMAPリクエストを受信しているはずです。
- このような場合、ホストがUNMAPリクエストの送信数を減らしている理由を理解するために、ホストベンダーとの連携が必要となります。
- SCSI UNMAP設定が異なる複数のData ONTAPコントローラに接続している場合は、インバンドUNMAPを無効にすることを推奨します。
追加情報
- この機能により、オペレーティングシステムのファイルシステムは、既知の仮想ディスクが仮想ディスクスパースファイル内で過剰なブロックを使用することを防ぎ、ONTAPボリューム上の領域を解放します。
- これは以前、Windows上ではSnapDrive for Windows Space Reclaimer、またはSnapCenter Plug-in for Windowsの領域再利用機能を通じて実装されていましたが、SCSI UNMAPの互換性により、Windows 2008R2以前では依然として必要となります。
- さらなる分析のために、system node autosupport invoke-performance-archiveを収集して提供してください。
|
WARNING: Resilient File System (ReFS) を検討する際には、シンプロビジョニング、TRIM/UNMAP、Offloaded Data Transfer(ODX)などの機能が必要な場合は、NTFSを使用する必要があります。 |