Monter le volume iSCSI sur le système d'exploitation Ubuntu
Découvrez comment monter un volume Block Storage for Classic sur Ubuntu 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 avec un système d'exploitation Ubuntu. 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.
Pour plus d'informations sur le fonctionnement du service « iSCSI » sous le système d'exploitation Ubuntu, consultez la documentation relative à l'initiateur(ou client)iSCSI. 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
-
Créez un serveur virtuel pour Classic dans la console, à partir du CLI, avec l'API ou Terraform.
-
Commander un volume de stockage en bloc dans le même centre de données.
-
Assurez-vous que l'hôte est autorisé à accéder au volume Block Storage for Classic. Pour plus d'informations, voir Autoriser l'hôte dans la console Autoriser l'hôte depuis la CLI Autoriser l'hôte avec Terraform. Une fois l'autorisation terminée, notez le nom d'utilisateur, le mot de passe et les informations relatives à l'IQN de l'hôte.
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 endommagées. La corruption de 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.
Avant de commencer à configurer iSCSI,, assurez-vous que les interfaces réseau sont correctement définies et configurées pour que le paquetage open-iscsi fonctionne correctement, en particulier pendant la période de démarrage. Dans les versions
les plus récentes de Ubuntu, le principal outil permettant de définir les informations relatives aux adresses réseau est Netplan. Il utilise
un fichier de configuration YAML pour définir les paramètres du réseau, remplaçant les anciennes méthodes comme /etc/network/interfaces. Netplan peut être configuré à l'aide de la ligne de commande ou via le site NetworkManager
dans les environnements de bureau.
Il est recommandé d'exécuter le trafic de stockage sur un réseau local virtuel (VLAN) qui ignore le pare-feu. L'exécution du trafic de stockage via des pare-feux logiciels augmente le temps d'attente et a un impact négatif sur les performances de stockage. Pour plus d'informations sur le routage du trafic de stockage vers sa propre interface VLAN, voir FAQ (Foire aux questions).
Installez les utilitaires iSCSI et multi-accès.
Assurez-vous que votre système est à jour et qu'il comprend les paquets open-iscsi et multipath-tools. Utilisez les commandes suivantes pour installer les packages.
-
Mettre à jour le système d'exploitation :
apt-get update -
Installez
open-iscsi.sudo apt install open-iscsiLorsque le module est installé, il crée les deux fichiers suivants.
/etc/iscsi/iscsid.conf/etc/iscsi/initiatorname.iscsi
-
Démarrer les services :
systemctl enable open-iscsisystemctl enable iscsid -
Installez
multipath-tools.sudo apt install multipath-tools
Configurer ISCSI
Mise à jour du nom de l'initiateur
-
Vérifiez que le fichier
/etc/iscsi/initiatorname.iscsiexiste et examinez son contenu.cat /etc/iscsi/initiatorname.iscsiroot@vsi4classicubuntu:~# cat /etc/iscsi/initiatorname.iscsi GenerateName=yes -
En utilisant un éditeur de texte, mettez à jour le fichier
/etc/iscsi/initiatorname.iscsiavec l'IQN de la console IBM Cloud®. Saisissez la valeur au format suivant.InitiatorName=<IQN-value-from-the-portal>
Configuration des données d'identification
-
Assurez-vous que le
iscsid.conffichier existe en vérifiant son contenu.cat /etc/iscsi/iscsid.conf -
En utilisant l'éditeur de texte, décommentez et modifiez les entrées suivantes. Vous trouverez le nom d'utilisateur et le mot de passe dans la console IBM Cloud®.
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>Laissez les autres paramètres CHAP commentés. Le stockage « IBM Cloud® » utilise uniquement l'authentification unidirectionnelle. N'activez pas l'authentification CHAP mutuelle.
-
Redémarrez le service iscsi pour que les modifications prennent effet.
systemctl restart iscsid.service
Pour plus d'informations, consultez les manuels Ubuntu- iscsid et les manuels Ubuntu- systemctl.
Configurez le multi-accès
-
Après avoir installé l'utilitaire multipath, vous pouvez vérifier le contenu par défaut du fichier
multipath.conf.cat /etc/multipath.conf -
Modifiez les valeurs par défaut de
/etc/multipath.confà l'aide d'un éditeur de texte en les remplaçant par le contenu de l'extrait suivant.defaults { user_friendly_names no 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 "3 queue_if_no_path pg_init_retries 50" 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/mpathn, oùmpathncorrespond au numéro WWID (World Wide Identifier) du périphérique. Pour plus d'informations, consultez les manuels d' Ubuntu s -multipath.conf. -
Enregistrez le fichier de configuration et quittez l'éditeur.
-
Démarrez le service multi-accès.
service multipath-tools start- Activez les services nécessaires.
Si vous devez modifier le fichier de configuration multipath après avoir démarré le démon multipath, vous devez redémarrer le service «
multipathd» pour que les modifications prennent effet.Pour plus d'informations sur l'utilisation de la fonctionnalité « Device Mapper Multipath » sous Windows 20 Ubuntu, consultez la section « Introduction au multipathing Device Mapper ».
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 i iSCSI, à s'y connecter, ainsi qu'à accéder à la base de données open-iscsi et à la gérer. Pour plus d'informations, consultez les manuels d' Ubuntu, iscsiadm. Dans cette étape, découvrez le périphérique en utilisant l'adresse IP cible obtenue à partir de la console d' IBM Cloud®.
-
Exécutez la reconnaissance sur la grappe 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 <ip-value-from-IBM-Cloud-console>Si les informations d'IP et les détails d'accès sont affichés, la reconnaissance est réussie.
root@vsi4classicubuntu:~# iscsiadm -m discovery -t sendtargets -p 161.26.114.197 161.26.114.197:3260,1052 iqn.1992-08.com.netapp:stfdal1304 161.26.114.196:3260,1049 iqn.1992-08.com.netapp:stfdal1304 -
Configurez la connexion automatique.
sudo iscsiadm -m node --op=update -n node.conn[0].startup -v automatic sudo iscsiadm -m node --op=update -n node.startup -v automatic -
Connectez-vous à la grappe iSCSI.
sudo iscsiadm -m node --login
Vérification de la configuration
-
Validez la création de la session iSCSI.
iscsiadm -m session -o showroot@vsi4classicubuntu:~# iscsiadm -m session -o show tcp: [3] 161.26.114.197:3260,1052 iqn.1992-08.com.netapp:stfdal1304 (non-flash) tcp: [4] 161.26.114.196:3260,1049 iqn.1992-08.com.netapp:stfdal1304 (non-flash) -
Validez l'existance de plusieurs chemins.
multipath -llCette 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@vsi4classicubuntu:~# multipath -ll 3600a0980383056666424506a33426478 dm-0 NETAPP,LUN C-Mode size=500G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw |-+- policy='service-time 0' prio=50 status=active | `- 3:0:0:0 sdb 8:16 active ready running `-+- policy='service-time 0' prio=10 status=enabled `- 2:0:0:0 sda 8:0 active ready 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 grâce à des opérations de lecture/écriture actives.
Dans cet exemple, «
3600a0980383056666424506a33426478» est l'identifiant WWID qui reste inchangé tant que le volume existe. Il est recommandé que votre application utilise 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. -
Vérifiez
dmesgpour vous assurer que les nouveaux disques seront détectés.dmesg
Création d'une partition et d'un système de fichiers (facultatif)
Une fois le volume monté et accessible sur l'hôte, vous pouvez créer un système de fichiers. Procédez comme indiqué ci-après pour créer un système de fichiers sur le volume récemment monté.
-
Créez une partition.
$ sudo fdisk /dev/mapper/mpatha Welcome to fdisk (util-linux 2.34). 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 0x92c0322a. Command (m for help): p Disk /dev/mapper/mpatha: 1 GiB, 1073741824 bytes, 2097152 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 65536 bytes Disklabel type: dos Disk identifier: 0x92c0322a 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): First sector (2048-2097151, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097151, default 2097151): Created a new partition 1 of type 'Linux' and of size 1023 MiB. Command (m for help): w The partition table has been altered. -
Créez le système de fichiers.
$ sudo mkfs.ext4 /dev/mapper/mpatha-part1 mke2fs 1.45.5 (07-Jan-2020) Creating filesystem with 261888 4k blocks and 65536 inodes Filesystem UUID: cdb70b1e-c47c-47fd-9c4a-03db6f038988 Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done -
Montez l'unité par bloc.
sudo mount /dev/mapper/mpatha-part1 /mnt -
Accédez aux données pour vérifier que la nouvelle partition et le nouveau système de fichiers sont prêts à être utilisés.
ls /mnt
Démontage de volumes Block Storage for Classic
Lorsque vous n'avez plus besoin du volume, démontez-le avant de le supprimer.
-
Démontez le système de fichiers.
umount /dev/mapper/XXXp1 /PerfDiskPour plus d'informations, consultez les manuels d' Ubuntu s -
umount. -
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.
iscsiadm -m node -o delete -t <TARGET IQN> -p <PORTAL IP:PORT>Pour plus d'informations, consultez les manuels d' Ubuntu s -
iscsiadm.