Tso tawm ZFS ntawm Linux 0.8.0, kev siv ZFS rau Linux ntsiav

Tom qab yuav luag ob xyoos ntawm txoj kev loj hlob hais tawm tso tawm ZFS ntawm Linux 0.8.0, ib qho kev siv ntawm ZFS cov ntaub ntawv kaw lus, tsim los ua ib qho module rau Linux kernel. Cov module tau raug sim nrog Linux kernels los ntawm 2.6.32 txog 5.1. Cov pob khoom npaj txhij yuav los sai sai yuav npaj rau Linux faib loj xws li Debian, Ubuntu, Fedora, RHEL/CentOS. ZFS ntawm Linux module twb tau suav nrog hauv Debian, Ubuntu, Gentoo, Sabayon Linux thiab ALT Linux faib.

Raws li ib feem ntawm ZFS ntawm Linux, kev siv ZFS cov khoom muaj feem xyuam rau ob qho tib si kev ua haujlwm ntawm cov ntaub ntawv kaw lus thiab kev ua haujlwm ntawm tus tswj ntim tau raug npaj. Tshwj xeeb, cov khoom siv hauv qab no yog siv: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) thiab ZPL (ZFS POSIX Layer). Tsis tas li ntawd, qhov project muab lub peev xwm los siv ZFS ua tus backend rau Luster pawg ntaub ntawv. Txoj haujlwm ua haujlwm yog ua raws li tus thawj ZFS code, imported los ntawm OpenSolaris project thiab nthuav nrog kev txhim kho thiab kho los ntawm Illumos zej zog. Qhov project yog tsim los nrog kev koom tes ntawm cov neeg ua haujlwm ntawm Livermore National Laboratory raws li kev cog lus nrog US Department of Energy.

Cov cai tau muab faib raws li daim ntawv tso cai CDDL pub dawb, uas tsis sib haum nrog GPLv2, uas tsis tso cai ZFS ntawm Linux los koom ua ke rau hauv cov ceg tseem ceeb ntawm Linux ntsiav, txij li kev sib xyaw cov cai raws li GPLv2 thiab CDDL cov ntawv tso cai tsis tuaj yeem lees txais. Txhawm rau tiv thaiv qhov kev tso cai tsis sib haum xeeb no, nws tau txiav txim siab faib tag nrho cov khoom raws li CDDL daim ntawv tso cai raws li cov khoom sib cais, uas tau muab cais los ntawm cov ntsiav. Kev ruaj ntseg ntawm ZFS ntawm Linux codebase yog ntsuas raws li piv rau lwm cov ntaub ntawv kaw lus rau Linux.

