Ubuntu 16.04 LTS (Xenial) está a sólo una pocas semanas de distancia, y con él viene una de las nuevas características más interesantes que Linux no ha visto en mucho tiempo ... ZFS - horneados directamente en Ubuntu - apoyados por Canonical.
ZFS creado por SUN es una opción muy robusta y con una larga experiencia en el mundo del servidor. Las características del ZFS es que incluye integridad de datos (protección contra la corrupción de bits, etc), soporte para altas capacidades de almacenamiento, la integración de los conceptos de sistema de archivos y gestión de volúmenes, snapshots y copy-on-write clones, chequeos de integridad continua y reparación automática, RAID-Z y NFSv4 soportado nítidamente.
¿Qué es ZFS?
ZFS es una combinación de un gestor de volúmenes (como LVM) y un sistema de archivos (como ext4, XFS, o btrfs).
ZFS uno de los rasgos más queridos de Solaris, universalmente codiciados por cada administrador de sistemas Linux con un fondo de Solaris. Para nuestro deleite, estamos dispuestos a hacer para OpenZFS disponibles en cada sistema Ubuntu. guía de referencia de Ubuntu para ZFS se puede encontrar aquí, y estas son algunas de las características:
- instantáneas (snapshots)
- copy-on-write clonación
- integridad verificación continua de los datos contra la corrupción
- reparación automática
- compresión de datos eficiente.
Características de ZFS
- Integridad de datos comprobable: Esta característica permite que los datos en el archivo se mantengan siempre correctamente, siendo capaz de detectar datos corruptos y repararlo automáticamente. Esto se logra gracias a un modelo transaccional de archivos (ver [8]).
- Modelo transaccional: Un modelo transaccional de archivos implica el almacenamiento de eventos o transacciones. Para esto se utiliza la técnica conocida como copy-on-write, de forma que cuando se modifican datos en el disco, estos no son sobreescritos, para lo que se crean nuevos bloques donde estos datos son grabados y luego se modifican las estructuras correspondientes para que apunten a estos nuevos bloques.
- Snapshots: Los snapshots corresponden a copias del sistema de archivos en algún determinado momento. Son de creación muy rápida, permitiendo hacer respaldos o copias de seguridad de forma casi inmediata, con la salvedad que estas copias son de sólo lectura.
- Clones: De forma similar a los snapshots, los clones son copias del sistema de archivos en algún determinado momento, pero en los cuales se permite realizar escritura. Este sistema de archivos que se crea, comparte bloques en el disco con el original, con el fin de ahorrar espacio, pero se manejan de forma independiente.
- Espacios de almacenamiento: ZFS hace uso de espacios de almacenamiento virtual (o virtual storage pool, o zpools), a diferencia de los sistemas de archivo tradicionales que se encuentran en un solo dispositivo y requieren un gestor de volumenes (ver figura). Un zpool se construye a partir de dispositivos virtuales (o conocidos como vdevs) que a su vez se construyen a partir de bloques de dispositivos (particiones de disco duro, o discos completos). Además, la capacidad de almacenamiento de todos los vdevs se encuentra disponible para todas las instancias del sistema de archivos en el zpool.
- Creación de sistemas de archivos livianos: Dado que la gestión de los sistemas de archivo es mucho más sencilla que en otros sistemas existentes, hace la tarea de creación de estos sistemas una operación muy ligera. Además, no existen cuotas de espacio por cada usuario, sino que existen cuotas por sistema de archivos, así se crean sistemas de archivos por cada usuario en vez de carpetas dentro de un mismo sistema de archivos.
- Compresión: esto permite maximizar el espacio en el disco, removiendo los pequeños fragmentos de disco que no están siendo utilizados, y producto de esto, muchas veces maximizar la velocidad de lectura.
Estas características hacen verdaderamente el sistema de archivos ZFS perfecto para contenedores.
¿Qué significa "soporte"?
Encontrará zfs.ko construido e instalado en sus sistemas Ubuntu automáticamente. No más módulos construidos con DKMS!
$ locate zfs.ko /lib/modules/4.4.0-4-generic/kernel/zfs/zfs/zfs.ko
Verá el módulo cargado de forma automática si lo usa.
$ lsmod | grep zfs zfs 2801664 11 zunicode 331776 1 zfs zcommon 57344 1 zfs znvpair 90112 2 zfs,zcommon spl 102400 3 zfs,zcommon,znvpair zavl 16384 1 zfs
¿Cómo puedo empezar?
Es muy sencillo! He aquí algunos comandos para conseguir que la puesta en marcha con ZFS y LXD en 60 segundos o menos.
En primer lugar, asegúrese de que se está ejecutando Ubuntu 16.04 (Xenial).
$ head -n1 /etc/issue Ubuntu Xenial Xerus (development branch) \n \l
Ahora, vamos a instalar LXD y zfsutils en Linux, si no lo ha hecho:
$ sudo apt install lxd zfsutils-linux
A continuación, vamos a utilizar el comando interactivo LXD init para LXD configuración y ZFS. En el siguiente ejemplo, estoy simplemente utilizando una escasa archivos en bucle para la agrupación ZFS. Para obtener los mejores resultados (y lo que yo uso en mi portátil y servidores de producción), lo mejor es utilizar una partición SSD crudo o dispositivo.
$ sudo lxd init Name of the storage backend to use (dir or zfs): zfs Create a new ZFS pool (yes/no)? yes Name of the new ZFS pool: lxd Would you like to use an existing block device (yes/no)? no Size in GB of the new loop device (1GB minimum): 2 Would you like LXD to be available over the network (yes/no)? no LXD has been successfully configured.
Podemos comprobar nuestra agrupación ZFS ahora:
$ sudo zpool list NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT lxd 1.98G 450K 1.98G - 0% 0% 1.00x ONLINE -
$ sudo zpool status
pool: lxd
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
lxd ONLINE 0 0 0
/var/lib/lxd/zfs.img ONLINE 0 0 0
errors: No known data errors
$ lxc config get storage.zfs_pool_name storage.zfs_pool_name: lxd
Por último, vamos a importar la imagen de Ubuntu LXD, y poner en marcha unos contenedores. Nótese cómo los contenedores rápido lanzamiento, que se activa mediante la clonación de ZFS y funciones de copia en escritura:
$ newgrp lxd $ lxd-images import ubuntu --alias ubuntu Downloading the GPG key for http://cloud-images.ubuntu.com Progress: 48 % Validating the GPG signature of /tmp/tmpa71cw5wl/download.json.asc Downloading the image. Image manifest: http://cloud-images.ubuntu.com/server/releases/trusty/release-20160201/ubuntu-14.04-server-cloudimg-amd64.manifest Image imported as: 54c8caac1f61901ed86c68f24af5f5d3672bdc62c71d04f06df3a59e95684473 Setup alias: ubuntu
$ for i in $(seq 1 5); do lxc launch ubuntu; done ... $ lxc list +-------------------------+---------+-------------------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | EPHEMERAL | SNAPSHOTS | +-------------------------+---------+-------------------+------+-----------+-----------+ | discordant-loria | RUNNING | 10.0.3.130 (eth0) | | NO | 0 | +-------------------------+---------+-------------------+------+-----------+-----------+ | fictive-noble | RUNNING | 10.0.3.91 (eth0) | | NO | 0 | +-------------------------+---------+-------------------+------+-----------+-----------+ | interprotoplasmic-essie | RUNNING | 10.0.3.242 (eth0) | | NO | 0 | +-------------------------+---------+-------------------+------+-----------+-----------+ | nondamaging-cain | RUNNING | 10.0.3.9 (eth0) | | NO | 0 | +-------------------------+---------+-------------------+------+-----------+-----------+ | untreasurable-efrain | RUNNING | 10.0.3.89 (eth0) | | NO | 0 | +-------------------------+---------+-------------------+------+-----------+-----------+
Super fácil, ¿verdad?
Fuentes:
http://blog.dustinkirkland.com/2016/02/zfs-is-fs-for-containers-in-ubuntu-1604.html
http://wiki.inf.utfsm.cl/index.php?title=Sistema_de_archivos_ZFS
Vía:
https://www.meneame.net/m/tecnolog%C3%ADa/zfs-sera-incluido-forma-predeterminada-ubuntu-16-04-eng


No hay comentarios:
Publicar un comentario