En esta pagina mostraremos como se crean volúmenes dentro de un zpool. Cada zpool consiste en un espacio de almacenamiento con una arquitectura concreta. Sobre este espacio se crearán volúmenes que se añadirán a la estructura de carpetas del sistema operativo.
Cuando se crea un zpool se crea un volumen principal que se montará sobre la carpeta raiz del sistema operativo. Si creamos un zpool con el nombre tank, se creará por defecto la carpeta /tank con todo el espacio asignado.
Creación de un volumen ZFS
Para crear un volumen con el nombre export en el zpool tank ejecutaremos el comando:
# zfs create tank/export
Este volumen se montará en la carpeta /tank/export. El montaje se realiza de manera automática. El espacio disponible es todo el espacio del zpool, pero debemos tener en cuenta que, cualquier incremento de la ocupación, hará disminuir el espacio libre en todos los volúmenes ZFS.
Si queremos limitar el tamaño máximo de este volumen podemos modificarlo con el comando:
# zfs set quota=10G tank/export
También podemos cambiar el punto de montaje respecto al punto de montaje por defecto.
# zfs set mountpoint=/export tank/export
Estos cambios se realizan de manera automática sin necesidad de ejecutar comandos como mount o mkfs.
Snapshots
Un snapshot es una foto concreta de un volúmen ZFS en un momento concreto. Esta foto no se muestra pero nos puede ser útil para recuperar la información de ese momento concreto. Para crear un snapshot ejecutaremos el siguiente comando:
# zfs snapshot tank/export@friday
La ocupación de este snapshot no es el tamaño completo del volumen. Su ocupación dependerá de las diferencias con el volumen original. Si no hay muchas diferencias, la ocupación del snapshot, será mínima. En cambio, si hay muchas diferencias, la ocupación puede ser grande.
Un vez creado podemos recuperar en el volumen el contenido del snapshot
# zfs rollback tank/export@friday
O también podemos borrar el snapshot si alterar el volumen original.
# zfs destroy tank/export@friday
También podemos enviar el contenido del snapshot a otro volumen ZFS
# zfs send tank/export@friday | zfs recv tank/export-friday
Este envío también puede ser a otro servidor
sys1# zfs send tank/export@friday | ssh sys2 zfs recv tank/export
La conexión utiliza el protocolo SSH por lo que debemos probar primero dicha conexión y disponer de los credenciales necesarios.
Listado de volúmenes ZFS
Podemos mostrar la lista de volúmenes ZFS con el siguiente comando:
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 476K 16.5G 21K /tank
tank/clone 18K 16.5G 18K /tank/clone
tank/home 296K 16.5G 19K /tank/home
tank/home/marks 277K 16.5G 277K /tank/home/marks
tank/home/marks@snap 0 - 277K -
tank/test 18K 16.5G 18K /test
Podemos mostrar solo los volúmenes ZFS de un zpool concreto:
zfs list -r tank
También podemos mostrar solo los snapshots
zfs list -t snap