Scopri di più sull'inventario Ansible
Prima di iniziare l'implementazione, assicurati di comprendere come utilizzare Ansible per configurare e implementare la soluzione BeeGFS su NetApp utilizzando la progettazione di blocchi di costruzione BeeGFS di seconda generazione.
L'inventario Ansible definisce la configurazione per i nodi di file e blocchi e rappresenta il file system BeeGFS che si desidera implementare. L'inventario include host, gruppi e variabili che descrivono il file system BeeGFS desiderato. Gli inventari di esempio possono essere scaricati da "NetApp e-Series BeeGFS GitHub".
Moduli e ruoli Ansible
Per applicare la configurazione descritta dall'inventario Ansible, utilizza i vari ruoli e moduli Ansible forniti nella raccolta NetApp E-Series Ansible, in particolare il ruolo BeeGFS ha 7,4 (disponibile dal "NetApp e-Series BeeGFS GitHub") che implementa la soluzione end-to-end.
Ogni ruolo nella raccolta NetApp e-Series Ansible è un'implementazione end-to-end completa della soluzione BeeGFS su NetApp. I ruoli utilizzano le raccolte NetApp e-Series SANtricity, host e BeeGFS che consentono di configurare il file system BeeGFS con ha (alta disponibilità). È quindi possibile eseguire il provisioning e il mapping dello storage, assicurandosi che lo storage del cluster sia pronto per l'uso.
Sebbene i ruoli siano corredati da una documentazione approfondita, le procedure di implementazione descrivono come utilizzare il ruolo per implementare un'architettura verificata di NetApp utilizzando la progettazione di blocchi di costruzione BeeGFS di seconda generazione.
Anche se le fasi di implementazione tentano di fornire dettagli sufficienti per evitare che l'esperienza precedente con Ansible sia un prerequisito, si dovrebbe avere una certa familiarità con Ansible e la terminologia correlata. |
Layout dell'inventario per un cluster BeeGFS ha
Utilizzare la struttura di inventario Ansible per definire un cluster BeeGFS ha.
Chiunque abbia esperienza precedente con Ansible deve essere consapevole del fatto che il ruolo BeeGFS ha implementa un metodo personalizzato per scoprire quali variabili (o fatti) si applicano a ciascun host. Ciò è necessario per semplificare la creazione di un inventario Ansible che descriva le risorse che possono essere eseguite su più server.
Un inventario Ansible è costituito in genere dai file in host_vars
e. group_vars`e un `inventory.yml
file che assegna host a gruppi specifici (e potenzialmente gruppi ad altri gruppi).
Non creare alcun file con il contenuto di questa sottosezione, che è da intendersi solo come esempio. |
Sebbene questa configurazione sia predeterminata in base al profilo di configurazione, è necessario avere una comprensione generale del modo in cui tutto viene presentato come inventario Ansible, come segue:
# BeeGFS HA (High Availability) cluster inventory. all: children: # Ansible group representing all block nodes: eseries_storage_systems: hosts: netapp01: netapp02: # Ansible group representing all file nodes: ha_cluster: children: meta_01: # Group representing a metadata service with ID 01. hosts: beegfs_01: # This service is preferred on the first file node. beegfs_02: # And can failover to the second file node. meta_02: # Group representing a metadata service with ID 02. hosts: beegfs_02: # This service is preferred on the second file node. beegfs_01: # And can failover to the first file node.
Per ogni servizio, viene creato un file aggiuntivo in group_vars
descrizione della configurazione:
# meta_01 - BeeGFS HA Metadata Resource Group beegfs_ha_beegfs_meta_conf_resource_group_options: connMetaPortTCP: 8015 connMetaPortUDP: 8015 tuneBindToNumaZone: 0 floating_ips: - i1b: <IP>/<SUBNET_MASK> - i2b: <IP>/<SUBNET_MASK> # Type of BeeGFS service the HA resource group will manage. beegfs_service: metadata # Choices: management, metadata, storage. # What block node should be used to create a volume for this service: beegfs_targets: netapp01: eseries_storage_pool_configuration: - name: beegfs_m1_m2_m5_m6 raid_level: raid1 criteria_drive_count: 4 common_volume_configuration: segment_size_kb: 128 volumes: - size: 21.25 owning_controller: A
Questo layout consente di definire la configurazione del servizio, della rete e dello storage BeeGFS per ciascuna risorsa in un'unica posizione. Dietro le quinte, il ruolo BeeGFS aggrega la configurazione necessaria per ogni nodo di file e blocchi in base a questa struttura di inventario. Per ulteriori informazioni, consulta questo post del blog: "NetApp accelera l'implementazione di ha per BeeGFS con Ansible".
L'ID del nodo BeeGFS numerico e stringa per ciascun servizio viene configurato automaticamente in base al nome del gruppo. Pertanto, oltre al requisito generale Ansible per l'univoci nome di gruppo, i gruppi che rappresentano un servizio BeeGFS devono terminare con un numero univoco per il tipo di servizio BeeGFS rappresentato dal gruppo. Ad esempio, sono consentiti meta_01 e stor_01, ma i metadati_01 e meta_01 non lo sono. |