如何使用 iSCSI 在 EC2 Linux 執行個體上掛載 FSx for ONTAP iSCSI LUN?
我想使用 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 在執行個體上掛載檔案系統
請完成下列步驟:
-
若要安裝所需的套件,請執行以下命令:
sudo yum install -y iscsi-initiator-utils device-mapper-multipath -
若要為檔案系統設定多路徑,請執行以下命令:
sudo mpathconf --enable --with_multipathd y sudo systemctl start multipathd sudo systemctl enable multipathd -
若要擷取儲存虛擬機器 (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. -
若要探索 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。
-
(選用) 若要在每個可用區域中,每個 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 替換為您的目標啟動器。
-
若要登入 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 替換為您的目標啟動器。
-
若要尋找多路徑裝置,請執行以下命令:
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 跨裝置的唯一識別碼。
-
若要建立檔案系統,請執行以下命令:
sudo mkfs.xfs /dev/mapper/wwid**注意:**將 wwid 替換為您 LUN 的唯一識別碼。
-
若要建立掛載點並掛載到該掛載點,請執行下列命令:
sudo mkdir /mnt/fsx-iscsi sudo mount /dev/mapper/wwid /mnt/fsx-iscsi -
(選用) 若要設定啟動時自動掛載,請執行下列命令來啟動 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
相關內容
- 已提問 1 年前
- 已提問 1 年前
- 已提問 2 年前
- 已提問 1 年前
- 已提問 2 年前
