Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado.

Múltiples discos

SUSE Storage admite el uso de más de un disco en los nodos para almacenar los datos del volumen.

Por defecto, SUSE Storage almacena los datos del volumen en el directorio /var/lib/longhorn en el host. Para utilizar un disco diferente para el almacenamiento, puedes añadir un nuevo disco y desactivar la programación para el directorio por defecto. Este enfoque proporciona la flexibilidad para gestionar el almacenamiento según tus requisitos específicos.

Añadir un disco

Antes de añadir un disco a SUSE Storage, móntalo en un directorio en el host del nodo Longhorn.

  1. Elige un disco: Selecciona el disco físico o virtual para el almacenamiento de Longhorn y formátalo con un sistema de archivos basado en extensiones (por ejemplo, ext4 o XFS).

  2. Montar el disco: Monta el disco en un directorio en el host, como /mnt/example-disk. Asegúrate de que el directorio sea accesible y esté correctamente configurado.

Después de montar el disco, puedes añadirlo a SUSE Storage utilizando ya sea la interfaz de usuario o la herramienta shell kubectl.

Usando la interfaz de usuario SUSE Storage

  1. Ve a la pestaña Nodos, selecciona un nodo y elige Editar discos en el menú desplegable.

  2. Añade la ruta de montaje del disco a la lista de discos.

Usando kubectl

  1. Ejecuta kubectl edit node.longhorn.io <node-name> para modificar el recurso del nodo Longhorn.

  2. Añade la ruta del disco a spec.disks. Por ejemplo:

    ...
    spec:
      ...
      disks:
        ...
        example-disk:
          allowScheduling: true
          diskDriver: ""
          diskType: filesystem
          evictionRequested: false
          path: /mnt/example-disk
          storageReserved: 0
          tags: []
    ...
  3. Guarda y sal del editor.

Una vez que se añade un disco:

  • SUSE Storage detecta automáticamente los detalles de almacenamiento del disco, como la capacidad máxima y disponible.

  • Si el disco es adecuado para almacenar datos de volumen, SUSE Storage comienza a programar volúmenes en él.

  1. No puedes añadir una ruta de disco que ya esté utilizando otro disco de SUSE Storage.

  2. SUSE Storage utiliza el ID del sistema de archivos para detectar montajes duplicados. Por lo tanto, no puedes añadir un disco con el mismo ID de sistema de archivos que otro disco en el mismo nodo.

    Para obtener más información, consulte el problema #2477.

Reserva de Disco Raíz

Opcionalmente, puedes utilizar el campo Espacio Reservado en la interfaz de usuario o spec.disks.<disk-name>.storageReserved para reservar una porción del espacio en disco (en bytes) para otros propósitos. SUSE Storage no utilizará este espacio reservado para datos de volumen.

Para mantener la estabilidad del nodo cuando los recursos de computación (por ejemplo, memoria o disco) están bajo presión, kubelet requiere que se mantenga libre algo de espacio. Si estos recursos críticos se agotan, puede llevar a la inestabilidad del nodo.

Por defecto, SUSE Storage reserva el 30% del espacio del disco raíz (/var/lib/longhorn) para prevenir problemas como las condiciones de DiskPressure de kubelet, especialmente después de programar múltiples volúmenes. La configuración storage-reserved-percentage-for-default-disk controla este comportamiento.

Usar una Ruta Alternativa para un Disco en el Nodo

Si prefieres usar una ruta diferente para un disco (en lugar del punto de montaje original), puedes usar mount --bind para crear una ruta alternativa. No utilices un enlace simbólico (ln -s), ya que los enlaces simbólicos no se resuelven correctamente dentro de los pods de Longhorn.

Asegúrate de que la ruta alternativa se vuelva a montar después de un reinicio del nodo, por ejemplo, añadiéndola a /etc/fstab.

Eliminar un disco

Los nodos y discos pueden ser excluidos de la programación futura. Ten en cuenta que cualquier almacenamiento ya programado en un nodo no se liberará automáticamente cuando la programación esté desactivada para ese nodo.

Para eliminar un disco:

  1. Desactiva la programación para el disco.

  2. Asegúrate de que no queden réplicas ni imágenes de respaldo en el disco, incluidas las que estén en estado de error. Para obtener instrucciones sobre cómo desalojar réplicas de discos desactivados, consulta Seleccionar discos o nodos para desalojo.

Una vez que el disco esté vacío y la programación esté desactivada, puedes eliminarlo de forma segura de la configuración del nodo.

Configuración

Dos ajustes globales afectan la programación de volúmenes:

  • StorageOverProvisioningPercentage define el almacenamiento total máximo que se puede programar en un disco, en relación con su capacidad utilizable. La fórmula es:

ScheduledStorage / (MaximumStorage - ReservedStorage)

Por defecto, este ajuste es 100%.

Por ejemplo, en un disco de 200 GiB con 50 GiB reservados, SUSE Storage considera 150 GiB de espacio utilizable. Con el ajuste predeterminado, SUSE Storage puede programar hasta 150 GiB de datos de volumen.

Debido a que las cargas de trabajo normalmente no consumen todo el tamaño del volumen asignado, y SUSE Storage utiliza archivos dispersos para almacenar datos, aumentar este ajuste es generalmente seguro y puede ayudar a optimizar la utilización del disco.

  • StorageMinimalAvailablePercentage especifica el porcentaje mínimo de espacio libre que debe permanecer en un disco para programar nuevas réplicas. La fórmula es:

AvailableStorage / MaximumStorage

Por defecto, este ajuste es 25%.

Por ejemplo, para un disco de 200 GiB con 50 GiB reservados, SUSE Storage deja de programar nuevas réplicas si el espacio disponible cae por debajo de 37.5 GiB (25% de 150 GiB). Un nuevo volumen tampoco se programará si su tamaño empuja el espacio disponible por debajo de ese límite.

Este ajuste ayuda a prevenir que los discos se llenen demasiado, lo que podría llevar a fallos en la programación o problemas en la operación del volumen.

SUSE Storage actualmente no puede hacer cumplir completamente el límite de StorageMinimalAvailablePercentage en todos los escenarios porque:

  1. Los volúmenes de Longhorn pueden utilizar más espacio del que han solicitado, especialmente cuando se toman instantáneas.

  2. SUSE Storage permite la sobreasignación por defecto.