Montage de LUN iSCSI sur un client Linux - FSx pour ONTAP

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Montage de LUN iSCSI sur un client Linux

Les exemples présentés dans ces procédures utilisent la configuration suivante :

  • Le LUN iSCSI qui est monté sur l'hôte Linux est déjà créé. Pour plus d’informations, consultez Création d'un LUN iSCSI.

  • L'hôte Linux qui monte le LUN iSCSI est une instance Amazon EC2 exécutant l'Amazon Machine Image (AMI) Amazon Linux 2. Il possède des groupes de sécurité VPC configurés pour autoriser le trafic entrant et sortant, comme décrit dans. Contrôle d'accès au système de fichiers avec Amazon VPC

  • L'hôte Linux et le système de fichiers FSx for ONTAP sont situés dans le même VPC et. Compte AWS Si l'hôte est situé dans un autre VPC, vous pouvez utiliser le peering VPC ou accorder AWS Transit Gateway à d'autres VPC l'accès aux points de terminaison iSCSI du volume. Pour plus d’informations, consultez Accès aux données depuis l'extérieur du VPC de déploiement.

    Si vous utilisez une instance EC2 exécutant une autre AMI Linux, certains utilitaires installés sur l'hôte peuvent être préinstallés et vous pouvez utiliser différentes commandes pour installer les packages requis. Outre l'installation des packages, les commandes utilisées dans cette section sont valides pour les autres AMI Linux EC2.

    Nous recommandons que l'instance EC2 se trouve dans la même zone de disponibilité que le sous-réseau préféré de votre système de fichiers, comme illustré dans le graphique suivant.

Image montrant un système de fichiers Amazon FSx for NetApp ONTAP doté d'un LUN iSCSI et d'une instance Amazon EC2 située dans la même zone de disponibilité que celle du sous-réseau préféré du système de fichiers.

Installation et configuration de l'iSCSI sur le client Linux

