IBM Cloud Docs
Monter le volume iSCSI sur le système d'exploitation Ubuntu

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

  1. Après avoir installé l'utilitaire multipath, créez un fichier de configuration vide appelé /etc/multipath.conf.

  2. 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.

  3. Enregistrez le fichier de configuration et quittez l'éditeur, si nécessaire.

  4. 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®.

  1. 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.

  2. 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
    
  3. Activez les services nécessaires.

    systemctl enable open-iscsi
    systemctl enable iscsid
    
  4. Redémarrez le service iscsid.

    systemctl restart iscsid.service
    
  5. Connectez-vous à la grappe iSCSI.

    sudo iscsiadm -m node --loginall=automatic
    

Vérification de la configuration

  1. Validez la création de la session iSCSI.

    iscsiadm -m session -o show
    
  2. 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.

  3. 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é.

  1. 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.
    
  2. 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
    
  3. Montez l'unité par bloc.

    sudo mount /dev/mapper/mpatha-part1 /mnt
    
  4. 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.

  1. Démontez le système de fichiers.

    umount /dev/mapper/XXXp1 /PerfDisk
    

    Pour plus d'informations, consultez les manuels d' Ubuntu s - umount.

  2. 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
    
  3. 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.