Sgaoileadh ZFS air Linux 0.8.0, buileachadh ZFS airson an kernel Linux

Às deidh faisg air dà bhliadhna de leasachadh air a thaisbeanadh leigeil ma sgaoil ZFS air Linux 0.8.0, buileachadh siostam faidhle ZFS air a phacaigeadh mar mhodal airson an kernel Linux. Chaidh am modal a dhearbhadh le kernels Linux bho 2.6.32 gu 5.1. Pacaidean stàlaidh deiseil a’ tighinn a dh’ aithghearr thèid ullachadh airson prìomh sgaoilidhean Linux a’ toirt a-steach Debian, Ubuntu, Fedora, RHEL / CentOS. Tha am modal ZFS air Linux mu thràth air a ghabhail a-steach ann an sgaoilidhean Debian, Ubuntu, Gentoo, Sabayon Linux agus ALT Linux.

Mar phàirt de ZFS air Linux, chaidh buileachadh de cho-phàirtean ZFS co-cheangailte ri obrachadh an t-siostam faidhle agus gnìomhachd a’ mhanaidsear tomhas-lìonaidh ullachadh. Gu sònraichte, tha na co-phàirtean a leanas air an cur an gnìomh: SPA (Storage Pool Allocator), DMU (Aonad Riaghladh Dàta), ZVOL (ZFS Emulated Volume) agus ZPL (ZFS POSIX Layer). A bharrachd air an sin, tha am pròiseact a’ toirt comas ZFS a chleachdadh mar backend airson siostam faidhle brabhsair Luster. Tha obair a’ phròiseict stèidhichte air còd ZFS tùsail a chaidh a thoirt a-steach bhon phròiseact OpenSolaris agus air a neartachadh le leasachaidhean agus fuasglaidhean bho choimhearsnachd Illumos. Tha am pròiseact ga leasachadh le com-pàirt luchd-obrach aig Saotharlann Nàiseanta Livermore fo chùmhnant le Roinn Cumhachd na SA.

Tha an còd air a chuairteachadh fo chead CDDL an-asgaidh, nach eil co-chòrdail ri GPLv2, nach leig le ZFS air Linux a bhith air fhilleadh a-steach don phrìomh mheur den kernel Linux, leis nach eil còd measgachadh fo cheadan GPLv2 agus CDDL ceadaichte. Gus faighinn seachad air neo-fhreagarrachd a’ cheadachais seo, chaidh co-dhùnadh an toradh gu lèir a sgaoileadh fo chead CDDL mar mhodal a ghabhas luchdachadh air leth, a tha air a thoirt seachad air leth bhon chridhe. Tha seasmhachd an ZFS air Linux codebase air a mheas mar an coimeas ri siostaman faidhle eile airson Linux.