Pour installer le client iSCSI
  1. Confirmez-le iscsi-initiator-utils et device-mapper-multipath ils sont installés sur votre appareil Linux. Connectez-vous à votre instance Linux à l'aide d'un client SSH. Pour plus d'informations, consultez Se connecter à votre instance Linux à l'aide de SSH.

  2. Installez multipath et le client iSCSI à l'aide de la commande suivante. L'installation multipath est nécessaire si vous souhaitez basculer automatiquement entre vos serveurs de fichiers.

    ~$ sudo yum install -y device-mapper-multipath iscsi-initiator-utils
  3. Pour accélérer la réponse en cas de basculement automatique entre les serveurs de fichiers lors de l'utilisationmultipath, définissez la valeur du délai d'expiration de remplacement dans le /etc/iscsi/iscsid.conf fichier sur une valeur égale à 5 au lieu d'utiliser la valeur par défaut de120.

    ~$ sudo sed -i 's/node.session.timeo.replacement_timeout = .*/node.session.timeo.replacement_timeout = 5/' /etc/iscsi/iscsid.conf; sudo cat /etc/iscsi/iscsid.conf | grep node.session.timeo.replacement_timeout
  4. Démarrez le service iSCSI.

    ~$ sudo service iscsid start

    Notez qu'en fonction de votre version de Linux, vous devrez peut-être utiliser cette commande à la place :

    ~$ sudo systemctl start iscsid
  5. Vérifiez que le service est en cours d'exécution à l'aide de la commande suivante.

    ~$ sudo systemctl status iscsid.service

    Le système répond avec le résultat suivant :

    iscsid.service - Open-iSCSI Loaded: loaded (/usr/lib/systemd/system/iscsid.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2021-09-02 00:00:00 UTC; 1min ago Docs: man:iscsid(8) man:iscsiadm(8) Process: 14658 ExecStart=/usr/sbin/iscsid (code=exited, status=0/SUCCESS) Main PID: 14660 (iscsid) CGroup: /system.slice/iscsid.service ├─14659 /usr/sbin/iscsid └─14660 /usr/sbin/iscsid
Pour configurer iSCSI sur votre client Linux
  1. Pour permettre à vos clients de basculer automatiquement entre vos serveurs de fichiers, vous devez configurer le multipath. Utilisez la commande suivante :

    ~$ sudo mpathconf --enable --with_multipathd y
  2. Déterminez le nom de l'initiateur de votre hôte Linux à l'aide de la commande suivante. L'emplacement du nom de l'initiateur dépend de votre utilitaire iSCSI. Si vous utiliseziscsi-initiator-utils, le nom de l'initiateur se trouve dans le fichier/etc/iscsi/initiatorname.iscsi.

    ~$ sudo cat /etc/iscsi/initiatorname.iscsi

    Le système répond avec le nom de l'initiateur.

    InitiatorName=iqn.1994-05.com.redhat:abcdef12345

Configuration de l'iSCSI sur le système de fichiers FSx pour ONTAP

  1. Connectez-vous à la CLI NetApp ONTAP sur le système de fichiers FSx for ONTAP sur lequel vous avez créé le LUN iSCSI à l'aide de la commande suivante. Pour plus d’informations, consultez Utilisation de la CLI NetApp ONTAP.

    ~$ ssh fsxadmin@your_management_endpoint_ip
  2. Créez le groupe d'initiateurs (igroup) à l'aide de la NetApp commande ONTAP lun igroup createCLI. Un groupe d'initiateurs est mappé aux LUN iSCSI et contrôle quels initiateurs (clients) ont accès aux LUN. host_initiator_nameRemplacez-le par le nom de l'initiateur de votre hôte Linux que vous avez récupéré lors de la procédure précédente.

    ::> lun igroup create -vserver svm_name -igroup igroup_name -initiator host_initiator_name -protocol iscsi -ostype linux

    Si vous souhaitez que les LUN mappés à cet igroup soient accessibles à plusieurs hôtes, vous pouvez spécifier plusieurs noms d'initiateurs séparés par une virgule. Pour plus d'informations, consultez lun igroup create dans le centre de documentation NetApp ONTAP.

  3. Vérifiez qu'il igroup existe à l'aide de la lun igroup showcommande :

    ::> lun igroup show

    Le système répond avec le résultat suivant :

    Vserver Igroup Protocol OS Type Initiators --------- ------------ -------- -------- ------------------------------------ svm_name igroup_name iscsi linux iqn.1994-05.com.redhat:abcdef12345
  4. Cette étape suppose que vous avez déjà créé un LUN iSCSI. Si ce n'est pas le cas, consultez step-by-step les instructions Création d'un LUN iSCSI pour le faire.

    Créez un mappage entre le LUN que vous avez créé et l'igroup que vous avez créé, en utilisant le lun mapping create, en spécifiant les attributs suivants :

    • svm_name— Nom de la machine virtuelle de stockage fournissant la cible iSCSI. L'hôte utilise cette valeur pour atteindre le LUN.

    • vol_name— Nom du volume hébergeant le LUN.

    • lun_name— Le nom que vous avez attribué au LUN.

    • igroup_name— Nom du groupe d'initiateurs.

    • lun_id— L'entier de l'ID de LUN est spécifique au mappage, et non au LUN lui-même. Ceci est utilisé par les initiateurs de l'igroup car le numéro d'unité logique utilise cette valeur pour l'initiateur lors de l'accès au stockage.

    ::> lun mapping create -vserver svm_name -path /vol/vol_name/lun_name -igroup igroup_name -lun-id lun_id
  5. Utilisez la lun show -pathcommande pour confirmer que le LUN est créé, en ligne et mappé.

    ::> lun show -path /vol/vol_name/lun_name -fields state,mapped,serial-hex

    Le système répond avec le résultat suivant :

    Vserver Path serial-hex state mapped --------- ------------------------------- ------------------------ -------- -------- svm_name /vol/vol_name/lun_name 6c5742314e5d52766e796150 online mapped

    Enregistrez la serial_hex valeur (dans cet exemple, elle l'est6c5742314e5d52766e796150), vous l'utiliserez ultérieurement pour créer un nom convivial pour le périphérique de blocage.

  6. Utilisez la network interface show -vservercommande pour récupérer les adresses des iscsi_2 interfaces iscsi_1 et de la SVM dans laquelle vous avez créé votre LUN iSCSI.

    ::> network interface show -vserver svm_name

    Le système répond avec le résultat suivant :

    Logical Status Network Current Current Is Vserver Interface Admin/Oper Address/Mask Node Port Home ----------- ---------- ---------- ------------------ ------------- ------- ---- svm_name iscsi_1 up/up 172.31.0.143/20 FSxId0123456789abcdef8-01 e0e true iscsi_2 up/up 172.31.21.81/20 FSxId0123456789abcdef8-02 e0e true nfs_smb_management_1 up/up 198.19.250.177/20 FSxId0123456789abcdef8-01 e0e true 3 entries were displayed.

    Dans cet exemple, l'adresse IP de iscsi_1 is 172.31.0.143 et iscsi_2 is172.31.21.81.

Montez un LUN iSCSI sur votre client Linux

  1. Sur votre client Linux, utilisez la commande suivante pour découvrir les nœuds iSCSI cibles à l'aide de l'adresse IP iscsi_1 iSCSI_1_IP.

    ~$ sudo iscsiadm --mode discovery --op update --type sendtargets --portal iscsi_1_IP
    172.31.0.143:3260,1029 iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3 172.31.21.81:3260,1028 iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3

    Dans cet exemple, iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3 correspond au target_initiator LUN iSCSI dans la zone de disponibilité préférée.

  2. (Facultatif) Vous pouvez établir des sessions supplémentaires avec letarget_initiator. Amazon EC2 a une limite de bande passante de 5 Go/s (~625 Mo/s) pour le trafic à flux unique, mais vous pouvez créer plusieurs sessions pour augmenter le débit de votre système de fichiers à partir d'un seul client. Pour plus d'informations, consultez la bande passante du réseau des instances Amazon EC2 dans le guide de l'utilisateur Amazon Elastic Compute Cloud pour les instances Linux.

    La commande suivante établit 8 sessions par initiateur et par nœud ONTAP dans chaque zone de disponibilité, permettant au client de générer jusqu'à 40 Gbit/s (5 000 Mo/s) de débit agrégé vers le LUN iSCSI.

    ~$ sudo iscsiadm --mode node -T target_initiator --op update -n node.session.nr_sessions -v 8
  3. Connectez-vous aux initiateurs cibles. Vos LUN iSCSI sont présentés sous forme de disques disponibles.

    ~$ sudo iscsiadm --mode node -T target_initiator --login
    Logging in to [iface: default, target: iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3, portal: 172.31.14.66,3260] (multiple) Login to [iface: default, target: iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3, portal: 172.31.14.66,3260] successful.

    Le résultat ci-dessus est tronqué ; vous devriez voir une Logging in et une Login successful réponse pour chaque session sur chaque serveur de fichiers. Dans le cas de 4 sessions par nœud, il y aura 8 Logging in et 8 Login successful réponses.

  4. Utilisez la commande suivante pour vérifier que les sessions iSCSI ont dm-multipath été identifiées et fusionnées en affichant un seul LUN avec plusieurs politiques. Il doit y avoir un nombre égal d'appareils répertoriés comme active et ceux répertoriés commeenabled.

    ~$ sudo multipath -ll

    Dans la sortie, le nom du disque est formaté sous la formedm-xyz, où xyz est un entier. S'il n'existe aucun autre disque à chemins multiples, cette valeur estdm-0.

    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

    Votre périphérique de blocage est désormais connecté à votre client Linux. Il est situé sous le chemin/dev/dm-xyz. Vous ne devez pas utiliser ce chemin à des fins administratives ; utilisez plutôt le lien symbolique situé sous le chemin/dev/mapper/wwid, où se wwid trouve un identifiant unique pour votre LUN qui est cohérent sur tous les appareils. À l'étape suivante, vous allez donner un nom convivial au wwid afin de le distinguer des autres disques à chemins multiples.

Pour attribuer un nom convivial à votre appareil de blocage
  1. Pour attribuer un nom convivial à votre appareil, créez un alias dans le /etc/multipath.conf fichier. Pour ce faire, ajoutez l'entrée suivante au fichier à l'aide de votre éditeur de texte préféré, en remplaçant les espaces réservés suivants :

    • Remplacez serial_hex par la valeur que vous avez enregistrée dans la Configuration de l'iSCSI sur le système de fichiers FSx pour ONTAP procédure.

    • Ajoutez le préfixe 3600a0980 à la serial_hex valeur comme indiqué dans l'exemple. Il s'agit d'un préambule unique pour la distribution NetApp ONTAP utilisée par Amazon FSx for ONTAP. NetApp

    • device_nameRemplacez-le par le nom convivial que vous souhaitez utiliser pour votre appareil.

    multipaths { multipath { wwid 3600a0980serial_hex alias device_name } }

    Vous pouvez également copier et enregistrer le script suivant dans un fichier bash, tel quemultipath_alias.sh. Vous pouvez exécuter le script avec les privilèges sudo, en le remplaçant serial_hex (sans le préfixe 3600a0980) par votre numéro de série respectif et device_name le nom convivial souhaité. Ce script recherche une multipaths section non commentée du /etc/multipath.conf fichier. S'il en existe une, elle ajoute une multipath entrée à cette section ; sinon, elle créera une nouvelle multipaths section avec une multipath entrée pour votre appareil bloqué.

    #!/bin/bash SN=serial_hex ALIAS=device_name CONF=/etc/multipath.conf grep -q '^multipaths {' $CONF UNCOMMENTED=$? if [ $UNCOMMENTED -eq 0 ] then sed -i '/^multipaths {/a\\tmultipath {\n\t\twwid 3600a0980'"${SN}"'\n\t\talias '"${ALIAS}"'\n\t}\n' $CONF else printf "multipaths {\n\tmultipath {\n\t\twwid 3600a0980$SN\n\t\talias $ALIAS\n\t}\n}" >> $CONF fi
  2. Redémarrez le multipathd service pour que les modifications /etc/multipathd.conf prennent effet.

    ~$ systemctl restart multipathd.service
Pour partitionner le LUN

L'étape suivante consiste à formater et partitionner votre LUN à l'aide fdisk de.

  1. Utilisez la commande suivante pour vérifier que le chemin d'accès à votre device_name

    ~$ ls /dev/mapper/device_name
    /dev/device_name
  2. Partitionnez le disque en utilisantfdisk. Vous allez entrer une invite interactive. Entrez les options dans l'ordre indiqué. Notez que la Last sector valeur varie en fonction de la taille de votre LUN iSCSI (10 Go dans cet exemple). Vous pouvez créer plusieurs partitions en utilisant une valeur inférieure au dernier secteur (20971519dans cet exemple).

    ~$ sudo fdisk /dev/mapper/device_name

    L'invite fsdisk interactive démarre.

    Welcome to fdisk (util-linux 2.30.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x66595cb0. Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-20971519, default 2048): 2048 Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): 20971519 Created a new partition 1 of type 'Linux' and of size 512 B. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.

    Une fois que vous w êtes entrée, votre nouvelle /dev/mapper/partition_name partition est disponible. <device_name><partition_number>Le partition_name a le format. 1a été utilisé comme numéro de partition utilisé dans la fdisk commande de l'étape précédente.

  3. Créez votre système de fichiers en utilisant /dev/mapper/partition_name comme chemin.

    ~$ sudo mkfs.ext4 /dev/mapper/partition_name

    Le système répond avec le résultat suivant :

    mke2fs 1.42.9 (28-Dec-2013) Discarding device blocks: done Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=16 blocks 655360 inodes, 2621184 blocks 131059 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2151677952 80 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
Pour monter le LUN sur le client Linux
  1. Créez un répertoire directory_path comme point de montage pour votre système de fichiers.

    ~$ sudo mkdir /directory_path/mount_point
  2. Montez le système de fichiers à l'aide de la commande suivante.

    ~$ sudo mount -t ext4 /dev/mapper/partition_name /directory_path/mount_point
  3. (Facultatif) Vous pouvez transférer la propriété du répertoire de montage à votre utilisateur. Remplacez username par votre nom d'utilisateur.

    ~$ sudo chown username:username /directory_path/mount_point
  4. (Facultatif) Vérifiez que vous pouvez lire et écrire des données dans le système de fichiers.

    ~$ echo "Hello world!" > /directory_path/mount_point/HelloWorld.txt ~$ cat directory_path/HelloWorld.txt Hello world!

    Vous avez créé et monté avec succès un LUN iSCSI sur votre client Linux.