SCSI为 Windows 调配 i - 适用于 ONTAP 的 FSx
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SCSI为 Windows 调配 i

FSxfor ONTAP 支持 i SCSI 协议。你需要在 Windows 客户端和SVM和卷SCSI上配置 i 才能使用 i SCSI 协议在客户端和文件系统之间传输数据。i SCSI 协议适用于所有具有 6 个或更少的高可用性 (HA) 对的文件系统。

这些步骤中提供的示例说明了如何在客户机上FSx为ONTAP文件系统配置 i SCSI 协议,以及如何使用以下设置:

  • 正在装载SCSILUN到 Windows 主机的 i 已经创建完毕。有关更多信息,请参阅 创建 i SCSI LUN

  • 正在安装 i SCSI LUN 的微软 Windows 主机是一个运行微软 Windows Server 2019 亚马逊机器映像的亚马逊EC2实例 (AMI)。它配置了VPC安全组,允许入站和出站流量,如中所述使用 Amazon 进行文件系统访问控制 VPC

    你可能在设置AMI中使用的是不同的微软 Windows。

  • 客户机和文件系统位于同一个VPC和 Amazon Web Services 账户。如果客户端位于另一个客户端VPC,则可以使用对VPC等互连或 Amazon Transit Gateway 向其他VPCs用户授予对 i SCSI 端点的访问权限。有关更多信息,请参阅 从部署外部访问数据 VPC

    我们建议该EC2实例与您的文件系统的首选子网位于同一个可用区,如下图所示。

该图显示了 Amazon FSx for NetApp ONTAP 文件系统,其 i SCSI LUN 和 Amazon EC2 实例与文件系统的首选子网位于同一个可用区。

在 Windows 客户端SCSI上对其进行配置

  1. 使用 Windows 远程桌面连接到你要在其上安装 i 的 Windows 客户端SCSILUN。有关更多信息,请参阅亚马逊弹性计算云用户指南RDP中的使用连接到您的 Windows 实例

  2. 以管理员 PowerShell 身份打开窗口。使用以下命令在 Windows 实例SCSI上启用 i,并将 i SCSI 服务配置为自动启动。

    PS C:\> Start-Service MSiSCSI PS C:\> Set-Service -Name msiscsi -StartupType Automatic
  3. 检索您的 Windows 实例的启动程序名称。你将使用这个值在你的FSxONTAP文件系统SCSI上配置 i 时使用 NetApp ONTAPCLI。

    PS C:\> (Get-InitiatorPort).NodeAddress

    系统使用启动程序端口做出响应。

    iqn.1991-05.com.microsoft:ec2amaz-abc123d
  4. 要使您的客户端能够在文件服务器之间自动进行故障转移,您需要在 Windows 实例上安装 Multipath-IO (MPIO)。使用以下命令:

    PS C:\> Install-WindowsFeature Multipath-IO
  5. Multipath-IO 安装完成后重启 Windows 实例。保持你的 Windows 实例处于打开状态,以便在接下来的部分SCSILUN中执行安装 i 的步骤。

在ONTAP文件系统SCSIFSx上配置 i

  1. 要访问 ONTAP CLI,通过运行以下命令在 Amazon NetApp ONTAP 文件FSx系统的管理端口上建立会SSH话。将 management_endpoint_ip 替换为文件系统管理端口的 IP 地址。

    [~]$ ssh fsxadmin@management_endpoint_ip

    有关更多信息,请参阅 使用 ONTAP CLI 管理文件系统

  2. 使用 ONTAP CLIlun igroup create,创建启动器组,或igroup。启动器组映射到 i SCSI LUNs 并控制哪些启动器(客户端)可以访问。LUNs将 host_initiator_name 替换为在上一过程中从 Windows 主机中检索到的启动程序名称。

    ::> lun igroup create -vserver svm_name -igroup igroup_name -initiator host_initiator_name -protocol iscsi -ostype windows

    我可以将LUNs映射到这个的映射igroup提供给多个主机,你可以使用指定多个以逗号分隔的启动器名称 lun igroup create ONTAP CLI 命令。

  3. 使用 lun igroup igro up show 确认已成功创建 ONTAP CLI 命令:

    ::> lun igroup show

    系统将使用以下输出做出响应:

    Vserver Igroup Protocol OS Type Initiators --------- ------------ -------- -------- ------------------------------------ svm_name igroup_name iscsi windows iqn.1994-05.com.windows:abcdef12345

    igroup创建完成后,您就可以创建它们LUNs并将其映射到igroup

  4. 此步骤假设您已经创建了 i SCSI LUN。如果没有,创建 i SCSI LUN请参见以 step-by-step获取操作说明。

    创建从LUN到您的新LUN映射igroup

    ::> lun mapping create -vserver svm_name -path /vol/vol_name/lun_name -igroup igroup_name -lun-id lun_id
  5. 使用以下命令确认LUN已创建、联机并已映射:

    ::> lun show -path /vol/vol_name/lun_name Vserver Path State Mapped Type Size --------- ------------------------------- ------- -------- -------- -------- svm_name /vol/vol_name/lun_name online mapped windows 10GB

    现在,你已经准备好在你的 Windows 实例上添加 i SCSI 目标了。

  6. SVM使用以下命令检索iscsi_1iscsi_2接口的 IP 地址:

    ::> network interface show -vserver svm_name
    Logical Status Network Current Current Is Vserver Interface Admin/Oper Address/Mask Node Port Home ----------- ---------- ---------- ------------------ ------------- ------- ---- svm_name iscsi_1 up/up 172.31.0.143/20 FSxId0123456789abcdef8-01 e0e true iscsi_2 up/up 172.31.21.81/20 FSxId0123456789abcdef8-02 e0e true nfs_smb_management_1 up/up 198.19.250.177/20 FSxId0123456789abcdef8-01 e0e true 3 entries were displayed.

    在此示例中,iscsi_1 的 IP 地址是 172.31.0.143iscsi_2 的IP 地址是 172.31.21.81

在 Windows 客户端SCSILUN上安装一个 i

  1. 在你的 Windows 实例上,以管理员身份打开 PowerShell 终端。

  2. 您将创建一个用于执行以下操作的 .ps1 脚本:

    • 连接到文件系统的每个 i SCSI 接口。

    • 为 i SCSI 添加MPIO和配置。

    • 通过在从到另一个上限的#Establish iSCSI connection步骤中修改脚本的 for 循环,为每个 i SCSI 连接建立 8 个会话,从而使客户端1..8能够驱动最多 40Gb/s (5,000 MB/s) of aggregate throughput to the iSCSI LUN. Having 8 sessions ensures a single client can drive the full 4,000 MB/s throughput capacity for the highest-level FSx for ONTAP throughput capacity. You can optionally change the number of sessions to a higher or lower number of sessions (each session provides up to 625 MB/s% 的吞吐量)。有关更多信息,请参阅《适用于 Windows EC2 实例的亚马逊弹性计算云用户指南》中的亚马逊实例网络带宽

    将以下一组命令复制到文件中,创建 .psl 脚本。

    • iscsi_1iscsi_2 替换为在上一步中检索到的 IP 地址。

    • ec2_ip 替换为 Windows 实例的 IP 地址。

    #iSCSI IP addresses for Preferred and Standby subnets $TargetPortalAddresses = @("iscsi_1","iscsi_2") #iSCSI Initator IP Address (Local node IP address) $LocaliSCSIAddress = "ec2_ip" #Connect to FSx for NetApp ONTAP file system Foreach ($TargetPortalAddress in $TargetPortalAddresses) { New-IscsiTargetPortal -TargetPortalAddress $TargetPortalAddress -TargetPortalPortNumber 3260 -InitiatorPortalAddress $LocaliSCSIAddress } #Add MPIO support for iSCSI New-MSDSMSupportedHW -VendorId MSFT2005 -ProductId iSCSIBusType_0x9 #Set the MPIO path configuration for new servers to ensure that MPIO is properly configured and visible in the disk properities. Set-MPIOSetting -NewPathVerificationState Enabled #Establish iSCSI connection 1..8 | %{Foreach($TargetPortalAddress in $TargetPortalAddresses) {Get-IscsiTarget | Connect-IscsiTarget -IsMultipathEnabled $true -TargetPortalAddress $TargetPortalAddress -InitiatorPortalAddress $LocaliSCSIAddress -IsPersistent $true}} #Set the MPIO Policy to Round Robin Set-MSDSMGlobalDefaultLoadBalancePolicy -Policy RR
  3. 启动 Windows 的“磁盘管理”应用程序。打开 Windows 的“运行”对话框,输入 diskmgmt.msc,然后按 Enter。然后,“磁盘管理”应用程序随之打开。

    系统会显示 Windows 的“磁盘管理”窗口。
  4. 找到未分配的磁盘这是i SCSI LUN。在示例中,磁盘 1 是 i SCSI 磁盘。其处于离线状态。

    将光标置于磁盘 1 上方时显示的面板。

    将光标悬停在 Disk 1 上方,单击右键,然后选择联机,即可使该卷联机。

    注意

    您可以修改存储区域网络 (SAN) 策略,以便新卷自动联机。有关更多信息,请参阅《微软 Windows 服务器命令参考》中的SAN策略

  5. 要初始化磁盘,请右键单击 Disk 1,然后选择初始化。系统将显示“初始化”对话框。选择确定即可初始化磁盘。

  6. 像往常一样格式化磁盘。格式化完成后,i SCSI 驱动器在 Windows 客户端上显示为可用驱动器。

验证你的 i 配置 SCSI

我们提供了一个脚本来检查你的 i SCSI 设置是否配置正确。该脚本检查会话计数、节点分布和多路径 I/O (MPIO) 状态等参数。以下任务介绍了如何安装和使用此脚本。

验证您的 i SCSI 配置
  1. 打开窗户 PowerShell 窗口。

  2. 使用以下命令下载脚本。

    PS C:\> Invoke-WebRequest "https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/samples/CheckiSCSI.zip" -OutFile "CheckiSCSI.zip"
  3. 使用以下命令下载 zip 文件。

    PS C:\> Expand-Archive -Path ".\CheckiSCSI.zip" -DestinationPath "./"
  4. 使用以下命令运行脚本。

    PS C:\> ./CheckiSCSI.ps1
  5. 查看输出以了解配置的当前状态。以下示例演示了成功的 i SCSI 配置。

    PS C:\> ./CheckiSCSI.ps1 This script checks the iSCSI configuration on the local instance. It will provide information about the number of connected sessions, connected file servers, and MPIO status. MPIO is installed on this server. Initiator: 'iqn.1991-05.com.microsoft:ec2amaz-d2cebnb' to Target: 'iqn.1992-08.com.netapp:sn.13266b10e61411ee8bc0c76ad263d613:vs.3' has 16 total sessions (16 active, 0 non-active) spread across 2 node(s). MPIO: Yes