Cómo montar un sistema de almacenamiento virtual SAN gratuitamente usando FreeNAS. Mostramos en este tutorial cómo configurar la conexión iSCSI de la SAN virtual y cómo conectar un servidor de virtualización VMware ESXi a la SAN mediante iSCSI.
- Requisitos para montar una SAN iSCSI virtual con FreeNAS.
- Instalar FreeNAS en máquina virtual en VMware ESXi.
- Aprovisionamiento de red para iSCSI en VMware ESXi.
- Activación de servicio iSCSI en servidor VMware ESXi.
- Administración de FreeNAS, configuración de servicio iSCSI.
- Presentación de disco duro de SAN FreeNAS a servidor VMware ESXi mediante iSCSI.
Requisitos para montar una SAN iSCSI virtual con FreeNAS
Explicaremos a continuación cómo montar un sistema de almacenamiento SAN virtual usando FreeNAS. Montaremos FreeNAS en una máquina virtual sobre un sistema de virtualización VMware ESXi, por lo que los requisitos serán los siguientes:
- Servidor de virtualización (puede ser cualquiera), en nuestro caso usaremos VMware ESXi. A continuación mostramos algunos tutoriales donde explicamos cómo montar sistemas de virtualización, todos ellos en su versión gratuita:
- Necesitaremos acceso con un usuario con permisos suficientes para administrar el servidor de virtualización VMware ESXi, para ello usaremos VMware vSphere Client, en el siguiente tutorial explicamos cómo instalar este sistema de administración de VMware ESXi:
- FreeNAS: descargaremos el fichero ISO de instalación de FreeNAS, podremos hacerlo de la web oficial (es gratuito):
- http://web.freenas.org/download
- VLAN independiente: es muy recomendable, sobre todo en entornos de producción, usar una VLAN separada para el tráfico iSCSI.
Puesto que montaremos un sistema virtual de almacenamiento SAN no necesitaremos realizar inversión económica pues no adquiriremos una SAN física. Por supuesto este sistema es válido para investigación, desarrollo y algún otro uso simple. No es recomendable su uso para sistemas de producción con requisitos medios y altos de rendimiento y disponibilidad.
Instalar FreeNAS en máquina virtual en VMware ESXi
Preparar fichero ISO de FreeNAS en VMware ESXi
Una vez descargado el fichero ISO de instalación de FreeNAS lo subiremos a uno de los datastores del servidor de virtualización VMware ESXi, para ello usaremos VMware vSphere Client, pulsaremos con el botón derecho del ratón sobre uno de los datastores del servidor de virtualización y en el menú emergente pulsaremos en «Browse Datastore»:
Crearemos una carpeta o abriremos una existente y pulsaremos en «Upload File»:
Seleccionaremos el fichero ISO descargado «FreeNAS-9.2.1.3-release-x64.iso»:
Crear máquina virtual VMware ESXi para FreeNAS
Una vez subido el fichero ISO de instalación de FreeNAS crearemos la máquina virtual, para ello pulsaremos en el menú «File» – «New» – «Virtual Machine»:
Marcaremos «Typical» y pulsaremos «Next»:
Introduciremos el nombre para la máquina virtual, por ejemplo «VSRVFREENAS» y pulsaremos «Next»:
Si tenemos varios servidores de virtualización con vCenter elegiremos el servidor al que asignaremos la máquina virtual, pulsaremos «Next»:
Seleccionaremos el datastore donde instalaremos la máquina virtual FreeNAS:
Elegiremos el sistema operativo que más se parezca a FreeBSD (que es en el que se basa FreeNAS), marcaremos «Linux» y en desplegable elegiremos «Other 2.4.x Linux (64-bit)». Según la versión de VMware ESXi es posible que tengamos disponible «FreeBSD» marcando «Other»:
Seleccionaremos el adaptador de red que asignaremos a la máquina virtual FreeNAS:
Elegiremos el tamaño del disco duro donde instalaremos FreeNAS. Elegiremos al menos 10GB para el sistema base FreeNAS (más adelante añadiremos más discos duros para almacenamiento):
Una vez elegida la configuración para la máquina virtual pulsaremos en «Finish» para crearla:
Configuración máquina virtual FreeNAS en VMware ESXi
A continuación editaremos la máquina virtual para asignarle un nuevo disco duro (que será el que usaremos como SAN), para asignar la memoria RAM suficiente y indicar que el primer arranque lo realizará desde el fichero ISO subido anteriormente al datastore. Para ello pulsaremos sobre la máquina virtual creada con el botón derecho del ratón y elegiremos «Edit settings» en el menú emergente:
Seleccionaremos «CD/DVD drive 1», marcaremos «Datastore ISO File» y pulsaremos «Browse»:
Accederemos al datastore y carpeta donde hayamos subido el fichero ISO con FreeNAS, lo seleccionaremos y pulsaremos «OK»:
Marcaremos «Connected» y «Connet at power on» para que el CD/DVD esté disponible al arrancar la máquina virtual con el fichero ISO de instalación de FreeNAS:
Seleccionaremos «Memory» y asignaremos las GB de memoria RAM que estimemos, para un sistema de producción lo recomendable son 4GB:
Pulsaremos «Add» para añadir un nuevo disco duro que será el que utilizaremos para almacenamiento de la SAN:
Seleccionaremos «Hard Disk»:
Marcaremos «Create a new virtual disk»:
Elegiremos el tamaño para el disco duro, será el tamaño del que dispondremos para el almacenamiento iSCSI de nuestra SAN virtual con FreeNAS:
Dejaremos las opciones por defecto (SCSI (0:1)):
Una vez elegidas las opciones para el nuevo disco duro pulsaremos «Finish» para que el asistente lo cree definitivamente:
Una vez asignada la vRAM, el CD de arranque con el fichero ISO y el nuevo disco duro pulsaremos «OK»:
Instalar FreeNAS
Una vez creada la máquina virtual la iniciaremos pulsando sobre ella con el botón derecho del ratón y seleccionando «Power» – «Power On»:
Se iniciará el fichero ISO para instalar FreeNAS, si todo es correcto lo detectará en el arranque y mostrará el menú inicial, dejaremos que el sistema FreeNAS arranque:
Seleccionaremos la primera opción «1 Install/Upgrade» y pulsaremos INTRO:
Seleccionaremos el disco duro donde se instalará el sistema base FreeBSD de FreeNAS, es recomendable que sea un disco duro independiente de los discos duros que usaremos para almacenamiento. En nuestro caso tendremos un disco duro de 10GB para el sistema base FreeNAS y otro disco duro de 300GB para almacenamiento. Seleccionaremos el HD de 10GB y pulsaremos INTRO:
El asistente para instalar FreeNAS nos avisará de que los datos de la partición elegida serán eliminados. Continuaremos pulsando INTRO si estamos seguros de que la partición elegida no tiene datos:
Se iniciará la instalación de FreeNAS, el proceso tardará unos pocos minutos en instalarse. Tras la instalación nos mostrará el mensaje «The FreeNAS installation on da1 succeded! Please remove the CDROM and reboot»:
Pulsaremos 3 Reboot System para reiniciar el sistema (sacaremos el CD si estamos instalando FreeNAS en un PC físico, si es virtual editaremos las propiedades de la máquina virtual y quitaremos el fichero ISO como CD de arranque):
La máquina virtual con FreeNAS ya instalado se iniciará, si disponemos de DHCP en nuestra red la MV con FreeNAS obtendrá una dirección IP y la mostrará en el menú de arranque. Desde este menú podremos configurar las opciones básicas de FreeNAS, como las interfaces de red, VLAN, rutas, DNS, etc.:
Aprovisionamiento de red para iSCSI en VMware ESXi
Lo recomendable en un sistema de producción es disponer de una interfaz de red física independiente para el tráfico iSCSI. También es recomendable que dicha interfaz de red debe estar conectada a una VLAN independiente donde sólo deben conectarse las interfaces que se dedicarán al iSCSI así como las interfaces de la SAN iSCSI. De esta forma el tráfico iSCSI quedará aislado del resto del tráfico de la red, lo que mejorará el rendimiento y la seguridad.
En nuestro caso, puesto que se trata de un entorno de pruebas, usaremos una única interfaz de red tanto para la LAN como para iSCSI. A continuación mostramos cómo crear un nuevo aprovisionamiento de red para iSCSI como ejemplo de lo que se debería hacer en un entorno de producción (con un rango y un adaptador de red diferentes).
Para añadir un nuevo aprovisionamiento de red accederemos con VMware vSphere Client, seleccionaremos el servidor ESXi, pulsaremos en la pestaña «Configuration» y en «Networking», en la parte derecha pulsaremos en «Add Networking»:
Marcaremos «VMkernel» y pulsaremos «Next»:
Marcaremos la interfaz de red con el switch asignado (aquí en un entorno de producción deberíamos elegir una interfaz de red expresamente dedicada a iSCSI):
Introduciremos un nombre identificativo para la red, por ejemplo «LAN_ISCSI» y pulsaremos «Next»:
Marcaremos «Use the following IP settings», introduciremos los datos para la interfaz de red virtual (IP, máscara de red, puerta de enlace). Como ya hemos comentado, en un caso de producción, lo recomendable es que la interfaz de red para iSCSI sea de una red diferente a la LAN normal. En nuestro caso, en un entorno de pruebas, usaremos el mismo rango de red que la LAN, la IP que asignaremos para iSCSI en la interfaz virtual del servidor VMware ESXi será 192.168.1.150:
Pulsaremos «Finish» para concluir con el proceso:
Se habrá creado una nueva interfaz de red virtual con la IP correspondiente. Esta será la red que asignaremos al adaptador iSCSI posteriormente:
Activación de servicio iSCSI en servidor VMware ESXi
Activaremos ahora el servicio iSCSI en el servidor de virtualización VMware ESXi. Para ello, desde VMware vSphere Client, seleccionaremos el servidor ESXi y pulsaremos en la pestaña «Configuration», pulsaremos en «Storage Adapters», en la parte derecha pulsaremos «Add»:
Marcaremos «Add Software iSCSI Adapter» y pulsaremos «OK»:
El sistema nos advertirá de que se añadirá un nuevo adaptador de software, pulsaremos «Aceptar»:
Con el texto:
—————————
Software iSCSI Adapter
—————————
A new software iSCSI adapter will be added to the Storage Adapters list. After it has been added, select the software iSCSI adapter in the list and click on Properties to complete the configuration.
—————————
Aceptar Cancelar
—————————
Una vez instalado el software para el adaptador iSCSI nos lo mostrará en los adaptadores, en el grupo iSCSI Software Adapter. Al añadir el adaptador nos habrá generado el WWN (World Wide Name) que será el identificador único que usaremos posteriormente para añadirlo como iniciador en la SAN FreeNAS:
Pulsando con el botón derecho del ratón sobre el nuevo adaptador iSCSI (identificado como «vmhba34») nos mostrará un menú emergente, pulsaremos en «Properties»:
En la pestaña «General», en «iSCSI Properties», podremos consultar y copiar el WWN del adaptador iSCSI que posteriormente necesitaremos en la configuración de la SAN para añadir el iniciador, en nuestro caso el WWN asignado será «iqn.1998-01.com.vmware:srvm-33822042»:
Añadiremos la interfaz de red creada anteriormente pulsando en la pestaña «Network Configuration» y pulsando en «Add»:
Seleccionaremos la red creada anteriormente para iSCSI «LAN_SCSI» y pulsaremos «OK»:
De esta forma quedará asignada la interfaz de red al servicio iSCSI y será esta la que use para el tráfico entre el servidor VMware ESXi y la SAN:
Administración de FreeNAS, configuración de servicio iSCSI
Configuración global de FreeNAS
Una vez instalado FreeNAS y activados los servicios iSCSI en el servidor VMware, accederemos a la administración de FreeNAS vía web para establecer la configuración inicial. Para ello abriremos un navegador desde cualquier equipo de la red y, como URL, introduciremos la IP de la SAN FreeNAS, en nuestro caso:
http://192.168.1.119
Puesto que es el primer inicio nos indicará que introduzcamos dos veces la nueva contraseña:
Estableceremos las opciones básicas, para ello pulsaremos en «System»:
En la pestaña «General» podremos elegir el idioma de la interfaz de FreeNAS, el mapa de teclado y la zona horaria:
Desde «Network», en la pestaña «Network Settings», en «Global Configuration», podremos establecer la IP de la puerta de enlace, el nombre DNS del equipo FreeNAS, el dominio y los servidores DNS:
Nota importante: como ya hemos comentado para el caso de la red de iSCSI para el servidor VMware ESXi, es muy recomendable usar una VLAN separada paa iSCSI donde solo estén conectadas las interfaces de red de los servidores ESXi y de la SAN iSCSI, separando el tráfico iSCSI del tráfico normal de la LAN. Esto proporcionará mayor eficacia y mayor seguridad. Por lo tanto no recomendamos, en un entorno de producción, usar la misma red para iSCSI que para la LAN normal de los equipos y usuarios.
Desde la pestaña «Interfaces» de «Network Settings» podremos consultar las interfaces de red del equipo FreeNAS:
Seleccionando la interfaz y pulsando en «Edit» podremos establecer la IP de la interfaz, el nombre identificativo y máscara de subred:
Pulsando en «Storage» podremos comprobar los discos duros asignados a la SAN FreeNAS, en nuestro caso dispondremos de un disco duro de 322GB asignado a la máquina virtual de FreeNAS anteriormente:
Configuración y activación de servicio iSCSI en SAN FreeNAS
Para configurar el servicio iSCSI en FreeNAS, en primer lugar añadiremos cada Extent correspondiente a cada disco duro de la SAN. Para ello desplegaremos «Servicios» – «iSCSI» – «Extents», pulsaremos en «Add Extent»:
Introduciremos los siguientes datos:
- Extent Name: nombre identificativo para el extent, por ejemplo «extent_hd300gb».
- Extent Type: seleccionaremos «Device».
- Device: seleccionaremos el disco duro, en nuestro caso «da1 (300.0 GiB)».
- Comment: observación para el extent, por ejemplo «Disco duro 300GB».
Añadiremos a continuación un portal, para ello desplegaremos «Portals» y pulsaremos en «Add Portal»:
Introduciremos los datos para el nuevo portal:
- Comment: observación, lo usaremos como nombre descriptivo, por ejemplo «portal_1».
- IP Address: dirección IP de la interfaz de red que asignaremos a este portal.
- Port: puerto que se usará para la conexión, por defecto para iSCSI, el 3260.
En «Target Global Configuration» de «iSCSI» estableceremos el «Base Name» que será el WWN identificativo para la SAN, este WWN será el que usemos posteriormente para establecer la conexión del servidor VMware ESXi con la SAN, de la misma forma que anteriormente hemos obtenido el WWN del adaptador iSCSI del servidor VMware ESXi. Podemos modificar el Base Name y establecer uno personalizado, pero es recomendable (para evitar problemas en la conexión desde VMware ESXi) usar el formato estándar que es, por ejemplo: iqn.2014-99.www.proyectpa.com. Desde aquí también podremos establecer el tipo de descubrimiento que estableceremos para la SAN y la autenticación, en nuestro caso dejaremos las opciones por defecto:
Pulsaremos «Save» para guardar los cambios de configuración global de iSCSI (si hemos cambiado algo):
Añadiremos ahora, si ya disponemos de él, el iniciador (initiator). El iniciador será el que enlace el servicio iSCSI de la SAN FreeNAS con el servicio iSCSI del servidor de virtualización VMware ESXi. Para ello deberemos disponer del WWN del adaptador iSCSI del servidor VMware ESXi, obtenido aquí. Para añadir el iniciador desplegaremos «Initiators» y pulsaremos en «Add Initiator»:
Introduciremos los datos del iniciador:
- Initiators: introduciremos el WWN del adaptador iSCSI del servidor VMware ESXi, obtenido aquí.
- Authorized network: por seguridad es muy recomendable solo permitir acceso a iSCSI a la IP del servidor VMware ESXi. En nuestro caso la IP de la interfaz de red que establecimos para iSCSI en el servidor VMware ESXi, la 192.168.1.150 (como indicamos aquí).
- Comment: observación que identificará este iniciador, por ejemplo «VMware ESXi 1».
Añadiremos ahora un target, para ello desplegaremos «Targets» en «iSCSI» y pulsaremos en «Add Target»:
Introduciremos los datos para el target:
- Target Name: nombre identificativo para el target, usaremos el mismo que el WWN.
- Target Alias: nombre corto identificativo, por ejemplo «target_iscsi_ajpdsoft».
- Serial: número de serie, dejaremos el de defecto.
- Target Flags: tipo de permisos de acceso, podremos elegir entre solo lectura o lectura y escritura. En nuestro caso elegiremos «read-write» para permitir lectura y escritura.
- Portal Group ID: elegiremos el portal creado anteriormente.
- Initiator Group ID: elegiremos el iniciador creado anteriormente.
- Auth Method: salvo que hayamos creado una autenticación, dejaremos «Auto».
- Authentication Group number: salvo que hayamos creado una autenticación, dejaremos «None».
- Queue Depth: por defecto 32.
- Logical Block Size: por defecto 512.
Por último agregaremos un associated target, para ello en la pestaña «iSCSI» pulsaremos «Associated Targets»:
Pulsaremos en «Add Target / Extent»:
Elegiremos los datos para el associated target:
- Target: elegiremos el target creado anteriormente.
- Extent: elegiremos el extent creado anteriormente.
De esta forma ya tendremos todos los datos necesarios para activar el servicio iSCSI en nuestra SAN FreeNAS. Por último activaremos el servicio iSCSI desde «Services» – «Control Services», pulsando en el icono «OFF» de iSCSI:
Si todo es correcto el servicio iSCSI de FreeNAS quedará en estado ON:
Presentación de disco duro de SAN FreeNAS a servidor VMware ESXi mediante iSCSI
Una vez instalado FreeNAS y activado el servicio de iSCSI, como hemos mostrado anteriormente, tanto en el servidor de virtualización VMware ESXi como en la SAN FreeNAS, podremos presentar el disco duro de la SAN al servidor iSCSI, como un nuevo datastore.
Para realizar este proceso deberemos disponer del WWN de la SAN (obtenido aquí), en nuestro caso iqn.2014-99.www.proyectoa.com, así como de la IP de la controladora de la SAN.
Previamente habremos establecido el iniciador en la SAN introduciendo el WWN del adaptador iSCSI del servidor VMware ESXi (como indicamos aquí).
Accederemos a la administración del servidor VMware ESXi desde VMware vSphere Client, pulsaremos en «Configuration», seleccionaremos el adaptador iSCSI:
Pulsaremos con el botón derecho del ratón sobre él, en el menú emergente seleccionaremos «Properties»:
Pulsaremos en la pestaña «Static Discovery» y pulsaremos en «Add»:
Introduciremos los datos de conexión con la SAN FreeNAS:
- iSCSI Server: IP de la controladora de la SAN, en nuestro caso 192.168.1.119.
- Port: puerto para conexión iSCSI, por defecto 3260.
- iSCSI Target Name: WWN de la SAN.
- CHAP: si hemos establecido método de autenticación indicaremos aquí los datos de conexión.
Introduciremos los datos y pulsaremos «OK»:
Pulsaremos «Close» en la ventana de iSCSI Initiator Properties:
El asistente para establecer la conexión iSCSI entre VMware ESXi y la SAN nos indicará que se ha añadido un conector iSCSI y que es recomendable escanear el bus del adaptador en busca de sistemas de almacenamiento nuevos. Pulsaremos «Sí» para reescanear:
Si los datos de conexión son correctos y los servicios iSCSI están iniciados el reescaneo descubrirá el nuevo disco duro de la SAN y lo mostrará en «Devices» de «Storage Adapters»:
Por último, para que el disco duro esté disponible y poder ser usado por las máquinas virtuales del servidor VMware ESXi deberemos formatearlo y agregarlo como un datastore. Para ello pulsaremos en la pestaña «Configuration» del servidor VMware ESXi, pulsaremos en «Storage» y en «Add Storage»:
Marcaremos «Disk/LUN» (para agregar un disco duro como datastore procedente de un sistema Fibre Channel, iSCSI o VMFS) y pulsaremos «Next»:
El asistente nos mostrará el disco duro procedente de la SAN mediante conexión iSCSI descubierto anteriormente, lo seleccionaremos y pulsaremos «Next»:
Elegiremos el formato para el sistema de ficheros que se creará en el nuevo volumen, por defecto VMFS-5:
El asistente nos mostrará los datos del disco duro elegido, pulsaremos «Next» para continuar:
Introduciremos un nombre para el datastore, por ejemplo «san_freenas_hd1»:
Marcaremos «Maximum available space» para asignar todo el espacio del disco duro de la SAN al datastore de ESXi que se creará:
El asistente nos mostrará los datos elegidos para crear el datastore, pulsaremos «Finish» para formatear la unidad a VMFS-5 y crear el datastore «san_freenas_hd1»:
A partir de ahora ya podremos usar el disco duro de la SAN virtual FreeNAS, conectado mediante iSCSI, como un datastore más de nuestro servidor VMware ESXi. Además, si disponemos de un VMware vCenter, un clúster de servidores VMware ESXi, podremos usar este datastore iSCSI como sistema de almacenamiento en clúster para todos los ESXi que lo formen.