UtgÄvan ZFS on Linux 0.8.0, implementationen av ZFS för Linux-kÀrnan

Efter nÀstan tvÄ Ärs utveckling presenteras utgivning ZFS pÄ Linux 0.8.0, implementeringen av filsystemet ZFS, utformat som en modul för Linux-kÀrnan. Modulen har testats med Linux-kÀrnor frÄn 2.6.32 till 5.1. FÀrdiga installationspaket kommer snart. att förberedas för de större distributionerna av Linux, inklusive Debian, Ubuntu, Fedora, RHEL/CentOS. Modulen ZFS pÄ Linux ingÄr redan i distributionerna Debian, Ubuntu, Gentoo, Sabayon Linux och ALT Linux.

Inom ramen för ZFS pÄ Linux har det förberetts en implementering av ZFS-komponenter kopplade till bÄde filsystemets funktion och volymhanterarens funktion. SÀrskilt har komponenterna SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) och ZPL (ZFS POSIX Layer) implementerats. Dessutom har projektet möjliggjort anvÀndning av ZFS som backend för det klusterbaserade filsystemet Lustre. Projektets arbete bygger pÄ den ursprungliga ZFS-koden, importerad frÄn OpenSolaris-projektet och utvidgad med förbÀttringar och rÀttelser frÄn Illumos-gemenskapen. Projektet utvecklas med deltagande av anstÀllda vid Livermore National Laboratory under kontrakt med USA:s energidepartement.

Koden distribueras under den fria licensen CDDL, vilken inte Àr kompatibel med GPLv2, vilket förhindrar att ZFS pÄ Linux integreras i den huvudsakliga grenen av Linux-kÀrnan, eftersom blandning av kod under GPLv2- och CDDL-licenser Àr oacceptabelt. För att kringgÄ denna licenskonflikt har det beslutats att distribuera produkten helt under CDDL-licensen som en separat nedladdningsbar modul, som levereras separat frÄn kÀrnan. Stabiliteten i kodbasen för ZFS pÄ Linux bedöms vara jÀmförbar med andra filsystem för Linux.

