Escenario 3.D: Acceso a dispositivos iSCSI dende Linux
Ir a la navegación
Ir a la búsqueda
- Neste escenario conectarémonos aos dispositivos iSCSI exportados en FreeNAS dende un equipo Ubuntu:
Instalar e configurar open-iscsi
O paquete http://www.open-iscsi.org/ (A páxina xa non existe) contén o iniciador iSCSI para equipos Linux. O primeiro que teremos que facer é instalar este paquete e configuralo para que arranque de forma automática e a autenticación CHAP.
- Instalar e configurar open-iscsi
-
Instalamos o paquete con sudo apt-get install open-iscsi.
-
Editamos como usuario root o ficheiro de configuración do paquete, /etc/iscsi/iscsid.conf
-
Cambiamos o parámetro node.startup a automatic.
-
Configuramos os parámetros marcados para a autenticación CHAP,
-
e tamén os marcados na imaxe. Gardamos o ficheiro.
-
E reiniciamos o servizo co comando /etc/init.d/open-iscsi restart.
Conectar e montar os destinos
Agora xa estamos en disposición de conectar os destinos e montalos sobre carpetas do equipo.
- Conectar e montar os destinos
-
O comando iscsiadm permítenos detectar e conectar destinos iSCSI. Como se ve na imaxe, podemos detectar o destinos dun portal con sudo iscsiadm -m discovery e conectarnos a un destino con sudo iscsiadm -m node ..... --login.
-
Cos comandos que se ven na imaxe conectamos o disco2 e disco3.
-
Creamos as carpetas nas que imos montar os discos, e establecemos os permisos para que poidan acceder a elas todos os usuarios.
-
Co comando sudo fdisk -l podemos ver os discos sdb, sdc e sdd. Cada un deles ten unha partición con sistema de ficheiros NTFS.
-
Co comando mount podemos montar as particións nas carpetas creadas. Se a máquina wclient non estivese apagada, obteríamos un erro no momento de montar o volume, informándonos de que o volume NTFS xa está aberto.
-
E podemos ver co explorador de ficheiros de Ubuntu o contido das carpetas, coas carpetas que creáramos dende o equipo Windows.
Montar automaticamente os dispositivos no arranque do sistema
En Linux, se queremos que unha partición se monte de forma automática cada vez que se arranque o sistema teremos que editar o ficheiro /etc/fstab.
- Montar automaticamente os dispositivos no arranque do sistema
-
Editamos como root o ficheiro /etc/fstab.
-
As tres liñas marcadas na imaxe montan os tres dispositivos iSCSI sobre as carpetas no arranque do equipo. É importante incluír a opción _netdev.
-
Reiniciamos a MV para comprobalo.
-
Vemos que os discos aparecen xa conectados e montados automaticamente.
Ficheiros de configuración de iSCSI e xestión dos mesmos
- A continuación vanse amosar os ficheiros onde se garda a información relativa aos dispositivos iSCSI.
- É moi importante coñecer estes ficheiros, a súa configuración e xestión, para poder cambiar parámetros de configuración, e nun caso moi especial, que é:
- Se non se configurou ben algún parámetro no ficheiro /etc/iscsi/iscsid.conf (contrasinal, datos do dispositivo, etc) e se executa iscsiadm -m discovery ...
- Se se cambian parámetros no propio dispositivo iSCSI.
- Neses casos que pasa se se axustan de novo os parámetros no ficheiro /etc/iscsi/iscsid.conf e se volve executar o comando anterior?...Pois non se van ter en conta eses cambios. Imos ver as razóns (No seguinte enlace pode atoparse información sobre o paquete open-iscsi: http://linux-iscsi.org/wiki/Open-iSCSI)
- Ficheiros de configuración de open-iscsi
-
En /etc/iscsi están os ficheiros de configuración creados antes e despois de descubrir os dispositivos iSCSI. Os cartafoles send_targets e nodes son creados no momento no que se fai o descubrimento de dispositivos iSCSI á través de iscsiadm -m discovery .... Estes cartafoles conteñen a información persistente dos descubrimentos (send_targets) e dos nodos aos que conectarse manualmente ou automaticamente (nodes). Imos ver que contén cada un deses cartafoles
-
En nodes hai unha carpeta por cada dispositivo iSCSI ao que nos poderíamos conectar (manual ou automaticamente). Dentro de cada unha das carpetas do nodo hai un ficheiro chamado default que se crea xusto no momento en que se fai o descubrimento e que ...
-
... é unha copia do ficheiro /etc/iscsi/iscsid.conf adaptado ao nodo en cuestión. Por tanto, calquera cambio na configuración que afecte a un nodo hai que facela no ficheiro default correspondente, por exemplo se se cambia o contrasinal, o nome do usuario, etc., eses cambios hai que facelos neste ficheiro do nodo e o que se faga en /etc/iscsi/iscsid.conf pode que afecten para futuros descubrimentos pero non para os presentes, ver a seguinte imaxe ...
-
En send_targets almacénanse enlaces ás carpetas dos nodos anteriores, e ademais un ficheiro chamado st_config.
-
O ficheiro st_config almacena a información que se usará cada vez que se quere realizar un novo descubrimento. Cando se realiza un descubrimento consúltase este ficheiro, salvo no caso de que non exista, que entón consúltase /etc/iscsi/iscsid.conf e xerase o ficheiro st_config con datos de iscsid.conf. De modo que, o ficheiro /etc/iscsi/iscsid.conf non se terá en conta para os novos descubrimentos se existe st_config.
-
Pero sempre se pode borrar: calquera carpeta asociada a un nodo, o ficheiro st_config, un enlace, ou as carpetas enteiras nodes e st_config e volver a comezar de novo.
Tamén cando se fai un descubrimento móstranse todos os dispositivos do target consultado, e ao mellor interesa conectarse a un só dispositivo neste equipo... Pois con borrar as carpetas e enlaces dos nodos non desexados, xa estaría, ou configurar eses nodos para que se iniciasen de forma manual. -
Con iscsiadm -m node pódense ver os nodos descubertos e que se atopan en nodes. Non teñen porque estar conectados.
-
Con iscsiadm -m session amósanse as sesións activas, as conexións existentes entre o iniciador e o destino. Podemos desconectar todas as conexións activas podemos usar o comando iscsiadm -m node --logoutall=all (Despois aprenderemos como desconectarse só dun nodo activo). Pódese ver a continuación que xa non hai seccións activas, aínda que a base de datos (cartafol) nodes segue tendo o listado das conexións descubertas. Finalmente observar como xa só se teñen os discos locais.
-
grep disco vemos os puntos de montaxe que se tiñan grazas ao ficheiro /etc/fstab.
-
Imos agora borrar todo e comezar de novo: rm -r /etc/iscsi/nodes e rm -r /etc/iscsi/send_targets. Comprobamos que o cartafol /etc/iscsi xa non ten esas carpetas. Vemos que xa non hai nodos dispoñibles para futuras conexións, pero aínda seguen activas as que se realizaron antes. Porén, se se reinicia o equipo xa non se van conectar nunca máis.
-
Desconectamos as conexións e tratamos de volver a activalas ... imposible!!!.
-
Tamén desmontamos os puntos de montaxe asociados as dispositivos iSCSI.
-
E volvemos a realizar todo de novo: iscsiadm -m discovery -t sendtargets -p 10.0.0.100. Creamos todas as conexións asociadas aos nodos descubertos con iscsiadm -m node --loginall=all. Xa están listos os novos discos para ser montados ...
-
con mount -a.
Desconectar un destino
O comando iscsiadm tamén nos permite desconectar un só dispositivo iscsi.
- Desconectar un destino
-
Co comando que se ve na imaxe desconectamos o disco1.
-
Agora xa non vemos o contido do disco1.
-
É importante apagar a MV se queremos acceder aos mesmos destinos dende outro equipo.