Cloudflare-kehittäjät työskentelevät korjaustiedostojen kanssa levyn salauksen nopeuttamiseksi Linuxissa

CloudFlare

Los Cloudflare-kehittäjät ovat julkaisseet tietoa työstä, jota he tekevät optimoidakseen levyn salauksen suorituskyvyn Linux-ytimessä, joista he mainitsevat valmistuneensa korjaukset dm-crypt- ja Crypto API -alijärjestelmille.

Tämän avulla synteettisen testin annettiin kaksinkertaistaa kaistanleveys lukemista ja kirjoittamista varten, samoin kuin puolittaa viive. Todellisilla koneilla testattaessa salauksen yleiskustannukset laskivat melkein tasolle, joka nähtiin työskenneltäessä levyn kanssa ilman tietojen salausta.

Kiinnostus salauksen parantamiseen tiedot levylle se johtuu siitä, että Cloudflare käyttää dm-salausta salata CDN: n sisällön välimuistiin tallennettujen asemien tiedot. Dm-crypt toimii lohkotason tasolla ja salaa I / O-pyynnöt lukupyyntöjen kirjoittamiseksi ja salauksen purkamiseksi toimimalla kerroksena estolaitteen ja tiedostojärjestelmäohjaimen välillä.

Suorituskyvyn arvioimiseksi dm-crypt käyttämällä joustavaa I / O-testipakettia, se mitasi salattujen osioiden kanssa työskentelyn nopeuden eikä sitä ole salattu RAM-levyllä RAM-levyllä levyn suorituskyvyn vaihtelujen poistamiseksi.

Salamattomien osioiden luku- ja kirjoitusteho säilyi 1126 Mt / s, mutta kun salaus otettiin käyttöön, nopeus putosi 7 kertaa 147 Mt / s.

Alussa tehottomien algoritmien käyttöä epäiltiin ytimen salausjärjestelmässä. Mutta testeissä käytettiin nopeampaa aes-xts-algoritmia 256 salausavaimella, joiden suorituskyky "cryptsetup benchmarkin" suorittamisen aikana on yli kaksi kertaa parempi kuin RAM-levyä testattaessa saatu tulos.

dm-krypta

kokeiluja dm-salauksen lipuilla suorituskyvyn säätäminen ei toiminut: Kun käytetään –perf-same_cpu_crypt-lippua, suorituskyky laski jopa 136MB / s: iin ja –perf-submit_from_crypt_cpus -lippua käytettäessä vain 166MB / s.

Syvempi analyysi työn logiikasta osoitti, että dm-krypta ei ole niin yksinkertainen kuten näyttää.

Kun FS-ohjaimelta vastaanotetaan kirjoituspyyntö, dm-crypt ei käsittele sitä heti, vaan asettaa sen "kcryptd" -jonoon, jota ei heti ymmärretä, mutta kun aika on hyvä. Jonosta alkaen pyyntö lähetetään salausta varten Linux Crypto -sovellusliittymään.

Kun luet ensin, dm-crypt jonot "kcryptd_io" pyyntö saada tietoja yksiköltä. sitten ajan myötä tiedot ovat käytettävissä ja ne ovat jonossa "kcryptd" salauksen purkamista varten.

Kcryptd lähettää pyynnön Linux Encryption API: lle, joka purkaa tiedot asynkronisesti. Pyynnöt eivät aina käy läpi kaikkia jonoja, mutta pahimmassa tapauksessa kirjoituspyyntö asetetaan jonoihin jopa 4 kertaa ja lukupyyntö enintään 3 kertaa. Jokainen hännän osuma johtaa viivästyksiin, jotka ovat tärkein syy dm-salauksen suorituskyvyn merkittävään heikkenemiseen.

Koska nykyaikaisista asemista on tullut nopeampia ja älykkäämpiä, Linux-ytimen resurssienjakojärjestelmää on tarkistettu ja jotkut alijärjestelmät on suunniteltu uudelleen, Cloudflare-insinöörit ovat lisänneet uuden toimintatilan dm-cryptiin, mikä eliminoi lisäjonojen ja asynkronisten puheluiden käytön.

Tila otetaan käyttöön erillisellä "force_inline" lipulla ja se vie dm-crypt yksinkertaisen välityspalvelimen muotoon, joka salaa ja purkaa saapuvat pyynnöt. Vuorovaikutus Crypto API: n kanssa on optimoitu nimenomaisella salauksen algoritmien valinnalla Ne toimivat synkronisessa tilassa eivätkä käytä pyyntöjonoja.

Kun testattiin todellisten palvelimien kuormitusta, uusi toteutus osoitti suorituskykyä hyvin lähellä kokoonpanoa, joka toimii ilman salausta, ja salauksen sisällyttäminen Cloudflare-välimuistilla toimiviin palvelimiin ei vaikuttanut vastausnopeuteen.

Tulevaisuudessa, Cloudflare aikoo siirtää valmiit korjaustiedostot Linux-ytimeen, mutta ennen sitä niitä on muutettava, koska ne on optimoitu tietylle kuormitukselle eivätkä kata kaikkia käyttöalueita.

lähde: https://blog.cloudflare.com


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.