Rilascio del dispositivo a blocchi replicato distribuito DRBD 9.2.0

È stato pubblicato il rilascio del dispositivo a blocchi replicato distribuito DRBD 9.2.0, che consente di implementare qualcosa come un array RAID-1 formato da più dischi di macchine diverse collegate in rete (mirroring di rete). Il sistema è concepito come modulo per il kernel Linux ed è distribuito sotto la licenza GPLv2. Il ramo drbd 9.2.0 può essere utilizzato per sostituire in modo trasparente drbd 9.xx ed è completamente compatibile a livello di protocollo, file di configurazione e utilità.

DRBD consente di combinare le unità dei nodi del cluster in un unico storage con tolleranza agli errori. Per le applicazioni e il sistema, tale archiviazione si presenta come un dispositivo a blocchi uguale per tutti i sistemi. Quando si utilizza DRBD, tutte le operazioni del disco locale vengono inviate ad altri nodi e sincronizzate con i dischi di altre macchine. Se un nodo si guasta, lo storage continuerà automaticamente a funzionare utilizzando i nodi rimanenti. Una volta ripristinata la disponibilità del nodo guasto, il suo stato verrà automaticamente aggiornato.

Il cluster che costituisce lo storage può comprendere diverse decine di nodi dislocati sia sulla rete locale che geograficamente distribuiti in diversi data center. La sincronizzazione in tali archivi ramificati viene eseguita utilizzando tecnologie di rete mesh (flussi di dati lungo la catena da nodo a nodo). La replica dei nodi può essere eseguita sia in modalità sincrona che asincrona. Ad esempio, i nodi ospitati localmente possono utilizzare la replica sincrona e, per il trasferimento a siti remoti, è possibile utilizzare la replica asincrona con ulteriore compressione e crittografia del traffico.

Rilascio del dispositivo a blocchi replicato distribuito DRBD 9.2.0

Nella nuova versione:

  • Latenza ridotta per le richieste di scrittura con mirroring. Una più stretta integrazione con lo stack di rete ha ridotto il numero di cambi di contesto dello scheduler.
  • Ridotta contesa tra l'I/O dell'applicazione e l'I/O di risincronizzazione ottimizzando il blocco durante la risincronizzazione degli estensioni.
  • Prestazioni di risincronizzazione significativamente migliorate sui backend che utilizzano l'allocazione dinamica dello storage ("thin provisioning"). Le prestazioni sono state migliorate combinando le operazioni di eliminazione/eliminazione, che richiedono molto più tempo rispetto alle normali operazioni di scrittura.
  • Aggiunto il supporto per gli spazi dei nomi di rete, che ha reso possibile l'integrazione con Kubernetes per trasmettere il traffico di rete di replica attraverso una rete separata associata ai contenitori, anziché la rete dell'ambiente host.
  • Aggiunto il modulo trasporti_rdma da utilizzare come trasporto Infiniband/RoCE invece di TCP/IP su Ethernet. L'utilizzo del nuovo trasporto consente di ridurre i ritardi, ridurre il carico sulla CPU e garantire che i dati vengano ricevuti senza operazioni di copia non necessarie (zero-copy).

Fonte: opennet.ru

Aggiungi un commento