Monter le volume « iSCSI » sur le disque « Red Hat Enterprise Linux » 9
Apprenez à monter un volume Block Storage for Classic sur RHEL 9 avec des E/S multipath pour un accès redondant et performant au stockage.
Suivez le tutoriel pour monter un volume IBM Cloud® Block Storage for Classic sur un serveur virtuel avec le système d'exploitation Red Hat Enterprise Linux® 9. Vous allez créer deux connexions entre une interface réseau de votre hôte et deux adresses IP cible de la grappe de stockage.
Si vous utilisez un autre système d'exploitation de type « Linux® », consultez la documentation de votre distribution spécifique et assurez-vous que le multipath prend en charge le protocole ALUA (Asymmetric Logical Unit Access) pour la priorité des chemins.
Avant de commencer
-
Assurez-vous que l'hôte devant accéder au volume « Block Storage for Classic » est autorisé. Pour plus d'informations, voir Autoriser l'hôte dans la consoleAutoriser l'hôte à partir de la CLIAutoriserl'hôte avec Terraform.
-
Une connexion VPN active est nécessaire pour accéder au réseau privé de IBM Cloud et pour interagir avec plusieurs services.
-
Établissez une connexion SSH avec votre serveur. L'adresse IP, le nom d'utilisateur et le mot de passe se trouvent dans la console. Depuis le menu
, cliquez sur l'icône Infrastructure
> Infrastructure classique > Appareils. Localisez ensuite votre serveur dans la liste et cliquez sur son nom pour afficher ses détails.
Si plusieurs hôtes montent le même volume Block Storage for Classic sans être gérés de manière coopérative, vos données risquent d'être corrompues. Une corruption du volume peut se produire si des modifications sont apportées au volume par plusieurs hôtes en même temps. Vous avez besoin d'un système de fichiers à disque partagé compatible avec les clusters pour éviter les pertes de données, tel que Microsoft Cluster Shared Volumes ( CSV ), Red Hat Global File System ( GFS2 ), VMware® VMFS, et d'autres. Pour plus d'informations, consultez la documentation de votre système d'exploitation.
Mise à jour du système d'exploitation et installation des utilitaires iSCSI et multipath
Assurez-vous que votre système est à jour et qu'il comprend les paquets iscsi-initiator-utils et device-mapper-multipath. Utilisez les commandes suivantes pour installer les packages.
-
Mettre à jour le système d'exploitation.
sudo dnf update -
Installer l'utilitaire multipath
sudo dnf -y install device-mapper-multipathLorsque le paquet est installé, entrez la commande
mpathconf --enable --user_friendly_names npour l'activer. -
Installer l'utilitaire ISCSI
sudo dnf -y install iscsi-initiator-utilsUne fois le paquet installé, démarrez-le à l'aide de la commande
systemctl start iscsid.
Mettre à jour les fichiers de configuration d' iSCSI
-
Mettez à jour le fichier
/etc/iscsi/initiatorname.iscsien y indiquant l'IQN obtenu via la console d' IBM Cloud®.- L'exemple suivant montre comment vérifier le nom de l'initiateur actuel.
[root@vsi4classic ~]# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1994-05.com.redhat:7acdadcdc20- Ouvrez le fichier dans un éditeur de texte :
vi /etc/iscsi/initiatorname.iscsi- Saisissez l'IQN dans le format suivant
InitiatorName=<value-from-the-Portal>, comme vous pouvez le voir dans l'exemple suivant. Remplacez la valeur de l'IQN par la vôtre.
InitiatorName=iqn.2025-11.com.ibm:sl02su1414935-v154455886- Enregistrez le fichier (
:w) et quittez (:x).
-
Décommentez et mettez à jour les entrées suivantes dans
/etc/iscsi/iscsid.confen utilisant le nom d'utilisateur et le mot de passe de la console IBM Cloud®. Utilisez des majuscules pour les noms CHAP (Challenge-Handshake Authentication Protocol).node.session.auth.authmethod = CHAP node.session.auth.username = <Username-value-from-Portal> node.session.auth.password = <Password-value-from-Portal> discovery.sendtargets.auth.authmethod = CHAP discovery.sendtargets.auth.username = <Username-value-from-Portal> discovery.sendtargets.auth.password = <Password-value-from-Portal>Ne modifiez pas les autres paramètres CHAP. Le stockage « IBM Cloud® » utilise uniquement l'authentification unidirectionnelle. N'activez pas l'authentification CHAP mutuelle.
-
Redémarrez le service iscsid.
systemctl restart iscsid -
Validez que la configuration est correcte en lançant une recherche sur la baie iSCSI.
Block Storage for Classic nécessite une détection dynamique des cibles utilisant la méthode SendTargets. N'utilisez pas la configuration statique des nœuds, car elle n'est pas évolutive et peut entraîner des problèmes de connectivité lorsque des modifications sont apportées au stockage (comme l'autorisation ou la désautorisation d'accès des hôtes aux LUN). La découverte dynamique garantit que votre hôte détecte automatiquement toute modification apportée aux portails cibles.
iscsiadm -m discovery -t sendtargets -p TARGET IPSi l'adresse IP et les informations d'accès s'affichent, cela signifie que la détection a abouti.
[root@vsi4classic ~]# iscsiadm -m discovery -t sendtargets -p 161.26.99.113 161.26.99.113:3260,1034 iqn.1992-08.com.netapp:stfdal1006 161.26.99.110:3260,1030 iqn.1992-08.com.netapp:stfdal1006
Configurez le multi-accès
Vous configurez DM Multipath à l'aide de l'utilitaire mpathconf , qui crée le fichier de configuration multipath /etc/multipath.conf``. Pour plus d'informations sur l'utilitaire mpathconf, consultez la
page de manuel mpathconf(8).
-
Si vous ne l'avez pas encore fait, entrez la commande mpathconf avec l'option
--enable.mpathconf --enable --user_friendly_names n -
Modifiez le fichier
/etc/multipath.confavecnano,vi, ou un autre éditeur de votre choix.sudo vi /etc/multipath.conf -
Ajoutez la configuration minimale suivante.
defaults { user_friendly_names no find_multipaths on max_fds max flush_on_last_del yes queue_without_daemon no dev_loss_tmo infinity fast_io_fail_tmo 5 } # All data in the following section must be specific to your system. blacklist { wwid "SAdaptec*" devnode "^hd[a-z]" devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^cciss.*" } devices { device { vendor "NETAPP" product "LUN" path_grouping_policy group_by_prio features "2 pg_init_retries 50" no_path_retry queue prio "alua" path_checker tur failback immediate path_selector "round-robin 0" hardware_handler "1 alua" rr_weight uniform rr_min_io 128 } }La section « initial defaults » du fichier de configuration permet de configurer votre système de manière à ce que les noms des périphériques multipath se présentent sous la forme /dev/mapper/mpath n, où
mpath ncorrespond au WWID (World Wide Identifier) du périphérique. -
Enregistrez le fichier de configuration et quittez l'éditeur.
-
Exécutez la commande suivante.
systemctl start multipathd.serviceSi vous devez modifier le fichier de configuration multipath après avoir démarré le démon multipath, vous devez exécuter la commande «
systemctl reload multipathd.service» pour que les modifications prennent effet.
Reconnaissez le périphérique de stockage et connectez-vous.
L'utilitaire iscsiadm est un outil en ligne de commande qui sert à détecter les cibles d' iSCSI, à s'y connecter, ainsi qu'à accéder à la base de données open-iscsi et à la gérer. Pour plus d'informations, consultez la page de manuel iscsiadm(8). Lors de cette étape, reconnaissez le périphérique à l'aide de l'adresse IP cible obtenue à partir de la console IBM Cloud® .
-
Exécutez la reconnaissance sur la grappe iSCSI.
iscsiadm -m discovery -t sendtargets -p TARGET IPSi l'adresse IP et les informations d'accès s'affichent, cela signifie que la détection a abouti.
-
Connectez-vous à la grappe iSCSI.
iscsiadm -m node --login[root@vsi4classic ~]# iscsiadm -m node --login Login to [iface: default, target: iqn.1992-08.com.netapp:stfdal1006, portal: 161.26.99.110,3260] successful. Login to [iface: default, target: iqn.1992-08.com.netapp:stfdal1006, portal: 161.26.99.113,3260] successful.
Vérification de la configuration
-
Validez la création de la session iSCSI.
iscsiadm -m session -o show -
Validez l'existance de plusieurs chemins.
multipath -lCette commande affiche les chemins d'accès. Si la configuration est correcte, chaque volume comporte un seul groupe, avec un nombre de chemins d'accès égal au nombre de sessions d' iSCSI. Il est possible de monter un volume en utilisant un seul chemin d'accès, mais il est important que les connexions soient établies sur les deux chemins afin d'éviter toute interruption de service.
[root@vsi4classic ~]# multipath -l 3600a0980383056716724514550666270 dm-0 NETAPP,LUN C-Mode size=20G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw |-+- policy='round-robin 0' prio=0 status=active | `- 2:0:0:0 sda 8:0 active undef running `-+- policy='round-robin 0' prio=0 status=enabled `- 3:0:0:0 sdb 8:16 active undef runningSi MPIO n'est pas configuré correctement, votre périphérique de stockage peut se déconnecter et apparaître comme étant hors ligne en cas de panne réseau ou de maintenance par les équipes d'IBM Cloud®. MPIO offre un niveau supplémentaire de connectivité lors de ces événements et maintient une session établie avec le volume, avec des opérations de lecture/écriture actives.
-
Répertoriez les tables de partition pour le périphérique connecté.
fdisk -l | grep /dev/mapperPar défaut, l'unité de stockage se connecte à
/dev/mapper/<wwid>. L'ID WWID est persistant tant que le volume existe. La commande génère une sortie semblable à l'exemple ci-après.[root@vsi4classic ~]# fdisk -l | grep /dev/mapper Disk /dev/mapper/3600a0980383056716724514550666270: 20 GiB, 21474836480 bytes, 41943040 sectorsDans l'exemple, la chaîne
3600a0980383056716724514550666270est le WWID. Votre application doit utiliser le WWID. Il est également possible d'attribuer des noms plus faciles à lire en utilisant les mots-clés « user_friendly_names » ou « alias » dansmultipath.conf. Pour plus d'informations, consultez la page de manuel d'multipath.conf.Le volume est maintenant monté et accessible sur l'hôte. Vous pouvez créer ensuite un système de fichiers.
Création d'un système de fichiers (facultatif)
Procédez comme indiqué ci-après pour créer un système de fichiers sur le volume récemment monté. Un système de fichiers est nécessaire pour permettre à la plupart des applications d'utiliser le volume. Utilisez fdisk pour les unités inférieures à 2 To et parted pour un disque supérieur à 2 To.
Création d'un système de fichiers avec fdisk
-
Obtenez le nom du disque.
fdisk -l | grep /dev/mapper[root@vsi4classic ~]# fdisk -l | grep /dev/mapper Disk /dev/mapper/3600a0980383056716724514550666270: 20 GiB, 21474836480 bytes, 41943040 sectors [root@vsi4classic ~]# fdisk -l /dev/mapper/3600a0980383056716724514550666270 Disk /dev/mapper/3600a0980383056716724514550666270: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 65536 bytes -
Créez une partition sur le disque. L'exemple suivant montre la création de la partition avec les valeurs par défaut.
[root@vsi4classic ~]# fdisk /dev/mapper/3600a0980383056716724514550666270 Welcome to fdisk (util-linux 2.37.4). 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 0x2aa2e16c. 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-41943039, default 2048): 2048 Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039): 41943039 Created a new partition 1 of type 'Linux' and of size 20 GiB. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Invalid argument The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or partx(8). -
Créez un système de fichiers sur la nouvelle partition.
-
La nouvelle partition est répertoriée avec le disque, de la même manière que
XXXp1, suivie de la taille, du type (83) et de Linux®. Notez le nom de la partition, vous en aurez besoin à l'étape suivante. (XXXp1 représente le nom de la partition.)[root@vsi4classic ~]# fdisk -l /dev/mapper/3600a0980383056716724514550666270 Disk /dev/mapper/3600a0980383056716724514550666270: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 65536 bytes Disklabel type: dos Disk identifier: 0x2aa2e16c Device Boot Start End Sectors Size Id Type /dev/mapper/3600a0980383056716724514550666270p1 2048 41943039 41940992 20G 83 Linu -
Créez le système de fichiers :
mkfs.ext3 /dev/mapper/XXXp1[root@vsi4classic ~]# mkfs.ext3 /dev/mapper/3600a0980383056716724514550666270p1 mke2fs 1.46.5 (30-Dec-2021) Discarding device blocks: done Creating filesystem with 5242624 4k blocks and 1310720 inodes Filesystem UUID: 09e7f833-32b7-4c7f-ab68-8c6083cb8a63 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
-
-
Créez un point de montage pour le système de fichiers et montez-le.
-
Créez un nom de partition
PerfDiskou un emplacement où monter le système de fichiers.mkdir /PerfDisk -
Montez le stockage avec le nom de partition.
mount /dev/mapper/XXXp1 /PerfDisk -
Vérifiez que votre nouveau système de fichiers est répertorié.
df -h[root@vsi4classic ~]# mkdir /PerfDisk [root@vsi4classic ~]# mount /dev/mapper/3600a0980383056716724514550666270p1 /PerfDisk [root@vsi4classic ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 0 4.0M 0% /dev tmpfs 469M 0 469M 0% /dev/shm tmpfs 188M 11M 177M 6% /run /dev/xvda2 24G 2.0G 21G 9% / /dev/xvda1 974M 320M 588M 36% /boot tmpfs 94M 0 94M 0% /run/user/0 /dev/mapper/3600a0980383056716724514550666270p1 20G 156K 19G 1% /PerfDisk
-
-
Pour activer le montage automatique au démarrage, ajoutez le nouveau système de fichiers au fichier
/etc/fstabdu système.- Ajoutez la ligne suivante à la fin du fichier
/etc/fstab(en utilisant le nom de partition provenant de l'étape 3).
/dev/mapper/XXXp1 /PerfDisk ext3 defaults,_netdev 0 1Pour plus d'informations, voir Une introduction au fichier Linux
/etc/fstab. - Ajoutez la ligne suivante à la fin du fichier
Création d'un système de fichiers avec parted
Sur Red Hat Enterprise Linux® 9, parted est préinstallé. Toutefois, si nécessaire, vous pouvez l'installer en exécutant la commande suivante.
dnf install parted
Pour créer un système de fichiers avec parted, procédez comme suit :
-
Lancez le shell interactif d'
parted.parted -
Créez une partition sur le disque.
-
Sauf indication contraire, l'utilitaire «
parted» utilise votre disque principal, qui est généralement le disque «/dev/sda». Basculez vers le disque que vous souhaitez partitionner à l'aide de la commande select. Remplacez XXX par le nom de votre nouveau périphérique.select /dev/mapper/XXX -
Exécutez la commande «
print» pour vérifier que vous vous trouvez bien sur le bon disque.print -
Créez une table de partition.
mklabel gpt -
Partedpeut être utilisé pour créer des partitions de disque logiques et primaires, car les procédures sont identiques. Pour créer une partition, l'utilitaire utilisemkpart. Vous pouvez indiquer des paramètres supplémentaires de type primaire ou logique en fonction du type de partition que vous souhaitez créer.mkpartLes unités répertoriées sont exprimées par défaut en mégaoctets (Mo). Pour créer une partition de 10 Go, vous devez commencer à 1 et terminer à 10 000. Vous pouvez également modifier les unités de dimensionnement en téraoctets en saisissant
unit TBsi vous le souhaitez. -
Quittez
partedà l'aide de la commandequit.quit
-
-
Créez un système de fichiers sur la nouvelle partition.
mkfs.ext3 /dev/mapper/XXXp1Il est important de sélectionner le bon disque et la bonne partition lorsque vous exécutez cette commande. Vérifiez le résultat en imprimant la table de partition. Dans la colonne « Système de fichiers », vous pouvez voir « ext3 ».
-
Créez un point de montage pour le système de fichiers et montez-le.
- Créez un nom de partition
PerfDiskou un emplacement où monter le système de fichiers.
mkdir /PerfDisk- Montez le stockage avec le nom de partition.
mount /dev/mapper/XXXp1 /PerfDisk- Vérifiez que votre nouveau système de fichiers est répertorié.
df -h - Créez un nom de partition
-
Pour activer le montage automatique au démarrage, ajoutez le nouveau système de fichiers au fichier
/etc/fstabdu système.- Ajoutez la ligne suivante à la fin du fichier
/etc/fstab(en utilisant le nom de partition provenant de l'étape 3).
/dev/mapper/XXXp1 /PerfDisk ext3 defaults,_netdev 0 1Pour plus d'informations, voir Une introduction au fichier Linux
/etc/fstab. - Ajoutez la ligne suivante à la fin du fichier
Gestion des droits d'accès des utilisateurs au contenu du volume monté
En tant qu'administrateur système, vous pouvez gérer l'accès aux données du volume monté. Une fois le système de fichiers prêt, vous pouvez affiner le contrôle d'accès en utilisant les commandes chown et chmod pour
attribuer des autorisations de lecture, d'écriture et d'exécution à des utilisateurs individuels et à des groupes. Pour plus d'informations, voir le tutoriel de Red Hat: Comment gérer les autorisations Linux pour les utilisateurs, les groupes et autres.
Vérification de la configuration MPIO (E-S multi-accès)
Si MPIO n'est pas configuré correctement, votre périphérique de stockage peut se déconnecter et apparaître comme étant hors ligne en cas de panne réseau ou de maintenance par les équipes d'IBM Cloud®. MPIO offre un niveau supplémentaire de connectivité lors de ces événements et maintient une session établie avec le volume, avec des opérations de lecture/écriture actives.
-
Pour vérifier si le multi-accès détecte les périphériques, affichez la configuration en cours. S'il est configuré correctement, un seul groupe existe pour chaque volume, avec un nombre de chemins égal au nombre de sessions iSCSI.
multipath -lroot@server:~# multipath -l 3600a09803830304f3124457a45757067 dm-1 NETAPP,LUN C-Mode size=20G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='round-robin 0' prio=-1 status=active | `6:0:0:101 sdd 8:48 active ready running `-+- policy='round-robin 0' prio=-1 status=enabled `- 7:0:0:101 sde 8:64 active ready runningLa chaîne «
3600a09803830304f3124457a45757067» dans l'exemple correspond à l'identifiant WWID unique du volume. Chaque volume est identifié par son identifiant WWID unique, qui reste inchangé tant que le volume existe. -
Confirmez que tous les disques sont présents. Dans une configuration correcte, vous devriez voir deux disques s'afficher dans la sortie avec le même identificateur, ainsi qu'une liste
/dev/mapperde la même taille avec le même identificateur. Le périphérique/dev/mapperest celui qui est configuré par le multi-accès.fdisk -l | grep Disk- Exemple de sortie d'une configuration correcte.
root@server:~# fdisk -l | grep Disk Disk /dev/sda: 500.1 GB, 500107862016 bytes Disk identifier: 0x0009170d Disk /dev/sdc: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1 Disk /dev/sdb: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1 Disk /dev/mapper/3600a09803830304f3124457a45757066: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1L'identificateur WWID est inclus dans le nom du périphérique créé par le multi-accès. Il est recommandé d'utiliser le WWID dans votre application.
- Exemple de sortie d'une configuration incorrecte. Il n'existe pas de disque
/dev/mapper.
root@server:~# fdisk -l | grep Disk Disk /dev/sda: 500.1 GB, 500107862016 bytes Disk identifier: 0x0009170d Disk /dev/sdc: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1 Disk /dev/sdb: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1 -
Pour vérifier qu'aucun disque local ne figure dans la liste des périphériques multipath, affichez la configuration actuelle avec un niveau de détail 3. La sortie de la commande suivante affiche les unités et indique également celles qui ont été ajoutées à la liste de blocages.
multipath -l -v 3 | grep sd <date and time> -
Si un volume est provisionné et attaché alors que le second chemin est en panne, l'hôte peut voir un seul chemin lorsque le scan de découverte est exécuté pour la première fois. Si vous rencontrez ce phénomène rare, consultez la page d'état IBM Cloud® pour voir si un événement ayant un impact sur la capacité de votre hôte à accéder au stockage est en cours. Si aucun événement n'est signalé, relancez l'analyse de détection pour vous assurer que tous les chemins d'accès ont bien été détectés. Si un événement est en cours, le stockage peut être attaché avec un seul chemin. Toutefois, il est essentiel que les chemins soient réanalysés une fois l'événement terminé. Si les deux chemins ne sont toujours pas détectés après la nouvelle analyse, ouvrez un dossier d'assistance afin que le problème puisse être examiné de manière approfondie.
Démontage de volumes Block Storage for Classic
- Démontez le système de fichiers.
umount /dev/mapper/XXXp1 /PerfDisk - Si vous n'avez pas d'autre volumes dans ce portail cible, vous pouvez vous déconnecter de la cible.
iscsiadm -m node -T <TARGET NAME> -p <PORTAL IP:PORT> --logout - Si vous n'avez pas d'autre volumes dans ce portail cible, supprimez l'enregistrement de portail cible pour empêcher les futures tentatives de connexion.
Pour plus d'informations, consultez le manuel d'iscsiadm -m node -o delete -T <TARGET IQN> -p <PORTAL IP:PORT>iscsiadm.