Scopri di più sull'inventario Ansible
Prima di iniziare un'implementazione, familiarizza con il modo in cui Ansible è configurato e utilizzato per implementare la soluzione BeeGFS su NetApp.
L'inventario Ansible è una struttura di directory in cui sono elencati i nodi di file e blocchi per il file system BeeGFS da implementare. Include host, gruppi e variabili che descrivono il file system BeeGFS desiderato. L'inventario Ansible deve essere memorizzato nel nodo di controllo Ansible, ossia su qualsiasi macchina con accesso ai nodi di file e blocchi utilizzati per eseguire il playbook Ansible. Gli inventari dei campioni possono essere scaricati da "NetApp e-Series BeeGFS GitHub" .
Moduli e ruoli Ansible
Per applicare la configurazione descritta dall'inventario Ansible, utilizza i vari moduli e ruoli Ansible forniti nella raccolta Ansible NetApp e-Series (disponibile dal ) che implementano la soluzione end-to- "NetApp e-Series BeeGFS GitHub"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
Definire un cluster BeeGFS ha utilizzando la struttura di inventario Ansible.
Chiunque abbia precedente esperienza di Ansible deve essere consapevole del fatto che il ruolo ha BeeGFS implementa un metodo personalizzato per scoprire quali variabili (o fatti) si applicano a ciascun host. Questo design semplifica la strutturazione dell'inventario Ansible per descrivere le risorse che possono essere eseguite su più server.
Un inventario Ansible generalmente è costituito dai file in host_vars e group_vars, insieme a un inventory.yml file che assegna gli 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.
|
|
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. |