
Eins og þú veist, ef vandræði geta gerst, mun það örugglega gerast. Sennilega hafa allir lent í tilfellum þar sem nýleg mikilvæg skrá var eytt fyrir slysni, eða texti var óvart valinn og eytt í textaritli.
Ef þú ert hýsingaraðili eða eigandi vefsíðu, þá hefur þú líklega lent í reiðhestur á notendareikninga eða vefsíðu þína. Í slíkum tilvikum er mikilvægt að endurheimta tímaröðina, finna innsláttaraðferðina og varnarleysið sem árásarmaðurinn notar.
NILFS2 skráarkerfið er fullkomið til að leysa slík vandamál.
Það er til staðar í kjarnanum Linux, byrjandi með útgáfu 2.6.30.
Sérkenni þessa skráarkerfis er að það er svipað útgáfustýringarkerfi: þú getur alltaf snúið stöðu kerfisins til baka og skoðað hvernig það var fyrir nokkru síðan.
Til að bjóða upp á þessa virkni þarftu ekki að stilla Cron forskriftir, taka skyndimyndir osfrv. NILFS2 skráarkerfið gerir þetta allt af sjálfu sér. Það skrifar aldrei yfir gömul gögn og skrifar alltaf á ný svæði á disknum ef það er nóg laust diskpláss. Í fullu samræmi við Copy-on-Write meginregluna.
Reyndar skapar allar breytingar á skrá sjálfkrafa nýja skyndimynd af skráarkerfinu, svo þú getur notað þennan FS sem tímavél og spólað til baka stöðu skráa.
Story
NILFS2 var þróað í dýpi , reyndar ríkiseigu (það á ráðandi hlut) og stærsta fjarskiptafyrirtæki Japans. Nánar tiltekið í CyberSpace Laboratories undir forystu .
Fyrir hvað nákvæmlega það var þróað er ekki vitað, þó má gera ráð fyrir að slík FS, með sinni „tímavél“ virkni, sé tilvalin til að geyma gögn sem leyniþjónusturnar gætu viljað grafa í til að endurspila alla myndina af SMS, tölvupóstur osfrv....
NILFS2 er einnig mögulega mjög dýrmætt tæki fyrir innri öryggisþjónustu, þar sem það gerir þér kleift að endurheimta öll eydd bréf í póstgagnagrunninum, og afhjúpar jambs starfsmanna sem gætu í kjölfarið reynt að dulbúa þá með því að eyða eða breyta skrám þeirra.
Hvernig geturðu fylgst með allri bréfaskiptasögu þinni?В Linux Á netþjónum (og það er þar sem NILFS2 ætti að vera sett upp vegna innri öryggis) er mjög oft notuð skráarbundin aðferð til að geyma tölvupóst. Svokallað snið . Nóg að setja og stilla póstgeymslu í Maildir. Annað snið er stór textaskrá sem auðvelt er að flokka í einstök skilaboð.
Ef póstþjónninn notar gagnagrunn, þá mun NILFS2 gera það mögulegt að endurheimta nákvæma tímasetningu gagnagrunnsbreytinga og getu til að endurheimta gagnagrunninn á hvaða augnabliki sem er. Og svo þarftu að nota gagnagrunnsverkfæri til að sjá hvað var í honum á þeim tímapunkti...
Eitthvað fór þó úrskeiðis. Annað hvort skipti japanska ríkisstjórnin um skoðun varðandi njósnir á öllum (eins og meginregla Yarovaya), eða frammistaða NILFS2 á hefðbundnum harðdiskum var ekki eins góð og vonast var til, svo NILFS2 var gefið út undir GPL leyfinu og varð fljótt hluti af kjarnanum. Linux, þar sem kjarnaforritararnir hafa engar sérstakar kvartanir um kóðann sem skrifaður er af mjög hæfum Japönum Linux það var enginn.
Hvernig er NILFS2?
Frá sjónarhóli notkunar: á útgáfustýringarkerfi . Hver FS eftirlitsstöð er skuldbinding sem er gerð sjálfkrafa án vitundar notandans í hvert skipti sem það er einhver breyting: hvort sem það er eyðing, breyting á innihaldi skráar eða breyting á aðgangsréttindum. Hver skuldbinding hefur tölu sem hækkar línulega.
Frá sjónarhóli forritara: hringlaga biðminni. Skráarkerfið safnar breytingum og skrifar þær í bút sem jafngildir um það bil 8 MB (2000 * 4096, þar sem 2000 er fjöldi þátta í reitnum og 4096 er stærð minnissíðunnar). Allur diskurinn er skipt í slíka bita. Upptakan heldur áfram í röð. Þegar laust pláss klárast er elstu skyndimyndunum eytt og klumpunum skrifað yfir.
Grunn NILFS2 góðgæti
- Útgáfa!!!
- Aðferðin við að endurheimta skráarkerfi eftir bilun er einföld: við hleðslu er leitað að síðasta hlutanum sem hefur rétta athugunarsummu og ofurblokk er settur upp á hann. Þetta er nánast tafarlaus aðgerð.
- Vegna þess að upptaka gengur alltaf línulega fram, þá:
- getur sýnt góðan árangur þegar keyrt er á SSD með hægum handahófsskrifum.
- NILFS2 sparar SSD auðlind, þar sem það er nánast enginn skrifa margföldunarstuðull.
Nánar tiltekið, það er ekki meira en 2.Staðreyndin er sú að þegar allt diskurinn er endurskrifaður í hringrás mun NILFS2 flytja óbreytanleg gögn í nýja hluti (klumpa).Ef við erum með 10% af óbreyttum gögnum á disknum, þá fáum við 10% skrifaukningu með 1 fullkominni endurskrifun. Jæja, 50% aukning við 50% fyllingu tækisins fyrir 1 heila endurskrifun á disknum.
Hámarks skrifhagnaður er 2. Þetta er mjög lágt miðað við að allt er skrifað í röð. Almennt mun skriffjörið vera minna en í hefðbundnu sundurliðuðu skráarkerfi með 4096 bæta geira. (Hugsun innblásin af ).
- Hugsanleg auðveld útfærsla afritunar á ytri NILFS2 FS
NILFS2 fyrir /heimili
Í Unix-líkum stýrikerfum er að jafnaði /home mappa þar sem notendagögn eru geymd. Ýmis forrit vista notendasértækar stillingar sínar í þessari möppu.
Og hverjir, ef ekki notendur, gera mistök oftast? Þess vegna, eins og þeir segja, fyrirskipaði Guð sjálfur notkun NILFS2 á /home.
Þar að auki, með útbreiddri notkun SSDs, þurfum við nú ekki lengur að hafa áhyggjur af alvarlegum niðurdrætti þegar við notum CoW skráarkerfi.
Já, við getum búið til FS skyndimynd eins oft og við viljum í ZFS og BTRFS, en það er alltaf hætta á að týnd skráabreyting lendi á milli skyndimyndanna. Og enn þarf að gefa myndirnar: eyða þarf gömlum. Í NILFS2 gerist allt þetta sjálfkrafa, bókstaflega á nokkurra sekúndna fresti.
Ég bjó til rökrétt bindi með því að nota lvcreate (í nvme volume group, thin pool thin). Ég mæli með að búa það til á lvm bindi, þar sem það er auðvelt að stækka það seinna. Ég mæli með að hafa 50% laust pláss með NILFS2 fyrir ágætis útgáfudýpt.
lvcreate -V10G -T nvme/thin -n homeog sniðið það í 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 !!
Eftir þetta þarftu að afrita öll gögn frá núverandi /home.
Ég gerði þetta strax eftir að hafa ræst tölvuna, áður en ég skráði mig inn á reikninginn minn, sem rótnotandi. Ef ég myndi skrá mig inn sem notandi minn myndu sum forrit opna fals og skrár í /home/user möppu notandans míns, sem myndi gera hreint eintak erfitt. Eins og þú veist er heimamöppan fyrir rótnotandann venjulega staðsett á /rótarslóðinni, þannig að engar skrár opnast á /home skiptingunni.
mkdir /mnt/newhome
mount -t nilfs2 /dev/nvme/home /mnt/newhome
cp -a /home/. /mnt/newhome Fyrir síðustu línu, sjá .
Næst breytum við /etc/fstab, þar sem skráarkerfið fyrir /home er tengt, í
/dev/disk/by-label/nvme_home /home nilfs2 noatime 0 0
Valkostur noatime þarf til að bæta afköst þannig að tíminn breytist ekki við hvern skráaraðgang. Næst endurræsum við.
Tegundir mynda í NILFS2.
Venjulegt skyndimynd án friðhelgi fyrir eyðingu er kallað eftirlitsstöð eða endurheimtarstaður.
Skyndimynd sem varin er gegn sjálfvirkri eyðingu kallast skyndimynd, þá einfaldlega skyndimynd.
Skoðun eftirlitsstaða fer fram með lscp skipuninni
Skoða skyndimyndir lscp -s
Við getum búið til skyndimyndir og eftirlitsstöðvar sjálf hvenær sem er með því að nota:
mkcp [-s] устройствоVið endurheimtum gögn.
NILFS gerir okkur kleift að setja upp eins margar gamlar skyndimyndir og við viljum samhliða því að vinna með aðal FS greininni. En aðeins í lestrarham.
Allt er þannig raðað upp. Reglulegum eftirlitsstöðvum sem NILFS2 gerir er hægt að eyða sjálfkrafa hvenær sem er (þegar pláss á diski klárast eða samkvæmt nilfs_cleanerd reglum), þannig að fyrir uppsetningu verðum við að breyta eftirlitsstaðnum í skyndimynd eða, á rússneskumælandi, taka skyndimyndina.
chcp ss номер_чекпоинтаEftir það getum við tengt skyndimyndina, til dæmis, svona:
mount -t nilfs2 -r -o cp=номер_чекпоинта /dev/nvme/home /mnt/nilfs/номер_чекпоинта Eftir það afritum við endurheimtu skrárnar úr skyndimyndinni yfir á /home.
Og í kjölfarið fjarlægjum við óeyðanlega fána úr skyndimyndinni svo að í framtíðinni geti sjálfvirki sorphirðarinn fjarlægt úrelt gögn:
chcp cp номер_чекпоинтаTól fyrir NILFS2
En þetta er vandamálið. Já, auðvitað getum við búið til skráarkerfi, breytt stærð þess á netinu, skoðað listann yfir áskorunarpunkta, búið til og eytt þeim. Nilfs2-utils pakkinn veitir lágmarks herramannssett.
Þar sem NTT hefur dregið úr fjármögnun sinni, þá eru engin hröð tól á lágu stigi sem gera þér kleift að birta sögu skráabreytinga eða gera mun á milli skyndimynda.
n2u tólið mitt
Til að fylla þetta tómarúm skrifaði ég , sem getur sýnt sögu breytinga á tiltekinni skrá/möppu:
n2u log filenameÚttakið er eitthvað á þessa leið:
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 cpÞað virkar frekar fljótt fyrir valda útfærsluaðferð: það leitar að mismun á skrám með því að nota tvískurðaraðferðina, festir og ber saman skrána/skrána í mismunandi skyndimyndum.
Þú getur stillt fjölda eftirlitsstaða með því að nota takkann -cp CP1:CP2 eða -cp {YEAR-MM-DD}:{YEAR-MM-DD}.
Þú getur líka séð muninn á eftirlitsstöðvum fyrir tiltekna skrá eða möppu:
n2u diff -r cp1:cp2 filenameÞú getur sýnt alla tímaröð breytinga: allan muninn á eftirlitsstöðvum tiltekinnar skráar/möppu:
n2u blame [-r cp1:cp2] filenameDagsetningarbil í þessari skipun er einnig stutt.
Hópur til hönnuða
Það eru margir sérfræðingar á Habré. Vinsamlegast kláraðu NILFS2. Gerðu afritun, fljótur munur á lágu stigi á milli endurskoðunar, endurtengingar og annars góðgætis!
tilvísanir
.
Geymslur:
.
.
Fréttabréf:
. Auðkenni fyrir linux-nilfs áskrift.
.
.
.
Takk:
- NILFS2 verktaki: Ryusuke Konishi, Koji Sato, Naruhiko Kamimura, Seiji Kihara, Yoshiji Amagai, Hisashi Hifumi og Satoshi Moriai. Aðrir helstu þátttakendur eru: Andreas Rohner, Dan McGee, David Arendt, David Smid, dexen deVries, Dmitry Smirnov, Eric Sandeen, Jiro SEKIBA, Matteo Frigo, Hitoshi Mitake, Takashi Iwai, Vyacheslav Dubeyko.
- Til Amblin Entertainment og Universal Pictures fyrir frábæra kvikmyndaseríu. . Fyrsta myndin af færslunni er tekin úr myndinni „Back to the Future 3“.
- Fyrirtæki fyrir stuðning og tækifæri til að birta á blogginu þínu á Habré.
PS Vinsamlegast sendu allar villur sem þú tekur eftir í einkaskilaboðum. Ég eykur karma fyrir þetta.
Þú getur gert tilraunir með NILFS2 með því að panta sýndarvél frá með afsláttarmiða hér að neðan. Fyrir alla nýja viðskiptavini er ókeypis prufutími í 3 daga.
Heimild: www.habr.com
