ZFS

Tutorial práctico de ZFS DigitalOcean

Tutorial práctico de ZFS DigitalOcean

OpenZFS: una guía práctica sobre el uso de DigitalOcean

Es posible que haya escuchado varias veces que ZFS es un sistema de archivos de nivel empresarial diseñado para manejar grandes cantidades de datos en arreglos complicados. Naturalmente, esto haría pensar a cualquier recién llegado que no debería (o no podría) incursionar en dicha tecnología.

Nada puede estar más lejos de la verdad. ZFS es uno de los pocos software que simplemente funciona. Fuera de la caja, sin ningún ajuste fino, hace todo lo que anuncia: desde verificaciones de integridad de datos hasta configuración RAIDZ. Sí, hay opciones de ajuste disponibles y se puede profundizar en ellas si surge la necesidad. Pero para los principiantes, los valores predeterminados funcionan maravillosamente bien.

La única limitación que puede encontrar es la del hardware. Poner varios discos en varias configuraciones significa que tiene muchos discos disponibles para estar con! Ahí es donde DigitalOcean (DO) viene al rescate.

Nota: Si está familiarizado con DO y cómo configurar las claves SSH, puede pasar directamente a la parte de ZFS de la discusión. Lo que muestran las dos siguientes secciones es cómo configurar una VM en DigitalOcean y conectarle dispositivos de bloque con

Introducción a DigitalOcean

En pocas palabras, DigitalOcean es un proveedor de servicios en la nube en el que puede poner en marcha máquinas virtuales para que se ejecuten sus aplicaciones. Obtienes una cantidad increíble de ancho de banda y todo el almacenamiento SSD para ejecutar tus aplicaciones. Está dirigido a los desarrolladores y no a los operadores, por lo que la interfaz de usuario es mucho más simple y fácil de entender.

Además, cobran por hora, lo que significa que puede trabajar en varias configuraciones de ZFS durante unas horas, eliminar todas las máquinas virtuales y el almacenamiento una vez que esté satisfecho, y su factura no superará más de unos pocos dólares.

Usaremos dos de las funciones de DigitalOcean para este tutorial:

  1. Gotas: Un Droplet es su palabra para una máquina virtual, que ejecuta un sistema operativo con una IP pública estática. Nuestra elección de sistema operativo será Ubuntu 16.04 LTS.
  2. Almacenamiento en bloque: El almacenamiento en bloque es similar a un disco que se conecta a su computadora. Excepto que aquí puede decidir el tamaño y la cantidad de discos que desea.

Regístrese en DigitalOcean si aún no lo ha hecho.

Para iniciar sesión en su máquina virtual, hay dos formas, una es usar la consola (para la cual se le envía la contraseña por correo electrónico) o puede usar la opción de clave SSH.

Configuración básica de SSH

MacOS y otros usuarios de UNIX que tienen un terminal en su escritorio pueden usarlo para SSH en sus gotitas (el cliente SSH está instalado por defecto en la mayoría de Unices) y el usuario de Windows puede querer descargar Git Bash.

Una vez que esté en su terminal, ingrese los siguientes comandos:

$ mkdir -p ~ /.ssh
$ cd ~ /.ssh
$ ssh-keygen -y -f YourKeyName

Esto generará dos archivos en ~ /.ssh directorio, uno llamado YourKeyName que necesita mantener seguro y privado todo el tiempo. Es tu clave privada. Encriptará los mensajes antes de que los envíe al servidor y descifrará los mensajes que el servidor le devuelva. Como sugiere el nombre, la clave privada debe mantenerse en secreto en todo momento.

Se crea otro archivo llamado YourKeyName.pub y esta es su clave pública que proporcionará a DigitalOcean cuando cree el Droplet. Maneja el cifrado y descifrado de mensajes en el servidor, al igual que lo hace la clave privada en su máquina local.

Creando tu primera gota

Después de registrarse en DO, está listo para crear su primer Droplet.  Siga los pasos a continuación:

1. Haga clic en el botón crear en la esquina superior derecha y seleccione Gotita opción.

2. La siguiente página le permitirá decidir las especificaciones de su Droplet. Usaremos Ubuntu.

3. Elija el tamaño, incluso la opción de $ 5 / mes funciona para pequeños experimentos.

4. Elija el centro de datos más cercano a usted, para bajas latencias. Puede omitir el resto de las opciones adicionales.

Nota: No agregue ningún volumen ahora. Los agregaremos más adelante para mayor claridad.

5. Haga clic en Nuevas claves SSH y copia todo el contenido de YourKeyName.pub en él y darle un nombre. Ahora solo haz clic en Crear y tu Droplet está lista para funcionar.

6. Obtenga la dirección IP de su Droplet desde el panel.

7. Ahora puede SSH, como usuario root, en su Droplet, desde su terminal usando el comando:

$ ssh root @ 138.68.97.47 -i ~ /.ssh / YourKeyName

No copie el comando anterior ya que su dirección IP será diferente. Si todo funcionó bien, recibirá un mensaje de bienvenida en su terminal y se iniciará sesión en su servidor remoto.

Agregar almacenamiento en bloque

Para obtener la lista de dispositivos de almacenamiento en bloque en su VM, en la terminal use el comando:

$ lsblk

Verá solo un disco particionado en tres dispositivos de bloque. Esta es la instalación del sistema operativo y no experimentaremos con ellos. Necesitamos más dispositivos de almacenamiento para eso.

Para eso, vaya a su tablero de DigitalOcean y haga clic en Creatar botón como lo hizo en el primer paso y elija la opción de volumen. Adjúntelo a su Droplet y asígnele un nombre apropiado. Agregue tres de esos volúmenes repitiendo este paso dos veces más.

