Guía de configuración de cliente iSCSI (frontend1)


Índice de Contenido

Escenario de la guía        2

Guía de instalación de Centos 6.3        4

Paso 0 Pasos previos        15

0.1 Verificar comunicación entre Datastore1 y Frontend1        15

0.2 Verificar la conexión a Internet        15

0.3 Verificar los discos recocidos del sistema operativo        15

Paso 1 Instalación del cliente iSCSI        16

1.1 Instale el paquete iscsi-initiator-utils        16

1.2 Verifique que se haya instalado el paquete.        17

1.3 Defina el iqn del iniciador        17

Paso 2 Edición del archivo de configuración        18

2.1 Sacar una copia del archivo de configuración        18

2.2 Edición de los parámetros de configuración        18

2.3 Activación / Desactivación temporal del inicio automático        18

2.4 Active el método de autenticación con CHAP        18

2.5 Defina las credenciales el usuario CHAP para el acceso al target        18

2.6 Active la función Discovery utilizando CHAP        18

2.7 Defina las credenciales del usuario Discovery        19

2.8 Guarde el archivo        19

Paso 3 Conectarse al Target        19

3.1 Iniciar el servicio initiator        19

3.2 Visualizar el iqn del target        19

3.3 Verificar el registro obtenido del target cosultado        19

3.4 Establecer conexión (login) con el target        21

3.5 Verificar la conexión        21

3.6 Verificar los discos del target        22

3.7 Comprobar la base de datos de conexión        24

Paso 4 Crear una partición tipo Linux con todo el espacio disponible        25

4.1 Ejecutar fdisk con compatibilidad de MSDOS        25

4.2 Indique que creará una ueva partición        25

4.3 Defina el tipo de partición        25

4.4 Defina el número de partición que creará        25

4.5 Defina el sector inicial        25

4.5 Defina el sector final        26

4.6 Defina el tipo de partición        26

4.7 Indique que es tipo Liux        26

4.8 Compruebe que se ha credo la partición /dev/sdb1        26

4.9 Escriba los cambios en la tabla de particiones        26

Paso 5 Aplicar formateo a la partición /dev/sdb1        26

5.1 Aplicar formato ext4        26

5.2 Verificar partición /dev/sdb1        27

Paso 6 Montar partición en punto de montaje        28

6.1 Crear punto de montaje        28

6.2 Asignar permisos de propietario al usuario oneadmin        28

6.3 Verificar creación de punto de montaje        28

6.4 Montar partición manualmente para verificar funcionamiento        28

6.5 Verificar que se halla montado el sistema        28

6.6 Editar archivo /etc/fstab para montaje automático        29

Paso 7 Crear archivos para verificar funcionamieto        29

Paso 8 Proceso de desconexión de los discos        30

8.1 Verifique que no haya un proceso de escritura pendiente en los discos        30

8.3 Verifique que esté desmontado        30

8.4 Cierre la sesión del initiator        30

8.5 Verifique que los discos han desaparecido        30

8.6 Detenga el servicio initiator        30

8.7 Verifique que el servicio se detuvo        30


Escenario de la guía


La EMPRESAY ha contratado los servicios profesionales de vuestro equipo de trabajo para realizar las siguientes tareas:

Conectar y configurar un cliente iSCSI en un servidor cuyo nombre será frontend1 con el sistema operativo Centos con un portal iSCSI previamente configurado en el equipo datastore1 con FreeNAS

Incrementar la seguridad de la conexión iSCSI utilizando el cifrado y autenticación CHAP.

Utilizar el formato ext4 para las particiones detectadas en el initiator iSCSI

Aplicar las opciones del cuadro No. 1 y 2

Crear dos puntos de montaje para los LUN del portal previamente creado, los puntos de montaje estarán en: /var/lib/one/datastore/100 o /mnt/iscsi_lun1 y para el segundo: /var/lib/one/datastore/101 o /mnt/iscsi_lun2

Configurar el archivo /etc/fstab para permitir el montaje automáticamente cada vez que se inicie el equipo Frontend1


En la Empresa Y se tienen las siguientes condiciones:

Un router para la conexión a Internet y los servicios de red 192.168.50+Y.0 {MV router1}

Un equipo físico para el Datastore1 con FreeNAS 9.X {MV Datastore1} con un portal y dos LUN compartidos según el cuadro 1

Una red LAN de alta velocidad (1 GBps) para la SAN no administrable, {Red interna en Vbox o loopback MS}

Un equipo físico para el cliente iSCSI con Centos 6.X (MV frontend1}

El equipo del Datastore1 tiene dos tarjetas de red

El equipo del Datastore1 tiene 4 Discos SCSI de 10GB y 10Krpm

El equipo del iniciador (Frontend) tiene una tarjetas de red


Figura 1 Representación gráfica del cuadro 1 (elaboración propia)



1. Datos para el protocolo iSCSI

IQN del servidor iSCSI

iqn.2015-06.sv.com.empresay:ds1

IQN del cliente iSCSI

iqn.2015-06.sv.com.empresay:frontend1

Tipo de cifrado para enlace (sesión)

CHAP

2. Datos de del portal (Datastore1 FreeNAS)

Nombre del portal de publicación

miPortal01

Dirección del portal

192.168.50+Y.2

Puerto de escucha

3280 (estándar)

Nombre del Target a conectar

midestino01


Cuadro 1 Información para el protocolo iSCSI