Cov kev hloov loj:

  • Ntxiv kev txhawb nqa built-in rau encryption ntawm cov ntaub ntawv khaws cia ntawm cov ntaub ntawv kaw lus thiab faib qib. Lub default encryption algorithm yog aes-256-ccm. Txhawm rau thauj cov yuam sij encryption, "zfs load-key" hais kom ua;
  • Lub peev xwm los xa cov ntaub ntawv encrypted thaum ua tiav "zfs xa" thiab "zfs txais" cov lus txib tau ua tiav. Thaum qhia txog qhov "-w" kev xaiv, cov ntaub ntawv twb tau encrypted nyob rau hauv lub pas dej ua ke yog pauv mus rau lwm lub pas dej ua ke, tsis muaj intermediate decryption. Thaum lub sijhawm luam tawm, cov ntaub ntawv tseem muaj kev tiv thaiv los ntawm tus yuam sij ntawm pawg xa khoom, uas tso cai rau hom no siv rau kev thaub qab rau cov tshuab tsis muaj kev ntseeg siab (yog tias tus neeg tau txais kev cuam tshuam, tsis muaj tus yuam sij tus neeg tawm tsam yuav tsis tuaj yeem nkag mus rau cov ntaub ntawv);
  • Ntxiv kev txhawb nqa rau tshem tawm thawj tsav los ntawm lub pas dej ua ke, txuas nrog tus kheej lossis ua ib feem ntawm daim iav. Kev tshem tawm yog ua tiav nrog "zpool tshem tawm" hais kom ua. Thaum lub sij hawm deletion txheej txheem, cov ntaub ntawv los ntawm lub tshem tawm tsav yog theej mus rau lub tseem tshuav thawj drives nyob rau hauv lub pas dej ua ke;
  • Ntxiv qhov "zpool checkpoint" hais kom txuag lub xeev tam sim no ntawm lub pas dej ua ke nrog lub peev xwm los yob rov qab ntxiv kev hloov pauv mus rau qhov chaw khaws cia rau lub sijhawm (ib qho snapshot ntawm tag nrho lub pas dej ua ke yog tsim). Qhov kev nthuav qhia no yuav muaj txiaj ntsig zoo hauv cov txheej txheem ntawm kev ua haujlwm uas muaj peev xwm txaus ntshai kev tswj hwm kev ua haujlwm uas ib txwm ua rau kev hloov pauv tsis tau (piv txwv li, ua kom tus chij rau ZFS tshiab ua haujlwm lossis tshem tawm cov ntaub ntawv);
  • Ntxiv rau "zpool trim" hais kom qhia cov tsav siv hauv lub pas dej ua ke txog cov haujlwm uas tsis siv lawm. Kev siv TRIM ua haujlwm ua rau nws muaj peev xwm ua kom muaj txiaj ntsig ntawm SSD drives thiab tiv thaiv kev ua haujlwm tsis zoo. Txhawm rau ua kom muaj cov txheej txheem txuas ntxiv mus dhau TRIM cov lus txib, cov cuab yeej tshiab "autotrim" tau thov;
  • Ntxiv rau "zpool initialize" hais kom pib pib tag nrho qhov chaw tsis tau faib disk, kom ntseeg tau tias nws tau npaj txhij rau kev siv tam sim ntawd yam tsis muaj kev cuam tshuam rau kev nkag mus rau thawj zaug (piv txwv li, thaum hosting virtualized cia xws li VMware VMDK);
  • Ntxiv kev txhawb nqa rau qhov project-theem accounting thiab quotas, ntxiv rau cov neeg siv yav dhau los- thiab pab pawg-theem quotas. Qhov tseem ceeb, cov phiaj xwm yog qhov chaw sib cais ntawm cov khoom cuam tshuam nrog tus cim cais (project ID). Kev sib khi yog txiav txim siab los ntawm kev ua haujlwm 'chattr -p' lossis los ntawm tus cwj pwm qub txeeg qub teg. Txhawm rau tswj cov haujlwm, "zfs project" thiab "zfs projectspace" cov lus txib tau muab, uas tso cai rau koj los tswj kev tsim cov haujlwm thiab teeb tsa qhov chaw disk txwv rau lawv;
  • Ntxiv lub peev xwm los tsim Lua scripts automate ntau yam haujlwm nrog ZFS. Scripts raug tso tawm nyob rau hauv ib cheeb tsam tshwj xeeb uas siv cov "zpool program" hais kom ua;
  • Lub tsev qiv ntawv tshiab tau siv pyzfs ua, uas muab API ruaj khov rau kev tswj hwm ZFS los ntawm Python daim ntawv thov. Lub tsev qiv ntawv yog wrapper tshaj libzfs_core thiab muab cov haujlwm zoo ib yam, tab sis siv hom ze dua rau Python;
  • Lub arcstat, arcsummary thiab dbufstat cov khoom siv tam sim no tau sib xws nrog Python 3. Lub arcstat.py, arc_summary.py thiab dbufstat.py cov khoom siv tau raug hloov npe rau cov qauv yam tsis muaj ".py" txuas ntxiv;
  • Ntxiv kev txhawb nqa rau Linux Direct IO (O_DIRECT) kernel interface, uas tso cai rau koj nkag mus rau cov ntaub ntawv yam tsis muaj buffering thiab hla lub cache;
  • Kev ua tau zoo optimization tau nthuav tawm:
    • Kev ua haujlwm ntawm "scrub" thiab "resilver" cov lus txib tau nrawm los ntawm kev faib nws mus rau ob theem (ib ntu cais rau kev txheeb xyuas cov metadata thiab txiav txim siab qhov chaw ntawm cov ntaub ntawv thaiv ntawm disk, uas tso cai rau kev txheeb xyuas ntxiv siv cov ntaub ntawv sib txuas nyeem ntawv) ;
    • Ntxiv kev txhawb nqa rau cov chav kawm Allocation,
      tso cai rau SSD drives me me kom muab tso rau hauv lub pas dej ua ke thiab siv los khaws qee yam ntawm cov blocks nquag siv, xws li metadata, DDT cov ntaub ntawv thiab cov blocks me me nrog cov ntaub ntawv;

    • Kev ua tau zoo ntawm cov lus txib rau kev tswj hwm, xws li
      "zfs list" thiab "zfs tau", vim yog caching ntawm metadata tsim nyog rau lawv txoj haujlwm;

    • Ntxiv kev txhawb nqa rau parallelizing thaiv kev faib ua haujlwm los ntawm kev tsim cov txheej txheem "tus neeg faib khoom" cais rau txhua pawg metaslab. Ntawm cov tshuab tsis tu ncua, muaj kev ua tau zoo nce ntawm 5-10%, tab sis ntawm cov loj (8 GB SSD, 128 core NUMA, 24 GB RAM), qhov nce hauv thaiv kev faib haujlwm tuaj yeem ncav cuag 256%;
    • Ntxiv qhov muaj peev xwm ncua kev ua tiav ntawm "resilver" hais kom ua (rov tsim kho cov ntaub ntawv faib khoom noj rau hauv tus account hloov pauv hauv kev teeb tsa ntawm cov drives) - yog tias thaum pib ua haujlwm tshiab yav dhau los tseem tsis tau ua tiav, ces tus neeg tuav ntaub ntawv tshiab yuav pib ua haujlwm nkaus xwb. tom qab qhov dhau los ua tiav lawm;
    • Optimizations tau ua rau ZIL (ZFS Lub Hom Phiaj Log) tso cai rau kev tsim thiab ua cov blocks thaum muaj cov blocks tseem ua tiav los ntawm kev khaws cia;
    • Lub sij hawm rau sau npe partitions (zvol) nyob rau hauv lub system tau raug txo. Thaum lub pas dej ua ke muaj ntau qhov kev faib tawm, lawv tam sim no muaj tam sim ntawd tom qab ua tiav "zpool ntshuam";
    • Ntxiv kev txhawb nqa rau kho vajtse acceleration ntawm SHA256 hash xam thiab AES-GSM encryption ua haujlwm siv chips txhawb Intel QAT (Quick Assist Technology). Ntxiv kev txhawb nqa rau cov cuab yeej kho vajtse nrawm rau Intel C62x chipset thiab Atom C3000 CPU.

Tau qhov twg los: opennet.ru

Ntxiv ib saib