Bahlahisi ba tsoang Cloudflare
Cloudflare e sebelisa dm-crypt ho encrypt data ho lisebelisoa tsa polokelo tse sebelisetsoang ho boloka litaba tsa CDN. Dm-crypt e sebetsa boemong ba sesebelisoa sa block le li-encrypts ngola likopo tsa I / O le ho hlakola likopo tsa ho bala, tse sebetsang e le lera lipakeng tsa sesebelisoa sa block le mokhanni oa sistimi ea faele.
Ho lekola ts'ebetso ea dm-crypt u sebelisa sephutheloana
Qalong, ho ile ha hlaha lipelaelo mabapi le tšebeliso ea li-algorithms tse sa sebetseng ho kernel cryptosystem. Empa liteko li sebelisitse algorithm e potlakileng haholo, aes-xts, e nang le linotlolo tsa encryption tse 256, eo ts'ebetso ea eona ha e sebelisa "cryptsetup benchmark" e fetang habeli sephetho se fumanoeng ha ho lekoa RAM disk. Liteko ka lifolakha tsa dm-crypt bakeng sa tokiso ea ts'ebetso ha lia ka tsa hlahisa litholoana: ha u sebelisa folakha ea "--perf-same_cpu_crypt", ts'ebetso e bile e theohile ho isa ho 136 MB/s, mme ha ho hlakisoa "--perf-submit_from_crypt_cpus" e ile ea eketseha feela. ho fihla ho 166 MB/s.
Tlhahlobo e tebileng ea mohopolo oa ts'ebetso e bonts'itse hore dm-crypt ha e bonolo joalo ka ha e bonahala - ha kopo ea ho ngola e fihla ho tsoa ho mokhanni oa FS, dm-crypt ha e e sebetse hanghang, empa e e beha moleng oa "kcryptd", eo ha e aroloe hang-hang, empa nakong e loketseng. Ho tloha moleng, kopo e romelloa ho Linux Crypto API ho etsa encryption. Empa kaha Crypto API e sebelisa mohlala oa ts'ebetso ea asynchronous, encryption le eona ha e etsoe hang-hang, empa e feta queue e 'ngoe. Kamora hore encryption e phetheloe, dm-crypt e ka leka ho hlophisa likopo tse emetseng tsa ho ngola ka sefate sa ho batla
Ha u bala, dm-crypt e qala ka ho eketsa kopo moleng oa "kcryptd_io" ho amohela data ho tsoa ho drive. Kamora nako e itseng, data e ea fumaneha 'me e beoa moleng oa "kcryptd" bakeng sa ho hlakoloa.
Kcryptd e romella kopo ho Linux Crypto API, e hlakolang tlhahisoleseling ka mokhoa o lumellanang. Likōpo ha li tsamaee ka linako tsohle, empa boemong bo bobe ka ho fetisisa, kopo ea ho ngola e qetella e le meleng ho fihlela makhetlo a 4, le kopo ea ho bala ho fihlela makhetlo a 3. E 'ngoe le e' ngoe e otlang moleng e baka tieho, e leng lebaka le ka sehloohong la ho fokotseha ho hoholo ha ts'ebetso ea dm-crypt.
Tšebeliso ea mela e bakoa ke tlhokahalo ea ho sebetsa maemong ao ho nang le litšitiso. Ka 2005, ha mokhoa oa hona joale oa ho sebetsa oa dm-crypt o thehiloeng ho queue o ne o kengoa ts'ebetsong, Crypto API e ne e e-s'o lumellane. Ka mor'a hore Crypto API e fetisetsoe ho mokhoa oa ho bolaoa ha asynchronous, ha e le hantle tšireletso e habeli e ile ea qala ho sebelisoa. Mela e ile ea hlahisoa hape ho boloka tšebeliso ea kernel stack, empa kamora keketseho ea eona ka 2014, lintlafatso tsena li ile tsa lahleheloa ke bohlokoa ba tsona. Ho ile ha hlahisoa lethathamo le leng la "kcryptd_io" ho hlola botlolo e bakang ho emela kabo ea mohopolo ha palo e kholo ea likopo e fihla. Ka selemo sa 2015, ho ile ha hlahisoa karolo e 'ngoe ea ho hlopha, kaha likopo tsa encryption ho litsamaiso tsa multiprocessor li ne li ka phethoa ntle le tatellano (ho e-na le phihlello ea tatellano ea disk, phihlello e entsoe ka tatellano e sa reroang, mme kemiso ea CFQ ha ea ka ea sebetsa hantle). Hajoale, ha u sebelisa li-drive tsa SSD, ho hlopha ha ho sa na moelelo, 'me kemiso ea CFQ ha e sa sebelisoa kernel.
Ha ho nahanoa hore likoloi tsa sejoale-joale li se li potlakile ebile li bohlale, sistimi ea kabo ea lisebelisoa ho Linux kernel e ntlafalitsoe mme lits'ebetso tse ling li entsoe bocha, baenjiniere ba Cloudflare.
Ka lebaka leo, ha ho hlahlojoa RAM disk, ho ne ho ka khoneha ho feta habeli ts'ebetso ea dm-crypt - tshebetso e eketsehile ho tloha 294 MB / s (2 x 147 MB / s) ho 640 MB / s, e leng haufi haholo le ts'ebetso ea encryption e se nang letho (696 MB /s).
Ha ho lekoa mojaro ho li-server tsa 'nete, ts'ebetso e ncha e bonts'itse ts'ebetso e haufi haholo le tlhophiso e sebetsang ntle le encryption, mme ho nolofalletsa ho kenyelletsa li-server tse nang le cache ea Cloudflare ha ho na phello ho lebelo la karabo. Nakong e tlang, Cloudflare e rera ho fetisetsa li-patches tse lokiselitsoeng ho Linux kernel e kholo, empa pele ho moo li tla hloka ho tsosolosoa, kaha li ntlafalitsoe bakeng sa mojaro o itseng 'me ha li koahele likarolo tsohle tsa kopo, mohlala, encryption ka tlaase. - lisebelisoa tse kentsoeng ka matla.
Source: opennet.ru