Sakin ZFS akan Linux 0.8.0, aiwatar da ZFS don Linux kernel

Bayan kusan shekaru biyu na ci gaba gabatar saki ZFS akan Linux 0.8.0, aiwatar da tsarin fayil na ZFS wanda aka kunshe a matsayin tsari na kernel na Linux. An gwada tsarin tare da kernels Linux daga 2.6.32 zuwa 5.1. Shirye-shiryen shigarwa na zuwa nan ba da jimawa ba za a shirya don manyan rarraba Linux ciki har da Debian, Ubuntu, Fedora, RHEL/CentOS. An riga an haɗa ZFS akan tsarin Linux a cikin Debian, Ubuntu, Gentoo, Sabayon Linux da Rarraba Linux ALT.

A matsayin wani ɓangare na ZFS akan Linux, an shirya aiwatar da abubuwan ZFS masu alaƙa da duka aikin tsarin fayil da aikin mai sarrafa ƙara. Musamman, ana aiwatar da abubuwa masu zuwa: SPA (Storage Pool Alocator), DMU (Sashin Gudanar da Bayanai), ZVOL (ZFS Emulated Volume) da ZPL (ZFS POSIX Layer). Bugu da ƙari, aikin yana ba da damar yin amfani da ZFS azaman abin baya ga tsarin fayil ɗin gungu na Luster. Ayyukan aikin sun dogara ne akan ainihin lambar ZFS da aka shigo da su daga aikin OpenSolaris kuma an inganta su tare da ingantawa da gyare-gyare daga al'ummar Illumos. Ana gudanar da aikin ne tare da halartar ma'aikatan dakin gwaje-gwaje na Livermore na kasa a karkashin wata yarjejeniya da Ma'aikatar Makamashi ta Amurka.

Ana rarraba lambar a ƙarƙashin lasisin CDDL na kyauta, wanda bai dace da GPLv2 ba, wanda baya barin ZFS akan Linux a haɗa shi cikin babban reshe na kernel na Linux, tunda ba a yarda da haɗa lambar a ƙarƙashin lasisin GPLv2 da CDDL ba. Don kauce wa wannan rashin jituwar lasisi, an yanke shawarar rarraba duk samfurin a ƙarƙashin lasisin CDDL azaman nau'in nau'in nau'i daban-daban, wanda aka kawo shi daban daga ainihin. An ƙididdige zaman lafiyar ZFS akan Linux codebase a matsayin kwatankwacin sauran tsarin fayil na Linux.

