Ervaring met het creƫren van een Ceph-opslag met een doorvoersnelheid van meer dan een tebibyte per seconde

Een ingenieur van Clyso heeft de ervaring samengevat van het creƫren van een opslagcluster op basis van een failovergedistribueerd systeem Ceph met een bandbreedte die meer dan een tebibyte per seconde overstijgt. Het is opmerkelijk dat dit het eerste cluster op basis van Ceph is dat een dergelijke prestatie heeft bereikt, maar om het gepresenteerde resultaat te behalen, moesten de ingenieurs een reeks niet-evidente obstakels overwinnen.

Bijvoorbeeld, om de prestaties met 10-20% te verhogen, was het voldoende om in de BIOS-instellingen van de servers de energiespaarmodus alleen in de maximale prestatieweergave in te schakelen en de c-state uit te schakelen (de c-state past de energieparameters aan op basis van de belasting, wat invloed heeft op Ceph). Ook bleek dat bij het gebruik van NVMe-opslagmedia de Linux-kernel aanzienlijke tijd besteedde aan het verwerken van spin-locks tijdens het bijwerken van de IOMMU-mapping. Het uitschakelen van IOMMU in de kernel leidde tot een merkbare prestatieverbetering in de tests voor het lezen en schrijven van blokken van 4MB.

Het uitschakelen van IOMMU loste echter niet het probleem van de prestatievermindering bij willekeurige schrijfoperaties van blokken van 4KB op. Toen de ingenieurs achter de oorzaak probeerden te komen, stuitten ze op oplossingen in de build-scripts van Ceph van de Gentoo- en Ubuntu-projecten, die de build met de optie RelWithDebInfo omvatten, omdat hiermee in GCC de optimalisatiewijze "-O2" werd toegepast, wat de prestaties van Ceph aanzienlijk verhoogde. Een andere factor die bijdroeg aan de prestatievermindering was de compilatie met de TCMalloc-bibliotheek. Het wijzigen van de compilatievlaggen en het stoppen met het gebruik van TCMalloc leidde tot een vermindering van de tijd voor compactie met drie, en de prestaties van willekeurige schrijfoperaties met blokken van 4K verdubbelde. Uiteindelijk werd ook de optimalisatie van de instellingen van Reef RocksDB en de plaatsingsgroepen (PG) uitgevoerd.

Het cluster is gevormd uit 68 knooppunten op basis van servers Dell PowerEdge R6615 met CPU AMD EPYC 9454P 48C/96T. Elk knooppunt bevat 10 NVMe-opslagmedia Dell 15.36TB, twee Ethernet-adapters 100GbE Mellanox ConnectX-6 en 192 GB RAM. De software is gebaseerd op Ubuntu 20.04.6 en Ceph 17.2.7. In het cluster zijn er op 63 knooppunten 630 OSD's (Object Storage Daemon, achtergrondproces dat de opslag van gegevens in de lokale opslag regelt, ƩƩn OSD per NVMe-opslagmedium), drie MON-processen (monitor, houdt de status van het cluster in de gaten) en ƩƩn MGR-proces (Manager, beheerservice). De opslagcapaciteit is 8,2 PB.

De bandbreedte bij sequentiƫle bewerkingen van 4 MB blokken was 1025 GiB/s voor lezen en 270 GiB/s voor schrijven. Bij willekeurig lezen van 4 KB blokken was de prestaties 25,5 miljoen leesoperaties per seconde en 4,9 miljoen bij schrijven. Het inschakelen van encryptie verminderde de leessnelheid tot ongeveer 750 GiB/s. Bij het gebruik van foutencodering EC62 was de bandbreedte 547 GiB/s bij lezen en 387 GiB/s bij schrijven (de schrijfsnelheid was hoger dan zonder foutencodering), en bij willekeurige toegang waren er 3,4 miljoen IOPS bij lezen en 936 duizend IOPS bij schrijven.

Ervaring met het creƫren van een Ceph-opslag met een doorvoersnelheid van meer dan een tebibyte per seconde
Ervaring met het creƫren van een Ceph-opslag met een doorvoersnelheid van meer dan een tebibyte per seconde

Daarnaast is het vermeldenswaard dat in september een vergelijkbare mijlpaal van bandbreedte in tebibytes per seconde werd bereikt in het exabyte opslagcluster van CERN, gerealiseerd op basis van de open gedistribueerde opslag EOS, gebouwd op het XRootD-protocol.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster