跳至内容

如何使用 iSCSI 在 EC2 Linux 实例上挂载 FSx for ONTAP iSCSI LUN?

3 分钟阅读
0

我想使用 Internet Small Computer System Interface (iSCSI) 在我的 Amazon Elastic Compute Cloud (Amazon EC2) Linux 实例上挂载 Amazon FSx for NetApp ONTAP iSCSI LUN。

解决方案

**注意:**以下解决方法适用于运行 Amazon Linux 2023 (AL2023)、Amazon Linux 2 (AL2)、Red Hat Enterprise Linux (RHEL) 8 和 CentOS 8 的 Amazon EC2 实例。

先决条件:

  • EC2 实例允许 TCP 端口 3260 上的出站流量。
  • NetApp ONTAP 文件系统允许 TCP 端口 3260 上的入站流量。
  • 配置所需的 iSCSI 文件系统和实例
    **注意:**AL2 实例的要求与 AL2023 实例相同。

使用 iSCSI 将您的文件系统挂载到您的实例上

完成以下步骤:

  1. 要安装所需的软件包,请运行以下命令:

    sudo yum install -y iscsi-initiator-utils device-mapper-multipath
  2. 要为文件系统配置多路径,请运行以下命令:

    sudo mpathconf --enable --with_multipathd y
    sudo systemctl start multipathd
    sudo systemctl enable multipathd
  3. 要检索存储虚拟机 (SVM) 的块存储接口地址,请使用 ONTAP 命令行界面 (CLI)。在 FSx ONTAP 文件系统上运行以下命令:

    network interface show -vserver svm_name

    **注意:**请将 svm_name 替换为您的 SVM 名称。
    输出示例:

                Logical               Status         Network            Current                    Current Is
    Vserver     Interface             Admin/Oper     Address/Mask       Node                       Port    Home
    ----------- ----------            ----------     ------------------ -------------              ------- ----
    svm_name
                iscsi_1               up/up          iscsi_1_IP/X       FSxId0123456789abcdef8-01  e0e     true
                iscsi_2               up/up          iscsi_2_IP/X       FSxId0123456789abcdef8-02  e0e     true
    2 entries were displayed.
  4. 要发现 iSCSI 目标,请在 EC2 实例上运行以下命令以查找目标启动器:

    sudo iscsiadm --mode discovery --op update --type sendtargets --portal iscsi_1_IP

    **注意:**请将 iscsi_1_IP 替换为您从上述命令中获取的 iscsi_1 IP 地址。
    输出示例:

    iscsi_1:3260,1029 iqn.1992-08.com.netapp:sn.1234567890abcdef:vs.3
    iscsi_2:3260,1028 iqn.1992-08.com.netapp:sn.1234567890abcdef:vs.3

    在上述示例输出中,目标启动器为 iqn.1992-08.com.netapp:sn.1234567890abcdef:vs.3

  5. (可选)要在每个可用区的每个 ONTAP 节点中,为每个启动器建立 8 个会话,请运行以下命令:

    sudo iscsiadm --mode node -T iqn.1992-08.com.netapp:sn.1234567890abcdef:vs.3 --op update -n node.session.nr_sessions -v 8

    **注意:**请将 iqn.1992-08.com.netapp:sn.1234567890abcdef:vs.3 替换为您的目标启动器。

  6. 要登录到 iSCSI 目标,请运行以下命令:

    sudo iscsiadm -m node -T iqn.1992-08.com.netapp:sn.1234567890abcdef:vs.3 -l

    **注意:**请将 iqn.1992-08.com.netapp:sn.1234567890abcdef:vs.3 替换为您的目标启动器。

  7. 要查找多路径设备,请运行以下命令:

    sudo multipath -ll

    输出示例:

    3600a09806c5742314e5d52766e79614f dm-xyz NETAPP ,LUN C-Mode
    size=10G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='0' wp=rw
    |-+- policy='service-time 0' prio=50 status=active |
    |- 0:0:0:1 sda 8:0 active ready running |
    |- 1:0:0:1 sdc 8:32 active ready running |
    |- 3:0:0:1 sdg 8:96 active ready running | `
    - 4:0:0:1 sdh 8:112 active ready running `
    -+- policy='service-time 0' prio=10 status=enabled
    |- 2:0:0:1 sdb 8:16 active ready running
    |- 7:0:0:1 sdf 8:80 active ready running
    |- 6:0:0:1 sde 8:64 active ready running
    `- 5:0:0:1 sdd 8:48 active ready running

    在上述示例输出中,符号链接为 3600a09806c5742314e5d52766e79614f。您可以在 /dev/mapper/wwid 路径下找到该符号链接,其中 wwid 是您的 LUN 在各设备间的唯一标识符。

  8. 要创建文件系统,请运行以下命令:

    sudo mkfs.xfs /dev/mapper/wwid

    **注意:**请将 wwid 替换为您的 LUN 的唯一标识符。

  9. 要创建挂载点并挂载到该点,请运行以下命令:

    sudo mkdir /mnt/fsx-iscsi
    sudo mount /dev/mapper/wwid /mnt/fsx-iscsi
  10. (可选)要配置启动期间自动挂载,请运行以下命令以激活 iSCSI 服务:

sudo systemctl enable iscsid
sudo systemctl enable iscsi

然后,将以下行添加到 /etc/fstab 文件中:

/dev/mapper/wwid /mnt/fsx-iscsi xfs _netdev,x-systemd.automount,x-systemd.requires=network-online.target 0 0

**注意:**请将 wwid 替换为您的 LUN 的唯一标识符,将 /mnt/fsx-iscsi 替换为您的文件路径。 创建用于 iSCSI 登录的 systemd 服务文件,文件路径为 /etc/systemd/system/
文件示例:

[Unit]
Description=iSCSI connection to FSx
After=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/iscsiadm -m node -T iqn.1992-08.com.netapp:sn.1234567890abcdef:vs.3 -p iscsi_1_IP -l
ExecStop=/sbin/iscsiadm -m node -T iqn.1992-08.com.netapp:sn.1234567890abcdef:vs.3 -p iscsi_1_IP -u

[Install]
WantedBy=multi-user.target

**注意:**请将 iscsi_1_IP 替换为您的 iscsi_1 IP 地址,将 region 替换为您的 AWS 区域。 要激活并启动服务,请运行以下命令:

sudo systemctl enable iscsi-fsx.service
sudo systemctl start iscsi-fsx.service
sudo systemctl status iscsi-fsx.service

对 ISCSI 挂载问题进行故障排除

**重要事项:**最佳做法是创建 NetApp 账户。您必须拥有 NetApp 账户才能访问 NetApp 知识库。

EC2 Linux 服务器故障排除

如果您在挂载文件系统时遇到问题,请执行以下故障排除操作:

  • 要检查所需端口上的连接,请运行以下命令:

    telnet iscsi_1_IP 3260

    **注意:**请将 iscsi_1_IP 替换为您的 iscsi_1 IP 地址。

  • 要检查 iSCSI 发现是否按预期运行,请运行以下命令:

    sudo iscsiadm -m discovery --op update -t sendtargets -p iscsi_1_IP

    **注意:**请将 iscsi_1_IP 替换为您的 iscsi_1 IP 地址。

  • 要检查活动 iSCSI 会话的状态并识别问题,请运行以下命令:

    sudo iscsiadm -m session
  • 要验证多路径是否按预期运行,请运行以下命令:

    sudo multipath -ll
  • 要检查日志中是否存在错误,请运行以下命令之一:

    dmesg | grep iSCSI

    -或-

    journalctl -u iscsid

要进一步对挂载问题进行故障排除,请参阅 NetApp 网站上的对主机上不可见的 iSCSI LUN 进行故障排除

FSx for ONTAP 服务器故障排除

要验证 iSCSI 服务是否正在运行,请运行以下命令:

vserver iscsi show
iscsi session show

要检查您的 LUN 配置是否存在问题,请运行以下命令:

lun show -vserver vserver_name

**注意:**请将 vserver_name 替换为您的服务器名称。

要验证您是否正确配置了存储访问权限,请运行以下命令以查看 LUN 与启动器组之间的映射:

lun mapping show

要检查 igroup 配置并确认其中包含您的启动器,请运行以下命令:

igroup show -instance
AWS 官方已更新 5 个月前