ZFS on Linux 0.8.0 vÀljalase, ZFS teostus Linuxi tuumas

Peaaegu kahe aasta arendustöö jĂ€rel esitati vabastus ZFS Linuxil 0.8.0, ZFS-failisĂŒsteemi teostamine, mis on vĂ€lja töötatud Linuxi tuuma moodulina. Mooduli töö on kontrollitud Linuxi tuumadega alates 2.6.32 kuni 5.1. Valmis installipaketid tulevad varsti saadaval. valmistatakse peamistele Linuxi distributsioonidele, sealhulgas Debian, Ubuntu, Fedora, RHEL/CentOS. ZFS on Linuxi moodul on juba kaasatud Debian, Ubuntu, Gentoo, Sabayon Linux ja ALT Linuxi distributsioonidesse.

ZFS Linuxi raames on ette valmistatud komponentide teostamine, mis on seotud nii failisĂŒsteemi töö kui ka mahuhalduri toimimisega. EelkĂ”ige on teostatud jĂ€rgmised komponendid: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS emuleeritud maht) ja ZPL (ZFS POSIX kiht). Projekteerimine vĂ”imaldab ZFS kasutamist Lustre klusterfailisĂŒsteemi tagakihina. Projekti arendustööd pĂ”hinevad originaalkoodil ZFS, mis on imporditud OpenSolarise projektist ja laiendatud Illumose kogukonna tĂ€iustuste ja parandustega. Projekt areneb Livermore'i rahvusliku laboratooriumi töötajate osalusel, kes teevad tööd USA energiaosakonna lepingul.

Kood levitatakse tasuta CDDL litsentsi alusel, mis pole ĂŒhilduv GPLv2-ga, mistĂ”ttu ei ole vĂ”imalik integreerida ZFS Linuxi pĂ”hiokregi kontorisse, kuna GPLv2 ja CDDL litsentside koodide segamine on keelatud. Selle litsentsi kokkusobimatuse vĂ€ltimiseks otsustati toode tĂ€ielikult CDDL litsentsi alusel levitada eraldiseisva laaditava moodulina, mis tarnitakse tuumast eraldi. ZFS Linuxi koodibaasi stabiilsust hinnatakse vĂ”rreldavaks teiste Linuxi failisĂŒsteemidega.

