Skip to main content
NetApp artificial intelligence solutions
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Distribuisci il cluster Lustre HA e i client

Collaboratori netapp-jsnyder

Prepara il sistema operativo del server, installa NVIDIA DOCA-OFED, distribuisci il cluster HA Lustre e configura i client Lustre utilizzando i playbook Ansible di NetApp.

Prima di iniziare, completa e conserva l'inventario descritto in "Personalizza l'inventario di Lustre Ansible".

Distribuisci il cluster HA Lustre

Passaggi
  1. Dalla `building_blocks/playbooks`directory nella tua copia di lavoro, prepara il sistema operativo sui server Lustre. Sostituisci `<inventory_path>`con il percorso della tua directory di inventario personalizzata:

    ansible-playbook -i <inventory_path>/lustre_inventory.yml deploy_lustre_os/deploy_lustre_os_playbook.yml
  2. Installa NVIDIA DOCA-OFED su ogni server Lustre. Compila i moduli del kernel con il kernel che hai installato nel passaggio precedente. Segui la procedura per il tuo kernel in "Installazione e aggiornamento di NVIDIA DOCA-Host". Il seguente esempio mostra un'installazione di DOCA-OFED su RHEL o Rocky Linux.

    1. Installa il pacchetto repository host DOCA e aggiorna la cache dei pacchetti. Sostituisci <doca_host_package> con il pacchetto host DOCA per il tuo sistema operativo e architettura:

      dnf install -y wget tar
      wget https://www.mellanox.com/downloads/DOCA/<doca_host_package>.rpm
      rpm -i <doca_host_package>.rpm
      dnf clean all
      dnf makecache
    2. Compila i moduli del kernel DOCA per il kernel in esecuzione. Lo script stampa il percorso del pacchetto che crea:

      dnf install -y doca-extra
      /opt/mellanox/doca/tools/doca-kernel-support
    3. Installa il pacchetto repository del modulo kernel creato dallo script, quindi aggiorna la cache dei pacchetti. Sostituisci <doca_kernel_repo> con il percorso del passaggio precedente:

      rpm -Uvh <doca_kernel_repo>.rpm
      dnf makecache
    4. Installa lo spazio utente DOCA-OFED, il kernel e i pacchetti NVMe. Sostituisci <kernel_version> con la versione del kernel in esecuzione:

      dnf install -y doca-ofed-userspace
      dnf install -y --disablerepo=doca doca-kernel-<kernel_version>
      dnf install -y kmod-mlnx-nvme
  3. Esegui il playbook di distribuzione principale:

    ansible-playbook -i <inventory_path>/lustre_inventory.yml lustre_playbook.yml
    Nota Regola --forks in base alle dimensioni della distribuzione per controllare quanti host Ansible configura in parallelo. Ad esempio, aggiungi --forks 20 per un cluster più grande.

Il playbook esegue il provisioning di gruppi di volumi E-Series o pool e volumi DDP, configura la connettività host NVMe-oF, formatta e monta i target Lustre, configura LNet, applica l'ottimizzazione delle prestazioni e configura le risorse HA di Pacemaker.

Nota Un'implementazione con un singolo building block forma un cluster a due nodi Pacemaker. Al nodo A viene assegnato un voto aggiuntivo in caso di failover. Per raggiungere il quorum in un cluster a due nodi, valuta la configurazione di un qdevice. Quando un'implementazione contiene più building block, ciascun building block contribuisce con una coppia di server a due nodi al cluster Pacemaker più grande, fino al limite di cluster documentato. Esamina la configurazione di fencing e quorum in "Guida utente all'amministrazione HA" così il cluster può ripristinare in sicurezza i target durante un errore di un nodo.

Distribuisci i client Lustre

Distribuisci i client Lustre su qualsiasi sistema che richieda l'accesso al file system personalizzando il modello di distribuzione del client ed eseguendo il playbook del client.

Passaggi
  1. Seleziona un sistema operativo client e un kernel compatibili da "Matrice di supporto Lustre". Compila e installa i pacchetti client Lustre per quel kernel da "netapp-lustre" se non sono già installati.

  2. Crea una copia di lavoro della directory dei `clients`template, incluso il file `passwords.yml`condiviso, e seleziona il template che corrisponde al tuo fabric:

  3. Personalizza lustre_client_inventory.yml, host_vars e group_vars per i tuoi clienti. I riferimenti di riga nella tabella puntano ai file modello client RoCE nel tag ansible-lustre release/1.0.0; il modello client InfiniBand utilizza le stesse variabili, salvo diversa indicazione.

    Campo variabile Ansible File modello (release/1.0.0) Ambito Note

    Host client

    lustre_clients

    "lustre_client_inventory.yml#L4"

    Per client

    Elenca ogni host name del client.

    Utente SSH del client e password di accesso

    ssh_client_user/ ssh_client_become_pass

    "passwords.yml#L2"

    a livello di cluster

    Imposta la password become solo se l'utente SSH non è root.

    Interfacce LNet

    eseries_lustre_lnet

    "group_vars/all.yml#L7"

    a livello di cluster

    Nomi delle interfacce LNet lato client (valori a L13).

    Monta NID MGS

    lustre_client_mounts.mgsnode

    "group_vars/all.yml#L17"

    a livello di cluster

    NID MGS utilizzati per montare il file system (valori a L20).

    Nome file system

    lustre_client_mounts.fsname

    "group_vars/all.yml#L21"

    a livello di cluster

    Deve corrispondere al cluster fsname.

    Punto di mount

    lustre_client_mounts.mount_point

    "group_vars/all.yml#L22"

    a livello di cluster

    Directory di mount del client.

    IP di gestione client

    ansible_host

    "host_vars/client_01.yml#L4"

    Ripeti per client

    Un `host_vars/client_NN.yml`file per client.

    Interfacce fabric di storage

    eseries_roce_interfaces

    "host_vars/client_01.yml#L10"

    Ripeti per client

    Indirizzi dell'interfaccia frontend (valori a L15). Il template InfiniBand utilizza eseries_ipoib_interfaces qui.

    Ripeti le impostazioni per ogni client. Crea un host_vars/client_NN.yml file per ogni client e aggiungi l'host corrispondente a lustre_client_inventory.yml. Popola il file condiviso clients/passwords.yml e crittografalo con Ansible Vault prima di eseguire il playbook del client.

  4. Esegui il playbook del client dalla directory del template del client:

    ansible-playbook -i lustre_client_inventory.yml lustre_client_playbook.yml

Il playbook del client configura le interfacce di rete del client e LNet, e può creare un'unità di montaggio systemd persistente per il file system Lustre.

Dopo aver finito