Esta pagina se ve mejor con JavaScript habilitado

FreeBSD ZFS Vol1 ZFS básico

 ·  🎃 kr0m

Siguiendo con la serie de artículos sobre ZFS bajo FreeBSD vamos a explicar como crear un pool ZFS básico, tan solo crearemos el pool y lo montaremos.
Antes de continuar con el artículo es aconsejable que revisemos este anterior para que todos los conceptos queden claros.

Para que FreeBSD monte los pools ZFS en el arranque debemos habilitar el servicio:

sysrc zfs_enable="yes"

Arrancamos el servicio:

service zfs start

Consultamos los discos disponibles en el sistema:

root@freeBSD:~ # camcontrol devlist

<BHYVE SATA DISK 001>              at scbus0 target 0 lun 0 (ada0,pass0)  
<BHYVE SATA DISK 001>              at scbus1 target 0 lun 0 (ada1,pass1)

Podemos ver que el sistema tiene dos discos, el primero fué utilizado para la instalación del SO, vamos a emplear el segundo como almacenamiento de datos, en tal caso podemos utilizar el disco entero o crear particiones. El único caso en el que se deben crear particiones de forma obligatoria es si el pool va a ser bootable.

Consultamos el espacio del pool del sistema:

root@freeBSD:~ # zfs list

NAME                 USED  AVAIL  REFER  MOUNTPOINT  
zroot                996M  4.35G   192K  /zroot

Consultamos el estado del pool del sistema:

root@freeBSD:~ # zpool status

  pool: zroot  
 state: ONLINE  
  scan: none requested  
config:  
  
        NAME        STATE     READ WRITE CKSUM  
        zroot       ONLINE       0     0     0  
          ada0p3    ONLINE       0     0     0  
  
errors: No known data errors

Podemos ver que zroot ocupa el disco ada0, partición 3.

FreeBSD no recomienda utilizar discos enteros en ningún caso:

Caution: Using an entire disk as part of a bootable pool is strongly discouraged, as this may render the pool unbootable. Likewise, you should not use an entire disk as part of a mirror or RAID-Z vdev. These are because it it impossible to reliably determine the size of an unpartitioned disk at boot time and because there’s no place to put in boot code.

Creamos una tabla de particiones GPT nueva:

root@freeBSD:~ # gpart create -s GPT ada1

ada1 created

Consultamos el estado de las particiones del disco:

root@freeBSD:~ # gpart show ada1

=>     40  2097072  ada1  GPT  (1.0G)  
       40  2097072        - free -  (1.0G)

Creamos la partición:

root@freeBSD:~ # gpart add -t freebsd-zfs -a 4k ada1

ada1p1 added, but partition is not aligned on 8192 bytes

Consultamos el estado de las particiones del disco:

root@freeBSD:~ # gpart show ada1

=>     40  2097072  ada1  GPT  (1.0G)  
       40  2097072     1  freebsd-zfs  (1.0G)

Creamos el pool con la partición recién creada:

zpool create data /dev/ada1p1

Consultamos el estado del pool:

root@freeBSD:~ # zpool status data

  pool: data  
 state: ONLINE  
  scan: none requested  
config:  
  
        NAME        STATE     READ WRITE CKSUM  
        data        ONLINE       0     0     0  
          ada1p1    ONLINE       0     0     0  
  
errors: No known data errors

Podemos ver el espacio del pool en /data:

root@freeBSD:~ # zfs list data

NAME                 USED  AVAIL  REFER  MOUNTPOINT  
data                 528K   831M   192K  /data
Si te ha gustado el artículo puedes invitarme a un RedBull aquí