Ahora, si regresa a su terminal y escribe lsblk, verá nuevas entradas a esta lista. En la captura de pantalla a continuación, hay 3 discos nuevos que usaremos para probar ZFS.

Como paso final, antes de ingresar a ZFS, primero debe etiquetar sus discos bajo el esquema GPT. ZFS funciona mejor con el esquema GPT, pero el almacenamiento en bloque agregado a sus gotitas tiene una etiqueta MBR en ellos. El siguiente comando soluciona el problema agregando una etiqueta GPT a sus dispositivos de bloque recién conectados.

$ sudo parted / dev / sda mklabel gpt

Nota: No particiona el dispositivo de bloque, solo usa la utilidad 'parted' para dar una ID única global (GUID) al dispositivo de bloque. GPT son las siglas de GUID Partition Table y realiza un seguimiento de cada disco o partición con una etiqueta GPT.

Repita lo mismo para sdb y sdc.

Ahora estamos listos para comenzar a usar OpenZFS con suficientes unidades para experimentar diferentes arreglos.

Zpools y VDEV

Para comenzar a crear su primer Zpool. Tienes que entender qué es un dispositivo virtual y cuál es su propósito.

Un dispositivo virtual (o un Vdev) puede ser un solo disco o una agrupación de discos que se exponen como un solo dispositivo al zpool. Por ejemplo, los tres dispositivos de 100 GB creados anteriormente sda, sdb y sdc todos pueden ser un vdev propio y puedes crear un zpool, llamado tanque, de él, que tendrá la capacidad de almacenamiento de los 3 discos combinados que es de 300 GB
Primero instale ZFS para Ubuntu 16.04:

$ apt instalar zfs
$ zpool crear tanque sda ​​sdb sdc
tanque de estado de $ zpool

Sus datos se distribuyen en los tres discos, de manera uniforme, y si alguno de los discos falla, todos sus datos se pierden. Como puede ver arriba, los discos son los propios vdevs.

Pero también puede crear un zpool donde los tres discos se replican entre sí, lo que se conoce como duplicación.

Primero destruye el grupo creado previamente:

$ zpool destruir tanque

Para crear un vdev reflejado usaremos la palabra clave espejo:

$ zpool crear espejo de tanque sda ​​sdb sdc

Ahora, la cantidad total de almacenamiento disponible es de solo 100 GB (use lista de zpool para ver eso) pero ahora podemos soportar hasta dos unidades de falla en el vdev espejo-0.

Cuando se quede sin espacio y desee agregar más almacenamiento a su grupo, tendrá que crear tres volúmenes más en DigitalOcean y repetir los pasos en Agregar almacenamiento en bloque hazlo con 3 dispositivos de bloque más que se mostrarán como vdev espejo 1. Puede omitir este paso por ahora, solo sepa que se puede hacer.

$ zpool agregar espejo de tanque sde sdf sdg

Por último, hay una configuración de raidz1 que se puede usar para agrupar tres o más discos en cada vdev y puede sobrevivir a la falla de 1 disco por vdev y brindar un almacenamiento total disponible de 200GB.

$ zpool destruir tanque
$ zpool crear tanque raidz1 sda sdb sdc

Mientras que la lista de zpool muestra la capacidad neta del almacenamiento sin procesar, lista de zfs y df -h los comandos muestran el almacenamiento real disponible del zpool. Por lo tanto, siempre es una buena idea verificar el almacenamiento disponible usando lista de zfs mando.

Usaremos esto para crear conjuntos de datos.

Conjuntos de datos y recuperación

Tradicionalmente, solíamos montar sistemas de archivos como / home, / usr y / temp en diferentes particiones y cuando nos quedamos sin espacio, uno tenía que agregar enlaces simbólicos a los dispositivos de almacenamiento adicionales agregados al sistema.

Con zpool añadir puede agregar discos al mismo grupo y sigue creciendo según sus necesidades. Luego puede crear conjuntos de datos, que es el término zfs para un sistema de archivos, como / usr / home y muchos otros que luego viven en el zpool y comparten todo el almacenamiento disponible para ellos.

Para crear un conjunto de datos zfs en el grupo tanque usa el comando:

$ zfs crear tanque / conjunto de datos1
lista de $ zfs

Como se mencionó anteriormente, un grupo raidz1 puede soportar fallas de hasta un disco. Así que probemos eso.

$ zpool tanque fuera de línea sda

Ahora la piscina está desconectada, pero no todo está perdido. Podemos agregar otro volumen, sdd, usando DigitalOcean y dándole una etiqueta gpt como antes.

Otras lecturas

Le animamos a que pruebe ZFS y sus diversas funciones tanto como desee, en su tiempo libre. Asegúrese de eliminar todos los volúmenes y las gotas, una vez que haya terminado, para evitar facturas inesperadas al final del mes.

Puede obtener más información sobre la terminología de ZFS aquí.

Cómo cambiar los botones izquierdo y derecho del mouse en una PC con Windows 10
Es una norma que todos los dispositivos de mouse de computadora estén diseñados ergonómicamente para usuarios diestros. Pero hay dispositivos de mouse...
Emule los clics del mouse colocando el mouse con Clickless Mouse en Windows 10
El uso excesivo de un mouse o teclado en una postura incorrecta puede provocar muchos problemas de salud, como tensión, síndrome del túnel carpiano y ...
Agregue gestos del mouse a Windows 10 con estas herramientas gratuitas
En los últimos años, las computadoras y los sistemas operativos han evolucionado enormemente. Hubo un momento en que los usuarios tenían que usar coma...