3. Datos para el initiator

Configuración de inicio

None (solo para la guía) y en la vida real: automatic

Tipo de autenticación Discovery

CHAP

Usuario para función Discovery

usuariochap

Contraseña usuario Discovery

123456123456

Usuario acceso a target

usuariochap

Contraseña usuario a target

123456123456

Tipo de autenticación al target

CHAP

4. Medios a compartir

Nombre de dispositivo

/dev/sdb

/dev/sdc

Nombre de la partición

/dev/sdb1

/dev/sdc1

Tipo de partición

Primaria

Primaria

Tipo de sistema de archivos

ext4

ext4

Tamaño del PV

+/- 8 GB

+/- 6 GB

Tamaño de bloque

512 K

1024 K

Punto de montaje, se puede utilizar cualquiera de los directorios

/mnt/iscsi_lun1

/var/lib/one/datastores/100

/mnt/iscsi_lun2

/var/lib/one/datastores/100

Comentario:

LUN para MV ejecutándose

LUN para las imágenes originales

5. Opciones de arranque automático de disco

Nombre de la partición

/dev/sdb1

/dev/sdc1

Punto de montaje

/mnt/iscsi_lun1

/mnt/iscsi_lun2

Tipo de sistema de archivos

ext4

ext4

Opciones de arranque

defaults,_netdev

defaults,_netdev

Tipo de arranque

0  0

0  0


Cuadro 2 Información configuración de iniciador y configuración particiones



Figura 2 Representación gráfica del cuadro 2 (elaboración propia)






Guía de instalación de Centos 6.3


Debido a que este es un proceso muy mecánico solo les muestro las pantallas para instalar Centos 6.3 con la información más relevante


   


























Dar clic en Avanzado




Dar un clic en el botón “Añadir usuario”


Completar el cuadro


Cerrar pantalla del Gestor de Usuarios



Sincroizar fecha y hora por la red




Configurar Kdump

Darle “Al frente”

Ingresar







Seleccione la NIC

Dar clic en botón “Editar”




Pruebe la comunicación hacia la red e Internet instalando los siguientes programas:

mc: Es un Administrador de discos que trae el editor mcedit

gnome-disk-utility : Herramienta gráfica para GNOME que permite administrar los discos del equipo.


yum install mc


Para iniciar en runlevel 3, (Consola sin escritorio)

Editar el archivo /etc/inittab  y sustituir el 5 por 3


CNota: Si tiene problemas para la consola puede utilizar los comandos de configuración de Centos


Comandos de ayuda

system-config-authentication 

system-config-date          

system-config-firewall-tui  

system-config-keyboard      

system-config-network        

system-config-network-cmd  

system-config-network-tui    

system-config-users

system-setup-keyboard



CNota: Si utiliza la máquina virtual provista para el laboratorio la primera vez que se enciende se creará una MAC






Solución al desafío del escenario


Nota: es recomendable tener instalado: mc, gedit, gnome-disk-utility  (y las librerías que pida)


Paso 0 Pasos previos

0.1 Verificar comunicación entre Datastore1 y Frontend1


[root@frontend1]# ping -c 5 192.168.50.1

PING 192.168.50+Y.2 (192.168.50+Y.2) 56(84) bytes of data.

64 bytes from 192.168.50+Y.2: icmp_seq=1 ttl=64 time=0.322 ms

64 bytes from 192.168.50+Y.2: icmp_seq=2 ttl=64 time=1.96 ms

64 bytes from 192.168.50+Y.2: icmp_seq=3 ttl=64 time=1.09 ms

64 bytes from 192.168.50+Y.2: icmp_seq=4 ttl=64 time=0.265 ms

64 bytes from 192.168.50+Y.2: icmp_seq=5 ttl=64 time=1.80 ms


--- 192.168.50+Y.2: ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4007ms

rtt min/avg/max/mdev = 0.265/1.090/1.969/0.714 ms


[root@datastore1] ~# ping -c 5 192.168.50+Y.3

PING 192.168.50+Y.3 (192.168.50+Y.3): 56 data bytes

64 bytes from 192.168.50+Y.3: icmp_seq=0 ttl=64 time=0.232 ms

64 bytes from 192.168.50+Y.3: icmp_seq=1 ttl=64 time=0.570 ms

64 bytes from 192.168.50+Y.3: icmp_seq=2 ttl=64 time=1.150 ms

64 bytes from 192.168.50+Y.3: icmp_seq=3 ttl=64 time=1.926 ms

64 bytes from 192.168.50+Y.3: icmp_seq=4 ttl=64 time=0.646 ms


--- 192.168.50+Y.3 ping statistics ---

5 packets transmitted, 5 packets received, 0.0% packet loss

round-trip min/avg/max/stddev = 0.232/0.905/1.926/0.589 ms



0.2 Verificar la conexión a Internet


0.3 Verificar los discos recocidos del sistema operativo


Tenga en cuenta que de forma predeterminada Centos utiliza un VG (Volume Grup) con LVM

Digite en una línea el siguiente comando


[root@frontend1 ~]# fdisk -l


Disco /dev/sda: 8589 MB, 8589934592 bytes

255 heads, 63 sectors/track, 1044 cylinders

Units = cilindros of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00099d94



Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema

/dev/sda1   *           1          64      512000   83  Linux

La partición 1 no termina en un límite de cilindro.

