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

Acerca del proyecto

Manage iscsi blockstorage with multipath on softlayer like a boss

Instalar
ansible-galaxy install isca0.mpath
Licencia
lgpl-3.0
Descargas
75
Propietario