Monter le volume iSCSI sur le système d'exploitation Ubuntu
Ce tutoriel vous explique comment monter un volume IBM Cloud® Block Storage for Classic sur un serveur doté d'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.
Si vous utilisez un autre système d'exploitation Linux®, reportez-vous à la documentation de votre distribution spécifique et assurez-vous que le multipath prend en charge ALUA pour la priorité des chemins.
Avant de commencer
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 de disque partagé sensible au cluster pour éviter la perte de données, par exemple Microsoft Cluster Shared Volumes (CSV), Red Hat Global File System (GFS2), VMware® VMFS, etc. Pour plus d'informations, consultez la documentation du système d'exploitation de votre hôte.
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).
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.
Pour plus d'informations sur le fonctionnement du service iSCSI sur le système d'exploitation Ubuntu, voir iSCSI Initiator(or Client) Documentation.
Assurez-vous également que l'hôte qui doit accéder au volume Block Storage for Classic est autorisé. 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.
Installez les utilitaires iSCSI et multi-accès.
Assurez-vous que votre système est mis à jour et qu'il inclut les paquets open-iscsi
et multipath-tools
. Utilisez les commandes suivantes pour installer les packages.
-
Installez
open-iscsi
.sudo apt install open-iscsi
Lorsque le module est installé, il crée les deux fichiers suivants.
/etc/iscsi/iscsid.conf
/etc/iscsi/initiatorname.iscsi
-
Installez
multipath-tools
.sudo apt install multipath-tools
Si vous souhaitez démarrer à partir du volume, le paquet
multipath-tools-boot
doit également être installé.
Configurez le multi-accès
-
Après avoir installé l'utilitaire multipath, créez un fichier de configuration vide appelé
/etc/multipath.conf
. -
Modifiez les valeurs par défaut de
/etc/multipath.conf
.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 des valeurs par défaut initiales du fichier de configuration configure votre système de sorte que les noms des périphériques multipath soient de la forme
/dev/mapper/mpathn
, oùmpathn
est le numéro WWID 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, si nécessaire.
-
Démarrez le service multi-accès.
service multipath-tools start
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 soient prises en compte.Pour plus d'informations sur l'utilisation de la fonction Device Mapper Multipath sur Ubuntu 20, voir Device Mapper Multipathing - Introduction.
Mettez à jour le fichier /etc/iscsi/initiatorname.iscsi
Mettez à jour le fichier /etc/iscsi/initiatorname.iscsi
avec l'IQN à partir de la console IBM Cloud®. Saisissez la valeur en minuscules.
InitiatorName=<value-from-the-Portal>
Configurer les données d'identification
Modifiez les paramètres suivants dans /etc/iscsi/iscsid.conf
en utilisant le nom d'utilisateur et le mot de passe de la console IBM Cloud®. Utilisez des majuscules pour les noms CHAP.
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® n'utilise que 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
.
Reconnaissez le périphérique de stockage et connectez-vous.
L'utilitaire iscsiadm est un outil de ligne de commande utilisé pour la découverte et la connexion aux cibles iSCSI, ainsi que pour l'accès et la gestion de la base de données open-iscsi. 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.
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.
-
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
-
Activez les services nécessaires.
systemctl enable open-iscsi systemctl enable iscsid
-
Redémarrez le service iscsid.
systemctl restart iscsid.service
-
Connectez-vous à la grappe iSCSI.
sudo iscsiadm -m node --loginall=automatic
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 -ll
Cette commande affiche les chemins d'accès. Si la configuration est correcte, chaque volume possède un seul groupe, avec un nombre de chemins égal au nombre de sessions iSCSI. Il est possible d'attacher un volume avec un seul chemin, mais il est important que les connexions soient établies sur les deux chemins pour éviter toute interruption de service.
$ sudo multipath -ll mpathb (360014051f65c6cb11b74541b703ce1d4) dm-1 LIO-ORG,TCMU device size=1.0G features='0' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=1 status=active | `- 7:0:0:2 sdh 8:112 active ready running `-+- policy='service-time 0' prio=1 status=enabled `- 8:0:0:2 sdg 8:96 active ready running mpatha (36001405b816e24fcab64fb88332a3fc9) dm-0 LIO-ORG,TCMU device size=1.0G features='0' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=1 status=active | `- 7:0:0:1 sdj 8:144 active ready running `-+- policy='service-time 0' prio=1 status=enabled `- 8:0:0:1 sdi 8:128 active ready running
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 fournit un niveau supplémentaire de connectivité pendant ces événements et maintient une session établie avec le volume avec des opérations de lecture/écriture actives.
Dans l'exemple,
36001405b816e24fcab64fb88332a3fc9
est l'identificateur WWID persistant 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" dans multipath.conf. -
Vérifiez
dmesg
pour 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 /PerfDisk
Pour 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
.