Desplegar Lustre File System

El despliegue de OCI File Storage con Lustre comprende los siguientes pasos:
  • Creación de OCI File Storage con un sistema de archivos Lustre
  • Montar el sistema de archivos
  • Configuración de LNet
  • Prueba de operaciones de lectura y escritura

Crear sistema de archivos de Lustre

En los siguientes pasos se explica cómo crear un OCI File Storage con un sistema de archivos Lustre.

  1. En el menú de navegación de la consola de OCI, haga clic en Almacenamiento y, a continuación, en Sistemas de archivos Lustre.
  2. Haga clic en Create.
  3. Configure los detalles del sistema de archivos de Lustre:
    • Nombre del sistema de archivos: acepte el nombre por defecto o introduzca un nombre fácil de recordar para el sistema de archivos.
    • Nombre de montaje: acepte el valor por defecto o introduzca un nombre fácil de recordar para utilizarlo al montar el sistema de archivos.
    • Descripción del sistema de archivos: (opcional) introduzca una descripción para el sistema de archivos.
    • Compartimento: acepte el compartimento por defecto o seleccione la lista para cambiar los compartimentos.
    • Dominio de disponibilidad: acepte el dominio de disponibilidad por defecto o seleccione la lista para cambiar los dominios de disponibilidad.
    • Etiquetas: si tiene permisos para crear un recurso, también los tiene para aplicar etiquetas de formato libre a ese recurso. Para aplicar una etiqueta definida, debe tener permisos para utilizar el espacio de nombres de la etiqueta. Si no está seguro de si aplicar etiquetas, omita esta opción o pregunte a un administrador. Puede aplicar etiquetas más tarde.
    • Grupo de colocación de cluster: se recomienda seleccionar un grupo de colocación de cluster para colocar físicamente los sistemas de archivos y otros recursos en un dominio de disponibilidad a fin de garantizar una baja latencia. El grupo de colocación del cluster no se puede cambiar después de crear el sistema de archivos.
    • Nivel de rendimiento: seleccione el nivel de rendimiento para el sistema de archivos. El nivel de rendimiento controla el rendimiento del sistema de archivos. El rendimiento se especifica por terabyte (TB) de almacenamiento aprovisionado. El nivel de rendimiento no se puede cambiar después de crear el sistema de archivos.
    • Capacidad: seleccione la capacidad de almacenamiento del sistema de archivos. Si selecciona una capacidad mayor que el límite de servicio, es posible que se le solicite un aumento.

      El rendimiento global agregado del sistema de archivos se calcula a partir del nivel de rendimiento y la capacidad.

    • Red: seleccione la VCN y la subred en las que montar el sistema de archivos. Por defecto, la consola muestra una lista de VCN y subredes del compartimento en el que está trabajando. Cambie los compartimentos para seleccionar una VCN o subred de un compartimento diferente.

      La subred seleccionada será la subred utilizada para desplegar los servidores de Lustre. Asegúrese de que esta subred permita la comunicación desde y hacia el puerto 988 del servidor de Lustre con el puerto del cliente entre el puerto 512-1023.

    • Usar grupos de seguridad de red para controlar el tráfico: active esta opción y seleccione un grupo de seguridad de red (NSG) para que actúe como firewall virtual para el sistema de archivos. Seleccione + Otro grupo de seguridad de red para agregar el sistema de archivos a hasta cinco NSG.
    • Root squash: esta configuración controla si los clientes que acceden al sistema de archivos tienen su ID de usuario (UID) y su ID de grupo (GID) reasignados a Squash UID y Squash GID.

      Squash: seleccione None (Ninguno) o Root (Raíz). El valor por defecto es Ninguno, por lo que no se realiza ninguna reasignación por defecto.

      Squash UID: si Squash está establecido en Root, el usuario root (UID 0) se reasigna a este valor. El valor predeterminado es 65534.

      Squash GID: si Squash está establecido en Root, el usuario del grupo raíz (GID 0) se reasigna a este valor. El valor predeterminado es 65534.

    • Excepciones de squash raíz: para excluir clientes específicos de la configuración de squash raíz, introduzca su dirección de cliente como una dirección IP o un rango válidos. Por ejemplo, 10.0.2.4 o 10.0.[2-10].[1-255]. Seleccione + Otra dirección de cliente para agregar hasta 10 excepciones.
    • Clave de cifrado: por defecto, Oracle gestiona las claves que cifran un sistema de archivos. Si desea un mayor control sobre el ciclo de vida de la clave y cómo se utiliza, puede seleccionar su propia clave de cifrado de Vault
Una vez iniciada la creación, tardará varios minutos en completar el aprovisionamiento de los recursos de backend. El tiempo varía según el nivel de rendimiento y el tamaño del sistema de archivos.

Montaje de Lustre File System

  1. Navegue hasta los detalles del sistema de archivos de Lustre y busque el comando mount desde la consola.
  2. Desde un cliente Linux con módulos de cliente Lustre instalados, puede montar el sistema de archivos. En este cliente, se instalan módulos DKMS de Lustre.
    [root@lustre-ol8-client ~]# rpm -qa | grep lustre
    lustre-client-2.15.5_oci1-1.el8.x86_64
    lustre-client-dkms-2.15.5_oci1-1.el8.noarch

    En algunos entornos con hosts de GPU con redes RDMA gestionadas por Oracle Cloud Agent, la adición de la interfaz LNet inyecta una regla que impide la comunicación del host a través de la interfaz por defecto (primera interfaz del host). Esto puede causar problemas en entornos que utilizan IP local para la comunicación interna, especialmente en entornos de OKE. El sistema inmediato es que el ping a la IP local no funcionará. Para solucionarlo, utilice la siguiente solución alternativa para impedir que LNet agregue rutas y reglas adicionales.

    Realice esto antes de agregar la interfaz LNet. Si la interfaz LNet no se agrega explícitamente, aplíquelo antes de montar el sistema de archivos.

    echo 'options ksocklnd skip_mr_route_setup=1' >/etc/modprobe.d/lnet.conf && rmmod lnet; modprobe -v lnet
  3. Descargue los módulos de Lustre (si ya están cargados) para obtener un inicio limpio. La descarga de los módulos no funcionará si ya hay un sistema de archivos montado. Si lustre_rmmod no descarga todos los módulos, reinicie el sistema para obtener un nuevo inicio.
    [root@lustre-ol8-client ~]# lustre_rmmod 
  4. Monte el sistema de archivos Lustre. Si se debe configurar una interfaz específica para Lustre, utilice la configuración lnetctl antes de intentar cargar módulos. Esto se explica en la siguiente sección.
    [root@lustre-ol8-client ~]# modprobe lustre
    [root@lustre-ol8-client ~]# mount -t lustre 10.0.3.8@tcp:/lustrefs /mnt/mymountpoint

    Si el montaje falla con el mensaje de error No such file or directory. Is the MGS specification correct?, es probable que no pueda configurar automáticamente LNet (red Lustre) debido a varias interfaces u otras situaciones de red en el host. Cuando esto sucede, debe configurar manualmente LNet.

    El error se asemeja a:

    mount.lustre: mount 10.0.3.8@tcp:/lustrefs at /mnt/mymountpoint failed: No such file or directory
    Is the MGS specification correct?
    Is the filesystem name correct?
    If upgrading, is the copied client log valid? (see upgrade docs)

Configurar LNet (Lustre Networking)

Los siguientes pasos solo son necesarios si fallan los pasos para montar el sistema de archivos y la interfaz correcta para Lustre no se muestra en lnetctl net show. Si lnetctl net show muestra la interfaz correcta para Lustre, estos pasos no son necesarios.
  1. Busque el nombre de la interfaz. Puede tener varias interfaces en el sistema. Seleccione la interfaz adecuada que esté cerca del sistema de archivos Lustre. Utilice el comando ip route para mostrar las redes en el sistema y buscar una interfaz que sea más adecuada para acceder al sistema de archivos Lustre. Esta será la interfaz en la que se realizará la transferencia de datos principal. Aquí, la interfaz utilizada es enp0s5.
    [root@lustre-ol8-client ~]# ip addr
    La salida se asemeja a:
    ...
    2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc fq_codel state UP group default qlen 1000
        link/ether 02:00:17:12:91:e9 brd ff:ff:ff:ff:ff:ff
        inet 10.0.3.42/24 brd 10.0.3.255 scope global dynamic enp0s5
           valid_lft 84865sec preferred_lft 84865sec
        inet6 fe80::17ff:fe12:91e9/64 scope link
           valid_lft forever preferred_lft forever
  2. Ejecute los siguientes comandos:
    [root@lustre-ol8-client opc]# modprobe lnet
    [root@lustre-ol8-client opc]# lnetctl lnet configure
    [root@lustre-ol8-client opc]# lnetctl net add --net tcp --if enp0s5
    [root@lustre-ol8-client opc]# lnetctl net show
    La salida se asemeja a:
    net:
        - net type: lo
          local NI(s):
            - nid: 0@lo
              status: up
        - net type: tcp
          local NI(s):
            - nid: 10.0.3.42@tcp  <<<<<<<<<
              status: up
              interfaces:
                  0: enp0s5   <<<<<<<<