/dev/sda2              64        1045     7875584   8e  Linux LVM


Disco /dev/mapper/vg_one1-lv_root: 5947 MB, 5947523072 bytes

255 heads, 63 sectors/track, 723 cylinders

Units = cilindros of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


Disco /dev/mapper/vg_one1-lv_swap: 2113 MB, 2113929216 bytes

255 heads, 63 sectors/track, 257 cylinders

Units = cilindros of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


Paso 1 Instalación del cliente iSCSI


El nombre del cliente es install iscsi-initiator-utils y puede instalarse ya sea gráficamente o por comandos.


1.1 Instale el paquete iscsi-initiator-utils


Digite en una línea el siguiente comando:


[root@frontend1 ~]# yum install iscsi-initiator-utils


Loaded plugins: fastestmirror, refresh-packagekit, security

Loading mirror speeds from cached hostfile

* base: centos-mirror.jchost.net

* extras: mirror.cisp.com

* updates: centos.sonn.com

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package iscsi-initiator-utils.x86_64 0:6.2.0.873-13.el6 will be installed

--> Finished Dependency Resolution


Dependencies Resolved


==================================================================================

Package                            Arch         Version   Repository   Size

==================================================================================

Installing: iscsi-initiator-utils  x86_64    6.2.0.873-13.el6     base     719 k


Transaction Summary

==================================================================================

Install       1 Package(s)


Total download size: 719 k

Installed size: 2.4 M

Is this ok [y/N]: y

Downloading Packages:

iscsi-initiator-utils-6.2.0.873-13.el6.x86_64.rpm                                                   | 719 kB     00:04

Running rpm_check_debug

Running Transaction Test

Transaction Test Succeeded

Running Transaction

  Installing:iscsi-initiator-utils-6.2.0.873-13.el6.x86_64  1/1

  Verifying: iscsi-initiator-utils-6.2.0.873-13.el6.x86_64  1/1


Installed:

  iscsi-initiator-utils.x86_64 0:6.2.0.873-13.el6


Complete!


1.2 Verifique que se haya instalado el paquete.


Digite en una línea el siguiente comando:


[root@frontend1 ~]# yum  info iscsi-initiator-utils


Loaded plugins: fastestmirror, refresh-packagekit, security

Loading mirror speeds from cached hostfile

* base: centos-mirror.jchost.net

* extras: mirror.cisp.com

* updates: centos.sonn.com

Installed Packages

Name        : iscsi-initiator-utils

Arch        : x86_64

Version     : 6.2.0.873

Release     : 13.el6

Size        : 2.4 M

Repo        : installed

From repo   : base

Summary     : iSCSI daemon and utility programs

URL         : http://www.open-iscsi.org

License     : GPLv2+

Description : The iscsi package provides the server daemon for the iSCSI

            : protocol, as well as the utility programs used to manage it. iSCSI

            : is a protocol for distributed disk access using SCSI commands sent

            : over Internet Protocol networks.


Al instalarse el paquete se instala el binario iscsi, cuyas opciones son:


service iscsi start  -> iniciar el servicio

service iscsi stop  -> detener el servicio

service iscsi reload -> cargar la configuración del archivo /etc/iscsi/iscsi.conf

service iscsi restart -> reiniciar el servicio


1.3 Defina el iqn del iniciador


Escriba el nombre en el archivo /etc/iscsi/initiatorname.iscsi

Para la edición puede utilizar: nano, mcedit o vi.


[root@frontend1 ~]# nano /etc/iscsi/initiatorname.iscsi


InitiatorName=iqn.2015-07.sv.com.empresay:frontend1




Paso 2 Edición del archivo de configuración


2.1 Sacar una copia del archivo de configuración


Digitar en una línea el siguiente comando:


[root@frontend1 ~]# cp /etc/iscsi/iscsid.conf  /etc/iscsi/iscsid.conf.ori


2.2 Edición de los parámetros de configuración


Digitar en una línea el siguiente comando:


[root@frontend1 ~]# mcedit /etc/iscsi/iscsid.conf


2.3 Activación / Desactivación temporal del inicio automático


Para efectos de la conexión inicial se puede desactivar que el iniciador cargue con el arranque del sistema. En la vida real debe quedar automático, así que si el frontend1 tiene la opción automática, significa que el datastore1 debe estar configurado correctamente y previamente encendido.

Nota: En la guía se utilizará la conexión automática.


Con cuidado edite el archivo /etc/iscsi/iscsid.conf


Buscar y descomentar la siguiente línea (si será automático, si se hará manual hay que dejarlo comentado)


node.startup = automatic


2.4 Active el método de autenticación con CHAP


Buscar y descomentar la siguiente línea


# *************

# CHAP Settings

# *************


# To enable CHAP authentication set node.session.auth.authmethod

# to CHAP. The default is None.

node.session.auth.authmethod = CHAP


2.5 Defina las credenciales el usuario CHAP para el acceso al target


Buscar, descomentar y editar las siguientes líneas


# To set a CHAP username and password for initiator

# authentication by the target(s), uncomment the following lines:

node.session.auth.username = usuariochap

node.session.auth.password = 123456123456


2.6 Active la función Discovery utilizando CHAP


Buscar y descomentar la siguiente línea


# To enable CHAP authentication for a discovery session to the target

# set discovery.sendtargets.auth.authmethod to CHAP. The default is None.

discovery.sendtargets.auth.authmethod = CHAP



