Saltar al contenido principal
Versión: 0.3

Requisitos

Cluster​

  • Kubernetes con soporte CSI (probado en k3s y distribuciones estándar).
  • Al menos 3 nodos de almacenamiento para RF3, o 2 para RF2.
  • Red entre nodos de almacenamiento con baja latencia; se recomienda separar la red de replicación de la de gestión.

Nodos de almacenamiento​

RecursoRequisito
CPUx86-64. La imagen de SPDK debe estar compilada para la generación de CPU más antigua del cluster.
Hugepages4 GiB de hugepages de 2 MiB por nodo (el agente las reserva al arrancar).
DiscosNVMe (driver nvme, por dirección PCI) o dispositivos de bloques (driver uring o aio).
KernelMódulo nvme-tcp disponible en los nodos que montan volúmenes.

:::tip Hipervisores Algunos hipervisores (p. ej. VMware) bloquean io_uring dentro de la VM. En ese caso usa driver: aio para esos discos. :::

Preparar los discos​

Los discos que vayas a usar deben estar vacíos. Si han tenido un uso anterior (otro RAID, otro sistema de archivos), borra los metadatos del principio y del final del disco antes de añadirlos a un pool:

DISK=/dev/disk/by-id/<id-del-disco>
SIZE_MB=$(( $(blockdev --getsize64 "$DISK") / 1024 / 1024 ))
dd if=/dev/zero of="$DISK" bs=1M count=2 oflag=direct
dd if=/dev/zero of="$DISK" bs=1M count=2 seek=$(( SIZE_MB - 2 )) oflag=direct
peligro

Esta operación destruye los datos del disco de forma irreversible.

Etiquetar los nodos​

El agente de QuasarSDS solo se ejecuta en los nodos etiquetados como de almacenamiento:

kubectl label node <nodo> quasarsds.io/storage-node=true