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
-
Una vez instalada la utilidad multipath, cree un archivo de configuración vacío llamado
/etc/multipath.conf
. -
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
, dondempathn
es el número WWID del dispositivo. Para más información, consulte los manuales de Ubuntu-multipath.conf
. -
Guarde el archivo de configuración y salga del editor, si es necesario.
-
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®.
-
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.
-
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
-
Habilite los servicios necesarios.
systemctl enable open-iscsi systemctl enable iscsid
-
Reinicie el servicio iscsid.
systemctl restart iscsid.service
-
Inicie sesión en la matriz iSCSI.
sudo iscsiadm -m node --loginall=automatic
Verificación de la configuración
-
Valide que se ha establecido la sesión iSCSI.
iscsiadm -m session -o show
-
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. -
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.
-
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.
-
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
-
Monte el dispositivo de bloque.
sudo mount /dev/mapper/mpatha-part1 /mnt
-
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.
-
Desmonte el sistema de archivos.
umount /dev/mapper/XXXp1 /PerfDisk
Para más información, consulte los manuales de Ubuntu:
umount
. -
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
-
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
.