Montaje del sistema de archivos

  1. Ejecute los comandos:
    [root@lustre-ol8-client opc]# mount -t lustre 10.0.3.8@tcp:/lustrefs /mnt/mymountpoint
    [root@lustre-ol8-client opc]# df -h /mnt/mymountpoint
    La salida se asemeja a:
    Filesystem Size Used Avail Use% Mounted on
    10.0.3.8@tcp:/lustrefs 31T 17M 30T 1% /mnt/mymountpoint
  2. Ejecute el comando:
    [root@lustre-ol8-client opc]# lfs df -h /mnt/mymountpoint
    La salida se asemeja a:
    UUID bytes Used Available Use% Mounted on
    lustrefs-MDT0000_UUID 563.4G 33.8M 513.4G 1% /mnt/mymountpoint[MDT:0]
    lustrefs-MDT0001_UUID 563.4G 33.7M 513.4G 1% /mnt/mymountpoint[MDT:1]
    lustrefs-OST0000_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:0]
    lustrefs-OST0001_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:1]
    lustrefs-OST0002_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:2]
    lustrefs-OST0003_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:3]
    lustrefs-OST0004_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:4]
    lustrefs-OST0005_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:5]
    lustrefs-OST0006_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:6]
    lustrefs-OST0007_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:7]
    lustrefs-OST0008_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:8]
    lustrefs-OST0009_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:9]
    lustrefs-OST000a_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:10]
    lustrefs-OST000b_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:11]
    
    filesystem_summary: 30.9T 16.4M 29.3T 1% /mnt/mymountpoint

Prueba de operaciones de lectura y escritura

Las métricas del servicio File Storage with Lustre le ayudan a medir el rendimiento, la capacidad y el estado de un sistema de archivos. Puede utilizar datos de métricas para diagnosticar y solucionar problemas.

Probaremos las lecturas y escrituras ejecutando un comando dd y, a continuación, navegaremos a la página de métricas para ver el panel de control de métricas.

  1. Ejecute un comando dd similar a:
    [root@hpc-client-0 test]# dd if=/dev/zero of=10G_file  bs=1M count=10240 oflag=direct ;sleep 120 ; dd of=/dev/null if=10G_file  bs=1M count=10240 iflag=direct
    La salida se asemeja a:
    10240+0 records in
    10240+0 records out
    10737418240 bytes (11 GB, 10 GiB) copied, 40.6989 s, 264 MB/s
    10240+0 records in
    10240+0 records out
    10737418240 bytes (11 GB, 10 GiB) copied, 39.2326 s, 274 MB/s
    En este ejemplo, tenemos un tamaño de bloque de 1 MB.
  2. Para ver un juego por defecto de gráficos de métricas en la consola, haga clic en el menú de navegación y haga clic en Almacenamiento.
  3. En Lustre, seleccione Sistemas de archivos con Lustre.
  4. Seleccione el sistema de archivos para el que desea ver las métricas.
  5. En la página de detalles, en Recursos, seleccione Métricas.
En la página Métricas se muestra un conjunto de gráficos por defecto para el sistema de archivos actual. File Storage con Lustre proporciona las siguientes métricas:
  • ReadThroughput: se expresa en bytes leídos por minuto.
  • WriteThroughput: se expresa en bytes leídos por minuto.
  • DataReadOperations: número de operaciones de lectura por minuto.
  • DataWriteOperation: número de operaciones de escritura por minuto.
  • MetadataOperations: número de operaciones de metadatos. 14 dimensiones disponibles de operaciones de metadatos diferentes, como getattr, setattr, mknod, link, unlink, mkdir, etc.
  • FileSystemCapacity: capacidad total y disponible del sistema de archivos.
  • FileSystemInodeCapacity: inodes totales y disponibles del sistema de archivos.

Estas métricas se pueden explorar mediante el espacio de nombres oci_lustrefilesystem del explorador de métricas de OCI, como se muestra en la siguiente captura de pantalla.


Descripción de lustre-metrics-explorer.png
Descripción de la ilustración lustre-metrics-explorer.png

A continuación se muestra un ejemplo de cómo se pueden utilizar las consultas en el lenguaje de consulta de supervisión (MQL) en el explorador de métricas u otros paneles de control, como Grafana.

Para obtener el rendimiento de lectura:

ReadThroughput[1m]{resourceId = "your_filesystem_ocid", targetType = "OST", clientName ="all@all"}.grouping().sum()/60

Note:

60 se utiliza porque el intervalo aquí es de 1 minuto. Del mismo modo, puede utilizar MQL para otras métricas.