跳至內容

如何使用 iSCSI 在 EC2 Linux 執行個體上掛載 FSx for ONTAP iSCSI LUN?

4 分的閱讀內容
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 替換為您的檔案路徑。 使用 /etc/systemd/system/ 檔案路徑建立用於 iSCSI 登入的 systemd 服務檔案。
檔案範例:

[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 官方已更新 4 個月前