Tutorial – NAS Casero Avanzado

En este tutorial, os enseñaré como montar configuraciones de discos avanzadas para vuestro NAS con NAS4FREE instalado. Antes de nada, si no habéis pasado por el primer tutorial, deberíais hacerlo YA, hasta el sitio donde se enlaza con este, ya que ahí se explica como instalar NAS4FREE en vuestro PC, y es de lo que partiré aquí: Tener NAS4FREE instalado y accesible desde algún PC

Aquí pretendo enseñaros, como montar configuraciones avanzadas de discos para poder usar varios, como si fuera uno solo, pero en distintas configuraciones, así que pongámonos al lío
.

En mi NAS tengo 4 discos de 3GB (Sí, ya se que eso no existe, pero estoy haciéndolo sobre una máquina virtual, así que me llega con eso), a parte del disco donde se ha instalado NAS4FREE (Acordaros de que NAS4FREE ocupa un disco entero, por lo cual es recomendable instalarlo sobre alguna unidad externa usb con poco espacio de almacenamiento, que tengáis siempre conectada al PC, e iniciar desde ese dispositivo el sistema, ya que sino, desperdiciareis un disco completo para una instalación de muy pocas megas). Para verlos nos vamos a la opción de menú Discos->Administración y ahí si no veis los discos duros de vuestra máquina, solo debéis pulsar en importar disco, aceptar la pantalla de confirmación, y os aparecerá automáticamente todo el listado.

nas1  nas2

Esta será el inicio para cada uno de los tipos de configuraciones que vamos a montar.

Stripe (Raid 0)

Este tipo de configuración lo que hace, es que 2 o mas discos, trabajen como uno solo, repartiendo la información entre todos los discos, con lo que se gana en rendimiento. Esta configuración sin embargo no tiene redundancia, por lo cual, si algun disco se estropea, os podeis olvidar del contenido de todos ellos directamente.

Para ello, lo primero es formatear los discos que quieren usarse para usarse en Stripe. Yo usaré los discos ada1 y ada2. Para formatearlos nos vamos a la opcion Discos->Formatear, seleccionamos el disco que queremos (ada1 en mi caso), y en Sistema de archivos, seleccionamos ZFS Storage Pool Device quedándoos una pantalla tal como esta:

nas3

 

Después pulsaremos en Formatear el disco, y una vez que acabe, repetimos el proceso con el disco ada2.

A continuacion nos vamos a la opcion de menú Discos->ZFS y dentro, seleccionamos la opcion Pools y despues Dispositivo Virtual. Aquí dentro pulsamos en el simbolo + de la derecha y nos dará una lista de los discos listos para poder realizar un dispositivo virtual. Ponemos un nombre (En mi caso, Virtual1) y seleccionamos los discos ada1 y ada2, seleccionamos Stripe en el campo Tipo y por ultimo pulsamos el botón Añadir, y cuando nos aparezca en la lista, pulsamos Aplicar Cambios y ya tendremos nuestro dispositivo virtual creado.


nas4nas5nas6

Una vez creado el dispositivo virtual, nos vamos dentro de la sección de Pools a la parte de Administración, y pulsamos en el simbolo + para añadir un nuevo Pool. Le damos un nombre al pool (Pool1 en mi caso), seleccionamos el dispositivo virtual creado anteriormente, y pulsamos en Añadir. Después pulsamos en Aplicar Cambios  y ya tenemos nuestro Pool montado y activo.

nas7 nas8

Ahora mismo nuestro Pool funciona como si fuera un disco duro único en el cual como se puede observar, tiene el tamaño de la suma de los dos discos usados, y podemos empezar a compartirlo a través de SMB/CIFS igual que se hace en la segunda parte del tutorial.

Al ser la primera vez que tratamos con el sistema ZFS, nos podemos encontrar también con Conjuntos de datos dentro de las opciones de ZFS. Estos conjuntos de datos, son carpetas que se crean dentro del pool creado, pero al cual podemos darle varias opciones. Para crear un Conjunto de datos nos vamos a Discos->ZFS y luego en Conjunto de datos. Pulsamos en el símbolo + y podremos añadir uno nuevo, donde le daremos un nombre, seleccionaremos el pool creado anteriormente, modificaremos los parámetros que creamos necesarios (Propietario,permisos, cuota,etc…) y pulsamos en Añadir. Después pulsamos Aplicar Cambios, y listo, ya tenemos nuestro conjunto de datos (Carpeta dentro de nuestro pool) con las opciones que nosotros hayamos querido, y que por supuesto podremos compartir vía SMB/CIFS, NFS o como mejor queramos.

Mirror (Raid 1)

Este tipo de configuración lo que hace, es que 2 discos, trabajen como uno solo, duplicando la información en los dos discos, con lo que si un disco duro de los dos se estropea, no perderemos ningun dato, ya que solo tendremos que sustituir el disco dañado, por otro de igual capacidad y superior, y hacer una restauracion de disco mediante NAS4FREE. Esta configuración Consigue que nuestros datos estén seguros, pero a cambio, perderemos capacidad de almacenamiento, ya que dos discos duros funcionaran con la capacidad del menor de ellos dos. Ej: Si tenemos un disco de 512GB y otro de 256GB, solo tendremos disponibles 256GB de cara al exterior, ya que al duplicarse la información entre los discos, tiene que haber capacidad suficiente para todo lo que le metamos. Por eso es recomendable poner dos discos de la misma capacidad siempre que hagamos una configuración de Mirror o RAID 1.

Para crear una configuración de espejo o Mirror, tendremos que tener formateados los discos que vamos a usar (ada1 y ada2 de nuevo) como ZFS, igual que como hicimos para la configuración en Stripe. Lo siguiente es crear un dispositivo virtual igual que en el anterior apartado, excepto que esta vez en la pantalla de crear el dispositivo virtual, seleccionaremos el tipo Espejo (Mirror)

nas10

 

Una vez creado el dispositivo virtual en modo espejo, podemos crear un pool igual que en el modo Stripe, seleccionando en la pantalla de creación en dispositivo virtual de espejo creado antes.

nas11nas12

 

Cuando tengamos creado el pool, veremos que tenemos disponible solamente 3GB, ya que es el tamaño de uno de los discos que usamos. Con esto podemos compartirlo ya con SMB/CIFS, NFS y otros protocolos igual que hicimos antes, o también crear conjuntos de datos. Esto ya es cosa vuestra.

Mirror+Stripe (Raid 10)

Esta configuración es realmente interesante, y altamente recomendable si se tienen 4 discos duros por lo menos (Tenemos que tener discos múltiplos de 2: 4,6,8,10…), ya que vamos a hacer dos configuraciones en mirror, y estas dos a su vez las configuraremos en stripe.

Para empezar crearemos dos dispositivos virtuales con configuración mirror: Uno llamado Virtual1 con los discos ada1 y ada2, y otros llamado Virtual2 con ada3 y ada4. Por supuesto todos los discos deben estar formateados con ZFS previamente. El resultado sería este:

nas13 nas14 nas15

 

Una vez creados nuestros dispositivos virtuales, debemos ir a crear nuestro pool (Recordad, Discos->ZFS, y luego Pools y Administración). Para ello en la pantalla de creación, le ponemos un nombre (Pool10 en mi caso), y seleccionamos los dos dispositivos virtuales creados anteriormente. El resultado sería este:

nas16nas17

 

Ya tenemos nuestro pool creado, y como podemos observar, tenemos disponibles 6GB para nosotros. Esto es lógico, ya que hemos juntado dos configuraciones mirror (Las cuales tiene 3GB cada una) a través de un stripe (Que suma las capacidades disponibles de los dispositivos) en el pool. Esta para mi la mejor configuración que se puede tener casi sin ninguna duda, ya que tienes más capacidad de almacenamiento, y se te pueden estropear dos discos duros a la vez (Siempre y cuando los dos no sean del mismo dispositivo virtual creado) y aun así no perder ningún tipo de dato.

Raidz1 (Raid 5)

Este tipo de configuración es más avanzada, aunque muy simple de crear. Se puede crear siempre y cuando tengamos mas de 3 discos. Su utilidad es que suma todos las capacidades de los discos, y tiene redundancia, lo cual hace que si se nos estropea un disco, podamos reemplazarlo. En esta configuración la suma de las capacidades no es exacta del todo a la suma de todos los disco, ya que se necesita parte de esta capacidad de almacenamiento, para crear la redundancia y hacerlo tolerante a fallos. Es recomendable esta configuración, siempre y cuando se tengan discos de bastante capacidad, y podamos permitirnos que un disco se nos estropee, pero a cambio tener un poco menos capacidad de la esperada al sumar todos los discos.

La configuración es la siguiente: Nos volvemos a ir a los dispositivos virtuales, teniendo todos los discos formateados en ZFS. Yo voy a usar mis 4 discos que tengo ahora mismo para crear mi Raidz1, por lo cual en la pantalla de creación de dispositivo virtual, le doy un nombre (Raid5 en mi caso), seleccionamos Raid-Z de paridad simple en tipo, y cogemos todos los discos que tengo disponibles para añadirlos.