2.7 Defina las credenciales del usuario Discovery


Buscar, descomentar y editar las siguientes líneas


# To set a discovery session CHAP username and password for the initiator

# authentication by the target(s), uncomment the following lines:

discovery.sendtargets.auth.username = usuariochap

discovery.sendtargets.auth.password = 123456123456


2.8 Guarde el archivo


Si utiliza mcedit, presione la tecla F2 para guardar

Y F10 para salir del editor


Paso 3 Conectarse al Target


3.1 Iniciar el servicio initiator


Digite en una línea el siguiente comando:


[root@frontend1 ~]# service iscsid start


3.2 Visualizar el iqn del target


Ejecute el siguiente comando en una sola línea:


[root@frontend1 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.50+Y.2


192.168.50+Y.2:3260,-1 iqn.2015-06.sv.com.empresay:ds1:midestino01


Si tiene un error en las credenciales aparecerá el siguiente mensaje:


iscsiadm: Login failed to authenticate with target

iscsiadm: discovery login to 192.168.50+Y.2 rejected: initiator failed authorization


3.3 Verificar el registro obtenido del target cosultado


Ejecute el siguiente comando en una sola línea


[root@frontend1 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.50+Y.2


# BEGIN RECORD 6.2.0-873.13.el6

discovery.startup = manual

discovery.type = sendtargets

discovery.sendtargets.address = 192.168.50+Y.2

discovery.sendtargets.port = 3260

discovery.sendtargets.auth.authmethod = CHAP

discovery.sendtargets.auth.username = usuariochap

discovery.sendtargets.auth.password = ********

discovery.sendtargets.auth.username_in = <empty>

discovery.sendtargets.auth.password_in = <empty>

discovery.sendtargets.timeo.login_timeout = 15

discovery.sendtargets.use_discoveryd = No

discovery.sendtargets.discoveryd_poll_inval = 30

discovery.sendtargets.reopen_max = 5

discovery.sendtargets.timeo.auth_timeout = 45

discovery.sendtargets.timeo.active_timeout = 30

discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768

# END RECORD


Para ver la información completa del target


[root@frontend1 ~]# iscsiadm --mode node


192.168.50+Y.2:3260,-1 iqn.2015-06.sv.com.empresay:ds1:midestino01


[root@frontend1 ~]# iscsiadm -m node -o show



# BEGIN RECORD 6.2.0-873.13.el6

node.name = iqn.2015-06.sv.com.empresay:ds1:midestino01

node.tpgt = -1

node.startup = automatic

node.leading_login = No

iface.hwaddress = <empty>

iface.ipaddress = <empty>

iface.iscsi_ifacename = default

iface.net_ifacename = <empty>

iface.transport_name = tcp

iface.initiatorname = <empty>

iface.state = <empty>

iface.vlan_id = 0

iface.vlan_priority = 0

iface.vlan_state = <empty>

iface.iface_num = 0

iface.mtu = 0

iface.port = 0

iface.bootproto = <empty>

iface.subnet_mask = <empty>

iface.gateway = <empty>

iface.dhcp_alt_client_id_state = <empty>

iface.dhcp_alt_client_id = <empty>

iface.dhcp_dns = <empty>

iface.dhcp_learn_iqn = <empty>

iface.dhcp_req_vendor_id_state = <empty>

iface.dhcp_vendor_id_state = <empty>

iface.dhcp_vendor_id = <empty>

iface.dhcp_slp_da = <empty>

iface.fragmentation = <empty>

iface.gratuitous_arp = <empty>

iface.incoming_forwarding = <empty>

iface.tos_state = <empty>

iface.tos = 0

iface.ttl = 0

iface.delayed_ack = <empty>

iface.tcp_nagle = <empty>

iface.tcp_wsf_state = <empty>

iface.tcp_wsf = 0

iface.tcp_timer_scale = 0

iface.tcp_timestamp = <empty>

iface.redirect = <empty>

iface.def_task_mgmt_timeout = 0

iface.header_digest = <empty>

iface.data_digest = <empty>

iface.immediate_data = <empty>

iface.initial_r2t = <empty>

iface.data_seq_inorder = <empty>

iface.data_pdu_inorder = <empty>

iface.erl = 0

iface.max_receive_data_len = 0

iface.first_burst_len = 0

iface.max_outstanding_r2t = 0

iface.max_burst_len = 0

iface.chap_auth = <empty>

iface.bidi_chap = <empty>

iface.strict_login_compliance = <empty>

iface.discovery_auth = <empty>

iface.discovery_logout = <empty>

node.discovery_address = 192.168.50+Y.2

node.discovery_port = 3260

node.discovery_type = send_targets

node.session.initial_cmdsn = 0

node.session.initial_login_retry_max = 8

node.session.xmit_thread_priority = -20

node.session.cmds_max = 128

node.session.queue_depth = 32

node.session.nr_sessions = 1

node.session.auth.authmethod = CHAP

node.session.auth.username = <empty>

node.session.auth.password = <empty>

node.session.auth.username_in = <empty>

node.session.auth.password_in = <empty>

node.session.timeo.replacement_timeout = 120

node.session.err_timeo.abort_timeout = 15

node.session.err_timeo.lu_reset_timeout = 30

node.session.err_timeo.tgt_reset_timeout = 30

node.session.err_timeo.host_reset_timeout = 60

node.session.iscsi.FastAbort = Yes

node.session.iscsi.InitialR2T = No

node.session.iscsi.ImmediateData = Yes

node.session.iscsi.FirstBurstLength = 262144

node.session.iscsi.MaxBurstLength = 16776192

node.session.iscsi.DefaultTime2Retain = 0

node.session.iscsi.DefaultTime2Wait = 2

node.session.iscsi.MaxConnections = 1

node.session.iscsi.MaxOutstandingR2T = 1

node.session.iscsi.ERL = 0

node.conn[0].address = 192.168.50+Y.2

node.conn[0].port = 3260

node.conn[0].startup = manual

node.conn[0].tcp.window_size = 524288

node.conn[0].tcp.type_of_service = 0

node.conn[0].timeo.logout_timeout = 15

node.conn[0].timeo.login_timeout = 15

node.conn[0].timeo.auth_timeout = 45

node.conn[0].timeo.noop_out_interval = 5

node.conn[0].timeo.noop_out_timeout = 5

node.conn[0].iscsi.MaxXmitDataSegmentLength = 0

node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144

node.conn[0].iscsi.HeaderDigest = None

node.conn[0].iscsi.IFMarker = No

node.conn[0].iscsi.OFMarker = No

# END RECORD




3.4 Establecer conexión (login) con el target


Ejecute el siguiente comando en una sola línea


[root@frontend1 ~]# iscsiadm --mode node --targetname iqn.2015-06.sv.com.empresay:ds1:midestino01 --portal 192.168.50+Y.2:3260 --login


Logging in to [iface: default, target: iqn.2015-06.sv.com.empresay:ds1:midestino01, portal: 192.168.50+Y.2,3260] (multiple)

Login to [iface: default, target: iqn.2015-06.sv.com.empresay:ds1:midestino01, portal: 192.168.50+Y.2,3260] successful.


Si no logra la comunicación verifique las credenciales en el archivo de configuración


Si todo es correcto se deberán agregar dos discos duros.


3.5 Verificar la conexión


A. Desde el iniciador.


Ejecute el siguiente comando en una sola línea


[root@frontend1 ~]# iscsiadm -m session -o show

tcp: [9] 10.10.3.Target:3260,2 iqn.2015-06.sv.com.empresay:ds1:midestino01 (non-flash)



B. Desde el target


Ejecute el siguiente comando en una sola línea


[root@dns1] ~# ctladm islist

ID Portal           Initiator name                       Target name         

   1 192.168.20.166   iqn.1994-05.com.redhat:eaaaf9872e9   iqn.2015-06.sv.com.empresay:ds1:midestino01




3.6 Verificar los discos del target


Ejecute el siguiente comando en una sola línea


[root@frontend1 ~]# dmesg


Chelsio T3 iSCSI Driver cxgb3i v2.0.0 (Jun. 2010)

iscsi: registered transport (cxgb3i)

Chelsio T4 iSCSI Driver cxgb4i v0.9.1 (Aug. 2010)

iscsi: registered transport (cxgb4i)

cnic: Broadcom NetXtreme II CNIC Driver cnic v2.5.10 (March 21, 2012)

Broadcom NetXtreme II iSCSI Driver bnx2i v2.7.2.2 (Apr 26, 2012)

iscsi: registered transport (bnx2i)

iscsi: registered transport (be2iscsi)

scsi3 : iSCSI Initiator over TCP/IP

scsi 3:0:0:1: Direct-Access     FreeBSD  iSCSI Disk       0123 PQ: 0 ANSI: 6

sd 3:0:0:1: Attached scsi generic sg2 type 0

scsi 3:0:0:2: Direct-Access     FreeBSD  iSCSI Disk       0123 PQ: 0 ANSI: 6

sd 3:0:0:2: Attached scsi generic sg3 type 0

sd 3:0:0:1: [sdb] 6291456 1024-byte logical blocks: (6.44 GB/6.00 GiB)

sd 3:0:0:1: [sdb] 65536-byte physical blocks

sd 3:0:0:2: [sdc] 16777216 512-byte logical blocks: (8.58 GB/8.00 GiB)

sd 3:0:0:2: [sdc] 16384-byte physical blocks

...

...

sd 3:0:0:2: [sdc] Write Protect is off

sd 3:0:0:2: [sdc] Mode Sense: 73 00 10 08

sd 3:0:0:1: [sdb] 6291456 1024-byte logical blocks: (6.44 GB/6.00 GiB)

sd 3:0:0:1: [sdb] 65536-byte physical blocks

sd 3:0:0:2: [sdc] Write cache: enabled, read cache: enabled, supports DPO and FUA

sdb:

sdc: unknown partition table

sd 3:0:0:2: [sdc] Attached SCSI disk

sdb1

sd 3:0:0:1: [sdb] 6291456 1024-byte logical blocks: (6.44 GB/6.00 GiB)

sd 3:0:0:1: [sdb] 65536-byte physical blocks

sd 3:0:0:1: [sdb] Attached SCSI disk


Ejecute el siguiente comando en una sola línea


[root@frontend1 ~]# fdisk -l


Disco /dev/sda: 8589 MB, 8589934592 bytes

255 heads, 63 sectors/track, 1044 cylinders

Units = cilindros of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00099d94


Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema

/dev/sda1   *           1          64      512000   83  Linux

La partición 1 no termina en un límite de cilindro.

/dev/sda2              64        1045     7875584   8e  Linux LVM


Disco /dev/mapper/vg_one1-lv_root: 5947 MB, 5947523072 bytes

255 heads, 63 sectors/track, 723 cylinders

Units = cilindros of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000



Disco /dev/mapper/vg_one1-lv_swap: 2113 MB, 2113929216 bytes

255 heads, 63 sectors/track, 257 cylinders

Units = cilindros of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


Nota: el tamaño del sector es 1024 (no 512)


Disco /dev/sdb: 6442 MB, 6442450944 bytes

199 heads, 62 sectors/track, 509 cylinders

Units = cilindros of 12338 * 1024 = 12634112 bytes

Sector size (logical/physical): 1024 bytes / 65536 bytes

I/O size (minimum/optimal): 65536 bytes / 1048576 bytes

Disk identifier: 0x00000000



Disco /dev/sdc: 8589 MB, 8589934592 bytes

64 heads, 32 sectors/track, 8192 cylinders

Units = cilindros of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 16384 bytes

I/O size (minimum/optimal): 16384 bytes / 1048576 bytes

Disk identifier: 0x00000000


De forma opcional, se puede utilizar la herramienta gráfica “gnome-disk-utility”, si ya está instalada, se selecciona en Menú Aplicaciones / Herramientas del sistema / Utilidad de discos





Examine la información de ambos discos duros.



3.7 Comprobar la base de datos de conexión


Digitar el siguiente comando para visualizar los datos de conexión


[root@one-sandbox ~]# cat /var/lib/iscsi/send_targets/datastore1,3260/st_config


# BEGIN RECORD 6.2.0-873.13.el6

discovery.startup = manual

discovery.type = sendtargets

discovery.sendtargets.address = datastore1

discovery.sendtargets.port = 3260

discovery.sendtargets.auth.authmethod = CHAP

discovery.sendtargets.auth.username = usuariochap

discovery.sendtargets.auth.password = 123456123456

discovery.sendtargets.timeo.login_timeout = 15

discovery.sendtargets.use_discoveryd = No

discovery.sendtargets.discoveryd_poll_inval = 30

discovery.sendtargets.reopen_max = 5

discovery.sendtargets.timeo.auth_timeout = 45

discovery.sendtargets.timeo.active_timeout = 30

discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768

# END RECORD


El directorio /var/lib/iscsi/nodes/iqn.2015-06.sv.com.empresay:ds1:midestino01 tendrá el archivo

datastore1,3260  donde aparece la información de la conexión


Nota: Los directorios /var/lib/iscsi/nodes/iqn.2015-06.sv.com.empresay:ds1:midestino01 y /var/lib/iscsi/send_targets/ deberán tener el subdirectorio datastore1, proveniente de la conexión manual, cualquier otro subdirectorio proveniente de otra conexión debe ser eliminado.




Paso 4 Crear una partición tipo Linux con todo el espacio disponible


Este paso solo debe realizarse una vez, solo si los discos no tuvieran formato. De hacerlo una segunda vez los datos contenidos en los LUN se perderían.


4.1 Ejecutar fdisk con compatibilidad de MSDOS


Ejecute el siguiente comando en una sola línea:


[root@frontend1 ~]# fdisk -cu /dev/sdb


Nota: el tamaño del sector es 1024 (no 512)

El dispositivo no contiene una tabla de particiones DOS válida ni una etiqueta de disco Sun o SGI o OSF

Building a new DOS disklabel with disk identifier 0x1cbf1914.

Changes will remain in memory only, until you decide to write them.

After that, of course, the previous content won't be recoverable.


Atención: el indicador 0x0000 inválido de la tabla de particiones 4 se corregirá mediante w(rite)


The device presents a logical sector size that is smaller than

the physical sector size. Aligning to a physical sector (or optimal

I/O) size boundary is recommended, or performance may be impacted.


4.2 Indique que creará una ueva partición


Presione la tecla “n”

Orden (m para obtener ayuda): n


4.3 Defina el tipo de partición


Presione la tecla “p”


Acción de la orden

e   Partición extendida

   p   Partición primaria (1-4)

p



4.4 Defina el número de partición que creará


Presione la tecla con el número “1”


Número de partición (1-4): 1


4.5 Defina el sector inicial


Presione la tecla “Enter” para seleccionar el valor predeterminado


Primer sector (1024-6291455, valor predeterminado 1024):

Se está utilizando el valor predeterminado 1024



4.5 Defina el sector final


Presione la tecla “Enter” para seleccionar el valor máximo reconocido


Last sector, +sectores or +size{K,M,G} (1024-6291455, valor predeterminado 6291455):

Se está utilizando el valor predeterminado 6291455


4.6 Defina el tipo de partición


Presione la tecla “t


Orden (m para obtener ayuda): t

Se ha seleccionado la partición 1


4.7 Indique que es tipo Liux


Digite el número “83”  y presione “Enter


Código hexadecimal (escriba L para ver los códigos): 83


4.8 Compruebe que se ha credo la partición /dev/sdb1


Digite la tecla “p”  y presione “Enter


Orden (m para obtener ayuda): p


Disco /dev/sdb: 6442 MB, 6442450944 bytes

199 heads, 62 sectors/track, 509 cylinders, 6291456 sectores en total

Units = sectores of 1 * 1024 = 1024 bytes

Sector size (logical/physical): 1024 bytes / 65536 bytes

I/O size (minimum/optimal): 65536 bytes / 1048576 bytes

Disk identifier: 0x1cbf1914


Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema

/dev/sdb1            1024     6291455     6290432   83  Linux


4.9 Escriba los cambios en la tabla de particiones


Digitar la tecla “w”  y presione “Enter”


Orden (m para obtener ayuda): w

¡Se ha modificado la tabla de particiones!


Llamando a ioctl() para volver a leer la tabla de particiones.

Se están sincronizando los discos.



Paso 5 Aplicar formateo a la partición /dev/sdb1


5.1 Aplicar formato ext4

Digitar en una línea el siguiente comando:


[root@frontend1 ~]# mkfs.ext4 /dev/sdb1


mke2fs 1.41.12 (17-May-2010)

Discarding device blocks: failed - Error de entrada/salida

Etiqueta del sistema de ficheros=

Tipo de SO: Linux

Tamaño del bloque=4096 (bitácora=2)

Tamaño del fragmento=4096 (bitácora=2)

Stride=16 blocks, Stripe width=256 blocks

393216 nodos-i, 1572608 bloques

78630 bloques (5.00%) reservados para el superusuario

Primer bloque de datos=0

Número máximo de bloques del sistema de ficheros=1610612736

48 bloque de grupos

32768 bloques por grupo, 32768 fragmentos por grupo

8192 nodos-i por grupo

Respaldo del superbloque guardado en los bloques:

        32768, 98304, 163840, 229376, 294912, 819200, 884736


Escribiendo las tablas de nodos-i: hecho

Creating journal (32768 blocks): hecho

Escribiendo superbloques y la información contable del sistema de ficheros: hecho


Este sistema de ficheros se revisará automáticamente cada 25 montajes o

180 días, lo que suceda primero.  Utilice tune2fs -c o -i para cambiarlo.


5.2 Verificar partición /dev/sdb1


Digite en una línea el siguiente comando:


[root@frontend1 ~]# fdisk -l /dev/sdb1


Nota: el tamaño del sector es 1024 (no 512)


Disco /dev/sdb1: 6441 MB, 6441402368 bytes

199 heads, 62 sectors/track, 509 cylinders

Units = cilindros of 12338 * 1024 = 12634112 bytes

Sector size (logical/physical): 1024 bytes / 65536 bytes

I/O size (minimum/optimal): 65536 bytes / 1048576 bytes

Disk identifier: 0x00000000


Ejecute el siguiente comando en una sola línea


[root@frontend1 ~]# dmesg


EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts:

SELinux: initialized (dev sdb1, type ext4), uses xattr





Paso 6 Montar partición en punto de montaje


Nota: El punto de montaje debe ser un directorio vacío. Para esta guía se está utilizando el directorio /var/lib/one/datastores/100. Este directorio puede ser creado en el sunstone de opennebula, o por comandos.

Si ya existe el directorio omita el paso para crearlo, se puede utilizar 101, 102, etc.


6.1 Crear punto de montaje

Nota: omitir este paso si ya existe el directorio (se puede verificar con ls l /var/lib/one/datastores)


[root@frontend1 ~]# mkdir /var/lib/one/datastores/100


6.2 Asignar permisos de propietario al usuario oneadmin


Nota: en el frontend1 debe existir un usuario y un grupo con el nombre oneadmin.


[root@frontend1 ~]# chown oneadmin:oneadmin /var/lib/one/datastores/100 -R


[root@frontend1 ~]# chmod 755 /var/lib/one/datastores/100 -R


6.3 Verificar creación de punto de montaje


[root@frontend1 ~]# ls -l /var/lib/one/datastores/


[root@frontend1 ~]# ls /var/lib/one/datastores/ -l

total 16

drwxr-x--- 3 oneadmin oneadmin 4096 nov 29 12:13 0

drwxr-x--- 2 oneadmin oneadmin 4096 nov 24 17:53 1

drwxr-xr-x 2 oneadmin oneadmin 4096 dic  8 08:33 100

drwxrwxr-x 2 oneadmin oneadmin 4096 jul 26  2013 2


6.4 Montar partición manualmente para verificar funcionamiento


[root@frontend1 ~]# mount /dev/sdb1 /var/lib/one/datastores/100


6.5 Verificar que se halla montado el sistema


[root@frontend1 ~]# mount -s


/dev/mapper/vg_one1-lv_root on / type ext4 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1 on /boot type ext4 (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

/dev/sdb1 on /mnt/iscsi_lun1 type ext4 (rw)



[root@frontend1 ~]# df -Th


S.ficheros    Tipo    Size  Used Avail Use% Montado en

/dev/mapper/vg_one1-lv_root

              ext4    5,5G  2,7G  2,6G  51% /

tmpfs        tmpfs    499M  272K  499M   1% /dev/shm

/dev/sda1     ext4    485M   33M  427M   8% /boot

/dev/sdb1     ext4    6,0G  140M  5,5G   3% /mnt/iscsi_lun1



6.6 Editar archivo /etc/fstab para montaje automático


Editar con mucho cuidado la línea para la partición /dev/sdb1


[root@frontend1 ~]# mcedit /etc/fstab


#

# /etc/fstab

# Created by anaconda on Wed Jul 22 18:55:49 2015

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

/dev/mapper/vg_one1-lv_root               /         defaults    1 1

UUID=4f1fa095-8827-4514-ac59-1dfc4fa47132 /boot     ext4    defaults    1 2

/dev/mapper/vg_one1-lv_swap swap                    swap    defaults    0 0

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0


/dev/sdb1          /var/lib/one/datastores/100         ext4    defaults,_netdev   0 0


Para mayor información consultar: https://wiki.archlinux.org/index.php/Fstab_(Español)#V.C3.A9ase_tambi.C3.A9n


Paso 7 Crear archivos para verificar funcionamieto


Cree un directorio con el nombre de la EMPRESAY y cree dentro de él varios archivos de texto

La idea con esto es suponer que son los datos que se están almacenando en la SAN

Puede utilizar los siguientes comandos:


[root@frontend1 ~]# cd /var/lib/one/datastores/100


[root@frontend1 100]# touch miarchivo01.txt

[root@frontend1 100]# mcedit miarchivo01.txt


Escriba cualquier texto, de preferencia algún mensaje significativo


[root@frontend1 100]# cp miarchivo01.txt miarchivo02.txt

[root@frontend1 100]# cp miarchivo01.txt miarchivo03.txt


[root@frontend1 100]# ls -l

total 28

drwx------ 2 root root 16384 Nov  4 16:32 lost+found

-rw-r--r-- 1 root root    59 Nov  4 16:40 miarchivo01.txt

-rw-r--r-- 1 root root    59 Nov  4 16:40 miarchivo02.txt

-rw-r--r-- 1 root root    59 Nov  4 16:40 miarchivo03.txt


Nota: Tenga en cuenta lo siguiente:

Si desconecta o apaga el servicio iSCSI Target, y el cliente iSCSI había creado una conexión, los archivos se verán, pero no podrán ser guardados los nuevos cambios o agregados los nuevos archivos

Si apaga el servicio iSCSI Target en el datastore1 y reinicia el frontend1, los archivos que fueron creado no serán visibles.


Paso 8 Proceso de desconexión de los discos


Nunca apague los equipos abruptamente, ya que la conexión al perderse iSCSI puede dañar la información de los LUN.


8.1 Verifique que no haya un proceso de escritura pendiente en los discos


Por ejemplo copia de archivos, explorador de archivos abierto, consola de comandos dentro del disco, etc.


8.2 Desmonte el disco iSCSI


[root@frontend1 ~]# umount /var/lib/one/datastore/100/


8.3 Verifique que esté desmontado


[root@frontend1 ~]# mount -s


/dev/mapper/vg_one1-lv_root on / type ext4 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1 on /boot type ext4 (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)


8.4 Cierre la sesión del initiator


[root@frontend1 ~]# iscsiadm --mode node --targetname iqn.2015-06.sv.com.empresay:ds1:midestino01 --portal 192.168.50+Y.2:3260 --logout


8.5 Verifique que los discos han desaparecido


Puede hacerlo gráficamente o por comandos


8.6 Detenga el servicio initiator


Es opcional pero se recomienda hacerlo

Ejecute el siguiente comando en una sola línea


[root@frontend1 ~]# service iscsi stop


Parando iscsi:                           [  OK  ]


8.7 Verifique que el servicio se detuvo


Ejecute el siguiente comando en una sola línea


[root@frontend1 ~]# service iscsi status


iscsi está detenido


Resumen:


1. Herramientas requeridas


[root@frontend1 ~]# yum install mc

[root@frontend1 ~]# yum install iscsi-initiator-utils


2. Configuración del cliente iSCSI


[root@frontend1 ~]# mcedit /etc/iscsi/initiatorname.iscsi

     InitiatorName=iqn.2015-07.sv.com.empresay:frontend1


[root@frontend1 ~]# cp /etc/iscsi/iscsid.conf  /etc/iscsi/iscsid.conf.ori


[root@frontend1 ~]# mcedit /etc/iscsi/iscsid.conf

node.startup = automatic

node.session.auth.authmethod = CHAP

node.session.auth.username = usuariochap

node.session.auth.password = 123456123456

discovery.sendtargets.auth.authmethod = CHAP

discovery.sendtargets.auth.username = usuariochap

discovery.sendtargets.auth.password = 123456123456


[root@frontend1 ~]# service iscsid start


[root@frontend1 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.50+Y.2

[root@frontend1 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.50+Y.2


[root@frontend1 ~]# iscsiadm --mode node --targetname iqn.2015-06.sv.com.empresay:ds1:midestino01 --portal 192.168.50+Y.2:3260 --login


[root@frontend1 ~]# iscsiadm -m session -o show


3. Preparación del disco

[root@frontend1 ~]# fdisk -cu /dev/sdb

n -> p ->  1 -> enter -> enter -> t -> 83 ->  p -> w


[root@frontend1 ~]# mkfs.ext4 /dev/sdb1

[root@frontend1 ~]# fdisk -l /dev/sdb1


4. Crear punto de montaje

[root@frontend1 ~]# mkdir /var/lib/one/datastores/100

[root@frontend1 ~]# chown oneadmin:oneadmin /var/lib/one/datastores/100 -R

[root@frontend1 ~]# chmod 755 /var/lib/one/datastores/100 -R

[root@frontend1 ~]# mount /dev/sdb1 /var/lib/one/datastores/100

[root@frontend1 ~]# df -Th


[root@frontend1 ~]# mcedit /etc/fstab

/dev/sdb1       /var/lib/one/datastores/100     ext4    defaults,_netdev  0 0