Cloudflare Linux-da disk şifrələməsini kəskin sürətləndirən yamalar hazırlamışdır

Cloudflare-dən tərtibatçılar deyə danışdı Linux nüvəsində disk şifrələməsinin işini optimallaşdırmaq üçün işlərin aparılması haqqında. Nəticədə hazırlandılar yamaqlar alt sistem üçün dm-crypt və Sintetik testdə oxumaq və yazma qabiliyyətini iki dəfədən çox, habelə gecikməni yarıya endirməyə imkan verən Crypto API. Həqiqi aparatda sınaqdan keçirilərkən, şifrələmə yükü məlumat şifrələməsi olmayan bir disklə işləyərkən demək olar ki, müşahidə olunan səviyyəyə endirildi.

Cloudflare CDN-də məzmunu keşləmək üçün istifadə edilən saxlama cihazlarında məlumatları şifrələmək üçün dm-crypt-dən istifadə edir. Dm-crypt blok cihazı səviyyəsində işləyir və blok cihazı ilə fayl sistemi sürücüsü arasında bir təbəqə rolunu oynayaraq yazma I/O sorğularını şifrələyir və oxunmuş sorğuların şifrəsini açır.

Cloudflare Linux-da disk şifrələməsini kəskin sürətləndirən yamalar hazırlamışdır

Paketdən istifadə edərək dm-crypt işini qiymətləndirmək Çevik I/O test cihazı Disk performansındakı dalğalanmaları aradan qaldırmaq və kod performansına diqqət yetirmək üçün RAM-da yerləşən RAM diskində şifrələnmiş və şifrələnməmiş bölmələrlə işləmə sürətini ölçdük. Şifrələnməmiş bölmələr üçün oxuma və yazma performansı 1126 MB/s səviyyəsində qaldı, lakin şifrələmə aktiv olduqda sürət azaldı Vaxt 7 və 147 MB/s təşkil edib.

Əvvəlcə nüvə kriptosistemində səmərəsiz alqoritmlərin istifadəsi ilə bağlı şübhələr yarandı. Lakin testlər 256 şifrələmə açarı ilə ən sürətli aes-xts alqoritmini istifadə etdi ki, bu da "kriptsetup etalonunu" işlədərkən performansı RAM diskini sınaqdan keçirərkən əldə edilən nəticədən iki dəfə yüksəkdir. Performans tənzimləməsi üçün dm-crypt bayraqları ilə aparılan təcrübələr nəticə vermədi: “--perf-same_cpu_crypt” bayrağından istifadə edərkən performans hətta 136 MB/s-ə qədər azaldı və “--perf-submit_from_crypt_cpus” bayrağını göstərərkən o, yalnız artdı. 166 MB/s-ə qədər.

Əməliyyat məntiqinin daha dərin təhlili göstərdi ki, dm-crypt göründüyü qədər sadə deyil - FS sürücüsündən yazma sorğusu gəldikdə, dm-crypt onu dərhal emal etmir, əksinə onu "kcryptd" növbəsinə yerləşdirir. dərhal təhlil edilmir, lakin əlverişli an olduqda. Növbədən sorğu şifrələməni həyata keçirmək üçün Linux Kripto API-yə göndərilir. Lakin Crypto API asinxron icra modelindən istifadə etdiyi üçün şifrələmə də dərhal yerinə yetirilmir, başqa növbəni keçərək həyata keçirilir. Şifrələmə tamamlandıqdan sonra dm-crypt axtarış ağacından istifadə edərək gözlənilən yazma sorğularını çeşidləməyə cəhd edə bilər qırmızı-qara. Sonda ayrıca kernel mövzusu yenidən müəyyən gecikmə ilə yığılmış I/O sorğularını götürür və blok cihaz yığınına göndərir.

Cloudflare Linux-da disk şifrələməsini kəskin sürətləndirən yamalar hazırlamışdır

Oxuyarkən dm-crypt əvvəlcə sürücüdən məlumat almaq üçün “kcryptd_io” növbəsinə sorğu əlavə edir. Bir müddət sonra məlumatlar əlçatan olur və şifrənin açılması üçün “kcryptd” növbəsinə yerləşdirilir.
Kcryptd, məlumatı asinxron şəkildə deşifrə edən Linux Crypto API-yə sorğu göndərir. Sorğular həmişə bütün növbələrdən keçmir, lakin ən pis halda, yazma sorğusu 4 dəfəyə qədər, oxunma sorğusu isə 3 dəfəyə qədər növbələrə düşür. Növbəyə hər vurulma gecikmələrə səbəb olur ki, bu da dm-kript performansının əhəmiyyətli dərəcədə azalmasının əsas səbəbidir.