Huvudsakliga förÀndringar:

  • Inbyggt stöd för kryptering av lagrade data pĂ„ filsystem- och partitionsnivĂ„ har lagts till. Som standard anvĂ€nds algoritmen aes-256-ccm för kryptering. För att ladda krypteringsnycklar föreslĂ„s kommandot «zfs load-key»;
  • Möjligheten att överföra krypterade data vid utförandet av kommandona «zfs send» och «zfs receive» har implementerats. NĂ€r alternativet «-w» anges överförs redan krypterade data i poolen till en annan pool som de Ă€r, utan mellanliggande dekryptering. Vid liknande kopiering förblir data skyddade av avsĂ€ndarens nyckel, vilket gör att denna lĂ€ge kan anvĂ€ndas för sĂ€kerhetskopiering pĂ„ otillförlitliga system (i hĂ€ndelse av att mottagaren komprometteras, kan angriparen utan nyckel inte fĂ„ tillgĂ„ng till datan);
  • Stöd för att ta bort primĂ€ra enheter frĂ„n lagringspoolen har lagts till, bĂ„de anslutna individuellt och som del av ett spegel. Borttagning sker med kommandot „zpool remove“. Under borttagningen kopieras data frĂ„n den uteslutna enheten till de kvarvarande primĂ€ra enheterna i poolen;
  • Kommandot „zpool checkpoint“ har lagts till för att spara det aktuella tillstĂ„ndet av poolen med möjlighet att Ă„tergĂ„ till den sparade tidpunkten (en snapshot av hela poolen skapas). Denna funktion kan vara anvĂ€ndbar vid potentiellt farliga, komplexa administrativa uppgifter som normalt leder till oĂ„terkalleliga förĂ€ndringar (till exempel aktivering av flaggor för ny ZFS-funktionalitet eller rensning av data);
  • Kommandot „zpool trim“ har lagts till, vilket gör det möjligt att informera de enheter som anvĂ€nds i poolen om sektorer som inte lĂ€ngre anvĂ€nds. AnvĂ€ndningen av TRIM-operationen gör att man kan öka effektiviteten hos SSD-enheter och förhindra degradering av deras prestanda. För att aktivera en kontinuerlig bakgrundsprocess för överföring av TRIM-kommandon har en ny egenskap „autotrim“ föreslagits;
  • Kommandot „zpool initialize“ har lagts till för att initiera hela den oallokerade diskytan, vilket gör att den omedelbart Ă€r redo att anvĂ€ndas utan prestandaförlust vid första Ă„tkomsten (till exempel vid placering av virtualiserade lagringssystem som VMware VMDK);
  • Stöd för projektredovisning och kvoter har lagts till, vilket kompletterar de tidigare tillgĂ€ngliga kvoterna pĂ„ anvĂ€ndar- och gruppnivĂ„. I grund och botten Ă€r projekten ett separat rum för objekt kopplade till ett specifikt ID (project ID). Kopplingen definieras genom operationen ‘chattr -p’ eller genom arv av attribut. Kommandona „zfs project“ och „zfs projectspace“ har lagts till för att hantera skapandet av projekt och sĂ€tta grĂ€nser för diskytan;
  • Möjligheten att skapa Lua-skript för automatisering av olika arbeten med ZFS har lagts till. Skripten körs i speciella isolerade miljöer med hjĂ€lp av kommandot „zpool program“;
  • En ny bibliotek har implementerats pyzfs, som tillhandahĂ„ller ett stabilt API för administration av ZFS frĂ„n applikationer skrivna i Python. Biblioteket Ă€r en kapsling av libzfs_core och erbjuder en identisk uppsĂ€ttning funktioner men anvĂ€nder mer Python-liknande datatyper;
  • Kompatibilitet med verktygen arcstat, arcsummary och dbufstat för Python 3 har sĂ€kerstĂ€llts. Verktygen arcstat.py, arc_summary.py och dbufstat.py har döpts om till varianter utan filĂ€ndelsen «.py»;
  • Stöd för Linux-kernelets Direct IO (O_DIRECT) har lagts till, vilket möjliggör Ă„tkomst till data utan buffring och utan att anvĂ€nda cache;
  • Prestandaoptimeringar har presenterats:
    • Arbetet med kommandona «scrub» och «resilver» har pĂ„skyndats genom att dela upp dem i tvĂ„ faser (en separat fas för att skanna metadata och bestĂ€mma platsen för datablok pĂ„ disken, vilket gör det möjligt att utföra ytterligare verifiering med hjĂ€lp av sekventiell datainlĂ€sning);
    • Stöd för datalokalisering (Allocation classes) har lagts till,
      vilket gör det möjligt att inkludera relativt smÄ SSD-enheter i poolen och anvÀnda dem för lagring av endast specifika typer av ofta anvÀnda block, som metadata, DDT-data och smÄ filblock;
    • Prestandan för administrativa kommandon, sĂ„som
      «zfs list» och «zfs get», har ökat genom cachning av de metadata som krÀvs för deras funktion;
    • Stöd för parallellisering av blockallokeringsoperationer har lagts till genom att starta separata «allocator»-processer för varje metaslab-grupp. PĂ„ vanliga system noteras en prestandaförbĂ€ttring pĂ„ nivĂ„er av 5–10 %, men pĂ„ stora system (8 128 GB SSD, 24-kĂ€rnig NUMA, 256 GB RAM) kan prestandaförbĂ€ttringen vid blockallokering nĂ„ upp till 25%;
    • Möjligheten till fördröjd körning av kommandot «resilver» (omstrukturering av datalokalisering med hĂ€nsyn till förĂ€ndringar i lagringskonfigurationen) har lagts till — om den nya operationen startas innan den föregĂ„ende har slutförts börjar den nya bearbetaren inte köras förrĂ€n den föregĂ„ende Ă€r klar;
    • Optimeringar har införts i ZIL-loggen (ZFS Intent Log) som möjliggör skapande och bearbetning av block Ă€ven nĂ€r block fortfarande bearbetas av lagringen;
    • Tiden för registrering av partitioner (zvol) i systemet har minskats. NĂ€r poolen innehĂ„ller ett stort antal partitioner blir de nu tillgĂ€ngliga omedelbart efter att «zpool import» har genomförts;
    • Stöd för hĂ„rdvaruaccelerering av SHA256-hashberĂ€kningar och AES-GCM-krypteringsoperationer har lagts till med anvĂ€ndning av chip som stöder Intel QAT (Quick Assist Technology). Stöd för hĂ„rdvaruaccelereringsverktyg frĂ„n Intel C62x-chipset och CPU Atom C3000 har lagts till.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster