Escenario 3.H: Acceso a dispositivos iSCSI a través de MPIO dende Linux

De Manuais Informática - IES San Clemente.
Ir a la navegación Ir a la búsqueda
  • Neste escenario 3.H imos configurar un Linux, neste caso uclient, para que acceda ao dispositivo iSCSI da NAS a través de dous interfaces de rede, facendo uso de MPIO.

00 Servizos Virtualizacion Escenarios Semana 03 H.jpg

Introdución

  • A modo e resumo, vanse realizar os seguintes pasos:
    • Borrar os destinos que se tiñan de antes para poder comezar de cero.
    • Instalar o paquete multipath-tools: http://christophe.varoqui.free.fr/
      • Ao acceder ao un destino iSCSI por varias rutas distintas, no cliente vanse mostrar tantos discos como rutas haxa ao mesmo destino.
      • Multipath-tools vai facilitar un único dispositivo de bloque para un destino accesible por varias rutas (MPIO).
      • Permitirá reencamiñar o tráfico co destino cando se perda un dos camiños e recuperarse o antes posible desa perda.

Configuración dos interfaces de rede de uclient

Nodos dispoñibles/activos no cliente (iniciador)

  • Revisar en que situación se atopan os nodos/destinos que se viñan usando en uclient.

Descubrir e activar o destino iSCSI

Configuración Multipath IO (MPIO)

  • A última imaxe anterior non proporciona redundancia pois, non se ten un dispositivo de bloque que nos permita escribir nel e que este se encargue de escribir en sdb ou sdc indistintamente. Se nós escribimos en sdb sempre non estamos conseguindo usar a outra ruta e por tanto non temos balanceo nin redundancia.
  • Para iso vén socorrernos o paquete multipath-tools.


defaults {
         udev_dir                /dev
         polling_interval        10
         selector                "round-robin 0"
         path_grouping_policy    multibus
         getuid_callout          "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
         prio_callout            /bin/true
         path_checker            readsector0
         prio                    const
         rr_min_io               100
         rr_weight               priorities
         failback                immediate
         no_path_retry           fail
         user_friendly_name      yes
}
blacklist {
         devnode "sda"
         devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
         devnode "^hd[a-z][[0-9]*]"
         devnode "^vd[a-z]"
         devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
}
multipaths {
         multipath {
                 wwid 33000000031c05120  (Cambiar este número polo obtido con multipath -ll e
                                          borrar este comentario)
                 alias open-e-test (quen o desexe pode cambiar o nome do alias que se lle vai
                                    dar ao wwid, eliminar tamén este comentario entre paréntese)
         }
}

Realización de probas

  • A continuación vanse realizar unas probas de caídas de enlaces ou rutas.
  • Para iso vanse desconectar o cable nos adaptadores de rede ou ben na NAS ou ben co cliente (uclient).
  • IMPORTANTE: se por calquera motivo se tivera que volver a descubrir ou activar os dispositivos iSCSI, asegurarse de que se teñen conectados todos os cables de rede nos 2 equipos: NAS e uclient.


  • Se o usuario o desexa pode xogar cos seguintes valores, antes de implantar un sistema en produción.
  • Sempre desmontar o disco antes dos cambios e logo reiniciar os servizos e volver a montar o disco.
# Time interval to wait for on connection before sending a ping.
node.conn[0].timeo.noop_out_interval = 5

# To specify the time to wait for a Nop-out response before failing
# the connection, edit this line. Failing the connection will
# cause IO to be failed back to the SCSI layer. If using dm-multipath
# this will cause the IO to be failed to the multipath layer.
node.conn[0].timeo.noop_out_timeout = 5

# To specify the time to wait for abort response before
# failing the operation and trying a logical unit reset edit the line.
# The value is in seconds and the default is 15 seconds.
node.session.err_timeo.abort_timeout = 15

# To specify the time to wait for a logical unit response
# before failing the operation and trying session re-establishment
# edit the line.
# The value is in seconds and the default is 30 seconds.
node.session.err_timeo.lu_reset_timeout = 20

Cambiar o destino iSCSI (MPIO). Varios destinos

  • Unha das cousas que se pode desexar é conectarse a outro destino distinto ao que se ten.
  • Este novo destino terá o seu wwid distinto do do destino actual.
  • Na seguinte exemplo creamos un novo dispositivo iSCSI na NAS: iscsi-sr, descubrímolo (discovery) e conectámolo (loginall) como nos exemplos anteriores.


  • No caso de querer ter varios destinos distintos iSCSI, todos eles accesibles por MPIO entón hai que achar o wwid de cada un deles e logo configurar o ficheiro /etc/multipath.conf creando unha entrada multipath{} co wwid asociado ao dispositivo iSCSI e o alias que desexemos.

Documentación




-- Antonio de Andrés Lema e Carlos Carrión Álvarez -- (2014).