Kuburitswa kweZFS paLinux 0.8.0, kushandiswa kweZFS kweLinux kernel

Mushure memakore anoda kusvika maviri ebudiriro yakaunzwa kusunungura ZFS paLinux 0.8.0, kushandiswa kweZFS faira system yakarongedzwa semodule yeLinux kernel. Iyo module yakaedzwa neLinux kernels kubva 2.6.32 kusvika 5.1. Yakagadzirira yekuisa mapakeji ari kuuya munguva pfupi zvichagadzirirwa yekugovera kukuru kweLinux kunosanganisira Debian, Ubuntu, Fedora, RHEL/CentOS. Iyo ZFS paLinux module yakatoverengerwa muDebian, Ubuntu, Gentoo, Sabayon Linux uye ALT Linux kugovera.

Sechikamu cheZFS paLinux, kuitwa kweZFS zvikamu zvine chekuita nezvese kushanda kwefaira system uye kushanda kwevhoriyamu maneja kwakagadzirirwa. Kunyanya, zvikamu zvinotevera zvinoshandiswa: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) uye ZPL (ZFS POSIX Layer). Pamusoro pezvo, chirongwa ichi chinopa kugona kushandisa ZFS senge backend yeLuster cluster file system. Basa repurojekiti iri rakavakirwa pane yekutanga ZFS kodhi yakatorwa kunze kwenyika kubva kuOpenSolaris chirongwa uye yakagadziridzwa nekuvandudzwa uye kugadzirisa kubva munharaunda yeIllumos. Chirongwa ichi chiri kuvandudzwa nekutora chikamu kwevashandi veLivermore National Laboratory pasi pechibvumirano neUS Department of Energy.

Iyo kodhi inogoverwa pasi peyemahara CDDL rezenisi, iyo isingaenderane neGPLv2, iyo isingatenderi ZFS paLinux kuti ibatanidzwe mubazi guru reLinux kernel, sezvo kusanganisa kodhi pasi peGPLv2 uye CDDL rezinesi hazvibvumidzwe. Kuti zvidzivise kusapindirana kwerezinesi uku, zvakasarudzwa kugovera chigadzirwa chose pasi perezinesi reCDDL semodule inotakurika yakaparadzana, inopihwa yakaparadzana kubva pakati. Iko kugadzikana kweZFS paLinux codebase yakayerwa seyakafanana nemamwe mafaera masisitimu eLinux.

Shanduko huru:

  • Yakawedzerwa yakavakirwa-mukati rutsigiro rwe encryption ye data rakachengetwa padanho refaira system uye zvikamu. Iyo yakasarudzika encryption algorithm ndeye aes-256-ccm. Iyo "zfs load-kiyi" yekuraira yakarongedzerwa kurodha encryption makiyi;
  • Yakagadzirisa kugona kuendesa yakavharidzirwa data paunenge uchiita iyo 'zfs send' uye 'zfs kugamuchira' mirairo. Paunenge uchitsanangura iyo "-w" sarudzo, data rakatovharirwa mudziva rinoendeswa kune rimwe dziva sezvazviri, pasina kudhirowa kwepakati. Nekukopa kwakadaro, iyo data inoramba yakachengetedzwa nekiyi yemutumiri, iyo inobvumira kushandisa iyi modhi yekuchengetedza kune isingavimbike masisitimu (kana kukanganisa kweanogamuchira, anorwisa haazokwanisi kuwana iyo data pasina kiyi);
  • Yakawedzerwa rutsigiro rwekubvisa madhiraivha ekutanga kubva padziva rekuchengetedza, akabatana ese ari ega uye sechikamu chegirazi. Kubvisa kunoitwa ne "zpool bvisa" murairo. Maitiro ekudzima anokopa iyo data kubva kune yakasabatanidzwa drive kune yakasara madhiraivha ekutanga mudziva;
  • Yakawedzera iyo "zpool checkpoint" murairo kuchengetedza ikozvino mamiriro edziva nekukwanisa kudzoreredza kumashure mamwe shanduko kune yakachengetwa poindi nenguva (pikicha yedziva rose inogadzirwa). Iyi ficha inogona kubatsira mukuita basa ringangove nengozi rakaomarara rekutonga, iro pasi pemamiriro akajairwa rinotungamira kune isingachinjike shanduko (semuenzaniso, activate mireza yebasa idzva reZFS kana kubvisa data);
  • Murairo we "zpool trim" wawedzerwa kuzivisa madhiraivha anoshandiswa mudziva nezvezvikamu zvisisashandiswe. Iko kushandiswa kweTRIM kushanda kunoita kuti zvikwanise kuwedzera kushanda kweSSD uye kudzivirira kuderedzwa kwekuita kwavo. Chivakwa chitsva che "autotrim" chakatsanangurwa kuti chigonese kuenderera kwemashure maitiro ekutumira mirairo yeTRIM;
  • Yakawedzerwa "zpool tanga" murairo kuti utange nzvimbo yose isina kugoverwa disk, iyo inobvumira kuti ive pakarepo yakagadzirira kushandiswa, pasina kusvibiswa kwekuita pakuwana kwekutanga (somuenzaniso, kana uchigamuchira zvakachengetwa zvakachengetwa zvakadai seVMware VMDK);
  • Yakawedzerwa rutsigiro rwe accounting uye purojekiti-chikamu quotas, kuwedzera kune yaimbove iripo mushandisi uye boka-chikamu quotas. Muchidimbu, mapurojekiti inzvimbo yakaparadzana yezvinhu zvakabatana neakasarudzika identifier (ID yeprojekiti). Kusunga kunotsanangurwa kuburikidza neiyo 'chattr -p' mashandiro kana kuburikidza nehunhu hwenhaka. Nekuda kwekutungamira kweprojekiti, iyo "zfs project" uye "zfs projectspace" mirairo inounzwa, iyo inobvumidza iwe kugadzirisa kusikwa kwemapurojekiti uye kuseta disk nzvimbo miganhu kwavari;
  • Yakawedzera kugona kugadzira zvinyorwa zveLua kuti iite basa rakasiyana neZFS. Zvinyorwa zvinofambiswa munzvimbo dzakasarudzika uchishandisa iyo "zpool chirongwa" kuraira;
  • Raibhurari itsva yaitwa pyzfs, iyo inopa yakagadzikana API yekutonga ZFS kubva kuPython application. Raibhurari inoputira yakatenderedza libzfs_core uye inopa yakafanana seti yemabasa, asi inoshandisa iri padyo maPython marudzi;
  • Zvishandiso zve arcstat, arcsummary, uye dbufstat zvakaitwa kuti zvienderane nePython 3. Zvishandiso zve arcstat.py, arc_summary.py, uye dbufstat.py zvakapiwa zita reshanduro pasina kuwedzera kwe ".py";
  • Yakawedzerwa rutsigiro rweLinux Direct IO (O_DIRECT) kernel interface, iyo inobvumira kuwana data pasina buffering uye nekunzvenga cache;
  • Performance optimizations yakaunzwa:
    • Basa remirairo ye "scrub" uye "resilver" yakakwidziridzwa nekuda kwekutsemuka kuita zvikamu zviviri (chikamu chakasiyana chakagoverwa kuongorora metadata uye kuona nzvimbo yezvivharo zvine data padhisiki, iyo inobvumira kumwe kusimbiswa uchishandisa sequential data. kuverenga);
    • Yakawedzera rutsigiro rweAllocation makirasi,
      kubvumira maSSD madiki kuti aunganidzwe uye ashandiswe kuchengeta mamwe marudzi ezvivharo anowanzo shandiswa, senge metadata, DDT data, uye madiki mabhuroki emafaira;

    • Kuvandudzwa kwekuita kwemirairo ye admin senge
      "zfs list" uye "zfs get", nekuchengeta metadata inodiwa pakushanda kwavo;

    • Yakawedzera tsigiro yekufananidza kwe block allocation mashandiro nekumhanyisa akaparadzana allocator maitiro kune yega metaslab boka. Pazvirongwa zvakajairika, kune kuwedzera kwekuita kwe5-10%, asi pahombe (8 128 GB SSD, 24 core NUMA, 256 GB RAM), kuwedzera kwekushanda kwekuvhara kwevhavha kunogona kusvika 25%;
    • Yakawedzera mukana wekudzoserwa kuurayiwa kwe "resilver" yekuraira (kuvakazve kugovera data uchifunga nezve shanduko mukugadziriswa kwemadhiraivha) - kana iyo yapfuura isati yapedza panotanga kuvhiya kutsva, ipapo mugadziri mutsva anozotanga kuita chete mushure. kuguma kwekare;
    • Optimizations yakawedzerwa kuZIL (ZFS Intent Log) kubvumira kugadzira nekugadzirisa mabhuroki pamberi pezvivharo zvichiri kugadziriswa nekuchengetedza;
    • Yakaderedzwa nguva yekunyoresa yezvikamu (zvol) muhurongwa. Kana dziva rine nhamba huru yezvikamu, ikozvino inowanikwa pakarepo mushure mekuita "zpool import";
    • Yakawedzerwa tsigiro yehardware yakamhanyisa kuverenga kweSHA256 hashes uye AES-GSM encryption mashandiro uchishandisa Intel QAT (Kurumidza Kubatsira Technology) chips. Yakawedzera tsigiro yekukwidziridza hardware yeIntel C62x chipset uye CPU Atom C3000.

Source: opennet.ru

Voeg