Introducción
Debido a que es un poco complicado o engorroso de instalar FreeBSD con la raiz sobre ZFS y mediante varios artículos, no oficiales y el wiki oficial, me costo llegar a una configuración optima y básicamente, porque habían cabos sueltos que pienso atar en este articulo.
Para comenzar usaremos el nuevo bsdinstaller GPT, no MBR y seguiremos estas instrucciones paso a paso, para que saque máximo provecho a ZFS. Esta instalación no requiere tener EFI activado es en modo BIOS.
Nota 2014-01-27: Por estos días ha salido FreeBSD 10 y trae soporte desde el instalador, creando la misma configuración automáticamente. Y este documento solo podría ser usable si se desea usar ZFS como LVM para lo cual se debería aplicar la la opcion -V <size> en cada volumen. Lo que da un tamaño fijo a cada volumen, partición o punto de montaje.
Configurar el teclado:
Configurar el hostname en este caso freebsd porque será un template:
Configurar los paquetes ports y src pueden ser optativos, games fuera, la documentacion es altamente recomendable sobre todo para tener referencias a man-o:
Limpiamos el disco en este caso ada0 porque es sobre VBox VM.
Nota 2014-01-27: Por estos días ha salido FreeBSD 10 y trae soporte desde el instalador, creando la misma configuración automáticamente. Y este documento solo podría ser usable si se desea usar ZFS como LVM para lo cual se debería aplicar la la opcion -V <size> en cada volumen. Lo que da un tamaño fijo a cada volumen, partición o punto de montaje.
Primera parte
Se debe efectuar una instalación normal y como de costumbre. Una vez arranca el disco o flash image de instalacion de freebsd selecionar el install.Configurar el teclado:
Configurar el hostname en este caso freebsd porque será un template:
Configurar los paquetes ports y src pueden ser optativos, games fuera, la documentacion es altamente recomendable sobre todo para tener referencias a man-o:
Segunda parte
En la segunda parte se efectúan instrucciones en modo shell fuera del nuevo bsdinstaller y es aquí donde cambia el rumbo hacia el root sobre zfs, seleccionar shell y nos vamos al prompt.
gpart destroy -F ada0Iniciar el disco GPT
gpart create -s gpt ada0Crear el sector de arranque del disco GPT con un alineamiento especial para no usar zroot legacy.
gpart add -b 34 -s 94 -t freebsd-boot ada0Crear el slice con el resto del disco sin crear freebsd-swap en vez de esto, ira sobre ZFS más adelante.
gpart add -t freebsd-zfs -l disk0 ada0Marcar el disco como disco de arranque.
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0Configurar la flag de debug a 16 para ver por mensajes en caso de error
sysctl kern.geom.debugflags=0x10Crear un gnop para linear los sectores a 4K esto mejora el rendimiento es una buena practica, indicando el altroot y finalmente montar.
gnop create -S 4096 /dev/gpt/disk0 zpool create -o altroot=/mnt -o cachefile=/var/tmp/zfs/zpool.cache zroot /dev/gpt/disk0.nop zpool export zroot gnop destroy /dev/gpt/disk0.nop zfs mount zrootY esta el pool montado y se debe proceder a crear los volumes o particiones para optimizar mejor los recursos primero se configura el checksumer=fletcher4 que es lo más optimo para mantener la consistencia de los datos.
zfs set checksum=fletcher4 zrootPara sacar provecho a zfs con la instalación se aplican opciones a cada volume, para así mejorar rendimiento, espacio y seguridad.
Nota 20/01/2014: El /var/crash no sirve de nada crearlo, ya que no se puede activar el dumpdev con ZFS por el momento, probé con un zvol pero es un dispositvo no valido, debido a que si el kernel cae antes de tener el modulo zfs.ko cargado no podría volcar core al zvol.
zfs create zroot/var zfs create zroot/usr zfs create zroot/usr/home zfs create -o compression=on -o exec=on -o setuid=off zroot/tmp zfs create -o exec=off -o setuid=off zroot/var/empty zfs create -o exec=off -o setuid=off zroot/var/run zfs create -o exec=off -o setuid=off zroot/var/db zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/db/pkg zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/tmp #zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/crash zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/log zfs create -o compression=gzip -o exec=off -o setuid=off zroot/var/mail zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/usr/srcCrear la swap.
zfs create -V 2G zroot/swap -o org.freebsd:swap=on zroot/swap -o checksum=off zroot/swapEsto se puede dejar para la post instalación si no se ha seleccionado el paquete de ports en el bsdinstaller.
zfs create -o compression=lzjb -o setuid=off zroot/usr/ports zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/distfiles zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/packagesCrear un link del home y agregar permisos a los tmp.
cd /mnt ; ln -s usr/home home chmod 1777 /mnt/tmp chmod 1777 /mnt/var/tmpY ahora exit para volver a la instalación.
exit
Tercera parte
Retomamos el nuevo bsdinstaller para continuar con una instalación y post configuración normal, esto tarda algunos minutos y requiere un poco de interacción para configurar las cosas tipicas passwor, zona horaria, usuarios, etc.
Ingresar la password de root.
En las siguientes imágenes se puede ver como configurar la NIC con la red en la que esta la maquina IPv4 en este caso y sin IPv6, y el respectivo Gateway y DNS.
Configurar la zona horaria, en este caso se selecciona una zona de Europa, pero bien puede ser America/Santiago u otra.
Crear usuarios es opcional.
Exit, para salir del bsdinstaller.
Cuarta parte y final
Ya finalizada la post configuración (yes) para volver a la shell, en el cual se terminara de configurar lo necesario para arrancar con zfs.Una vez completada la instalación hacer los siguientes paso:
Copiar el zpool.cache
cp /var/tmp/zpool.cache /mnt/boot/zfsConfigurar zfs para arranque automatico de sus modulos.
echo 'zfs_load="YES"' >> /mnt/boot/loader.conf echo 'vfs.root.mountfrom="zfs:zroot"' >> /mnt/boot/loader.conf echo 'zfs_enable="YES"' >> /mnt/etc/rc.confDesactivar el almacenamiento de coredump's.
echo "kern.coredump=0" >> /etc/sysctl.conf
No hay comentarios.:
Publicar un comentario