连接 iSCSI 启动程序 - Amazon Storage Gateway
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon S3 文件网关文档已移至什么是 Amazon S3 文件网关?

Amazon FSx 文件网关文档已移至什么是 Amazon FSx 文件网关?

磁带网关文档已移至什么是磁带网关?

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

连接 iSCSI 启动程序

在管理网关时,您将使用作为 Internet 小型计算机系统接口 (iSCSI) 目标公开的卷或虚拟磁带库 (VTL) 设备。对于卷网关,iSCSI 目标是卷。对于磁带网关,目标为 VTL 设备。作为此工作的一部分,您将执行以下任务:连接到这些目标、自定义 iSCSI 设置、从 Red Hat Linux 客户端进行连接以及配置质询握手身份验证协议 (CHAP)。

iSCSI 标准是一种基于互联网协议 (IP) 的存储网络标准,该标准用于启动和管理基于 IP 的存储设备与客户端之间的连接。以下列表定义了用来描述 iSCSI 连接和相关组件的一些术语。

iSCSI 启动程序

iSCSI 网络的客户端组件。启动程序向 iSCSI 目标发送请求。可以在软件或硬件中实施启动程序。Storage Gateway 仅支持软件启动程序。

iSCSI 目标

iSCSI 网络的服务器组件,接收并响应来自启动程序的请求。每个卷均作为一个 iSCSI 目标公开。仅对每个 iSCSI 目标连接一个 iSCSI 启动程序。

Microsoft iSCSI 启动程序

Microsoft Windows 计算机上的软件程序,让您可以将客户端计算机(即运行您希望将其数据写入网关的应用程序的计算机)连接到基于 iSCSI 的外部阵列(即网关)。使用主机的以太网网络适配卡建立此连接。Microsoft iSCSI 启动程序在 Windows 8.1、Windows 10、Windows Server 2012 R2、Windows Server 2016 和 Windows Server 2019 上已经通过验证,可以与 Storage Gateway 一起使用。启动程序内置在这些操作系统中。

Red Hat iSCSI 启动程序

iscsi-initiator-utils 资源包管理器 (RPM) 程序包为您提供了在适用于 Red Hat Linux 的软件中实施的 iSCSI 启动程序。该包含有用于 iSCSI 协议的服务器守护进程。

每种类型的网关都可以连接到 iSCSI 设备,而您可以自定义这些连接,如下所述。

将卷连接到 Windows 客户端

卷网关将您为网关创建的卷作为 iSCSI 目标公开。有关更多信息,请参阅将卷连接到客户端

注意

要连接到卷目标,您的网关必须已配置了上传缓冲区。如果没有为网关配置上传缓冲区,那么您的卷的状态就会显示为 UPLOAD BUFFER NOT CONFIGURED。要在存储卷设置中为网关配置上传缓冲区,请参阅为网关配置额外的上传缓冲区或缓存存储。要在缓存卷设置中为网关配置上传缓冲区,请参阅为网关配置额外的上传缓冲区或缓存存储

下图在 Storage Gateway 架构的大图中突出显示了 iSCSI 目标。有关更多信息,请参阅卷网关的工作原理(架构)


				Storage Gateway 资源作为连接到应用程序服务器的 iSCSI 目标公开。

您可以从 Windows 或 Red Hat Linux 客户端连接到卷。您可以为任一客户端类型配置 CHAP。

您的网关使用您指定的名称将您的卷作为 iSCSI 目标公开,名称前加 iqn.1997-05.com.amazon:。例如,如果您指定 myvolume 的目标名称,那么您用来连接到卷的 iSCSI 目标就是 iqn.1997-05.com.amazon:myvolume。有关如何配置您的应用程序以便在 iSCSI 上安装卷的更多信息,请参阅 将卷连接到 Windows 客户端。

目的 参见
从 Windows 连接到您的卷。 连接到 Microsoft Windows 客户端
从 Red Hat Linux 连接到您的卷。 连接到 Red Hat Enterprise Linux 客户端
为 Windows 和 Red Hat Linux 配置 CHAP 身份验证。 为 iSCSI 目标配置 CHAP 身份验证
将 Windows 客户端连接到存储卷
  1. 在 Windows 客户端计算机的开始菜单上,在搜索程序和文件框中输入 iscsicpl.exe,找到 iSCSI 启动程序,然后运行它。

    注意

    必须具有客户端计算机上的管理员权限才能运行 iSCSI 启动程序。

  2. 如果出现提示,则单击 Yes 以启动 Microsoft iSCSI 启动程序服务。

    
						Microsoft iSCSI 服务启动提示。
  3. iSCSI Initiator Properties (iSCSI 发起程序属性) 对话框中,选择 Discovery (发现) 选项卡,然后选择 Discover Portal (发现门户)

    
						iSCSI 启动程序属性对话框,其中显示了“发现”选项卡和“发现门户”按钮。
  4. 发现目标门户对话框中,在 IP 地址或 DNS 名称中输入 iSCSI 目标的 IP 地址,然后选择确定。要获取网关的 IP 地址,请查看 Storage Gateway 控制台上的网关选项卡。如果您在 Amazon EC2 实例上部署了网关,则可以在 Amazon EC2 控制台的描述选项卡中找到公有 IP 或 DNS 地址。

    
						“发现目标门户”对话框,其中显示了 IP 地址或 DNS 名称和端口字段。

    现在,发现选项卡上的目标门户列表中会显示 IP 地址。

    
						iSCSI 启动程序属性“发现”选项卡,其中显示了带 IP 地址的目标门户。
    警告

    对于部署于 Amazon EC2 实例上的网关,不支持通过公有 Internet 连接来访问该网关。无法使用 Amazon EC2 实例的弹性 IP 地址作为目标地址。

  5. 将新的目标门户连接到网关上的存储卷目标:

    1. 选择目标选项卡。

      新目标门户显示未激活状态。显示的目标名称应该与您在步骤 1 中为存储卷指定的名称相同。

      
								iSCSI 启动程序属性“目标”选项卡,其中显示了非活动目标。
    2. 选择该目标,然后选择 Connect

      如果尚未填入目标名称,请按照步骤 1 中所示输入目标名称。在连接到目标对话框中,选择将此连接添加到常用目标列表,然后选择确定

      
								“连接到目标”对话框,其中选定了“将此连接添加到常用目标列表”。
    3. 目标选项卡中,确保目标状态的值为已连接(表示已连接目标),然后单击确定

      
								iSCSI 启动程序属性目标选项卡,其中显示了已连接的目标。

您现在可以为 Windows 初始化并格式化该存储卷,以便开始在卷中保存数据。您可以使用 Windows 磁盘管理工具执行此操作。

注意

尽管对于本练习并非必需,但我们仍强烈建议您在真实使用某应用程序时自定义 iSCSI 设置,如自定义您的 Windows iSCSI 设置中所述。

将卷或 VTL 设备连接到 Linux 客户端

