isca0.mpath
Mpath
Instalar, montar o desmontar blockstorages iscsi con multipath.
Esto ha sido probado en blockstorages de SoftLayer, pero también funcionará en otras configuraciones con storages iscsi multipath.
La lógica de este rol es:
Durante la instalación
- Instalar las dependencias de paquetes para usar multipath e iscsi
- Configurar /etc/multipath.conf
- Probar el módulo del kernel dm-multipath
- Habilitar y iniciar multipathd
- Listar con (multipath -l) para activar el controlador de multipathd
- Configurar /etc/iscsi/initiatorname.iscsi
- Editar la autenticación chap en /etc/iscsi/iscsid.conf
- Intentar iniciar sesión automáticamente en el portal, si falla usar inicio de sesión normal
- Crear un alias en /etc/multipath/bindings
- Montar multipath "/dev/mapper/mydeviceid" en "/mnt/myaliasname"
- Activar iscsi e iscsid para iniciar y habilitarse
- Colocar las entradas en /etc/fstab
Durante el desmontaje
- Obtener los pid's de lsof del dispositivo "/dev/mapper/mydeviceid"
- Si el dispositivo está en uso, forzar y liberar el dispositivo
- Desmontar el dispositivo de forma perezosa (umount -l dispositivo)
- Desmontar y eliminar entradas de fstab
- Limpiar multipath con (multipath -f dispositivo)
- Cerrar sesión desde la sesión del portal objetivo
- Activar el controlador para detener y deshabilitar los servicios iscsi, iscsid y multipathd
Requisitos
Necesitarás un blockstorage iscsi multipath, el nombre de usuario y la contraseña para el iqn. También necesitarás la ruta completa del iqn del iniciador y el id del mapeador iscsi. Por ejemplo: /dev/mapper/3600...
Variables del Rol
Estas son las variables que deberás ajustar en tu playbook.
iscsint es el nombre del iqn del iniciador.
por ejemplo:
iscsint: iqn.1994-05.com.redhat:47c98423c167
Puedes establecer múltiples iniciadores como un arreglo:
iscsint:
- iqn.1994-05.com.redhat:47c98423c167
- iqn.1994-05.com.redhat:47c98423c167-2
- iqn.1994-05.com.redhat:47c98423c167-3
mpathip es la dirección IP del objetivo
mpathip: 10.150.10.20
filesystem: está configurado por defecto en ext4, cámbialo a lo que desees.
Consulta los sistemas de archivos compatibles en el módulo de montaje de ansible.
map: si está configurado en verdadero, significa que todas las tareas de instalación y configuración se ejecutarán.
Si lo configuras en falso, el mapeador de dispositivos se desmontará y seguirá el flujo de desmontaje.
wwid es el alias para el dispositivo multipath y se utilizará para configurar el archivo de bindings.
Esta variable es muy importante, también se usará en todo el rol para montar y desmontar el dispositivo
basado en el id.
La sintaxis debe ser:
wwid:
- { id: '360009827346', alias: 'mylun0' }
- { id: '360782378662', alias: 'mylun1' }
...
packs es la lista de paquetes a instalar. Instalará iscsi, multipath y lsof.
credentials deben ajustarse en tu playbook con tu nombre de usuario y contraseña.
por ejemplo:
credentials:
- name: "Mis Credenciales"
login: mylogin
pass: mypassword
¡ADVERTENCIA!
el nombre de usuario y la contraseña deben declararse sin comillas " o comillas simples '.
Dependencias
Ninguna
Ejemplo de Playbook
Aquí hay un ejemplo de un playbook. Este playbook instalará y montará un dispositivo multipath en somehost:
- name: "Desplegar | Ejecutando rol isca0.mpath"
hosts: somehost
become: yes
remote_user: myuser
vars:
mpathip: "10.200.10.100"
credentials:
- name: "Multipath"
login: MyLogin
pass: Mypassword
iscsint:
- "iqn.1994-05.com.redhat:47c98423c167"
wwid:
- { id: '3600a0980383888835645961', alias: 'blk' }
roles:
- mpath
Si deseas desmontar un dispositivo en un grupo de hosts y luego montarlo en un host exclusivo. Puedes
ejecutar primero un playbook de desmontaje y luego un playbook de "instalar/montar".
Aquí hay un ejemplo de playbook de desmontaje:
- name: "Desplegar | Ejecutando rol isca0.mpath"
hosts: groupofhosts
become: yes
remote_user: myuser
vars:
map: false
mpathip: "10.200.10.100"
wwid:
- { id: '3600a098038303631a35645961', alias: 'blk' }
roles:
- mpath
Como puedes ver, solo configura map en falso, para que el rol realice solo las tareas de desmontaje. :wink:
Tareas pendientes
- Agregar soporte para auto-montaje
Licencia
LGPL-3.0
Información del Autor
Este rol fue creado en 2017 por isca
Manage iscsi blockstorage with multipath on softlayer like a boss
ansible-galaxy install isca0.mpath