IBM Cloud Docs
Montar volumen iSCSI en Ubuntu OS

Montar volumen iSCSI en Ubuntu OS

Este tutorial le guiará a través de cómo montar un volumen IBM Cloud® Block Storage for Classic en un servidor con un sistema operativo Ubuntu. Va a crear dos conexiones desde una interfaz de red de su host a dos direcciones IP de destino de la matriz de almacenamiento.

Si utiliza otro sistema operativo Linux®, consulte la documentación de su distribución específica y asegúrese de que el multipath admite ALUA para la prioridad de ruta.

Antes de empezar

Si varios hosts montan el mismo volumen Block Storage for Classic sin estar gestionados de forma cooperativa, los datos están en riesgo de corrupción. Se pueden producir daños en el volumen si varios hosts realizan cambios en el volumen al mismo tiempo. Necesita un sistema de archivos de disco compartido con reconocimiento de clúster para evitar la pérdida de datos como, por ejemplo, Microsoft Cluster Shared Volumes (CSV), Red Hat Global File System (GFS2), VMware® VMFS y otros. Para más información, consulte la documentación del sistema operativo de su host.

Es mejor ejecutar el tráfico de almacenamiento en una VLAN, que omita el cortafuegos. La ejecución del tráfico de almacenamiento a través de cortafuegos de software aumenta la latencia y afecta negativamente al rendimiento del almacenamiento. Para obtener más información sobre cómo direccionar el tráfico a su propia interfaz de VLAN, consulte las Preguntas frecuentes.

Antes de empezar a configurar iSCSI, asegúrese de que las interfaces de red están correctamente establecidas y configuradas para que el paquete open-iscsi funcione correctamente, especialmente durante el tiempo de arranque. En las versiones más recientes de Ubuntu, la principal herramienta para configurar la información de las direcciones de red es Netplan. Utiliza un archivo de configuración YAML para definir la configuración de red, sustituyendo a métodos antiguos como /etc/network/interfaces. Netplan puede configurarse con la línea de comandos o a través de NetworkManager en entornos de escritorio.

Para obtener más información sobre cómo funciona el servicio iSCSI en el SO Ubuntu, consulte la documentación de iSCSI Initiator(or Client).

Asegúrese también de que el host que va a acceder al volumen Block Storage for Classic está autorizado. Para más información, ver Autorizando el host en la consola Autorizar el host desde la CLI Autorizar el host con Terraform.

Instalar los programas de utilidad multivía e iSCSI

Asegúrese de que su sistema está actualizado e incluye los paquetes open-iscsi y multipath-tools. Utilice los mandatos siguientes para instalar los paquetes.

  • Instale open-iscsi.

    sudo apt install open-iscsi
    

    Cuando el paquete está instalado, crea los dos archivos siguientes.

    • /etc/iscsi/iscsid.conf
    • /etc/iscsi/initiatorname.iscsi
  • Instale multipath-tools.

    sudo apt install multipath-tools
    

    Si desea arrancar desde el volumen, también deberá instalar el paquete multipath-tools-boot.

Configurar la multivía de acceso

  1. Una vez instalada la utilidad multipath, cree un archivo de configuración vacío llamado /etc/multipath.conf.

  2. Modifique los valores predeterminados 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 sección de valores predeterminados iniciales del archivo de configuración configura el sistema para que los nombres de los dispositivos multipath tengan la forma /dev/mapper/mpathn, donde mpathn es el número WWID del dispositivo. Para más información, consulte los manuales de Ubuntu- multipath.conf.

  3. Guarde el archivo de configuración y salga del editor, si es necesario.

  4. Inicie el servicio de multivía de acceso.

    service multipath-tools start
    

    Si necesita editar el archivo de configuración de multipath después de haber iniciado el demonio de multipath, debe reiniciar el servicio multipathd para que los cambios surtan efecto.

    Para obtener más información sobre el uso de la función Device Mapper Multipath en Ubuntu 20, consulte Device Mapper Multipathing - Introducción.

Actualizar el archivo /etc/iscsi/initiatorname.iscsi

Actualice el archivo /etc/iscsi/initiatorname.iscsi con el IQN desde la consola IBM Cloud®. Escriba el valor en minúsculas.

InitiatorName=<value-from-the-Portal>

Configurar credenciales

