Passer au contenu

Comment monter une LUN iSCSI FSx pour ONTAP sur une instance Linux EC2 à l’aide d’iSCSI ?

Lecture de 6 minute(s)
0

Je souhaite utiliser l'interface iSCSI (Internet Small Computer System Interface) pour monter une LUN iSCSI Amazon FSx pour NetApp ONTAP sur mon instance Linux Amazon Elastic Compute Cloud (Amazon EC2).

Résolution

Remarque : La résolution suivante concerne les instances Amazon EC2 qui exécutent Amazon Linux 2023 (AL2023), Amazon Linux 2 (AL2), Red Hat Enterprise Linux (RHEL) 8 et CentOS 8.

Prérequis :

Utiliser iSCSI pour monter votre système de fichiers sur votre instance

Procédez comme suit :

  1. Pour installer les packages requis, exécutez la commande suivante :

    sudo yum install -y iscsi-initiator-utils device-mapper-multipath
  2. Pour configurer multipath pour le système de fichiers, exécutez les commandes suivantes :

    sudo mpathconf --enable --with_multipathd y
    sudo systemctl start multipathd
    sudo systemctl enable multipathd
  3. Pour récupérer les adresses des interfaces de stockage par blocs pour la machine virtuelle de stockage (SVM), utilisez l'interface de ligne de commande (CLI) ONTAP. Exécutez la commande suivante sur le système de fichiers FSx ONTAP :

    network interface show -vserver svm_name

    Remarque : Remplacez svm_name par le nom de votre SVM.
    Exemple de sortie :

                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. Pour détecter les cibles iSCSI, exécutez la commande suivante sur l'instance EC2 pour trouver l'initiateur cible :

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

    Remarque : Remplacez iscsi_1_IP par l'adresse IP iscsi_1 que vous avez reçue de la commande précédente.
    Exemple de sortie :

    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

    Dans l'exemple de sortie précédent, l'initiateur cible est iqn.1992-08.com.netapp:sn.1234567890abcdef:vs.3.

  5. (Facultatif) Pour établir 8 sessions dans chaque initiateur de chaque nœud ONTAP de chaque zone de disponibilité, exécutez la commande suivante :

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

    Remarque : Remplacez iqn.1992-08.com.netapp:sn.1234567890abcdef:vs.3 par votre initiateur cible.

  6. Pour vous connecter à la cible iSCSI, exécutez la commande suivante :

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

    Remarque : Remplacez iqn.1992-08.com.netapp:sn.1234567890abcdef:vs.3 par votre initiateur cible.

  7. Pour trouver le périphérique multipath, exécutez la commande suivante :

    sudo multipath -ll

    Exemple de sortie :

    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

    Dans l'exemple de sortie précédent, le lien symbolique est 3600a09806c5742314e5d52766e79614f. Le lien symbolique se trouve sous le chemin /dev/mapper/wwidwwid est l'identifiant unique de votre LUN sur tous les appareils.

  8. Pour créer un système de fichiers, exécutez la commande suivante :

    sudo mkfs.xfs /dev/mapper/wwid

    Remarque : Remplacez wwid par l'identifiant unique de votre LUN.

  9. Pour créer un point de montage et monter sur ce dernier, exécutez les commandes suivantes :

    sudo mkdir /mnt/fsx-iscsi
    sudo mount /dev/mapper/wwid /mnt/fsx-iscsi
  10. (Facultatif) Pour configurer le montage automatique lors du démarrage, exécutez les commandes suivantes pour activer le service iSCSI :

sudo systemctl enable iscsid
sudo systemctl enable iscsi

Puis, ajoutez la ligne suivante au fichier /etc/fstab :

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

Remarque : Remplacez wwid par l'identifiant unique de votre LUN et /mnt/fsx-iscsi par votre chemin de fichier. Créez un fichier de service systemd pour la connexion iSCSI avec le chemin de fichier /etc/systemd/system/.
Exemple de fichier :

[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

Remarque : Remplacez iscsi_1_IP par votre adresse IP iscsi_1 et region par votre région AWS. Pour activer et démarrer le service, exécutez les commandes suivantes :

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

Résoudre les problèmes de montage ISCSI

Important : Il est recommandé de créer un compte NetApp. Vous devez disposer d'un compte NetApp pour accéder à la base de connaissances NetApp.

Résoudre les problèmes liés au serveur Linux EC2

Si vous rencontrez des problèmes lors du montage de votre système de fichiers, effectuez les opérations de résolution de problèmes suivantes :

  • Pour vérifier la connectivité sur le port requis, exécutez la commande suivante :

    telnet iscsi_1_IP 3260

    Remarque : Remplacez iscsi_1_IP par votre adresse IP iscsi_1.

  • Pour vérifier si la détection iSCSI fonctionne comme prévu, exécutez la commande suivante :

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

    Remarque : Remplacez iscsi_1_IP par votre adresse IP iscsi_1.

  • Pour vérifier l'état des sessions iSCSI actives et identifier les problèmes, exécutez la commande suivante :

    sudo iscsiadm -m session
  • Pour vérifier que multipath fonctionne comme prévu, exécutez la commande suivante :

    sudo multipath -ll
  • Pour vérifier la présence d'erreurs dans les journaux, exécutez l'une des commandes suivantes :

    dmesg | grep iSCSI

    -ou-

    journalctl -u iscsid

Pour résoudre plus en détail les problèmes de montage, consultez la page Résoudre les problèmes liés aux LUN iSCSI non visibles sur l'hôte sur le site Web de NetApp.

Résoudre les problèmes liés au serveur FSx for ONTAP

Pour vérifier que le service iSCSI est en cours d'exécution, exécutez les commandes suivantes :

vserver iscsi show
iscsi session show

Pour vérifier l'absence de problèmes dans la configuration de votre LUN, exécutez la commande suivante :

lun show -vserver vserver_name

Remarque : Remplacez vserver_name par le nom de votre serveur.

Pour vérifier que vous avez correctement configuré l'accès au stockage, exécutez la commande suivante pour afficher le mappage entre les LUN et les groupes d'initiateurs :

lun mapping show

Pour vérifier la configuration d'igroup et confirmer que ce dernier inclut votre initiateur, exécutez la commande suivante :

igroup show -instance
AWS OFFICIELA mis à jour il y a 9 mois