nas18

 

Una vez creado nuestro dispositivo virtual, nos vamos a la creación de un pool, y seguimos los mismos pasos que para las configuraciones anteriores, excepto que esta vez solo tendremos disponible un dispositivo virtual para seleccionar. Le damos un nombre, seleccionamos el dispositivo (Virtual 5 en mi caso), y pulsamos Añadir. Pulsamos aplicar en la siguiente pantalla y listo, ya tenemos nuestro Raidz1 montado.

nas19 nas20

 

Podemos observar en las imágenes que solo tengamos disponibles 8,79GB. Como dije, este tipo de configuración utiliza parte de nuestra capacidad de almacenamiento para generar esa redundancia que haga el sistema tolerante a fallos, así que si vamos a usar esta configuración, deberíamos asegurarnos de usar discos de una buena capacidad.

Por supuesto una vez creado nuestro pool, podemos empezar a crear elementos compartidos y conjuntos de datos igual que en las otras configuraciones.


 

Una vez hayais creado vuestra configuración elegida, debereis seguir con la primera parte del tutorial, donde se configuran usuarios y grupos, para después pasar a la segunda parte del tutorial donde se crean carpetas compartidas en red.

Y hasta aquí llega el último tutorial para la creación de nuestro NAS casero. Espero que os haya sido de utilidad tanto como a mi, y que le deis toda la caña que podáis a vuestro nuevo equipo.

Tutorial – NAS Casero II

Y aquí tenéis la segunda parte del tutorial traducido que encontrareis en http://www.anotherwindowsblog.com/2012/10/installing-and-configuring-nas4free-on-a-windows-network.html/2

Creando directorios

Si tienes una gran cantidad de usuarios y por lo tanto una gran cantidad de carpetas a crear, puedes simplemente crear una carpeta principal HOME y para cada ubicación de la ruta del usuario, basta con utilizar la variable de $u al final de la ruta. Así, la ruta de acceso para cualquier usuario se verá así: /mnt/Storage/Home/%u /. La principal ventaja de utilizar este método se debe a no tener que crear una carpeta individual para cada usuario y también no tener que establecer los permisos para cada uno. Cuando un usuario se conecta y accede a la cuota de la carpeta de inicio, recibirá sólo el acceso a su propio directorio de carpetas. Cuando te loguees en el Administrador de archivos como se indica en el siguiente paso, por favor recuerde iniciar sesión con las credenciales de administrador y no con cualquiera de las cuentas de usuario que ha creado en los pasos anteriores.

El siguiente paso en el proceso es la de crear los directorios de carpetas para nuestros usuarios. Ten en cuenta que esto NO SON las propias compartidas, sino sólo las carpetas. Dirígete a Avanzado -> Administrador de archivos y logueate cuando veas el mensaje. Aquí ves una lista visual de la estructura de carpetas en nuestro NAS. No te preocupes por todos los demás. La única carpeta con la que vamos trabajar es ‘mnt’. Dentro, deberías ver una carpeta que corresponde al nombre del punto de montaje que has creado en el principio. En mi caso, es simplemente Storage. Entra dentro del punto de montaje. Hacia el lado derecho, en el menú desplegable, selecciona Directory en lugar de Files. En el campo de texto junto a este cuadro, escribe el nombre del directorio y haz clic en Create. En mi caso, voy a crear tres carpetas diferentes dentro de mi punto de montaje de almacenamiento. La primera carpeta es para Alice. El segundo es para Bob. La tercera carpeta se llama pública. No te preocupes acerca de los permisos, porque nos encargaremos de eso próximamente.

Directories

Asignando permisos a los directorios

Con los directorios creados, ahora tenemos que asignar los permisos reales en esas carpeta. Para que esto suceda, tenemos que utilizar la utilidad WinSCP. Pero antes de que podamos usarla para iniciar sesión en nuestro NAS, tenemos que activar esa función dentro del sistema operativo NAS4Free. Pásate por Servicios -> SSH. NAS4Free tiene muchas características, pero por defecto y por motivos de seguridad, la mayoría de ellos están desactivados. Para utilizar WinSCP, necesitamos habilitar el servicio SSH. Por lo tanto, haga clic en la casilla de verificación Habilitar en el lado derecho. También activa la opción “Specifies whether it is allowed to login as superuser (root) directly”.

SSH Enable