Növbələrin istifadəsi fasilələrin baş verdiyi şəraitdə işləmək ehtiyacı ilə bağlıdır. 2005-ci ildə dm-crypt-in hazırkı növbəyə əsaslanan əməliyyat modeli tətbiq edildikdə, Crypto API hələ asinxron deyildi. Crypto API asinxron icra modelinə köçürüldükdən sonra mahiyyətcə ikiqat qorunma istifadə edilməyə başlandı. Növbələr də ləpə yığınının istehlakına qənaət etmək üçün tətbiq edildi, lakin 2014-cü ildə artımdan sonra bu optimallaşdırmalar öz aktuallığını itirdi. Çoxlu sayda sorğu gələndə yaddaşın ayrılmasını gözləməklə nəticələnən darboğazı aradan qaldırmaq üçün əlavə növbə "kcryptd_io" təqdim edildi. 2015-ci ildə əlavə çeşidləmə mərhələsi tətbiq olundu, çünki çoxprosessorlu sistemlərdə şifrələmə sorğuları sıradan çıxa bilər (diskə ardıcıl giriş əvəzinə giriş təsadüfi qaydada həyata keçirilirdi və CFQ planlaşdırıcı səmərəli işləmədi). Hal-hazırda, SSD disklərindən istifadə edərkən, çeşidləmə mənasını itirdi və CFQ planlaşdırıcısı artıq nüvədə istifadə edilmir.

Müasir disklərin daha sürətli və daha ağıllı olduğunu nəzərə alaraq, Linux nüvəsindəki resurs paylama sistemi yenidən işlənib və bəzi alt sistemlər yenidən işlənib, Cloudflare mühəndisləri əlavə etdi dm-crypt lazımsız növbələrin və asinxron zənglərin istifadəsini aradan qaldıran yeni iş rejiminə malikdir. Rejim ayrıca “force_inline” bayrağı ilə aktivləşdirilib və dm-crypt-i daxil olan sorğuları şifrələyən və deşifrə edən sadə bir proxy formasına gətirir. Crypto API ilə qarşılıqlı əlaqə sinxron rejimdə işləyən və sorğu növbələrindən istifadə etməyən şifrələmə alqoritmlərini aydın şəkildə seçməklə optimallaşdırılıb. Crypto API ilə sinxron işləmək üçün var idi təklif etdi sürətləndirmə üçün FPU/AES-NI-dən istifadə etməyə imkan verən və şifrələmə və deşifrə sorğularını birbaşa yönləndirən modul.

Nəticədə, RAM diskini sınaqdan keçirərkən dm-kriptin məhsuldarlığını iki dəfədən çox artırmaq mümkün oldu - performans 294 MB/s-dən (2 x 147 MB/s) 640 MB/s-ə yüksəldi, bu da çox yaxındır. çılpaq şifrələmənin performansı (696 MB / s).

Cloudflare Linux-da disk şifrələməsini kəskin sürətləndirən yamalar hazırlamışdır

Cloudflare Linux-da disk şifrələməsini kəskin sürətləndirən yamalar hazırlamışdır

Cloudflare Linux-da disk şifrələməsini kəskin sürətləndirən yamalar hazırlamışdır

Həqiqi serverlərdə yükü sınaqdan keçirərkən, yeni tətbiqetmə şifrələmədən işləyən konfiqurasiyaya çox yaxın performans göstərdi və Cloudflare keşi olan serverlərdə şifrələmənin aktivləşdirilməsi cavab sürətinə heç bir təsir göstərmədi. Gələcəkdə Cloudflare hazırlanmış yamaları əsas Linux nüvəsinə köçürməyi planlaşdırır, lakin bundan əvvəl onlar yenidən işlənməli olacaqlar, çünki onlar müəyyən bir yük üçün optimallaşdırılıb və tətbiqin bütün sahələrini əhatə etmir, məsələn, aşağı səviyyədə şifrələmə -güclü quraşdırılmış qurğular.

Cloudflare Linux-da disk şifrələməsini kəskin sürətləndirən yamalar hazırlamışdır

Mənbə: opennet.ru

Добавить комментарий