Atharraichean mòra:

  • Taic togte a bharrachd airson dàta a tha air a stòradh a chrioptachadh aig ìre an t-siostam faidhle agus na pàirtean. Is e an algairim crioptachaidh bunaiteach aes-256-ccm. Chaidh an àithne “zfs load-key” a mholadh gus iuchraichean crioptachaidh a luchdachadh;
  • Chuir e an gnìomh an comas dàta crioptaichte a ghluasad nuair a thathar a’ cur an gnìomh na h-òrdughan ‘zfs send’ agus ‘zfs receive’. Nuair a bhios tu a’ sònrachadh an roghainn “-w”, thèid dàta a chaidh a chrioptachadh mar-thà san amar a ghluasad gu amar eile mar a tha, às aonais dì-chrioptachadh eadar-mheadhanach. Le leithid de chopaigeadh, tha an dàta fhathast air a dhìon le iuchair an neach a chuir e, a leigeas leis a’ mhodh seo a chleachdadh airson cùl-taic de shiostaman neo-earbsach (ma tha an neach a gheibh e ann an cunnart, cha bhith e comasach don neach-ionnsaigh faighinn chun dàta às aonais an iuchair);
  • Taic a bharrachd airson prìomh dhràibhearan a thoirt air falbh bho amar-stòraidh, ceangailte leotha fhèin agus mar phàirt de sgàthan. Thèid an toirt air falbh leis an àithne “zpool remove”. Bidh am pròiseas sguabaidh às a’ dèanamh lethbhreac den dàta bhon draibhear toirmisgte gu na prìomh dhràibhearan a tha air fhàgail san amar;
  • Chuir sinn ris an àithne “zpool checkpoint” gus staid làithreach na linne a shàbhaladh leis a ’chomas tuilleadh atharrachaidhean a thoirt air ais chun àm a chaidh a shàbhaladh (tha dealbh den amar gu lèir air a chruthachadh). Faodaidh am feart seo a bhith feumail ann a bhith a ’coileanadh obair rianachd iom-fhillte a dh’ fhaodadh a bhith cunnartach, a bhios fo chumhachan àbhaisteach a ’leantainn gu atharrachaidhean nach gabh a thoirt air ais (mar eisimpleir, a’ cur an gnìomh brataichean airson gnìomhachd ZFS ùr no a ’glanadh dàta);
  • Chaidh an àithne “zpool trim” a chuir ris gus innse dha na draibhearan a thathas a’ cleachdadh san amar mu roinnean nach eilear gan cleachdadh. Tha cleachdadh gnìomhachd TRIM ga dhèanamh comasach èifeachdas SSDs a mheudachadh agus casg a chuir air an coileanadh aca a lughdachadh. Chaidh togalach “autotrim” ùr a mholadh gus am pròiseas cùl-fhiosrachaidh leantainneach a bhith a’ toirt seachad òrdughan TRIM;
  • Chaidh òrdugh “zpool initialize” a chuir ris gus a h-uile àite diosc neo-riaraichte a thòiseachadh, a leigeas leis a bhith deiseil sa bhad airson a chleachdadh, gun lughdachadh coileanaidh air a ’chiad ruigsinneachd (mar eisimpleir, nuair a bhios tu a’ toirt aoigheachd do stòradh brìgheil leithid VMware VMDK);
  • Taic a bharrachd airson cuotathan cunntasachd agus ìre pròiseict, a bharrachd air cuotathan ìre luchd-cleachdaidh is buidhne a bha rim faighinn roimhe. Gu dearbh, tha pròiseactan nan àite air leth de nithean co-cheangailte ri aithnichear air leth (ID pròiseict). Tha an ceangal air a mhìneachadh tron ​​obair 'chattr -p' no tro dhìleab buadhan. Airson stiùireadh pròiseict, tha na h-òrdughan “zfs project” agus “zfs projectspace” air an taisbeanadh, a leigeas leat cruthachadh phròiseactan a riaghladh agus crìochan àite diosc a shuidheachadh dhaibh;
  • Chuir sinn ris a’ chomas air sgriobtaichean Lua a chruthachadh gus diofar obair le ZFS a dhèanamh fèin-ghluasadach. Bithear a’ ruith sgriobtaichean ann an àrainneachdan iomallach sònraichte a’ cleachdadh an àithne “prògram zpool”;
  • Leabharlann ùr air a chur an gnìomh pyzfs, a bheir seachad API seasmhach airson a bhith a’ rianachd ZFS bho thagraidhean Python. Tha an leabharlann na phasgan timcheall libzfs_core agus a’ toirt seachad an aon sheata de ghnìomhan, ach a’ cleachdadh seòrsaichean Python nas fhaisge;
  • Chaidh na goireasan arcstat, arcsummary, agus dbufstat a dhèanamh co-chòrdail ri Python 3. Chaidh na goireasan arcstat.py, arc_summary.py, agus dbufstat.py ath-ainmeachadh gu dreachan às aonais an leudachadh “.py”;
  • Taic a bharrachd airson eadar-aghaidh kernel Linux Direct IO (O_DIRECT), a leigeas le faighinn gu dàta gun a bhith a’ buffering agus a’ dol seachad air an tasgadan;
  • Optimization coileanaidh air a thoirt a-steach:
    • Chaidh obair nan òrdughan “scrub” agus “resilver” a luathachadh mar thoradh air a bhith air a roinn ann an dà ìre (tha ìre air leth air a riarachadh airson meata-dàta a sganadh agus suidheachadh bhlocaichean le dàta air an diosc a dhearbhadh, a leigeas le tuilleadh dearbhaidh a’ cleachdadh dàta sreath leughadh);
    • Taic a bharrachd airson clasaichean Riarachaidh,
      a’ leigeil le SSDan an ìre mhath beag a bhith air an cruinneachadh agus a chleachdadh gus dìreach seòrsaichean sònraichte de bhlocaichean a thathas a’ cleachdadh gu cumanta a stòradh, leithid meata-dàta, dàta DDT, agus blocaichean faidhle beaga;

    • Coileanadh nas fheàrr ann an òrdughan rianachd leithid
      "zfs list" agus "zfs get", le bhith a 'tasgadh a' mheata-dàta a tha riatanach airson an obrachadh;

    • Taic a bharrachd airson co-shìnteadh de ghnìomhachd riarachaidh bloca le bhith a’ ruith pròiseasan cuibhreannachaidh fa leth airson gach buidheann meata-lab. Air siostaman gnàthach, tha àrdachadh coileanaidh de 5-10%, ach air feadhainn mòra (8 128 GB SSD, 24 bunaiteach NUMA, 256 GB de RAM), faodaidh an àrdachadh ann an gnìomhachd riarachadh bloc ruighinn 25%;
    • Chuir sinn ris a’ chomas gun deidheadh ​​an àithne “ath-ghluasaid” a chuir dheth (ath-thogail cuairteachadh dàta a’ toirt aire do dh’ atharrachaidhean ann an rèiteachadh dhràibhearan) - mura h-eil am fear mu dheireadh air a chrìochnachadh fhathast nuair a thòisicheas e air gnìomhachd ùr, an uairsin tòisichidh an inneal-làimhseachaidh ùr air a chuir gu bàs às deidh sin. deireadh an fhear roimhe;
    • Chaidh optimizations a chuir ris an ZIL (ZFS Intent Log) gus leigeil le cruthachadh agus giullachd bhlocaichean an làthair blocaichean a tha fhathast gan giullachd leis an stòradh;
    • Lùghdaich ùine clàraidh airson sgaradh (zvol) san t-siostam. Nuair a tha àireamh mhòr de phàirtean ann an amar, tha iad a-nis rim faighinn dìreach às deidh dhaibh “zpool import” a dhèanamh;
    • Taic a bharrachd airson àireamhachadh luathaichte bathar-cruaidh de hashes SHA256 agus gnìomhachd crioptachaidh AES-GSM a’ cleachdadh chips Intel QAT (Teicneòlas Taic Luath). Taic a bharrachd airson luathachadh bathar-cruaidh den chipset Intel C62x agus CPU Atom C3000.

Source: fosgailtenet.ru

Cuir beachd ann