Cómo configurar Ubuntu 14.04 en el sistema de archivos raíz nativo ZFS
Hola a todos, hoy vamos a configurar Ubuntu en un archivo raíz nativo ZFS, que es un sistema de archivos avanzado y un administrador de volumen lógico diseñado para superar muchos de los principales problemas encontrados en diseños anteriores, diseñado por Sun Microsystems. Las principales características de ZFS incluyen su rendimiento con la integridad de los datos que incluye la suma de comprobación de los datos para brindar protección contra la corrupción. ZFS intenta corregir los errores automáticamente cuando hay redundancia de datos disponible. ZFS proporciona soporte para altas capacidades de almacenamiento y compresión de datos eficiente con dispositivos de almacenamiento de grupo físico que se agregan a un grupo, y el espacio de almacenamiento se asigna desde ese grupo compartido.
Requisitos previos del sistema base
En esta configuración, utilizaremos ZFS en un entorno Ubuntu 14.04 de 64 bits instalado como base con las siguientes especificaciones y versiones.
- Sistema operativo: Ubuntu 14.04.1 LTS x86_64
- grub-install (GRUB) 2.02 ~ beta2-9ubuntu1.3
- spl-dkms 0.6.4-2 ~ utópico
- zfs-dkms 0.6.4-3 ~ utópico
- zfs-initramfs 0.6.4-3 ~ utópico
- Tamaño libre de disco / partición 10GB
- Memoria recomendada utilizada 4 GB
- Número de núcleos utilizados 2 GHz
Configuración de la instalación de ZFS
Vamos a iniciar la instalación de ZFS en un sistema operativo Ubuntu 14.04 ya instalado con 10 GB de espacio libre. Necesitamos iniciar sesión con el usuario root para realizar todos estos pasos.
Adición del repositorio ZFS
Antes de que podamos empezar a utilizar ZFS, necesitamos instalarlo. Simplemente agregue el repositorio a apt-get con el siguiente comando:
root@ubuntu-14:~# apt-add-repository --yes ppa:zfs-native/stable
Actualización del sistema con instalación de ZFS
Aquí necesitamos actualizar el sistema operativo con un nuevo repositorio y luego comenzaremos su instalación con apt-get.
root@ubuntu-14:~#apt-get update root@ubuntu-14:~#apt-get install debootstrap ubuntu-zfs
La instalación de los paquetes llevará algún tiempo mientras se compilan los módulos del kernel.
Se requiere zfs-initramfs para colocar las utilidades de ZFS para administrar sistemas de archivos ZFS en las imágenes de arranque de initramfs.
root@ubuntu-14:~#apt-get install zfs-initramfs
Comprobación de módulos ZFS
Al usar los siguientes comandos, primero cargaremos los módulos zfs y luego verificaremos si existen o no.
Partición de disco para ZFS
Nuestra tabla de particiones será la siguiente para el diseño de un solo grupo de vdev, donde sda2 se utilizará para la raíz de zfs.
Crear grupo raíz
Ahora crearemos el grupo raíz usando / dev / sda *. Como alternativa, también puede crearlo usando los enlaces / dev / disk / by-id para crear el grupo.
root@ubuntu-14:~# mke2fs -m 0 -L /boot/grub -j /dev/sda2 root@ubuntu-14:~# zpool create -o ashift=9 rpool /dev/sda2
Hemos creado el rpool que podemos verificar mediante el comando zpool list.
Creación del conjunto de datos raíz y la instalación del sistema base
Aquí creamos el conjunto de datos raíz, luego lo exportamos y lo importamos nuevamente usando -d / dev / sda2
root@ubuntu-14:~# zfs create rpool/ROOT root@ubuntu-14:~# zfs create rpool/ROOT/ubuntu-1 root@ubuntu-14:~# zfs umount -a root@ubuntu-14:~# zfs set mountpoint=/ rpool/ROOT/ubuntu-1 root@ubuntu-14:~# zpool export rpool root@ubuntu-14:~# zpool import -d /dev/sda2 -R /mnt rpool
Ahora monte el sistema de archivos de arranque para GRUB que habíamos creado en el paso anterior.
root@ubuntu-14:~# mkdir -p /mnt/boot/grub root@ubuntu-14:~# mount /dev/sda2 /mnt/boot/grub root@ubuntu-14:~# debootstrap trusty /mnt
El comando debootstrap deja el nuevo sistema en un estado no configurado que haremos con sus configuraciones mínimas a continuación.
Después de completar con éxito debootstrap, recibimos el mensaje sobre la instalación exitosa del sistema Base, ahora, después de ejecutar los siguientes comandos, actualizaremos el sistema después de generar las configuraciones regionales de la siguiente manera.
root@ubuntu-14:~# cp /etc/hostname /mnt/etc/ root@ubuntu-14:~# cp /etc/hosts /mnt/etc/ root@ubuntu-14:~# mount --bind /dev /mnt/dev root@ubuntu-14:~# mount --bind /proc /mnt/proc root@ubuntu-14:~# mount --bind /sys /mnt/sys root@ubuntu-14:~# chroot /mnt /bin/bash --login root@ubuntu-14:/# locale-gen en_US.UTF-8
Entonces, hicimos con sistemas de archivos virtuales en el entorno que es visible para el nuevo sistema e instalamos el soporte PPA en el entorno chroot con el comando chroot.
Instalación de paquetes nativos y de Ubuntu
Se requiere el paquete ubuntu-minimal para usar ZFS en Linux como está empaquetado en el PPA. Instalemos ZFS en el entorno chroot para el nuevo sistema ejecutando los siguientes comandos.
root@ubuntu-14:/# apt-get install ubuntu-minimal software-properties-common root@ubuntu-14:/# apt-add-repository --yes ppa:zfs-native/stable root@ubuntu-14:/# apt-add-repository --yes ppa:zfs-native/grub < - See below note on this command root@ubuntu-14:/# apt-get update root@ubuntu-14:/# apt-get install --no-install-recommends linux-image-generic linux-headers-generic
root@ubuntu-14:/# apt-get dist-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Generando una nueva configuración de grub
root@ubuntu-14:/# grub-probe / zfs
root@ubuntu-14:~# ls /boot/grub/i386-pc/zfs* /boot/grub/i386-pc/zfs.mod /boot/grub/i386-pc/zfscrypt.mod /boot/grub/i386-pc/zfsinfo.mod root@ubuntu-14:~# root@ubuntu-14:~# update-initramfs -c -k all update-initramfs: Generating /boot/initrd.img-3.13.0-24-generic
Verificación de la entrada raíz correcta
root@ubuntu-14:~# grep "boot=zfs" /boot/grub/grub.cfg linux /ROOT/ubuntu-1@/boot/vmlinuz-3.13.0-24-generic root=ZFS=rpool/ROOT/ubuntu-1 ro boot=zfs linux /ROOT/ubuntu-1@/boot/vmlinuz-3.13.0-24-generic root=ZFS=rpool/ROOT/ubuntu-1 ro boot=zfs root@ubuntu-14:~# grep zfs /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="boot=zfs"
Actualizar Grub
Actualice grub para permitir el menú de arranque zfs generado automáticamente con el comando update-grub.
root@ubuntu-14:~# update-grub Generating grub configuration file ... Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Found linux image: /boot/vmlinuz-3.13.0-24-generic Found initrd image: /boot/initrd.img-3.13.0-24-generic done
Instale el cargador de arranque en el MBR con el siguiente comando y asegúrese de obtener el mensaje de instalación finalizada. El readlink es necesario porque las versiones recientes de GRUB no eliminan los enlaces simbólicos.
root@ubuntu-14:~# grub-install $(readlink -f /dev/sda) Installing for i386-pc platform. Installation finished. No error reported.
Ahora salga del entorno chroot de vuelta al entorno base y desmóntelo de todos los sistemas de archivos si está conectado.
Confirmación de ZFS
Habíamos terminado con toda su configuración, ahora verifique con el comando df la confirmación de rpool.
Algunos problemas conocidos
Durante esta configuración, es posible que tenga algunos problemas con el arranque de ZFS que puede evitar mediante los siguientes procedimientos.
Crear instantánea
Debe crear una instantánea de ZFS que se pueda utilizar como entorno de rescate después de su primer arranque. Puede usar el siguiente comando para tomar ZFS Snapshot como.
root@ubuntu-14:~# apt-get clean root@ubuntu-14:~# zfs snapshot rpool/ROOT/ubuntu1
Problema de grub
Algunas veces Grub no muestra el menú de inicio o muestra el error «sistema de archivos desconocido». Esto podría deberse a que grub no puede leer el grupo de zfs o su posible causa es que anteriormente desconectó algunos archivos vdev. Para recuperarnos de esto, debemos hacer las siguientes dos cosas.
- Quitar / desconectar los discos fuera de línea
- Usando el método de Live CD puede arrancar desde su instalación ext4
- O hazlo conectando los discos, o quita el disco fuera de línea y agrégalos de nuevo.
Conclusión
ZFS cambia la forma en que se administran los datos al ofrecer seguridad e integridad de los datos, escalabilidad prácticamente ilimitada, así como una capacidad de administración fácil y automatizada. Por lo tanto, podemos concluir que ZFS es una característica del sistema operativo que parece ser una opción muy popular para algunos administradores que conocen la rica funcionalidad de sus características.