Montar volumen iSCSI en Ubuntu OS
Aprenda a montar un volumen Block Storage for Classic en Ubuntu con E/S multipath para un acceso redundante y de alto rendimiento al almacenamiento.
Siga el tutorial para 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.
Para obtener más información sobre el funcionamiento del servicio « iSCSI » en el sistema operativo « Ubuntu », consulte la documentación de iSCSI Initiator(o Client). Si utiliza otro sistema operativo de tipo « Linux® », consulte la documentación de su distribución concreta y asegúrese de que el sistema multipath sea compatible con el protocolo ALUA (Asymmetric Logical Unit Access) para la priorización de rutas.
Antes de empezar
-
Cree un servidor virtual para Classic en la consola, desde la CLI, con la API o Terraform.
-
Solicite un volumen de almacenamiento en bloque en el mismo centro de datos.
-
Asegúrese de que el host está autorizado a acceder al volumen Block Storage for Classic. Para más información, ver Autorizando el host en la consola Autorizar el host desde la CLI Autorizar el host con Terraform. Una vez completada la autorización, anote el nombre de usuario, la contraseña y la información del IQN del host.
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 compatible con clústeres para evitar la pérdida de datos, como Microsoft Cluster Shared Volumes ( CSV ), Red Hat Global File System ( GFS2 ), VMware® VMFS y otros. Para obtener más información, consulta la documentación de tu sistema operativo.
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.
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.
Instalar los programas de utilidad multivía e iSCSI
Asegúrate de que tu sistema esté actualizado y de que incluya los paquetes open-iscsi y multipath-tools. Utilice los mandatos siguientes para instalar los paquetes.
-
Actualizar el sistema operativo:
apt-get update -
Instale
open-iscsi.sudo apt install open-iscsiCuando el paquete está instalado, crea los dos archivos siguientes.
/etc/iscsi/iscsid.conf/etc/iscsi/initiatorname.iscsi
-
Inicie los servicios:
systemctl enable open-iscsisystemctl enable iscsid -
Instale
multipath-tools.sudo apt install multipath-tools
Configurar ISCSI
Actualización del nombre del iniciador
-
Compruebe que el archivo
/etc/iscsi/initiatorname.iscsiexiste y revise su contenido.cat /etc/iscsi/initiatorname.iscsiroot@vsi4classicubuntu:~# cat /etc/iscsi/initiatorname.iscsi GenerateName=yes -
Utilizando un editor de texto, actualice el archivo
/etc/iscsi/initiatorname.iscsicon el IQN de la consola IBM Cloud®. Introduce el valor con el siguiente formato.InitiatorName=<IQN-value-from-the-portal>
Configuración de credenciales
-
Asegúrate de que el
iscsid.confarchivo existe comprobando su contenido.cat /etc/iscsi/iscsid.conf -
Utilizando el editor de texto, descomente y edite las siguientes entradas. Puede encontrar el nombre de usuario y la contraseña en la consola 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>Deja el resto de ajustes de CHAP comentados. El almacenamiento de « IBM Cloud® » utiliza únicamente 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.
Configurar la multivía de acceso
-
Una vez instalada la utilidad multipath, puede comprobar el contenido por defecto del archivo
multipath.conf.cat /etc/multipath.conf -
Modifique los valores predeterminados de
/etc/multipath.confcon un editor de texto sustituyéndolos por el contenido del siguiente fragmento.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 de tal manera que los nombres de los dispositivos multipath tengan el formato
/dev/mapper/mpathn, dondempathnes el número WWID (World Wide Identifier) del dispositivo. Para más información, consulte los manuales de Ubuntu-multipath.conf. -
Guarda el archivo de configuración y cierra el editor.
-
Inicie el servicio de multivía de acceso.
service multipath-tools start- Habilite los servicios necesarios.
Si necesitas modificar el archivo de configuración de multipath después de haber iniciado el demonio de multipath, debes 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 « Introducción a Device Mapper Multipath ».
Descubrir el dispositivo de almacenamiento e iniciar sesión
La utilidad iscsiadm es una herramienta comando que se utiliza para detectar y conectarse a destinos de « iSCSI », así como para acceder y gestionar la base de datos de 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.
Block Storage for Classic requiere una detección dinámica de destinos que utilice el método
SendTargets. No utilice la configuración de nodos estáticos, ya que no es escalable y puede provocar problemas de conectividad cuando se realizan cambios en el almacenamiento (como autorizar o desautorizar hosts para acceder a los LUN). La detección dinámica garantiza que el host detecte automáticamente cualquier cambio en los portales de destino.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.
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 -
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 -
Inicie sesión en la matriz iSCSI.
sudo iscsiadm -m node --login
Verificación de la configuración
-
Valide que se ha establecido la sesión 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) -
Compruebe que existen varias vías de acceso.
multipath -llEste mandato informa de las vías de acceso. Si está configurado correctamente, cada volumen tendrá un único grupo, con un número de rutas igual al número de sesiones de iSCSI. Es posible conectar un volumen mediante una sola ruta, pero es importante que se establezcan conexiones en ambas rutas para evitar interrupciones en el servicio.
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 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 adicional de conectividad durante esos eventos y mantiene una sesión establecida con el volumen mediante operaciones activas de lectura y escritura.
En el ejemplo, «
3600a0980383056666424506a33426478» es el WWID que se mantiene mientras exista 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
dmesgpara 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 /PerfDiskPara 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.