FreeNAS

Descripción

FreeNAS is a free, open source, Network-Attached Storage operating system based on FreeBSD.

It supports sharing across Windows, Apple, and UNIX-like systems.

FreeNAS 8 includes ZFS, which supports high storage capacities and integrates file systems and volume management into a single piece of software.

Prerequistos

Un equipo con discos y una memoria USB para el sistema de minimo 1G (mejor 4G) para tener el sistema y memoria ram de > 4G  si va a usar ZFS

Instalación

La cuestion es como transparente, es hacerlo bootear del CD y escoger en el menu instalar, se selecciona la memoria USB y el se encarga de hacer todo hasta que le pide reiniciar.

Saque el CD y bootee por la memoria y esta listo para iniciar configuracion.

Configuración

1. Antes que todo

En la consola configure la red (soponemos no quiere DHCP)

  • 1.  Configure Network Interface
  • 3.  Default Route
  • 6.  Servidores DNS

Ingrese a http://lamaquina/  con el usuario admin/freenas e inicie la configuracion

  • Cambie contrasena del administrador   Account → My Account → Change Password
  • System → Settings
    • Protocolo aHTTPS 
    • Timezone a  America/Bogota
    • El primer NTP server a 192.168.8.202 (interno)
    • Advanced:  Enable powerd (pa ahorrar energia) ; Show console messages..
    • Mail : Configure server de salida
  • Network → Global configuration si quiere hacer algun cambio en la red

 

2. Almacenamiento

2.1 Volumenes y Datasets

Importante, iniciar a montar el espacio de almacenamiento:

  • Volumenes (son los discos virtuales)
  • Datasets (son las particiones virtuales)

Siempre se usa ZFS porque tiene mucho cuento y opciones

2.2 Creacion de un Volumen

  • Storage → Volumes → Create Volumen
  • Dele un nombre razonable (ejm:  Vol-01 o REPO o lo que sea)
  • Escoja los discos que participan en el arreglo
  • ZFS es la recomendacion
  • Mirror (Espejo) o Stripe (adiciona todo el espacio)
  • Presione Add Volume (los discos seran borrados)
  • F5 Refresque la pagina en el navegador (a veces no muestra el volumen creado)

2.3 Creacion de una Dataset

Como ya se creo el Volumen puede crear las particiones virtuales para organizar el espacio.

  • Storage → Volumes → /mnt/Vol-01 → Create Dataset
  • Nombre algo razonable (ejm: Dst-01 o SITO o lo que sea)
  • Interesante colocar quota, es equivalente al tamano, pero puede dejarse “libre”
  • Cree los que considere necesarios

3. Servicios

Para nosotros el siguiente paso es configurar los servicios que va a tener arriba antes de configurar los compartidos

  • Services → Control Services
  • SSH  Activelo y configure:  Puerto 2222 y permita que root se loguee (** OJO  la contrasena de root es “freenas” tambien .. cambiela !!! pero le toca por el GUI)
  • SNMP Activelo y configure Location y contact
  • NFD para compartidos UNIX
  • CIFS para compartidos WIndows y configure el Workgroup

Y hasta ahi vamos
 

4. Compartidos

Una vez tiene los volumenes y las DataSheets puede inicar a hacer compartidos por NFS, samba y demas

Por ejemplo NFS

  • Sharing → Unix Shares → Add Unix Share
  • Escoja el volumen a compartir (este es el que va a usar para montar en el cliente ejm: /mnt/Vol-01/Dst-01 )
  • Ponga las direcciones permitidas (ejm: 192.168.8.0/24)
  • MapUserRoot a root

A Windows share

  • Sharing → Windows Shares → Add Windows Share
  • Asigne un nombre (este es el que va a usar para montar en el cliente ejm: Documentos )
  • Escoja el path del  volumen a compartir (ejm: /mnt/Vol-01/Dst-01 )
  • Ponga las direcciones permitidasen HostAllow (ejm: 192.168.8.0/24)

Trucos

1. Como instale MySQL - MariaDB