Peamised muudatused:

  • On lisatud integreeritud toetus salvestatud andmete krĂŒptimiseks failisĂŒsteemi ja osade tasandil. Oletuslikult kasutatakse krĂŒptimiseks algoritmi aes-256-ccm. KrĂŒptimisvĂ”tmete laadimiseks on pakutud kĂ€sku «zfs load-key»;
  • On rakendatud krĂŒptitud andmete edastamise vĂ”imalus kĂ€skude «zfs send» ja «zfs receive» tĂ€itmisel. Kui mÀÀrata valik «-w», edastatakse juba krĂŒptitud andmed puulis teise puuli ilma vahepealse dekrĂŒpteerimiseta. Sel viisil jÀÀvad andmed saatja vĂ”tme kaitse alla, mis vĂ”imaldab seda reĆŸiimi kasutada varundamiseks ebausaldusvÀÀrsetesse sĂŒsteemidesse (saaja kompromiteerimise korral, ilma vĂ”tmeta ei saa rĂŒndaja andmetele ligi);
  • Lisatud tugi esmaseid andmekandjaid salvestuspaigast eemaldamiseks, olgu need ĂŒhendatud eraldi vĂ”i peegeldatud kujul. Eemaldamine toimub kĂ€suga „zpool remove”. Eemaldamise kĂ€igus kopeeritakse andmed vĂ€listatult andmekandjalt allesjÀÀnud esmasele andmekandjale;
  • Lisatud kĂ€sk „zpool checkpoint”, et salvestada praegune salvestuspaiga olek vĂ”imalusega tagasipöördumiseks salvestatud hetke muutuste juurde (loodakse kogu salvestuspaiga snapshot). Esitatud vĂ”imalus vĂ”ib osutuda kasulikuks potentsiaalselt ohtlike keeruliste haldustööde, mis tavaliselt toovad kaasa pöördumatuid muudatusi (nĂ€iteks ZFS uute funktsioonide lippude aktiveerimine vĂ”i andmete kustutamine), kĂ€itamisel;
  • Lisatud kĂ€sk „zpool trim”, mis vĂ”imaldab teavitada salvestuspaiga andmekandjaid sektoritest, mis pole enam kasutusel. TRIM-i toimimise rakendamine tĂ”stab SSD-andmekandjate töö efektiivsust ja aitab vĂ€ltida nende jĂ”udluse halvenemist. Pideva taustprotsessi TRIM kĂ€skude edastamiseks on pakutud uus omadus „autotrim”;
  • Lisatud kĂ€sk „zpool initialize” kogu jaotamata ketaruumide initsialiseerimiseks, mis tagab nende koheselt kasutusvalmiduseta, ilma esmaklassi juurdepÀÀsu jĂ”udluse languseta (nt virtuaalsete salvestuste, nagu VMware VMDK, paigutamisel);
  • Lisatud projektitasandi konto ja kvoodi tugi, tĂ€iendades varem saadaval olevaid kasutaja ja grupi tasandi kvoote. Sisuliselt on projektid eraldi objektide ruum, mis on seotud eraldi tuvastaja (project ID) kaudu. Seondumine mÀÀratakse toimingu „chattr -p” vĂ”i atribuutide pĂ€rimise kaudu. Projektide haldamiseks on esitatud kĂ€sud „zfs project” ja „zfs projectspace”, mis vĂ”imaldavad hallata projektide loomist ning mÀÀrata neile kettaruumi piirangud;
  • Lisatud vĂ”imalus luua Lua skripte ZFS-i tööde automatiseerimiseks. Skriptid kĂ€ivitatakse spetsiaalsetes isolatsioonikeskkondades kĂ€suga „zpool program”;
  • Rakendatud uus teek pyzfs, mis annab stabiilse API ZFS haldamiseks Pythonis kirjutatud rakendustes. Raamatukogu on libzfs_core'i ĂŒmberringlus ja pakub identset funktsioonide kogumit, rakendades Pythonile sobivamaid tĂŒĂŒpe;
  • Sellel on Python 3 ĂŒhilduvust utiliitide arcstat, arcsummary ja dbufstat. Utiliidid arcstat.py, arc_summary.py ja dbufstat.py on nimetatud ĂŒmber versioonideks, millel puudub '.py' laiend;
  • Lisatud on Linuxi tuuma Direct IO (O_DIRECT) toe, mis vĂ”imaldab andmetele juurdepÀÀsu ilma puhverservere kaudu ja ilma vahemĂ€luta;
  • Esitatud on jĂ”udluse optimeerimised:
    • KĂ€skude «scrub» ja «resilver» töötlemine on kiirendatud, jagades selle kaheks faasiks (ĂŒks faas on eraldatud metaandmete skaneerimiseks ja andmete blokeerimise asukoha mÀÀramiseks kettal, mis vĂ”imaldab ulatuslikku kontrollimist jĂ€rjestikuse andmeedastuse kaudu);
    • Lisatud andmete paigutamise klasside (Allocation classes) tugi,
      mis vĂ”imaldavad lisada basseini suhteliselt vĂ€ikeseid SSD-d ja kasutada neid ainult teatud tĂŒĂŒpi tihti kasutatavate plokkide, nĂ€iteks metaandmete, DDT andmete ja vĂ€ikeste failiplokkide sĂ€ilitamiseks;
    • Halduse kĂ€skude, nagu
      «zfs list» ja «zfs get», tulemuslikkuse paranemine tÀnu nende tööks vajalike metaandmete vahemÀlustamisele;
    • Lisatud on blokeerimisoperatsioonide jagamise tugi, kĂ€ivitades iga metaslab'i jaoks eraldi «allocator» protsesside seeria. Tavalistes sĂŒsteemides on jĂ”udluse tĂ”us 5-10%, kuid suuremates sĂŒsteemides (8 128 GB SSD, 24 tuuma NUMA, 256 GB RAM) vĂ”ib blokeerimisoperatsioonide tĂ”us ulatuda 25%-ni;
    • Lisatud on «resilver» kĂ€skude edasilĂŒkkamise vĂ”imalus (andmete ĂŒmberjaotamise ĂŒmberkorraldamine, vĂ”ttes arvesse mĂ€luseadmete konfiguratsiooni muutumist) — kui uue operatsiooni kĂ€ivitamisel pole eelmine veel töötanud, algab uus töötlus pĂ€rast eelneva lĂ”ppemist;
    • ZIL (ZFS Intent Log) logisse on tehtud optimeerimisi, mis vĂ”imaldavad blokeerida ja töödelda plokke, kui on veel töötlemisel plokke;
    • Partitionide (zvol) sĂŒsteemis registreerimise aega on vĂ€hendatud. Kui basseinis on suur arv partitsioone, muutuvad need nĂŒĂŒd kohe pĂ€rast «zpool import» teostamist kergesti kĂ€ttesaadavaks;
    • Lisa on lisatud toimetamise kiirusel SHA256 hashide ja AES-GSM krĂŒptimise riistvaraline kiirus, kasutades Intel QAT (Quick Assist Technology) toega kiipe. Toetatud on ka Intel C62x kiibistik ja Atom C3000 protsessorid.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster