Experiență în crearea unui depozit Ceph cu lățimi de bandă de tebibait pe secundă.

Un inginer de la compania Clyso a sintetizat experiența creării unui cluster de stocare bazat pe un sistem distribuit rezistent la defecțiuni Ceph, cu o lățime de bandă care depășește un tebibait pe secundă. Se observă că acesta este primul cluster bazat pe Ceph care a reușit să atingă o astfel de valoare, dar înainte de a obține rezultatul prezentat, inginerii au trebuit să depășească o serie de capcane evidente.

De exemplu, pentru a îmbunătăți performanța cu 10-20%, a fost suficient să activam pe servere, în setările BIOS de economisire a energiei, funcționarea doar în modul de performanță maximă și să dezactivăm c-state (c-state modifică parametrii de economisire a energiei în funcție de sarcină, ceea ce afectează Ceph). De asemenea, s-a dovedit că, atunci când se utilizează unități NVMe, nucleul Linux petrece o perioadă semnificativă de timp procesând blocajele spin în timpul actualizării mapării IOMMU. Dezactivarea IOMMU în nucleu a dus la o creștere notabilă a performanței în testele de scriere și citire a blocurilor de 4MB.

Cu toate acestea, dezactivarea IOMMU nu a rezolvat problema scăderii performanței în cazul scrierii aleatorii a blocurilor de 4KB. Investigând problema, inginerii au dat peste corecții în scenariile de compilare Ceph din proiectele Gentoo și Ubuntu, care includeau compilarea cu opțiunea RelWithDebInfo, deoarece cu aceasta în GCC se aplica modul de optimizare «-O2», ceea ce a crescut semnificativ performanța Ceph. Compilarea cu biblioteca TCMalloc a dus, de asemenea, la o scădere a performanței. Modificarea flag-urilor de compilare și stoparea utilizării TCMalloc a dus la o reducere a timpului de compactare de trei ori și la o dublare a performanței operațiunilor de scriere aleatorie pe blocuri de 4K. La final, s-au realizat și optimizări suplimentare ale setărilor Reef RocksDB și ale grupurilor de plasare (PG).

Clusterul este format din 68 de noduri bazate pe servere Dell PowerEdge R6615 cu CPU AMD EPYC 9454P 48C/96T. Fiecare nod conține 10 unități NVMe Dell de 15.36TB, două adaptoare Ethernet 100GbE Mellanox ConnectX-6 și 192 GB RAM. Software-ul este bazat pe Ubuntu 20.04.6 și Ceph 17.2.7. În clusterul format din 63 de noduri sunt configurate 630 OSD (Object Storage Daemon, proces de fundal care gestionează stocarea datelor în stocarea locală, câte unul OSD pe unitate NVMe), trei procese MON (monitor, care urmărește starea clusterului) și un proces MGR (Manager, serviciul de administrare). Dimensiunea stocării este de 8.2 PB.

Lățimea de bandă în timpul operațiunilor de citire secvențială a blocurilor de 4M a fost de 1025 GiB/s pentru citire și 270 GiB/s pentru scriere. La citirea întâmplătoare a blocurilor de 4KB, performanța a fost de 25,5 milioane de operațiuni de citire pe secundă și 4,9 milioane la scriere. Activarea criptării a redus lățimea de bandă la citire la aproximativ 750 GiB/s. Cu codurile de corectare a erorilor EC62, lățimea de bandă a fost de 547 GiB/s la citire și 387 GiB/s la scriere (viteza de scriere a fost mai mare decât fără codurile de corectare), iar în accesul întâmplător au fost 3,4M IOPS la citire și 936K IOPS la scriere.

Experiență în crearea unui depozit Ceph cu lățimi de bandă de tebibait pe secundă.
Experiență în crearea unui depozit Ceph cu lățimi de bandă de tebibait pe secundă.

În plus, se poate observa că în septembrie un prag similar de lățime de bandă în tebibai pe secundă a fost atins în clusterul de stocare Exabyte de la CERN, realizat pe baza stocării distribuite deschise EOS, construit pe protocolul XRootD.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster