
Raws li koj paub, yog tias muaj teeb meem tshwm sim, nws yuav tshwm sim tiag tiag. Tej zaum txhua leej txhua tus tau muaj xwm txheej thaum cov ntaub ntawv tseem ceeb tsis ntev los no tau raug tshem tawm yuam kev, lossis cov ntawv nyeem raug xaiv thiab rhuav tshem hauv cov ntawv nyeem.
Yog tias koj yog tus tswv tsev lossis tus tswv lub vev xaib, ces tej zaum koj tau ntsib kev nyiag ntawm cov neeg siv nyiaj lossis koj lub vev xaib. Nyob rau hauv cov ntaub ntawv no, nws yog ib qho tseem ceeb kom rov qab tau cov chronology, nrhiav cov txheej txheem ntawm kev nkag thiab qhov tsis zoo siv los ntawm tus neeg tawm tsam.
NILFS2 cov ntaub ntawv kaw lus zoo meej rau kev daws cov teeb meem zoo li no.
Nws muaj nyob rau hauv lub nucleus Linux, pib nrog version 2.6.30.
Lub peculiarity ntawm no cov ntaub ntawv system yog hais tias nws zoo ib yam li ib tug version tswj system: koj muaj peev xwm ib txwm yob rov qab lub xeev ntawm lub system rov qab thiab saib nws zoo li tej lub sij hawm dhau los.
Txhawm rau muab cov haujlwm no, koj tsis tas yuav teeb tsa Cron scripts, nqa snapshots, thiab lwm yam. NILFS2 cov ntaub ntawv kaw lus ua qhov no los ntawm nws tus kheej. Nws yeej tsis sau cov ntaub ntawv qub thiab ib txwm sau rau thaj chaw tshiab ntawm disk yog tias muaj qhov chaw dawb txaus txaus. Raws li txoj cai Copy-on-Write.
Qhov tseeb, txhua qhov kev hloov pauv rau cov ntaub ntawv cia li tsim cov snapshot tshiab ntawm cov ntaub ntawv kaw lus, yog li koj tuaj yeem siv FS no ua lub sijhawm siv lub tshuab thiab rov ua lub xeev cov ntaub ntawv.
История
NILFS2 tau tsim nyob rau hauv qhov tob ntawm , qhov tseeb, lub xeev cov tswv (nws muaj feem tswj hwm) thiab lub tuam txhab kev sib txuas lus loj tshaj plaws hauv Nyij Pooj. Tshwj xeeb tshaj yog, hauv CyberSpace Laboratories nyob rau hauv kev coj noj coj ua .
Dab tsi raws nraim nws tau tsim los yog tsis paub, txawm li cas los xij, nws tuaj yeem xav tias xws li FS, nrog nws "lub sijhawm tshuab" ua haujlwm, yog qhov zoo tagnrho rau khaws cov ntaub ntawv uas cov kev pabcuam txawj ntse yuav xav khawb rau hauv thiaj li yuav rov ua txhua daim duab ntawm SMS, email, thiab lwm yam....
NILFS2 kuj tseem muaj peev xwm muaj txiaj ntsig zoo rau cov kev pabcuam kev nyab xeeb sab hauv, vim nws tso cai rau koj rov qab tau tag nrho cov ntawv tshem tawm hauv cov ntawv xa ntawv, nthuav tawm cov jambs ntawm cov neeg ua haujlwm uas yuav tom qab sim zais lawv los ntawm kev rho tawm lossis hloov lawv cov ntaub ntawv.
Koj tuaj yeem taug qab koj cov ntaub ntawv keeb kwm tag nrho li cas?В Linux Ntawm cov servers (thiab qhov no yog qhov uas NILFS2 yuav tsum tau teeb tsa rau kev ruaj ntseg sab hauv), ib txoj hauv kev raws li cov ntaub ntawv ntawm kev khaws cov lus email feem ntau siv. Qhov hu ua hom ntawv . Txaus rau tso thiab teeb tsa cov ntawv xa hauv Maildir. Lwm hom ntawv yog ib daim ntawv loj loj uas tuaj yeem faib tau yooj yim rau hauv ib tus neeg cov lus.
Yog tias tus xa ntawv xa ntawv siv lub database, ces NILFS2 yuav ua rau nws muaj peev xwm rov qab tau lub sijhawm ntawm cov ntaub ntawv hloov pauv thiab muaj peev xwm los kho cov ntaub ntawv ntawm ib lub sijhawm no. Thiab tom qab ntawd koj yuav tsum siv cov cuab yeej database kom pom dab tsi nyob hauv nws ntawm lub sijhawm ntawd ...
Txawm li cas los xij, muaj qee yam tsis raug. Yog tsoomfwv Nyij Pooj hloov siab txog kev soj xyuas txhua tus (ib lub hauv paus ntsiab lus ntawm Yarovaya), lossis NILFS2 qhov kev ua tau zoo ntawm HDDs ib txwm tsis zoo, yog li NILFS2 tau tso tawm raws li daim ntawv tso cai GPL thiab sai sai los ua ib feem ntawm lub kernel. Linux, txij li thaum cov neeg tsim kho kernel tsis muaj kev tsis txaus siab tshwj xeeb txog cov lej sau los ntawm cov neeg Nyij Pooj uas tsim nyog heev Linux tsis muaj ib qho li.
NILFS2 zoo li cas?
Los ntawm kev siv taw tes ntawm kev pom: ntawm kev tswj hwm version . Txhua qhov chaw kuaj xyuas FS yog qhov kev cog lus uas tau ua tiav yam tsis muaj tus neeg siv paub txog thaum twg muaj kev hloov pauv: yog nws tshem tawm, hloov cov ntsiab lus ntawm cov ntaub ntawv lossis hloov txoj cai nkag. Txhua qhov kev cog lus muaj tus lej uas nce linearly.
Los ntawm tus programmer lub ntsiab lus ntawm kev pom: ib ncig tsis muaj. Cov ntaub ntawv kaw lus khaws cov kev hloov pauv thiab sau rau hauv ib qho sib npaug ntawm kwv yees li 8 MB (2000 * 4096, qhov twg 2000 yog tus naj npawb ntawm cov ntsiab lus hauv qhov thaiv thiab 4096 yog qhov loj ntawm nplooj ntawv nco). Tag nrho cov disk muab faib ua tej chunks. Cov ntaubntawv povthawj siv ua ntu zus. Thaum qhov chaw dawb khiav tawm, qhov qub tshaj plaws snapshots raug tshem tawm thiab cov chunks tau sau dua.
Basic NILFS2 goodies
- Versioning!!!
- Cov txheej txheem rau kev kho cov ntaub ntawv rov qab tom qab qhov tsis ua haujlwm yog qhov yooj yim: thaum thauj khoom, qhov kawg chunks uas muaj qhov tseeb checksum tau tshawb nrhiav, thiab lub superblock tau nruab rau ntawm nws. Qhov no yog ib qho haujlwm yuav luag tam sim ntawd.
- Vim hais tias cov ntaub ntawv ib txwm ua linearly, ces:
- tuaj yeem pom cov txiaj ntsig zoo thaum khiav ntawm SSD nrog qeeb random sau.
- NILFS2 txuag SSD cov peev txheej, txij li yuav luag tsis muaj kev sau ntau ntxiv.
Ntau precisely, nws yog tsis ntau tshaj 2.Qhov tseeb yog tias thaum cyclically rewriting tag nrho disk, NILFS2 yuav hloov cov ntaub ntawv hloov tsis tau mus rau daim tshiab (chunks).Yog tias peb muaj 10% ntawm cov ntaub ntawv tsis hloov pauv ntawm lub disk, ces peb yuav tau txais 10% sau nce nrog 1 ua tiav rov sau dua. Zoo, 50% nce ntawm 50% tag nrho ntawm cov cuab yeej rau 1 ua tiav rov sau dua ntawm disk.
Qhov siab tshaj plaws sau nce yog 2. Qhov no yog qhov tsawg heev uas xav tias txhua yam yog sau ua ntu zus. Feem ntau, cov ntawv sau ua yeeb yaj kiab yuav tsawg dua li ntawm cov ntaub ntawv sib faib ua ke nrog 4096-byte sector. (Kev xav tau tshoov siab los ntawm ).
- Muaj peev xwm yooj yim ntawm kev siv ntawm kev rov ua dua rau cov chaw taws teeb NILFS2 FS
NILFS2 rau /home
Hauv Unix-zoo li kev khiav hauj lwm systems, raws li txoj cai, muaj ib tug / tsev nplaub tshev uas cov neeg siv cov ntaub ntawv khaws cia. Ntau yam kev pab cuam txuag lawv cov neeg siv cov chaw tshwj xeeb hauv daim nplaub tshev no.
Thiab leej twg, yog tias tsis yog cov neeg siv, ua yuam kev feem ntau? Yog li ntawd, raws li lawv hais, Vajtswv nws tus kheej kom siv NILFS2 ntawm / tsev.
Ntxiv mus, nrog rau kev siv ntau ntawm SSDs, peb tam sim no tsis tas yuav txhawj xeeb txog kev poob qis thaum siv CoW cov ntaub ntawv.
Yog lawm, peb tuaj yeem tsim FS snapshots ntau npaum li peb nyiam hauv ZFS thiab BTRFS, tab sis ib txwm muaj kev pheej hmoo tias kev hloov pauv ntawm cov ntaub ntawv ploj yuav xaus rau ntawm cov snapshots. Thiab cov duab tseem yuav tsum tau tswj hwm: cov qub yuav tsum tau muab tshem tawm. Hauv NILFS2, txhua qhov no tshwm sim tau txais, hais txhua ob peb feeb.
Kuv tsim ib lub logical ntim siv lvcreate (hauv nvme ntim pawg, pas dej nyias nyias). Kuv pom zoo kom tsim nws ntawm lvm ntim, vim nws tuaj yeem yooj yim nthuav tom qab. Kuv pom zoo kom muaj 50% qhov chaw dawb disk nrog NILFS2 rau qhov zoo nkauj version qhov tob.
lvcreate -V10G -T nvme/thin -n homethiab formatted nws hauv NILFS2:
mkfs.nilfs2 -L nvme_home /dev/nvme/home
mkfs.nilfs2 (nilfs-utils 2.1.5)
Start writing file system initial data to the device
Blocksize:4096 Device:/dev/nvme/home1 Device Size:10737418240
File system initialization succeeded !!
Tom qab no, koj yuav tsum luam tag nrho cov ntaub ntawv los ntawm tam sim no / tsev.
Kuv tau ua qhov no tam sim ntawd tom qab booting lub computer, ua ntej nkag mus rau hauv kuv tus account, raws li tus neeg siv hauv paus. Yog tias kuv tau nkag mus rau hauv kuv tus neeg siv, qee qhov kev pab cuam yuav qhib qhov (sockets) thiab cov ntaub ntawv hauv kuv tus neeg siv lub tsev / tsev / tus neeg siv nplaub tshev, uas yuav ua rau daim ntawv huv si nyuaj. Raws li koj paub, lub tsev nplaub tshev rau cov neeg siv hauv paus feem ntau nyob ntawm / hauv paus txoj hauv kev, yog li tsis muaj cov ntaub ntawv yuav qhib rau / tsev muab faib.
mkdir /mnt/newhome
mount -t nilfs2 /dev/nvme/home /mnt/newhome
cp -a /home/. /mnt/newhome Rau kab kawg, saib .
Tom ntej no peb hloov /etc/fstab, nyob rau hauv uas cov ntaub ntawv kaw lus rau / tsev yog mounted, rau
/dev/disk/by-label/nvme_home /home nilfs2 noatime 0 0
Xaiv noatime xav tau los txhim kho kev ua tau zoo kom lub sijhawm tsis hloov nrog txhua cov ntaub ntawv nkag. Tom ntej no peb reboot.
Hom duab hauv NILFS2.
Lub snapshot tsis tu ncua uas tsis muaj kev tiv thaiv rau kev tshem tawm yog hu ua qhov chaw kuaj xyuas lossis qhov chaw rov qab los.
Lub snapshot tiv thaiv los ntawm kev rho tawm pib yog hu ua snapshot, ces tsuas yog snapshot.
Saib cov chaw kuaj xyuas yog ua tiav siv cov lus txib lscp
Saib snapshots lscp -s
Peb tuaj yeem tsim snapshots thiab checkpoints peb tus kheej txhua lub sijhawm siv:
mkcp [-s] устройствоPeb restore cov ntaub ntawv.
NILFS tso cai rau peb los txhim kho ntau qhov qub snapshots raws li peb xav tau nyob rau hauv parallel nrog ua hauj lwm nrog lub ntsiab FS ceg. Tab sis tsuas yog nyob rau hauv hom nyeem.
Txhua yam yog npaj li no. Cov chaw kuaj xyuas tsis tu ncua uas NILFS2 ua tuaj yeem raug tshem tawm txhua lub sijhawm (thaum qhov chaw disk khiav tawm lossis raws li nilfs_cleanrd cov cai), yog li ua ntej kev teeb tsa peb yuav tsum hloov qhov chaw kuaj xyuas rau hauv snapshot lossis, hauv lus Lavxias, ntes cov snapshot.
chcp ss номер_чекпоинтаTom qab ntawd, peb tuaj yeem mount lub snapshot, piv txwv li, zoo li no:
mount -t nilfs2 -r -o cp=номер_чекпоинта /dev/nvme/home /mnt/nilfs/номер_чекпоинта Tom qab ntawd peb luam cov ntaub ntawv rov qab los ntawm snapshot rau / tsev.
Thiab tom qab ntawd peb tshem tawm tus chij undeletable ntawm lub snapshot kom yav tom ntej lub tshuab khib nyiab tsis siv neeg tuaj yeem tshem tawm cov ntaub ntawv qub:
chcp cp номер_чекпоинтаUtilities rau NILFS2
Tab sis qhov no yog qhov teeb meem. Yog lawm, tau kawg, peb tuaj yeem tsim cov ntaub ntawv kaw lus, hloov nws qhov loj hauv online, saib cov npe ntawm cov ntsiab lus sib tw, tsim thiab tshem tawm lawv. Lub pob nilfs2-utils muab ib qho me me ntawm tus txiv neej lub teeb.
Txij li thaum NTT tau txo nws cov peev nyiaj, tsis muaj cov khoom siv hluav taws xob tsawg ceev uas tso cai rau koj los tso saib keeb kwm ntawm cov ntaub ntawv hloov pauv lossis ua qhov sib txawv ntawm cov duab thaij duab.
kuv n2u utility
Txhawm rau sau lub tshuab nqus tsev no kuv sau , uas tuaj yeem tso saib keeb kwm ntawm kev hloov pauv rau cov ntaub ntawv tshwj xeeb / cov npe:
n2u log filenameCov zis yog ib yam li no:
CHECKPOINT DATE TIME TYPE SIZE MODE
1787552 2019-11-24 22:08:00 first 7079 cp
1792659 2019-11-25 23:09:05 changed 7081 cpNws ua haujlwm sai heev rau txoj kev xaiv xaiv: nws saib qhov sib txawv ntawm cov ntaub ntawv siv txoj kev bisection, nrawm nrawm thiab sib piv cov ntaub ntawv / cov npe hauv cov duab sib txawv.
Koj tuaj yeem teeb tsa ntau qhov chaw kuaj xyuas siv tus yuam sij -cp CP1:CP2 los yog -cp {YEAR-MM-DD}:{YEAR-MM-DD}.
Koj tuaj yeem pom qhov sib txawv ntawm cov chaw kuaj xyuas rau cov ntaub ntawv tshwj xeeb lossis cov npe:
n2u diff -r cp1:cp2 filenameKoj tuaj yeem tso saib tag nrho cov sijhawm hloov pauv: txhua qhov sib txawv ntawm qhov chaw kuaj xyuas ntawm cov ntaub ntawv tshwj xeeb / cov npe:
n2u blame [-r cp1:cp2] filenameHnub ncua sij hawm hauv cov lus txib no kuj tau txais kev txhawb nqa.
Ib tug quaj rau developers
Muaj ntau tus kws tshaj lij ntawm Habre. Thov ua kom tiav NILFS2. Ua kom rov ua dua, qib qis nrawm sib txawv ntawm kev hloov kho, reflink thiab lwm yam khoom zoo!
ua tim khawv
.
Repositories:
.
.
Cov ntawv xov xwm:
. ID rau linux-nilfs subscription.
.
.
.
Ua tsaug:
- NILFS2 tus tsim tawm: Ryusuke Konishi, Koji Sato, Naruhiko Kamimura, Seiji Kihara, Yoshiji Amagai, Hisashi Hifumi thiab Satoshi Moriai. Lwm cov neeg koom nrog tseem ceeb yog: Andreas Rohner, Dan McGee, David Arendt, David Smid, dexen deVries, Dmitry Smirnov, Eric Sandeen, Jiro SEKIBA, Matteo Frigo, Hitoshi Mitake, Takashi Iwai, Vyacheslav Dubeyko.
- Rau Amblin Kev Lom Zem thiab Universal Duab rau cov yeeb yaj kiab zoo heev. . Thawj daim duab ntawm tus ncej yog coj los ntawm cov yeeb yaj kiab "Rov qab mus rau Yav Tom Ntej 3".
- Tuam txhab uas muag rau kev txhawb nqa thiab lub sijhawm los tshaj tawm hauv koj qhov blog ntawm Habré.
PS Thov xa tej yam yuam kev uas koj pom nyob rau hauv ib tug private lus. Kuv nce kuv karma rau qhov no.
Koj tuaj yeem sim nrog NILFS2 los ntawm kev xaj lub tshuab virtual los ntawm nrog daim coupon hauv qab no. Rau txhua tus neeg siv khoom tshiab muaj lub sijhawm sim pub dawb 3 hnub.
Tau qhov twg los: www.hab.com