Babban canje-canje:

  • Ƙara ginanniyar tallafi don ɓoye bayanan da aka adana a matakin tsarin fayil da ɓangarori. Tsohuwar ɓoyayyen algorithm shine aes-256-ccm. An gabatar da umarni na "zfs load-key" don loda maɓallan ɓoyewa;
  • An aiwatar da ikon canja wurin rufaffen bayanai lokacin aiwatar da umarni 'zfs send' da 'zfs receive'. Lokacin ƙayyade zaɓin "-w", bayanan da aka riga aka rufaffen a cikin tafkin ana canja su zuwa wani tafkin kamar yadda yake, ba tare da ɓoye tsaka-tsaki ba. Tare da irin wannan kwafin, bayanan sun kasance suna kiyaye su ta hanyar maɓallin mai aikawa, wanda ke ba da damar yin amfani da wannan yanayin don madadin zuwa tsarin da ba a amince da shi ba (idan an yi sulhu da mai karɓa, mai kai hari ba zai iya samun damar bayanai ba tare da maɓalli ba);
  • Ƙara goyon baya don cire kayan aiki na farko daga wurin ajiyar ajiya, an haɗa su daban-daban kuma azaman ɓangaren madubi. Ana aiwatar da cirewa tare da umarnin "cire zpool". Tsarin sharewa yana kwafin bayanan daga faifan da aka cire zuwa sauran firamare na farko a cikin tafkin;
  • An ƙara umarnin "zpool checkpoint" don adana yanayin tafkin na yanzu tare da ikon jujjuya ƙarin canje-canje zuwa wurin da aka ajiye a cikin lokaci (an ƙirƙiri hoto na gabaɗayan tafkin). Wannan fasalin zai iya zama da amfani a cikin aiwatar da aikin gudanarwa mai rikitarwa mai haɗari, wanda a ƙarƙashin yanayin al'ada yana haifar da canje-canje maras canzawa (misali, kunna tutoci don sabbin ayyukan ZFS ko share bayanai);
  • An ƙara umarnin "zpool trim" don sanar da faifan da aka yi amfani da su a tafkin game da sassan da ba sa amfani da su. Amfani da aikin TRIM yana ba da damar haɓaka haɓakar abubuwan tafiyarwa na SSD da kuma hana lalata ayyukansu. An gabatar da sabuwar kadara ta "autotrim" don ba da damar ci gaba da aiwatar da tsarin watsa umarnin TRIM;
  • Ƙara umarnin "zpool initialize" don ƙaddamar da duk sararin diski mara izini, wanda ke ba shi damar kasancewa a shirye don amfani nan take, ba tare da lalata aikin ba a farkon shiga (misali, lokacin da ake ɗaukar ma'ajin ƙima kamar VMware VMDK);
  • Ƙara goyon baya don lissafin kuɗi da ƙididdiga matakin-aiki, ban da samuwan mai amfani a baya da ƙimar matakin rukuni. Ainihin, ayyuka daban-daban sarari ne na abubuwa masu alaƙa da keɓantaccen mai ganowa (ID ɗin aikin). Ana bayyana ɗaurin ta hanyar aikin 'chattr -p' ko ta hanyar gadon sifa. Don gudanar da aikin, an gabatar da umarnin "aikin zfs" da "zfs projectspace", wanda ke ba ku damar sarrafa ƙirƙirar ayyukan da saita iyakokin sararin samaniya a gare su;
  • An ƙara ikon ƙirƙirar rubutun Lua don sarrafa ayyuka daban-daban tare da ZFS. Ana gudanar da rubutun a cikin keɓance wurare na musamman ta amfani da umarnin "tsarin zpool";
  • An aiwatar da sabon ɗakin karatu pyzfs, wanda ke ba da tsayayyen API don gudanar da ZFS daga aikace-aikacen Python. Laburare shine abin rufewa a kusa da libzfs_core kuma yana ba da tsarin ayyuka iri ɗaya, amma yana amfani da nau'ikan Python kusa;
  • An yi amfani da kayan aikin arcstat, arcsummary, da dbufstat masu dacewa da Python 3. An sake sanya suna arcstat.py, arc_summary.py, da dbufstat.py utilities zuwa juzu'i ba tare da tsawaita ".py" ba;
  • Ƙara goyon baya ga Linux Direct IO (O_DIRECT) kernel interface, wanda ke ba da damar samun damar bayanai ba tare da ɓoyewa da ƙetare cache ba;
  • An gabatar da ingantattun ayyuka:
    • An haɓaka aikin umarnin "scrub" da "resilver" saboda rarrabuwa zuwa matakai biyu (an ware wani lokaci daban don bincika metadata da ƙayyade wurin toshe tare da bayanai akan faifai, wanda ke ba da damar ƙarin tabbaci ta amfani da bayanan jeri. karatu);
    • Ƙara tallafi don azuzuwan Rabawa,
      ƙyale ƙananan SSDs don tarawa da amfani da su don adana wasu nau'ikan tubalan da aka saba amfani da su, kamar metadata, bayanan DDT, da ƙananan tubalan fayil;

    • Inganta aikin umarni na admin kamar
      "jerin zfs" da "zfs samu", ta hanyar adana metadata da ake buƙata don aikin su;

    • Ƙarin tallafi don daidaita ayyukan toshe ayyukan toshewa ta hanyar tafiyar da matakai daban-daban don kowane rukunin metaslab. A kan tsarin al'ada, akwai karuwar aikin 5-10%, amma a kan manyan (8 128 GB SSD, 24 core NUMA, 256 GB na RAM), karuwa a cikin ayyukan rarraba toshe zai iya kaiwa 25%;
    • An kara yiwuwar jinkirta aiwatar da umarnin "resilver" (sake rarraba rarraba bayanai la'akari da canje-canje a cikin tsarin tafiyarwa) - idan wanda ya gabata bai riga ya kammala ba lokacin fara sabon aiki, to sabon mai sarrafa zai fara aiwatarwa kawai bayan karshen wanda ya gabata;
    • An ƙara haɓakawa zuwa ZIL (ZFS Intent Log) don ba da damar ƙirƙira da sarrafa tubalan a gaban tubalan da har yanzu ana sarrafa su ta wurin ajiyar;
    • Rage lokacin rajista don ɓangarori (zvol) a cikin tsarin. Lokacin da tafkin ya ƙunshi babban adadin ɓangarori, yanzu suna samuwa nan da nan bayan yin "shigo da zpool";
    • Ƙarin tallafi don haɓakar ƙididdige kayan aikin hashes na SHA256 da ayyukan ɓoye AES-GSM ta amfani da guntuwar Intel QAT (Fasahar Taimakawa Mai Sauri). Supportara tallafi don haɓaka kayan aikin Intel C62x chipset da CPU Atom C3000.

source: budenet.ru

Add a comment