Famoahana ny ZFS amin'ny Linux 0.8.0, fampiharana ny ZFS ho an'ny kernel Linux

Taorian'ny efa ho roa taona ny fampandrosoana aseho famotsorana ZFS amin'ny Linux 0.8.0, fampiharana ny rafitra rakitra ZFS, natao ho maody ho an'ny kernel Linux. Ny maody dia nosedraina tamin'ny kernel Linux avy amin'ny 2.6.32 ka hatramin'ny 5.1. Ho avy tsy ho ela ny fonosana fametrahana vonona ho voaomana ho an'ny fizarana Linux lehibe ao anatin'izany ny Debian, Ubuntu, Fedora, RHEL/CentOS. Ny maody ZFS amin'ny Linux dia efa tafiditra ao amin'ny fizarana Debian, Ubuntu, Gentoo, Sabayon Linux ary ALT Linux.

Ao anatin'ny ZFS amin'ny Linux, ny fampiharana ireo singa ZFS mifandraika amin'ny fampandehanana ny rafi-drakitra sy ny fiasan'ny mpitantana ny volume dia efa voaomana. Indrindra indrindra, ireto singa manaraka ireto no ampiharina: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) ary ZPL (ZFS POSIX Layer). Fanampin'izany, ny tetikasa dia manome fahafahana mampiasa ZFS ho backend ho an'ny rafitra fichier cluster Lustre. Ny asan'ny tetikasa dia mifototra amin'ny kaody ZFS tany am-boalohany, nafarana avy amin'ny tetikasa OpenSolaris ary nitarina tamin'ny fanatsarana sy fanamboarana avy amin'ny vondrom-piarahamonina Illumos. Ny tetikasa dia novolavolaina miaraka amin'ny fandraisan'anjaran'ny mpiasa ao amin'ny Livermore National Laboratory eo ambanin'ny fifanarahana miaraka amin'ny Departemantan'ny Angovo amerikana.

Ny kaody dia zaraina amin'ny alΓ lan'ny lisansa CDDL maimaim-poana, izay tsy mifanaraka amin'ny GPLv2, izay tsy mamela ny ZFS amin'ny Linux hiditra ao amin'ny sampana lehibe amin'ny kernel Linux, satria tsy azo ekena ny fampifangaroana kaody eo ambanin'ny fahazoan-dΓ lana GPLv2 sy CDDL. Mba hialana amin'io tsy mifanaraka amin'ny fanomezan-dΓ lana io dia nanapa-kevitra ny hizara ny vokatra manontolo amin'ny alΓ lan'ny fahazoan-dΓ lana CDDL ho toy ny maody azo alaina misaraka, izay omena misaraka amin'ny kernel. Ny fahamarinan'ny ZFS amin'ny Linux codebase dia azo oharina amin'ny rafitra rakitra hafa ho an'ny Linux.