主题

    使用 Red Hat Enterprise Linux (RHEL) 时,应使用 iscsi-initiator-utils RPM 程序包连接到网关 iSCSI 目标(卷或 VTL 设备)。

    将 Linux 客户端连接到 iSCSI 目标
    1. 如果尚未在您的客户端上安装 iscsi-initiator-utils RPM 程序包,请安装程序包。

      您可以使用下面的命令来安装该包。

      sudo yum install iscsi-initiator-utils
    2. 确保 iSCSI 守护进程正在运行。

      1. 使用下以下命令之一验证 iSCSI 守护进程是否正在运行。

        对于 RHEL 5 或 RHEL 6,请使用以下命令。

        sudo /etc/init.d/iscsi status

        对于 RHEL 7,请使用以下命令。

        sudo service iscsid status
      2. 如果 status 命令未返回 running 状态,则使用以下命令之一启动守护程序。

        对于 RHEL 5 或 RHEL 6,请使用以下命令。

        sudo /etc/init.d/iscsi start

        对于 RHEL 7,请使用以下命令。对于 RHEL 7,您通常不需要显式启动 iscsid 服务。

        sudo service iscsid start
    3. 要发现为网关定义的卷目标或 VTL 设备目标,请使用以下发现命令。

      sudo /sbin/iscsiadm --mode discovery --type sendtargets --portal [GATEWAY_IP]:3260

      用您网关的 IP 替代上一命令中的 [GATEWAY_IP] 变量。您可以在 Storage Gateway 控制台上某个卷的 iSCSI 目标信息属性中找到网关 IP。

      发现命令的输出内容类似如下示例输出内容。

      对于卷网关:[GATEWAY_IP]:3260, 1 iqn.1997-05.com.amazon:myvolume

      对于磁带网关:iqn.1997-05.com.amazon:[GATEWAY_IP]-tapedrive-01

      您的 iSCSI 限定名称 (IQN) 与以上所示不同,因为每个组织的 IQN 值不同。目标名称是您创建卷时指定的名称。在 Storage Gateway 控制台上选择某个卷时,也可以在 iSCSI 目标信息属性窗格中找到此目标名称。

    4. 要连接到目标,请使用以下命令。

      请注意,您需要在连接命令中指定正确的 [GATEWAY_IP] 和 IQN。

      警告

      对于部署于 Amazon EC2 实例上的网关,不支持通过公有 Internet 连接来访问该网关。无法使用 Amazon EC2 实例的弹性 IP 地址作为目标地址。

      sudo /sbin/iscsiadm --mode node --targetname iqn.1997-05.com.amazon:[ISCSI_TARGET_NAME] --portal [GATEWAY_IP]:3260,1 --login
    5. 要确认卷已附加到客户端 (启动程序),请使用以下命令。

      ls -l /dev/disk/by-path

      命令的输出如下面的示例输出所示。

      lrwxrwxrwx. 1 root root 9 Apr 16 19:31 ip-[GATEWAY_IP]:3260-iscsi-iqn.1997-05.com.amazon:myvolume-lun-0 -> ../../sda

      设置启动程序后,我们强烈建议您按自定义您的 Linux iSCSI 设置中介绍的方式自定义 iSCSI 设置。

    自定义 iSCSI 设置

    我们强烈建议您在设置启动程序后,自定义 iSCSI 设置以防止启动程序从目标断开。

    通过增大下列步骤中所示的 iSCSI 超时值,您可以提高应用程序对需要较长时间的写入操作以及网络中断等其他瞬态问题的处理能力。

    注意

    修改注册表前,您应该制作一份该注册表的备份副本。有关制作备份副本的信息以及使用注册表时应遵循的其他最佳做法,请参阅 Microsoft TechNet 库中的注册表最佳做法

    自定义您的 Windows iSCSI 设置

    使用 Windows 客户端时,用 Microsoft iSCSI 启动程序连接到您的网关卷。有关如何连接到卷的说明,请参阅将卷连接到客户端

    1. 将您的磁带网关设备连接到 Windows 客户端。

    2. 如果要使用备份应用程序,则将该应用程序配置为使用这些设备。

    如需自定义您的 Windows iSCSI 设置
    1. 提高请求排队的最长时间。

      1. 启动注册表编辑器 (Regedit.exe)。

      2. 导航到设备类别的全局唯一标识符 (GUID) 密钥,其中包含 iSCSI 控制器设置,如下所示。

        警告

        确保您使用的是CurrentControlSet子键而不是其他控件集,例如 00 ControlSet1ControlSet00 2。

        HKEY_Local_Machine\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}
      3. 查找 Microsoft iSCSI 启动程序的子项,在下面显示为 [<实例编号]

        该项由四位数字表示,如 0000

        HKEY_Local_Machine\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\[<Instance Number]

        根据计算机上安装的内容,Microsoft iSCSI 启动程序可能不是子项 0000。可通过验证字符串 DriverDesc 是否具有以下示例所示的 Microsoft iSCSI Initiator 值来确保选择了纠正的子项。

        
                                Windows 注册表编辑器,其中显示了带有 microsoft iscsi 启动程序值的 driverdesc 字符串。
      4. 要显示 iSCSI 设置,请选择 Parameters (参数) 子项。

      5. 打开 MaxRequestHoldTimeDWORD(32 位)值的上下文(右键单击)菜单,选择 “修改”,然后将该值更改为。600

        MaxRequestHoldTime指定在通知上层事件之前,Microsoft iSCSI 启动器应保留多长时间并重试未完成的命令。Device Removal此值表示 600 秒的保持时间,如以下示例所示。

        
                                Windows 注册表编辑器,其中显示了最大请求保持时间 dword,值为六百。
    2. 通过修改以下参数,可以提高可在 iSCSI 数据包中发送的最大数据量:

      • FirstBurstLength控制在未经请求的写入请求中可以传输的最大数据量。将此值设置为 262144 或 Windows 操作系统的默认值,以较高者为准。

      • MaxBurstLength类似于 FirstBurstLength,但它设置了在请求的写入序列中可以传输的最大数据量。将此值设置为 1048576 或 Windows 操作系统的默认值,以较高者为准。

      • MaxRecvDataSegmentLength控制与单个协议数据单元 (PDU) 关联的最大数据段大小。将此值设置为 262144 或 Windows 操作系统的默认值,以较高者为准。

      
                        Windows 注册表编辑器,其中突出显示了 iSCSI 数据包长度 dword 值。
      注意

      不同的备份软件可使用不同的 iSCSI 设置进行优化来达到最佳效果。要确认如何设置这些参数的值才能提供最佳性能,请参阅备份软件的文档。

    3. 增大磁盘超时值,如下所示:

      1. 如果您尚未启动注册表编辑器 (Regedit.exe),请将其启动。

      2. 导航到 “服务” 子项中的 “磁盘” 子项 CurrentControlSet,如下所示。

        HKEY_Local_Machine\SYSTEM\CurrentControlSet\Services\Disk
      3. 打开 TimeOutValueDWORD(32 位)值的上下文(右键单击)菜单,选择 “修改”,然后将该值更改为。600

        TimeOutValue指定 iSCSI 启动器在尝试通过断开并重新建立连接来恢复会话之前,将等待目标的响应多少秒。此值表示 600 秒的超时时间,如以下示例所示。

        
                                Windows 注册表编辑器,其中显示了超时值 dword,值为六百。
    4. 要确保新配置的值生效,请重新启动系统。

      重新启动之前,必须确保刷新了对卷进行的所有写入操作的结果。要这样做,请在重启前将任何映射的存储卷磁盘脱机。

    自定义您的 Linux iSCSI 设置

    为网关设置启动程序后,我们强烈建议您自定义 iSCSI 设置以防止启动程序从目标断开。通过增大下面所示的 iSCSI 超时值,您可以提高应用程序对需要较长时间的写入操作以及网络中断等其他瞬态问题的处理能力。

    注意

    命令可能与 Linux 的其他命令类型略有不同。以下示例基于 Red Hat Linux。

    如需自定义您的 Linux iSCSI 设置
    1. 提高请求排队的最长时间。

      1. 打开 /etc/iscsi/iscsid.conf 文件,然后找到以下各行。

        node.session.timeo.replacement_timeout = [replacement_timeout_value] node.conn[0].timeo.noop_out_interval = [noop_out_interval_value] node.conn[0].timeo.noop_out_timeout = [noop_out_timeout_value]
      2. [replacement_timeout_value] 值设为 600

        [noop_out_interval_value] 值设为 60

        [noop_out_timeout_value] 值设为 600

        这三种值的单位均为秒。

        注意

        必须在发现网关之前进行 iscsid.conf 设置。如果已发现网关和/或已登录到目标,则可使用以下命令从发现数据库中删除该项。然后可以重新发现或登录,从而使新设置生效。

        iscsiadm -m discoverydb -t sendtargets -p [GATEWAY_IP]:3260 -o delete
    2. 提高可在每个响应中传输的最大数据量。

      1. 打开 /etc/iscsi/iscsid.conf 文件,然后找到以下各行。

        node.session.iscsi.FirstBurstLength = [replacement_first_burst_length_value] node.session.iscsi.MaxBurstLength = [replacement_max_burst_length_value] node.conn[0].iscsi.MaxRecvDataSegmentLength = [replacement_segment_length_value]
      2. 我们建议使用以下值,以实现更佳性能。您的备份软件可以使用不同的值进行优化,因此请参阅备份软件文档了解最佳效果。

        [replacement_first_burst_length_value] 值设置为 262144 或 Linux 操作系统默认值,以较高者为准。

        [replacement_max_burst_length_value] 值设置为 1048576 或 Linux 操作系统默认值,以较高者为准。

        [replacement_segment_length_value] 值设置为 262144 或 Linux 操作系统默认值,以较高者为准。

        注意

        不同的备份软件可使用不同的 iSCSI 设置进行优化来达到最佳效果。要确认如何设置这些参数的值才能提供最佳性能,请参阅备份软件的文档。

    3. 重启系统以确保新配置的值生效。

      重新启动之前,确保刷新了对卷进行的所有写入操作的结果。为此,请在重新启动之前卸载磁带。

    为卷网关自定义 Linux 磁盘超时设置

    如果您使用的是卷网关,则除了上一节中描述的 iSCSI 设置外,还可以自定义以下 Linux 磁盘超时设置。

    自定义 Linux 磁盘超时设置
    1. 在规则文件中增大磁盘超时值。

      1. 如果您使用了 RHEL 5 启动程序,请打开 /etc/udev/rules.d/50-udev.rules 文件并查找以下行。

        ACTION=="add", SUBSYSTEM=="scsi" , SYSFS{type}=="0|7|14", \ RUN+="/bin/sh -c 'echo [timeout] > /sys$$DEVPATH/timeout'"

        此规则文件在 RHEL 6 或 RHEL 7 启动程序中不存在,因此您必须使用以下规则创建它。

        ACTION=="add", SUBSYSTEMS=="scsi" , ATTRS{model}=="Storage Gateway", RUN+="/bin/sh -c 'echo [timeout] > /sys$$DEVPATH/timeout'"

        要在 RHEL 6 中修改超时值,请使用以下命令,然后添加上面所示的代码行。

        sudo vim /etc/udev/rules.d/50-udev.rules

        要在 RHEL 7 中修改超时值,请使用以下命令,然后添加上面所示的代码行。

        sudo su -c "echo 600 > /sys/block/[device name]/device/timeout"
      2. [timeout] 值设为 600

        该值表示 600 秒的超时值。

    2. 重启系统以确保新配置的值生效。

      重新启动之前,确保刷新了对卷进行的所有写入操作的结果。要这样做,请在重启前卸载存储卷。

    3. 您可以使用以下命令测试配置。

      udevadm test [PATH_TO_ISCSI_DEVICE]

      此命令显示了应用到 iSCSI 设备的 udev 规则。

    为 iSCSI 目标配置 CHAP 身份验证

    Storage Gateway 支持使用质询握手身份验证协议 (CHAP) 在网关和 iSCSI 启动程序之间进行身份验证。CHAP 通过定期验证 iSCSI 启动程序的身份是否具有访问卷目标和 VTL 设备目标的权限来预防反演攻击。

    注意

    CHAP 配置是可选的,但强烈推荐进行此配置。

    要设置 CHAP,必须在 Storage Gateway 控制台和用于连接目标的 iSCSI 启动程序软件中对其进行配置。Storage Gateway 使用双方 CHAP,即启动程序对目标进行身份验证,目标对启动程序进行身份验证。

    为目标设置双向 CHAP
    1. 在 Storage Gateway 控制台上配置 CHAP,如 为 Storage Gateway 控制台上的卷目标配置 CHAP 中所述。

    2. 在客户端启动程序软件中,完成 CHAP 配置:

    为 Storage Gateway 控制台上的卷目标配置 CHAP

    在本步骤中,您指定两个用来对卷进行读取和写入操作的私有密钥。这两个密钥也用来在本步骤中配置客户端启动程序。

    1. 在 Storage Gateway 控制台的“导航”窗格中,选择

    2. 对于 Actions (操作),选择 Configure CHAP Authentication (配置 CHAP 身份验证)

    3. 配置 CHAP 身份验证对话框中提供要求的信息。

      1. 对于启动程序名称,请输入 iSCSI 启动程序的名称。此名称是 Amazon iSCSI 限定名称 (IQN),前面加上 iqn.1997-05.com.amazon:,后跟目标名称。以下是示例。

        iqn.1997-05.com.amazon:your-volume-name

        您可以使用 iSCSI 启动程序软件找到启动程序名称。例如,对于 Windows 客户端,该名称为 iSCSI 启动程序的 Configuration (配置) 选项卡上的值。有关更多信息,请参阅在 Windows 客户端上配置双向 CHAP。

        注意

        如需更改启动程序名称,您必须先停用 CHAP,在 iSCSI 启动程序软件中更改启动程序名称,然后使用新名称激活 CHAP。

      2. 对于用于对启动程序进行身份验证的密钥,输入要求的密钥。

        此私有密钥的长度最少为 12 个字符,最多为 16 个字符。此值是私有密钥,启动程序 (即 Windows 客户端) 必须知道该私有密钥才能参与到与目标的 CHAP 中。

      3. 对于用于对目标进行身份验证的密钥(双向 CHAP),输入要求的密钥。

        此私有密钥的长度最少为 12 个字符,最多为 16 个字符。目标必须知道此值才能参与到与启动程序的 CHAP 中。

        注意

        用来验证目标身份的私有密钥必须不同于用来验证启动程序的私有密钥。

      4. 选择保存

    4. 选择 Details 选项卡并确认 iSCSI CHAP authentication 设置为 true

      
						Storage Gateway 卷详情选项卡,其中 iSCSI CHAP 身份验证显示为 true。
    在 Windows 客户端上配置双向 CHAP。

    在此过程中,您使用在控制台中为卷配置 CHAP 所用的同一密钥在 Microsoft iSCSI 启动程序中配置 CHAP。

    1. 如果 iSCSI 启动程序尚未启动,请在 Windows 客户端计算机的开始菜单上,选择运行,输入 iscsicpl.exe,然后选择确定来运行该程序。

    2. 为启动程序 (即 Windows 客户端) 配置双向 CHAP 配置:

      1. 选择配置选项卡。

        注意

        Initiator Name 值对于您的启动程序和公司是唯一的。前面显示的名称是您在 Storage Gateway 控制台的配置 CHAP 身份验证对话框中使用的值。

        示例图像中所示名称仅作示范用途。

      2. 选择 CHAP

      3. iSCSI 启动程序双向 CHAP 密钥对话框中,输入双向 CHAP 密钥值。

        
								iSCSI 启动程序双向 CHAP 密钥对话框,其中显示了输入的字符已遮蔽。

        在此对话框中,输入启动程序 (Windows 客户端) 用来对目标 (存储卷) 进行身份验证的私有密钥。该私有密钥允许目标读取并写入启动程序。此密钥与在配置 CHAP 身份验证对话框的用于对目标进行身份验证的密钥(双向 CHAP)框中输入的密钥相同。有关更多信息,请参阅为 iSCSI 目标配置 CHAP 身份验证。

      4. 如果您输入的密钥少于 12 个字符或多于 16 个字符,则会显示启动程序 CHAP 密钥错误对话框。

        选择确定,然后重新输入密钥。

        
								启动程序 CHAP 密钥对话框,其中显示了有关密钥小于 96 位的警告消息。
    3. 使用启动程序的密钥进行配置,完成双向 CHAP 配置。

      1. 选择目标选项卡。

        
								iSCSI 启动程序属性,其中显示了目标选项卡,带有已发现目标列表。
      2. 如果当前连接了要为 CHAP 配置的目标,则通过选择该目标并选择 Disconnect 来断开该目标。

      3. 选择要为 CHAP 配置的目标,然后选择 Connect

        
								“目标”选项卡,其中突出显示了选定的目标和连接按钮。
      4. Connect to Target 对话框中,选择 Advanced

        
								“连接到目标”对话框,其中突出显示了高级按钮。
      5. 在“Advanced Settings”对话框中,配置 CHAP。

        1. 选择激活 CHAP 登录

        2. 输入验证启动程序所需的密钥。此密钥与在配置 CHAP 身份验证对话框的用于对启动程序进行身份验证的密钥框中输入的密钥相同。有关更多信息,请参阅为 iSCSI 目标配置 CHAP 身份验证。

        3. 选择“Perform mutual authentication”。

        4. 要应用更改,请选择 OK

      6. Connect to Target 对话框中,选择 OK

    4. 如果提供的私有密钥正确无误,则目标将显示 Connected (已连接) 状态。

      
						iSCSI 启动程序属性“目标”选项卡,其中的突出显示目标显示为已连接状态。
    如需在 Red Hat Linux 客户端上配置双向 CHAP

    在此过程中,您使用在 Storage Gateway 控制台中为卷配置 CHAP 所用的同一密钥在 Linux iSCSI 启动程序中配置 CHAP。

    1. 确保 iSCSI 守护进程正在运行并且您已连接到目标。如果您尚未完成这两项任务,请参阅连接到 Red Hat Enterprise Linux 客户端

    2. 断开并移除您即将为其配置 CHAP 的目标的任何现有配置。

      1. 要查找目标名称并确保其为定义的配置,请使用以下命令列出保存的配置。

        sudo /sbin/iscsiadm --mode node
      2. 从目标断开。

        以下命令从 Amazon iSCSI 限定名称 (IQN) 中定义的名为 myvolume 的目标断开连接。按您的需求情况更改目标名称和 IQN。

        sudo /sbin/iscsiadm --mode node --logout GATEWAY_IP:3260,1 iqn.1997-05.com.amazon:myvolume
      3. 移除目标的配置。

        下面的命令移除 myvolume 目标的配置。

        sudo /sbin/iscsiadm --mode node --op delete --targetname iqn.1997-05.com.amazon:myvolume
    3. 编辑 iSCSI 配置文件来激活 CHAP。

      1. 获取启动程序 (即您正在使用的客户端) 的名称。

        以下命令从文件 /etc/iscsi/initiatorname.iscsi 获取发起程序名称。

        sudo cat /etc/iscsi/initiatorname.iscsi

        该命令的输出内容类似于以下内容:

        InitiatorName=iqn.1994-05.com.redhat:8e89b27b5b8

      2. 打开 /etc/iscsi/iscsid.conf文件。

      3. 取消文件中下列各行的注释,并为 usernamepasswordusername_inpassword_in 指定正确的值。

        node.session.auth.authmethod = CHAP node.session.auth.username = username node.session.auth.password = password node.session.auth.username_in = username_in node.session.auth.password_in = password_in

        有关要指定的值的指南,请参阅下表。

        配置设置
        username

        您在此过程中的上一步中找到的启动程序名称。该值以 iqn 开头。例如,iqn.1994-05.com.redhat:8e89b27b5b8 是有效的 username 值。

        密码 用于在启动程序 (您正在使用的客户端) 与卷通信时对启动程序进行身份验证的私有密钥。
        username_in

        目标卷的 IQN。该值以 iqn 开头,以目标名称结尾。例如,iqn.1997-05.com.amazon:myvolume 是有效的 username_in 值。

        password_in

        用于在目标 (卷) 与启动程序通信时对目标进行身份验证的私有密钥。

      4. 保存配置文件中的更改,然后关闭该文件。

    4. 发现并登录到目标。为此,请按照连接到 Red Hat Enterprise Linux 客户端中的步骤进行操作。