跳转到主内容

ONTAP 和 Windows SCSI 取消映射和空间回收

Views:
29
Visibility:
Public
Votes:
0
Category:
flexpod-with-infrastructure-automation
Specialty:
san
Last Updated:

可不使用  

适用于

  • 7- 模式 8.1.3 和更高版本的 Data ONTAP
  • 集群模式 Data ONTAP 8.2 及更高版本
  • ONTAP 9

主机操作系统

  • Windows Server 2012
  • Windows Server 2012 核心
  • Windows Server 2012 Hyper-V 客户机
  • Windows Server 2012 R2
  • Windows Server 2012 R2 核心
  • Windows Server 2012 R2 Hyper-V 客户机
  • Windows Server 2016

在标题中提及:

  • SnapDrive for Windows ( SDW )
  • 适用于 Windows 的 SnapCenter 插件( SCW )

解答

什么是 SCSI Unmap ?

UNMAP该命令是在 T10 SCSI 命令集中标准化的建议 SCSI 命令、用于从主机操作系统、应用程序或虚拟机已删除的块中回收空间。当前计算机行业广泛采用的 T10 精简配置技术使用UNMAP该命令来提高存储利用率、灵活的容量规划和不间断存储配置服务。

  • SCSI UNMAPWindows 2012 及更高版本将此命令用作带内操作。
  • Windows 2008 及更早版本不支持本机带内拆分。但是、供应商特定的带外空间回收可通过 SnapDrive for Windows 和 Data ONTAP PowerShell 工具包等应用程序用于 Windows 。SnapDrive 空间回收器功能使用供应商特定的打孔命令来删除空间。

由于 unmap 是一个建议命令、因此 SCSI 规范允许目标在不回收指定范围内的所有块的情况下、通过成功响应来响应命令。通常,这是由存储阵列根据系统上的负载执行的,因此 在 UNMAP 操作期间,可能无法始终回收所有预期的块。

 

Windows 和 Data ONTAP 的哪些版本可以与带内 SCSI UNMAP 一起使用和正常工作?

Data ONTAP 在以下版本中使用 SCSI 带内解映射:

  • 7- 模式 8.1.3 和更高版本的 Data ONTAP
  • 集群模式 Data ONTAP 8.2 及更高版本
  • ONTAP 9

Windows 操作系统在以下版本中使用带内取消映射:

  • Windows Server 2012
  • Windows Server 2012 核心
  • Windows Server 2012 Hyper-V 客户机
  • Windows Server 2012 R2
  • Windows Server 2012 R2 核心
  • Windows Server 2012 R2 Hyper-V 客户机
  • Windows Server 2016

如何启用 / 禁用 Data ONTAP 中的功能

  • 对于 8.1 版系列中的 Data ONTAP 7- 模式、启用 SCSI 取消映射不需要更改配置。从 Data ONTAP 8.2 7- 模式开始,实施了一项更改、要求space_alloc在 LUN 上启用该选项、以便它通告对 SCSI 取消映射命令的支持并接受这些命令。早于 Data ONTAP 8.2 的情况space_alloc下、 SCSI Unmap 完全正常运行而未启用、即使未启用所有支持的 T10 精简配置功能、除非已设置该选项。
  • 对于集群模式 Data ONTAP 、从 8.2 版本系列开始支持 SCSI UNMAP 。要使 LUN 通告对 SCSI 取消映射命令的支持并接受这些命令、请在space-allocation您希望将此功能用于的 LUN 上启用该选项。

注意:如果space_allocspace-allocation 在为 Windows 主机配置 LUN后更改或设置,请重新启动 Windows 主机以使其发现更改后的设置。

如何在 Windows 主机上启用 / 禁用此功能?

Data ONTAP DSM 4.0 和更高版本将检查 Data ONTAP 版本、并相应地设置带内取消映射。在 Windows MMC 中,找到存储部分“ Data ONTAP DSM Management ”、右键单击并选择“刷新”。
对于 Server Core 版本、可通过运行PowerShell cmdlet 'get-sandisk'命令来执行此操作。

使用 Windows 本机 DSM (Msdsm) 时,请使用以下相应的 Windows 主机实用程序( WHU )版本:

  • Data ONTAP 8.0.x --> whu 6.0.1
  • 集群模式 Data ONTAP 8.1.x --> WHU 6.0.1
  • 7- 模式下的 Data ONTAP 8.1.0-8.1.2 --> whu 6.0.1
  • 7- 模式下的 Data ONTAP 8.1.3 --> Whu 6.0.2
  • Data ONTAP 8.2.x - 采用 7- 模式和集群模式 Data ONTAP --> W化 7.1
  • 有关[1]特定于您的配置的建议、请参见互操作性表工具。

*** WHU 6.0.1 --> turns in-band UNMAP off

fsutil behavior query disabledeletenotify
DisableDeleteNotify = 1

*** WHU 6.0.2 --> turns in-band UNMAP on

fsutil behavior query disabledeletenotify
DisableDeleteNotify = 0

如何验证 Windows 主机上的 SCSI 取消映射是否已启用或禁用?

  • 运行以下命令以从命令提示符验证设置:

> fsutil behavior query disabledeletenotify

  • 返回的值 ()DisableDeleteNotify = 1 表示主机的带内取消映射已被禁用。

DisableDeleteNotify = 0 表示为主机启用带内取消映射。

验证和统计信息收集

注:当连接到具有不同 SCSI 取消映射设置的多个 Data ONTAP 控制器时,建议禁用带内取消映射。
您可以通过 [2] 从集群 Shell 命令行界面运行 statistics 命令并搜索unmap_reqs计数器来验证集群模式 Data ONTAP 是否正在接收 UNMAP 命令。

示例:
clustername::*> statistics start -object lun -instance /vol/lun1/win2012-lun -vserver svm_name

正在为 sample-id 启动统计信息收集:sample_60
注意:此时从 Windows 主机生成测试 SCSI 取消映射命令:
clustername::*> statistics stop -sample-id sample_60

正在停止 sample-id 的统计信息收集: sample_60
clustername::*> statistics show -sample-id sample_60

Object: lun

Instance: /vol/lun1/win2012-lun

Start-time: 3/21/2016 14:23:18

End-time: 3/21/2016 14:23:56

Vserver: MySVM

Number of Constituents: 2 (complete_aggregation)

   Counter                            Value

   -------------------------------- --------------------------------

{SNIP}

   unmap_reqs                           100

其他信息

  • 通过此功能,操作系统的文件系统可以防止已知虚拟磁盘在虚拟磁盘稀疏文件中使用过多块,从而释放 ONTAP 卷上的空间。
  • 以前,可以通过适用于 Windows 的 SnapDrive 空间回收器或适用于 Windows 的 SnapCenter 插件中的空间回收在 Windows 上实施此操作,由于 SCSI UNMAP 的兼容性,在 Windows 2008R2 及更早版本上仍有必要执行此操作。
  • 要进行进一步分析,请收集 并提供系统节点 AutoSupport invoke-performance-archive