Fiovana lehibe:

  • Fanampiana naorina ho an'ny fanafenana angon-drakitra voatahiry ao amin'ny rafitry ny rakitra sy ny ambaratonga fisarahana. Ny algorithm encryption default dia aes-256-ccm. Mba hampidirana ny fanalahidin'ny encryption dia atolotra ny baiko "zfs load-key";
  • Efa nampiharina ny fahafahana mandefa angon-drakitra miafina rehefa manatanteraka ny baiko "zfs send" sy "zfs receive". Rehefa mamaritra ny safidy "-w", dia afindra any amin'ny dobo hafa toy ny mahazatra ny angon-drakitra efa voarakitra ao anaty dobo, tsy misy decryption intermediate. Mandritra ny fanaovana kopia toy izany, ny angon-drakitra dia mijanona ho voaro amin'ny fanalahidin'ny antoko mandefa, izay mamela ity fomba ity hampiasaina ho an'ny backup amin'ny rafitra tsy azo itokisana (raha toa ka levona ny mpandray, raha tsy misy ny lakile dia tsy afaka miditra amin'ny angona ny mpanafika);
  • Fanampiana fanampiny hanesorana ny kapila voalohany amin'ny dobo fitahirizana, mifandray na tsirairay na amin'ny ampahany amin'ny fitaratra. Ny fanesorana dia atao amin'ny baiko "zpool remove". Mandritra ny fizotran'ny famafana, ny angona avy amin'ny kapila nesorina dia adika amin'ireo kapila fototra sisa tavela ao anaty dobo;
  • Nampiana ny baiko "zpool checkpoint" mba hamonjena ny toetry ny dobo amin'izao fotoana izao miaraka amin'ny fahafahana mamerina fanovana bebe kokoa amin'ny teboka voatahiry ara-potoana (sary iray misy ny dobo iray manontolo no noforonina). Ny endri-javatra aseho dia mety ilaina amin'ny fanatanterahana ny asa fitantanana saro-pady mety hampidi-doza izay mety hitarika amin'ny fanovana tsy azo ovana (ohatra, fampahavitrihana saina ho an'ny fampiasa ZFS vaovao na fanadiovana data);
  • Nampiana ny baiko "zpool trim" hampahafantarana ireo fiara ampiasaina amin'ny dobo momba ny sehatra tsy ampiasaina intsony. Ny fampiasana ny fiasan'ny TRIM dia ahafahana mampitombo ny fahombiazan'ny kapila SSD ary misoroka ny fahasimban'ny zava-bitany. Mba hahafahan'ny fizotry ny lafika mitohy amin'ny fandefasana ny baiko TRIM, dia natolotra ny fananana vaovao "autotrim";
  • Nampiana ny baiko "zpool initialize" mba hanombohana ny habaka kapila rehetra tsy voatanisa, hiantohana fa vonona avy hatrany ho ampiasaina tsy misy fiantraikany amin'ny fahombiazana amin'ny fidirana voalohany (ohatra, rehefa mampiantrano fitahirizana virtoaly toy ny VMware VMDK);
  • Fanampiana fanampiny ho an'ny kaontim-bola sy ny fetran'ny tetikasa, mameno ny fetran'ny mpampiasa sy ny vondrona teo aloha. Amin'ny ankapobeny, ny tetikasa dia habaka misaraka amin'ny zavatra mifandray amin'ny famantarana manokana (project ID). Ny famatorana dia voafaritra amin'ny alalan'ny hetsika 'chattr -p' na amin'ny alalan'ny lova toetra. Mba hitantana tetikasa dia omena ny baiko "zfs project" sy "zfs projectspace", izay ahafahanao mitantana ny famoronana tetikasa ary mametraka fetran'ny habaka disk ho azy ireo;
  • Nampiana ny fahafahana mamorona script Lua mba hanamboatra asa isan-karazany miaraka amin'ny ZFS. Ny script dia atomboka amin'ny tontolo mitoka-monina manokana amin'ny alΓ lan'ny baiko "programa zpool";
  • Tranomboky vaovao nampiharina pyzfs, izay manome API miorina amin'ny fitantanana ZFS avy amin'ny rindranasa Python. Ny tranomboky dia fonosina amin'ny libzfs_core ary manome karazana fiasa mitovy, fa mampiasa karazana akaiky kokoa an'i Python;
  • Ny fitaovana arcstat, arcsummary ary dbufstat dia mifanaraka amin'ny Python 3. Ny arcstat.py, arc_summary.py ary dbufstat.py dia novana anarana ho dikan-teny tsy misy ny fanitarana ".py";
  • Fanampiana fanampiny ho an'ny Linux Direct IO (O_DIRECT) kernel interface, izay ahafahanao miditra angon-drakitra tsy misy buffering ary mandalo ny cache;
  • Fanatsarana ny fampisehoana naseho:
    • Ny asan'ny baiko "scrub" sy "resilver" dia nohafainganina tamin'ny fizarazarana azy ho dingana roa (dingana iray manokana no atokana ho an'ny scan metadata sy ny famaritana ny toerana misy ny sakana data ao amin'ny kapila, izay ahafahana manamarina bebe kokoa amin'ny alΓ lan'ny famakiana angon-drakitra manaraka) ;
    • Fanampiana fanampiny ho an'ny kilasy Allocation,
      mamela ny kapila SSD somary kely ampidirina ao anaty dobo iray ary ampiasaina mba hitahiry karazana sakana fampiasa matetika, toy ny metadata, angona DDT ary sakana kely misy rakitra;

    • Fampitomboana ny fanatanterahana ny baiko ho an'ny fitantanana, toy ny
      "lisitra zfs" sy "zfs mahazo", noho ny caching ny metadata ilaina amin'ny fampandehanana azy;

    • Fanampiana fanampiny ho an'ny fampitoviana ny asa fitsinjarana sakana amin'ny alΓ lan'ny fandefasana dingana "allocator" misaraka ho an'ny vondrona metaslab tsirairay. Amin'ny rafitra mahazatra dia misy ny fitomboan'ny 5-10%, fa amin'ny lehibe (8 GB SSD, 128 core NUMA, 24 GB RAM), ny fitomboan'ny asa famatsiana sakana dia mety hahatratra 256%;
    • Nampiana ny mety hisian'ny fanemorana ny famonoana ny baiko "resilver" (manangana indray ny fitsinjarana angon-drakitra amin'ny fiheverana ny fiovana eo amin'ny fanamafisam-peo) - raha toa ka, rehefa manomboka asa vaovao, ny teo aloha dia tsy mbola vita, dia hanomboka ny mpitantana vaovao. manatanteraka ihany rehefa vita ny teo aloha;
    • Natao ny fanatsarana ny log ZIL (ZFS Intent Log) mba hamelana ny famoronana sy ny fanodinana ireo sakana rehefa misy sakana mbola karakarain'ny fitahirizana;
    • Nihena ny fotoana fisoratana anarana partitions (zvol) ao amin'ny rafitra. Rehefa misy fizarazarana marobe ny dobo iray, dia azo alaina avy hatrany izy ireo aorian'ny fanatanterahana ny "zpool import";
    • Fanampiana fanampiny ho an'ny fanafainganana ny hardware amin'ny kajy tenifototra SHA256 sy ny asa fanafenana AES-GSM amin'ny alΓ lan'ny chips manohana ny Intel QAT (Quick Assist Technology). Fanampiana fanampiny ho an'ny fitaovana fanafainganana ny fitaovana ho an'ny chipset Intel C62x sy CPU Atom C3000.

Source: opennet.ru

Add a comment