Edite los siguientes ajustes en /etc/iscsi/iscsid.conf utilizando el nombre de usuario y la contraseña de la consola IBM Cloud®. Utilice mayúsculas para los nombres de 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>

Deje los otros ajustes de CHAP comentados. El almacenamiento IBM Cloud® solo utiliza la autenticación unidireccional. No habilite Mutual CHAP.

Reinicie el servicio iscsi para que se apliquen los cambios.

systemctl restart iscsid.service

Para obtener más información, consulte los manuales Ubuntu: iscsid y manuales Ubuntu- systemctl.

Descubrir el dispositivo de almacenamiento e iniciar sesión

La utilidad iscsiadm es una herramienta de línea de comandos que se utiliza para el descubrimiento y el inicio de sesión en los destinos iSCSI, además del acceso y la gestión de la base de datos open-iscsi. Para obtener más información, consulte los manuales de Ubuntu: iscsiadm. En este paso, descubra el dispositivo utilizando la dirección IP de destino que se obtuvo de la consola IBM Cloud®.

  1. Ejecute el descubrimiento en la matriz de iSCSI.

    iscsiadm -m discovery -t sendtargets -p <ip-value-from-IBM-Cloud-console>
    

    Si se visualiza la información de IP y los detalles de acceso, el descubrimiento es satisfactorio.

  2. Configure el inicio de sesión automático.

    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. Habilite los servicios necesarios.

    systemctl enable open-iscsi
    systemctl enable iscsid
    
  4. Reinicie el servicio iscsid.

    systemctl restart iscsid.service
    
  5. Inicie sesión en la matriz iSCSI.

    sudo iscsiadm -m node --loginall=automatic
    

Verificación de la configuración

  1. Valide que se ha establecido la sesión iSCSI.

    iscsiadm -m session -o show
    
  2. Compruebe que existen varias vías de acceso.

    multipath -ll
    

    Este mandato informa de las vías de acceso. Si se configura correctamente, cada volumen tiene un único grupo, con un número de rutas igual al número de sesiones de iSCSI. Es posible adjuntar un volumen con una sola ruta, pero es importante que las conexiones se establezcan en ambas rutas para evitar interrupciones del servicio.

    $ 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 no se ha configurado correctamente, el dispositivo de almacenamiento se puede desconectar y aparecer fuera de línea cuando se produzca un corte en la red o cuando los equipos de IBM Cloud® realizan tareas de mantenimiento. MPIO proporciona un nivel extra de conectividad durante esos eventos, y mantiene una sesión establecida con el volumen con operaciones activas de lectura/escritura.

    En el ejemplo, 36001405b816e24fcab64fb88332a3fc9 es el WWID que persiste mientras existe el volumen. Se recomienda que la aplicación utilice el WWID. También es posible asignar nombres más fáciles de leer utilizando las palabras clave "user_friendly_names" o "alias" en multipath.conf.

  3. Compruebe dmesg para asegurarse de que se han detectado los nuevos discos.

    dmesg
    

Creación de una partición y un sistema de archivos (opcional)

Después de que el volumen esté montado y sea accesible en el host, puede crear un sistema de archivos. Siga estos pasos para crear un sistema de archivos en el volumen montado recientemente.

  1. Cree una partición.

    $ 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. Cree el sistema de archivos.

    $ 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. Monte el dispositivo de bloque.

    sudo mount /dev/mapper/mpatha-part1 /mnt
    
  4. Acceda a los datos para confirmar que la nueva partición y el nuevo sistema de archivos están listos para su uso.

    ls /mnt
    

Desmontaje de volúmenes de Block Storage for Classic

Cuando ya no necesite el volumen, desmóntelo antes de eliminarlo.

  1. Desmonte el sistema de archivos.

    umount /dev/mapper/XXXp1 /PerfDisk
    

    Para más información, consulte los manuales de Ubuntu: umount.

  2. Si no tiene ningún otro volumen en el portal de destino, puede finalizar la sesión del destino.

    iscsiadm -m node -t <TARGET NAME> -p <PORTAL IP:PORT> --logout
    
  3. Si no tiene ningún otro volumen en el portal de destino, suprima el registro del portal de destino para evitar futuros intentos de inicio de sesión.

    iscsiadm -m node -o delete -t <TARGET IQN> -p <PORTAL IP:PORT>
    

    Para más información, consulte los manuales de Ubuntu: iscsiadm.