Ahora puedes abrir WinSCP. Bajo el nombre de host, escribe la dirección IP del servidor NAS. Bajo nombre de usuario, utiliza “root”. La contraseña debe ser nas4free a menos que lo hayas cambiado. Pulsa el botón Iniciar sesión.

WinSCP

Una vez conectado,sube de directorio hasta ‘mnt’ donde hemos creado nuestras tres carpetas en el paso anterior (esta es la lista de directorios del lado derecho). Aquí, tenemos que establecer individualmente los permisos de acceso para cada carpeta. Voy a empezar con Alice. Haz clic derecho sobre la carpeta y selecciona Properties en el menú. En el cuadro de propietario (Owner), deberia mostrarse como ‘root [0]’. Resalta este y elimínalo. En su lugar, pondremos a Alice como el dueño de esta carpeta. Por lo tanto, escribe el número de identificación del usuario de Alice en esta casilla. En Permisos, verás una gran cantidad de casillas que te permite establecer permisos individuales. En lugar de hacer malabares con estos, simplemente escribe 700 en el cuadro “octal” y pulsa Aceptar. Esto, básicamente, dice que sólo el propietario, el cual es Alice, debe tener acceso completo de lectura, escritura y ejecución en la carpeta y nadie más. Voy a hacer lo mismo para la carpeta de Bob pero claro, pondré Bob como propietario en lugar de Alice. Con la carpeta pública, las cosas son diferentes, ya que tenemos que dar nuestro acceso de grupo personalizado “Public” en lugar de un único usuario individual. El procedimiento es el mismo, pero esta vez escribe la identificación del grupo en el campo Grupo y no en propietario. Para los permisos, lo ponemos a 775 en el campo octal.

Aquí es lo que tengo al final:

Alice PermissionsBob's PermissionPublic Permission

Una vez que esté hecho, puedes salir de WinScep.

Creando nuestros compartidos

Muy bien, sólo hay una cosa más que tenemos que llevar a cabo para poner todo junto! Ahora necesitamos crear carpetas compartidas que se mapean a los tres directorios que se han creado (Alice, Bob y Público). Pásate por Servicios -> CIFS / SMB. Estas dos tecnologías se utilizan en un entorno Windows para permitir a los equipos comunicarse básicamente y compartir archivos entre sí. Si tienes equipos de Apple en la red, tendrás que activar el protocolo de archivos de Apple (AFP). Para habilitar el soporte CIFS / SMB en el NAS, sólo tienes que seleccionar la casilla de verificación (lado derecho) Habilitar. Puedes dejar casi todo lo demás en los valores predeterminados. Sólo asegúrate de que el tipo de autenticación se establece en usuario local y que el nombre de grupo de trabajo coincide con el que estás utilizando en tu red (que debe estar en WORKGROUP si no lo has cambaido).

CIFS Support

Con el servicio CIFS activado, podemos ahora por fin crear las carpeta compartidas para nuestros usuarios a utilizar. Cambia a la pestaña Acciones. Aquí vamos a crear tres carpetas compartidas con cada asignación a uno de los directorios que hemos creado antes. Haz clic en el signo más para agregar una carpeta compartida. Sólo tendrá que proporcionar tres piezas clave de información. Puedes dejar el resto de las opciones establecidas por defecto por ahora.

Primero tendrás que darle un nombre nombre a la carpeta compartida. Esto es lo que los usuarios verán cuando naveguen a través del NAS. Sorprendentemente, se quiere un comentario por lo cual escribe uno aquí. En el campo Ruta (Path) es el más importante, así que asegúrate absolutamente de hacerlo correctamente! El valor de ruta especifica a carpeta o directorio deben ser mapeada la carpeta compartida. En mi caso, voy a crear tres carpetas compartidas. Uno de Alice, Bob y otra para Publico. La primera carpeta compartida será, obviamente, mapeada a la carpeta privada de Alice, la segunda mapeada a la carpeta privada de Bob y la tercera, mapeada a la carpeta pública, respectivamente. Simplemente haz clic en el icono Examinar para buscar el directorio. Las carpetas deben estar ubicados dentro de tu punto de montaje.

Alice's ShareBob's SharePublic Share

Conectado a las carpetas compartidas

Finalmente hemos completado todos los procedimientos para tener nuestras carpetas compartidas en marcha y funcionando con los permisos correctos! Ahora es el momento de la recta final. Aquí, vamos a conectar a nuestro NAS como usuario Alice en tu máquina de Windows 7. Si todo va bien, deberías ser capaz de navegar libremente por la carpeta pública y tu carpeta privada además de agregar datos a ellos. Sin embargo, a ella se le debe negar el acceso a la carpeta privada de Bob.

Así que, si todo va bien, Alice debe ver el servidor NAS4Free listado en su red (si no es así, por favor recuerda habilitar el servicio CIFS / SMB):

Network

Cuando se hace clic en ese servidor en la lista de redes, se presentará una petición de credenciales. Aquí, el usuario escribe su nombre de usuario y contraseña que se ha configurado para ellos dentro NAS4Free (los usuarios podrían no ver este mensaje si el nombre de usuario y la contraseña para su cuenta NAS4Free es lo mismo que su cuenta de equipo local):

Credential Prompt

Una vez que las credenciales han sido validados, Alice debe ahora ser capaz de navegar por los recursos compartidos de red en nuestro NAS como se ve aquí:

Browse Shares

Observa a continuación cómo Alice puede crear archivos y carpetas tanto en su carpeta privada y la publica que tiene compartida:

Access Granted

Esto es lo que sucede cuando Alice intenta acceder a la carpeta privada de Bob. Como era de esperar, se le niega el acceso porque hicimos a Bob el “dueño” de la carpeta y se hizo de manera que sólo el propietario puede tener acceso a la carpeta:

Access Denied

OK, así que todo funciona como se esperaba! La última cosa que necesitamos hacer es ayudar a Alice mapear esas carpetas de red para que ella tenga un acceso más fácil a ellas a partir de ahora. Todo lo que tiene que hacer es simplemente hacer clic en la carpeta que quiere asignar a una unidad y seleccionar la opción adecuada en el menú (mapear a unidad de red). En la ventana que aparece, el usuario sólo tiene que especificar una letra de unidad a asignar. Además, asegúrate de que está seleccionada la opción “Conectar de nuevo al inicio de sesión”. Esto hace que la asignación de unidad sea permanente. En la mayoría de los casos, si el nombre de cuenta de usuario y contraseña en NAS4Free es la misma que la cuenta de usuario local en el equipo, al usuario puede que no se le pidan las credenciales. Sin embargo, si las credenciales son diferentes, especifica la casilla de verificación “Conectar usando diferentes credenciales” para decirle a Windows que no debe usar la cuenta de usuario local para la autenticación y utilizar en su lugar el del NAS en su lugar.

Map Drive

Una vez hecho esto, Alice ahora puede acceder a sus carpetas compartidas en el NAS como si fueran discos duros de su equipo local! Mientras el servidor NAS está en marcha, los usuarios siempre serán capaces de leer y escribir datos en sus carpetas compartidas.

Mapped

Queda algo más?!

Bueno amigos, si habeis llegado hasta aquí, entonces felicidades, ya que habeis llegado hasta el final del tutorial! Al principio, prometí que para el final tendrias un NAS completamente funcional y carpetas compartidas creadas con diferentes permisos de acceso. Creo que he logrado ese objetivo. Sin embargo, hay mucho más cosas que puedes hacer con NAS4Free que lo que he mostrado aquí. Este “breve” tutorial es sólo lo básico, lo creas o no. Una vez que hayas captado los conceptos de lo que estaba tratando de hacer aquí, entonces estarás listo para pasar a un nivel superior de aprendizaje. Esto incluye cómo proporcionar una mejor seguridad para asegurar los datos en tu NAS junto con la aplicación de un tipo de característica de redundancia tales como RAID 1 o RAID 5.

El modelo simple que se muestra aquí, aunque es muy básico, todavía puede ser flexible. Por ejemplo, a partir de ahora, sólo tengo que gestionar nuevos usuarios, carpetas y configuración de permisos. Si un usuario nuevo, Sally, viene entonces todo lo que tendría que hacer es repetir los pasos para crear su cuenta de usuario, añadiendo a ella los grupos adecuados, dándole acceso a su propia carpeta privada y, finalmente, el mapeado de las unidades de red en su computadora para facilitar el acceso.


 

Hasta aquí llega el tutorial traducido literalmente. La verdad es que es muy completo, pero en mi opinión, demasiado sencillo, ya que os deja una máquina con una configuración de disco duro básica.

En el tutorial del NAS Casero avanzando os enseño a configurar varios discos duros en modo Stripe (Raid 0), Mirror (Raid 1), una configuración de RAID 10 pero con ZFS (Mirror+Stripe) que es muy muy recomendable si se tienen al menos 4 discos duros, y también una configuración avanzada (Pero que es muy simple de realizar) que seria el equivalente a RAID 5

 

 

< Paso Anterior