Inženieris no Clyso apkopoja pieredzi, kas gÅ«ta, veidojot krÄtuves klasteru, pamatojoties uz defektiem izturÄ«gu izplatÄ«tu Ceph sistÄmu ar caurlaidspÄju, kas pÄrsniedz tebibaitus sekundÄ. Tiek atzÄ«mÄts, ka Å”is ir pirmais uz Ceph balstÄ«tais klasteris, kas spÄjis sasniegt Å”Ädu rÄdÄ«tÄju, taÄu pirms uzrÄdÄ«tÄ rezultÄta iegūŔanas inženieriem bija jÄpÄrvar virkne ne acÄ«mredzamu slazdu.
PiemÄram, lai palielinÄtu veiktspÄju par 10ā20 %, serveru BIOS enerÄ£ijas taupīŔanas iestatÄ«jumos bija pietiekami iespÄjot tikai maksimÄlÄs veiktspÄjas režīmu un atspÄjot c-state (c-state maina enerÄ£ijas taupīŔanas parametrus atkarÄ«bÄ no slodzes, kas ietekmÄ Ceph). IzrÄdÄ«jÄs arÄ«, ka, izmantojot NVMe diskus, kodols Linux IOMMU kartÄÅ”anas atjauninÄÅ”anas procesÄ ievÄrojams laika daudzums tiek pavadÄ«ts, apstrÄdÄjot spinlock kļūdas. IOMMU atspÄjoÅ”ana kodolÄ ievÄrojami uzlaboja veiktspÄju 4 MB bloku rakstīŔanas un lasīŔanas testos.
TomÄr IOMMU atspÄjoÅ”ana neatrisinÄja veiktspÄjas kritumu, rakstot nejauÅ”us 4 KB blokus. IzpÄtot problÄmu, inženieri atrada labojumus Ceph bÅ«vÄÅ”anas skriptos no Gentoo un Ubuntu, kas ietvÄra veidoÅ”anu ar RelWithDebInfo opciju, jo tÄ iespÄjoja GCC optimizÄcijas režīmu "-O2", kas ievÄrojami palielinÄja Ceph veiktspÄju. KompilÄÅ”ana ar TCMalloc bibliotÄku arÄ« izraisÄ«ja veiktspÄjas sodu. KompilÄcijas karodziÅu maiÅa un TCMalloc izmantoÅ”anas likvidÄÅ”ana trÄ«s reizes samazinÄja saspieÅ”anas laiku un divkÄrÅ”oja nejauÅ”as 4K rakstīŔanas veiktspÄjas pieaugumu. Visbeidzot, tika veiktas papildu optimizÄcijas Reef RocksDB iestatÄ«jumos un izvietojuma grupÄs (PG).
Klasteris ir veidots no 68 mezgliem, pamatojoties uz serveriem Dell PowerEdge R6615 ar AMD EPYC 9454P 48C/96T centrÄlo procesoru. KatrÄ mezglÄ ir 10 Dell 15.36 TB NVMe diski, divi Mellanox ConnectX-6 100GbE Ethernet adapteri un 192 GB RAM. ProgrammatÅ«ra ir balstÄ«ta uz Ubuntu 20.04.6 un Ceph 17.2.7. Klasterim, kurÄ darbojas 63 mezgli, ir 630 OSD (Object Storage Daemon, fona process, kas pÄrvalda datu glabÄÅ”anu lokÄlajÄ krÄtuvÄ, viens OSD katram NVMe diskam), trÄ«s MON procesi (uzrauga, uzrauga klastera statusu) un viens MGR process (Manager, pÄrvaldÄ«bas pakalpojums). KrÄtuves lielums ir 8.2 PB.
Caurlaide 4M bloku secÄ«gÄs nolasīŔanas operÄcijÄm bija 1025 GiB/s, rakstīŔanai - 270 GiB/s. NejauÅ”i lasot 4KB blokus, veiktspÄja bija 25.5 miljoni lasīŔanas operÄciju sekundÄ un 4.9 miljoni rakstīŔanas operÄciju. Å ifrÄÅ”anas iespÄjoÅ”ana samazinÄja lasīŔanas caurlaidspÄju lÄ«dz aptuveni 750 GiB/s. Kad tika iespÄjoti EC62 kļūdu laboÅ”anas kodi, caurlaidspÄja lasot bija 547 GiB/s un rakstot 387 GiB/s (rakstīŔanas Ätrums bija lielÄks nekÄ bez korekcijas kodiem), un ar brÄ«vpiekļuves 3.4M IOPS lasot un 936K IOPS rakstot. .


TurklÄt var atzÄ«mÄt, ka septembrÄ« lÄ«dzÄ«gs caurlaidspÄjas pavÄrsiens - tebibaiti sekundÄ tika sasniegts CERN eksabaitu krÄtuves klasterÄ«, kas tika ieviests, pamatojoties uz EOS atvÄrto izplatÄ«to krÄtuvi, kas veidota uz XRootD protokola.
Avots: opennet.ru