Instale

  • Cree un disco llamado /mnt/Vol-01/3rdParty
  • En la interfaz grafica creo el usuario y el grupo MySQL - MariaDB  (27:27)
    • home:  /nonexistent (luego se lo puede cambiar al data)
    • shell: bash
    • Asigne contrasena (si deshabilita los logins no puede correr la base de datos bajo el usuario MySQL - MariaDB)
  • Transmita el MySQL - MariaDB:  scp -P 2222 MySQL - MariaDB-5.5.13-freebsd8.0-x86_64.tar.gz root@freenas:/mnt/Vol-01/3rdParty
  • Descomprimalo tar xvzf MySQL - MariaDB-5.5.13-freebsd8.0-x86_64.tar.gz
  • Renombrelo por comodidad:  mv MySQL - MariaDB-5.5.13-freebsd8.0-x86_64 MySQL - MariaDB

Configure

  • Sigue, hasta donde se pueda el proceso indicado en INSTALL-BINARY dentro de MySQL - MariaDB
    • chown -R MySQL - MariaDB:MySQL - MariaDB  /mnt/Vol-01/3rdParty/MySQL - MariaDB
    • cd /mnt/Vol-01/3rdParty/MySQL - MariaDB  ;  /mnt/Vol-01/3rdParty/MySQL - MariaDB/scripts/mysql_install_db –user=MySQL - MariaDB
    • chown -R root:wheel /mnt/Vol-01/3rdParty/MySQL - MariaDB/
    • chown -R MySQL - MariaDB:MySQL - MariaDB /mnt/Vol-01/3rdParty/MySQL - MariaDB/data 
  • edite el script de inicio MySQL - MariaDB/bin/mysqld_safe  y reemplace en todo el documento  el /usr/local  por la raiz de su instalacion /mnt/Vol-01/3rdParty  (vi: %s/usr\\/local/mnt\\/Vol-01\\/3rdParty/g )
  • Esta listo para darle la primera probada 

Probar

  • /mnt/Vol-01/3rdParty/MySQL - MariaDB/bin/mysqld_safe –user=MySQL - MariaDB &

[1] 7351
freenas# 110701 11:48:15 mysqld_safe Logging to '/mnt/Vol-01/3rdParty/MySQL - MariaDB/data/freenas.ikatta.com.err'.
110701 11:48:15 mysqld_safe Starting mysqld daemon with databases from /mnt/Vol-01/3rdParty/MySQL - MariaDB/data 

  • Si hace un “ps aux” ve a MySQL - MariaDB corriendo

MySQL - MariaDB 7409 0.0 2.2 200452 46412 1 I 11:48AM 0:00.28 [mysqld]
 

  • Si hace un nmap va a ver tambien el puerto 3306 abierto
  • o parese en el bin y ejecute ./MySQL - MariaDB -u root y debe tener acceso

Asegure y termine

  • Es bueno correr el script “bin/mysql_secure_installation” pero debe hacerlo desde la raiz (ejm: /mnt/Vol-01/3rdParty/MySQL - MariaDB/)
  • El script de inicio esta en support_files/mysq.server. Copielo a bin y cambie el raiz de  /usr/local  por la raiz de su instalacion /mnt/Vol-01/3rdParty   (** este no sirve como servicio de arranque rc.d para freebsd)

Y como haga para que arranque y baje automatico !!!

  • Debe cambiar la base de FreeNAS y para eso debe remontar RW la particion raiz  “mount -rw /dev/ufs/FreeNASs1a /“ 
  • En /conf/base/etc/rc.d copie un script de arranque de freebsd apropiado con los cambios para su directorio de intalacion. (Anexo) 
  • En el final de /conf/base/etc/rc.conf agregue

#by skina
mysqld_enable=YES

  • reinicie a ver

2. Como instale PostgreSQL

Preambulo

  • Monte un freebsd para compilar PostgreSQL de fuentes
  • Fue necesario montar m4, bison y flex ultima version bajadas de GNU
  • Configure, compile e instale postgresql 
  • HIce el tar del directorio de instalacion para llevarlo a freenas.

Instale

  • Cree un disco llamado /mnt/Vol-01/3rdParty
  • En la interfaz grafica creo el usuario y el grupo postgres  (28:28)  
    • home:  /nonexistent (Luego se lo puede cambiar al data )
    • shell: bash
    • Asigne contrasena (si deshabilita los logins no puede correr la base de datos bajo el usuario MySQL - MariaDB)
  • Transmita el MySQL - MariaDB:  scp -P 2222 pgsql-9.0.4-freebsd8.0-x86_64.tar.gz root@freenas:/mnt/Vol-01/3rdParty
  • Descomprimalo tar xvzf pgsql-9.0.4-freebsd8.0-x86_64.tar.gz
  • Renombrelo por comodidad:  mv pgsql-9.0.4-freebsd8.0-x86_64 pgsql

Configure y pruebe

  • Sigue, hasta donde se pueda el proceso indicado en INSTALL dentro de los fuentes de  pgsql  
    • mkdir /mnt/Vol-01/3rdParty/pgsql/data
    • chown postgres:postgres /mnt/Vol-01/3rdParty/pgsql/data
    • su - postgres
    • /mnt/Vol-01/3rdParty/pgsql/bin/initdb -D /mnt/Vol-01/3rdParty/pgsql/data
  • Esta listo para probar
    • /mnt/Vol-01/3rdParty/pgsql/bin/postgres -D /mnt/Vol-01/3rdParty/pgsql/data >logfile 2>&1 &
    • /mnt/Vol-01/3rdParty/pgsql/bin/createdb test
    • /mnt/Vol-01/3rdParty/pgsql/bin/psql test 
  • Esta listo corriendo **

**

Ajuste y termine

  • Es momento de configurar su postgres a sus necesidades
  • Escuchar por red: /mnt/Vol-01/3rdParty/pgsql/data/postgresql.conf
    • listen_addresses = '*'
    • password_encryption = on
  •  /mnt/Vol-01/3rdParty/pgsql/data/pg_hba.conf
    •  host all all 192.168.8.0/24 md5

Y como haga para que arranque y baje automatico !!!

  • Debe cambiar la base de FreeNAS y para eso debe remontar RW la particion raiz  ”mount -rw /dev/ufs/FreeNASs1a /“ 
  • En /conf/base/etc/rc.d copie un script de arranque de freebsd apropiado con los cambios para su directorio de intalacion. (Anexo) 
  • En el final de /conf/base/etc/rc.conf agregue

#by skina
 postgresql_enable=YES

  • reinicie a ver

3. Exportar homes de usuarios

Cambio el home a

ln -s /mnt/Vol-01/home /home

4. Instalar aplicaciones de terceros

Aunque parece que ninguno de estos funciona realmente

- http://sourceforge.net/apps/phpbb/freenas/viewtopic.php?f=13&t=10003 –

- http://sourceforge.net/apps/phpbb/freenas/viewtopic.php?f=15&t=10608&p=49330#p49330 –
 

5. Agregar swap

6. Tener los homes de un control de dominio

- Pegue como SDC el controlador 

samba-tool domain join codema.coop DC -U”CODEMA-W10/Administrator” –realm=codema.coop

- Cambie los permisos : https://forums.freenas.org/index.php?threads/how-to-properly-setup-freenas-9-2-1-5-to-use-active-directory-folder-file-user-permissions.20610/

 

 

Problemas

1. NO lo logro instalar en mi memoria de 1G

- Si tiene mas de 2G en RAM … va a necesitar una memoria mas grande .. si no no funciona

2. Perl no funciona: /libexec/ld-elf.so.1: Shared object "libperl.so" not found, required by "perl"

Pues la jugada no muy elegante fue copiar el libperl.so de un freebsd pa que funcionara ..

3. El ftp anonimo no funciona

Deberia existir un usuario(14):grupo(14). EL grupo existe pero no el usuario .. toca crearlo y ahi si funciona

4. La autenticacion con ldap no funciona

Esta muy seguramente mal configurado su LDAP

  • Hostname : monserrat
  • Basedn : dc=skina,dc=com,dc=co
  • User suffix : ou=People
  • Group suffix : ou=Group

 OJO !! todo cambio en LDAP luce como que toca reiniciar.

Referencias

- http://www.freenas.org/

- http://forums.freenas.org/showthread.php?142-HowTo-Setup-A-Chroot-Ontop-Of-FreeNAS

- Reconstruirlo http://forums.freenas.org/forumdisplay.php?15-Installation

Anexos

1. mysqd

2. postgresql

FIN


Advertencia

Este documento es privado y es de u so exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.


 

15-Marzo-2006 J.E.Gomez v1.0 Primera version

Volver arriba