NILFS2 - bulletproof faira system ye / kumba

NILFS2 - bulletproof faira system ye / kumba

Sezvaunoziva, kana dambudziko rikaitika, rinonyatsoitika. Pamwe munhu wese akambova nezviitiko apo faira rakakosha munguva pfupi yapfuura rakadzimwa netsaona, kana mavara akasarudzwa netsaona uye akaparadzwa mupepeti yemavara.

Kana iwe uri hoster kana muridzi wewebhusaiti, saka ungangove wakasangana nekubirwa kwemaakaundi emushandisi kana webhusaiti yako. Mumamiriro ezvinhu akadaro, zvakakosha kudzorera nguva, tsvaga nzira yekupinda uye kusagadzikana kunoshandiswa neanorwisa.

Iyo NILFS2 faira system yakanakira kugadzirisa matambudziko akadai.

Yave iripo muLinux kernel kubvira shanduro 2.6.30.

Iyo yakasarudzika yeiyi faira sisitimu ndeyekuti yakafanana neshanduro yekudzora sisitimu: unogona kugara uchidzosera kumashure mamiriro eiyo system uye wotarisa zvayanga yakaita nguva yapfuura.

Kuti upe iyi mashandiro, haufanire kugadzirisa Cron zvinyorwa, tora snapshots, nezvimwe. Iyo NILFS2 faira system inoita zvese izvi pachayo. Iyo haimbofi yakanyora zvekare data uye inogara ichinyora kunzvimbo nyowani dzedhisiki kana paine yakakwana yemahara disk nzvimbo. Mukuwirirana zvizere neCopy-on-Write musimboti.

Muchokwadi, chero shanduko kufaira inongoerekana yagadzira mufananidzo mutsva wefaira system, saka unogona kushandisa iyi FS semuchina wenguva uye kudzosera mamiriro emafaira.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

NILFS2 - bulletproof faira system ye / kumbaNILFS2 yakagadzirwa pakadzika pe Nippon Telegraph uye Telephone Corporation, kutaura zvazviri, iyo yehurumende (ine danda rekutonga) uye kambani huru yenhare muJapan. Kunyanya zvakanyanya, muCyberSpace Laboratories pasi pehutungamiriri Ryusuke Konishi.

Izvo chaizvo zvakagadzirirwa hazvizivikanwe, zvisinei, zvinogona kufungidzirwa kuti FS yakadaro, ine "nguva muchina" mashandiro, yakanakira kuchengetedza data iyo masevhisi ehungwaru angangoda kuchera mukati kuti adzokorore mufananidzo wese we. SMS, email, nezvimwewo....

NILFS2 zvakare inogona kunge iri chishandiso chakakosha kwazvo chemukati chekuchengetedza masevhisi, sezvo ichikutendera iwe kudzoreredza mavara akadzimwa mutsamba yetsamba, uchiratidza majamba evashandi vanogona kuzoedza kuvavanza nekudzima kana kushandura mafaera avo.

Ungatevedzera sei nhoroondo yako yese yetsamba?PaLinux maseva (uye apa ndipo panofanira kuiswa NILFS2 kuitira kuchengetedza mukati), iyo nzira yefaira yekuchengeta maemail inowanzoshandiswa kuchengetedza mameseji eemail. Iyo inonzi format Maildir. Zvakakwana kuisa Courier Mail Server uye gadzirisa kuchengetedza tsamba muMaildir. Imwe fomati mbox ifaira rakakura remavara rinogona kukamurwa zviri nyore kuita meseji yega.

Kana iyo mail server ichishandisa dhatabhesi, ipapo NILFS2 ichaita kuti zvikwanise kudzoreredza iyo chaiyo nguva yekuchinja kwedatabase uye kugona kudzoreredza dhatabhesi chero ipi zvayo nguva idzi. Uye ipapo iwe unofanirwa kushandisa dhatabhesi maturusi kuti uone zvaive mairi panguva iyoyo nenguva ...

Zvisinei, chimwe chinhu chakakanganisika. Pamwe hurumende yeJapan yakachinja pfungwa dzekutarisa munhu wese (a la the Yarovaya musimboti), kana kuita kweNILFS2 pane echinyakare HDDs kwakava pazasi, uye NILFS2 yakaburitswa pasi perezinesi reGPL uye nekukurumidza ikapinda muLinux kernel, kubvira. pakanga pasina kunyunyuta kwakanyanya pamusoro pekodhi yakanyorwa yakanyanya hunyanzvi Japanese, vagadziri veLinux kernel vakanga vasina.

Chii chinonzi NILFS2?

Kubva pakuona kwekushandisa: pane shanduro yekudzora system svn. Yese yeFS yekutarisa chibvumirano chinoitwa otomatiki pasina ruzivo rwemushandisi chero paine shanduko: kungave kudzima, kushandura zvirimo mufaira kana kushandura kodzero yekuwana. Kuzvipira kwega kwega kune nhamba inowedzera mutsara.

Kubva pakuona kwemugadziri: denderedzwa buffer. Iyo faira sisitimu inounganidza shanduko uye inoinyora muchunk yakaenzana ne8 MB (2000 * 4096, apo 2000 ndiyo nhamba yezvinhu mubhuroko uye 4096 saizi yepeji yekurangarira). Iyo dhisiki yese yakakamurwa kuita machunks akadaro. Kurekodha kunoenderera sequentially. Kana nzvimbo yemahara yapera, zvidhori zvekare zvinodzimwa uye machunks anonyorwa.

Basic NILFS2 zvinonaka

  • Versioning!!!
  • Maitiro ekudzoreredza faira system mushure mekutadza iri nyore: kana uchirodha, iyo yekupedzisira chunk ine chaiyo cheki inotsvakwa, uye superblock inoiswa pairi. Uku kuvhiya kunenge kuri pakarepo.
  • Nekuda kwekuti kurekodha nguva dzose kunoenderera mberi, zvino:
    • inogona kuratidza mibairo yakanaka kana ichimhanya paSSD ine zvishoma nezvishoma inonyora.
    • NILFS2 inochengetedza SSD sosi, sezvo paine inenge isina kunyora kuwanda chinhu.
      Kunyanya, haisi kupfuura 2.Icho chokwadi ndechekuti kana uchinyorazve dhisiki rese, NILFS2 inoendesa isingachinjike data kune zvidimbu zvitsva (chunks).

      Kana tine 10% ye data isingashanduki pa diski, ipapo tichawana kuwedzera kwe10% kunyora ne 1 kunyora zvakare. Zvakanaka, kuwedzera kwe50% pa50% kuzara kwechigadzirwa che 1 yakazara kunyorazve dhisiki.

      Kunyanya kunyora kuwana ndeye 2. Izvi zvakanyanya kuderera tichifunga kuti zvinhu zvose zvakanyorwa zvakatevedzana. Kazhinji, iwo animation yekunyora ichave shoma pane yeyakajairwa yakakamurwa faira system ine 4096-byte chikamu. (Pfungwa yakafemerwa na comment).

  • Kugona kuve nyore kwekuita kwekudzokorora kune iri kure NILFS2 FS

NILFS2 ye/home

MuUnix-senge masisitimu anoshanda, sekutonga, kune / imba dhairekitori inochengeterwa data remushandisi. Zvirongwa zvakasiyana-siyana zvinochengetedza zvigadziriso zvevashandisi vavo mune iyi folda.

Uye ndiani, kana asiri vashandisi, anoita zvikanganiso kazhinji? Naizvozvo, sezvavanotaura, Mwari pachake akarayira kushandiswa kweNILFS2 pa/home.

Zvakare, nekushandiswa kwakapararira kwemaSSD, isu hatichanetseke nezve kudhirowa kwakanyanya kana uchishandisa CoW faira masisitimu.

Ehe, isu tinogona kugadzira FS snapshots kakawanda sezvatinoda muZFS neBTRFS, asi pane nguva dzose njodzi yekuti yakarasika faira shanduko inozoguma pakati pezvipfupi. Uye iyo mifananidzo ichiri kuda kupihwa: yekare inoda kubviswa. MuNILFS2, zvese izvi zvinoitika otomatiki, chaizvo masekonzi mashoma.

Ini ndakagadzira vhoriyamu inonzwisisika ndichishandisa lvcreate (mune nvme vhoriyamu boka, nhete dziva rakatetepa). Ini ndinokurudzira kuigadzira pane lvm vhoriyamu, sezvo inogona kuwedzerwa nyore gare gare. Ini ndinokurudzira kuve ne50% yemahara dhisiki nzvimbo neNILFS2 yekudzika vhezheni kudzika.

lvcreate -V10G -T nvme/thin -n home

uye akaigadzira muNILFS2:

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 !!

Mushure meizvi, unofanirwa kukopa data rese kubva kune yazvino / kumba.

Ndakaita izvi pakarepo mushure mekubhowa komputa, ndisati ndapinda muakaunti yangu, semudzi wemushandisi. Dai ndaizopinda semushandisi wangu, mamwe mapurogiramu aizovhura zvigadziko uye mafaera mune yangu mushandisi / imba/mushandisi folda, izvo zvaizoita kuti kopi yakachena inonetsa. Sezvaunoziva, iyo folda yekumba yemudzi mushandisi inowanzowanikwa pa / mudzi nzira, saka hapana mafaera anozovhura pa / imba yekuparadzanisa.

mkdir /mnt/newhome
mount -t nilfs2 /dev/nvme/home /mnt/newhome
cp -a /home/. /mnt/newhome

Pamutsara wekupedzisira, maona chinyorwa.

Tevere tinogadzirisa /etc/fstab, umo iyo faira system ye / imba inokwidzwa, ku

/dev/disk/by-label/nvme_home /home nilfs2    noatime 0 0

Sarudzo noatime inodiwa kuvandudza mashandiro kuitira kuti nguva irege kuchinja nekuwana faira yega yega. Zvadaro tinotangazve.

Mhando dzemifananidzo muNILFS2.

Yenguva dzose snapshot isina kusadzivirirwa kudzima inonzi cheki kana nzvimbo yekudzoreredza.
Mufananidzo wakadzivirirwa kubva pakudzima-otomatiki unonzi snapshot, wobva wangotora mufananidzo.

Kuona macheki kunoitwa uchishandisa lscp command

Ona snapshots lscp -s

Isu tinogona kugadzira mifananidzo uye yekutarisa isu pachedu chero nguva tichishandisa:

mkcp [-s] устройство

Isu tinodzosera data.

NILFS inotibvumira kukwidza mifananidzo yakawanda yekare sezvatinoda mukufambirana nekushanda nebazi guru reFS. Asi chete mukuverenga mode.

Zvose zvakarongwa seizvi. Nguva dzose macheki anogadzirwa neNILFS2 anogona kudzima otomatiki chero nguva (kana dhisiki nzvimbo yapera kana zvinoenderana nemirairo yenilfs_cleanerd), saka tisati taisa tinofanirwa kushandura nzvimbo yekutarisa kuita snapshot kana, mukutaura kwechiRussian, tora snapshot.

chcp ss Π½ΠΎΠΌΠ΅Ρ€_Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π°

Mushure meizvozvo, tinogona kukwira mufananidzo, semuenzaniso, seizvi:

mount -t nilfs2 -r -o cp=Π½ΠΎΠΌΠ΅Ρ€_Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π° /dev/nvme/home /mnt/nilfs/Π½ΠΎΠΌΠ΅Ρ€_Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π°

Mushure mezvo tinokopa mafaira akadzorerwa kubva pamufananidzo kuenda / kumba.
Uye zvino isu tinobvisa iyo isiri-kubvisa mureza kubva pamufananidzo kuitira kuti mune ramangwana mutakuri wemarara otomatiki anogona kubvisa data rekare:

chcp cp Π½ΠΎΠΌΠ΅Ρ€_Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π°

Zvishandiso zveNILFS2

Asi iri ndiro dambudziko. Ehe, hongu, isu tinogona kugadzira faira system, shandura saizi yayo pamhepo, tarisa rondedzero yezvinonetsa, kugadzira uye kudzima. Iyo nilfs2-utils package inopa yakaderera gentleman's set.

Sezvo NTT yakadzora mari yayo, hapana zvishandiso zvinokurumidza zvepasi zvinokutendera kuti uratidze nhoroondo yekuchinja kwefaira kana kuita mutsauko pakati pezvipfupi.

Yangu n2u yekushandisa

Kuzadza vacuum iyi ndakanyora yako n2u yekushandisa, iyo inogona kuratidza nhoroondo yekuchinja kune yakatarwa faira/dhairekitori:

n2u log filename

Kubuda chinhu chakadai:

          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

Inoshanda nekukasira kune yakasarudzwa nzira yekushandisa: inotarisa misiyano pakati pemafaira uchishandisa iyo bisection nzira, nekukurumidza kukwira uye kuenzanisa iyo faira / dhairekitori mune akasiyana snapshots.

Iwe unogona kuseta huwandu hwekutarisa uchishandisa kiyi -cp CP1:CP2 kana -cp {YEAR-MM-DD}:{YEAR-MM-DD}.

Iwe unogona zvakare kuona mutsauko pakati pekutarisa kune yakatarwa faira kana dhairekitori:

n2u diff -r cp1:cp2 filename

Iwe unogona kuratidza nguva yese yekuchinja: misiyano yese pakati pekutarisa yeimwe faira / dhairekitori:

n2u blame [-r cp1:cp2] filename

Nguva yemazuva mumurairo uyu inotsigirwawo.

Kuchema kune vanogadzira

Kune vakawanda nyanzvi paHabrΓ©. Ndokumbira upedze NILFS2. Ita kudzokorora, yakaderera-nhanho inokurumidza kusiyana pakati pekudzokorora, reflink uye zvimwe zvinonaka!

nezvakanyorwa

Yepamutemo NILFS webhusaiti.

Repositories:
NILFS2.
NILFS2 zvishandiso uye ma module.

Tsamba dzenhau
E-mail tsamba yeNILFS2 vagadziri. ID yeLinux-nilfs kunyoreswa.
Newsletter archive.

nilfs_cleanerd setup guide.
Benchmarking EXT4, Btrfs, XFS & NILFS2 Performance Tests.

Ndatenda:

  • NILFS2 vagadziri: Ryusuke Konishi, Koji Sato, Naruhiko Kamimura, Seiji Kihara, Yoshiji Amagai, Hisashi Hifumi uye Satoshi Moriai. Vamwe vakanyanya kupa ndevanoti: Andreas Rohner, Dan McGee, David Arendt, David Smid, dexen deVries, Dmitry Smirnov, Eric Sandeen, Jiro SEKIBA, Matteo Frigo, Hitoshi Mitake, Takashi Iwai, Vyacheslav Dubeyko.
  • KuAmblin Varaidzo uye Yese Mifananidzo yeakanakisa akatevedzana emafirimu. "Kudzokera kune Ramangwana". Mufananidzo wekutanga wepositi wakatorwa kubva mufirimu "Kudzokera kune Ramangwana 3".
  • Makambani RUVDS nerutsigiro uye nemukana wekushambadza pane yako blog paHabrΓ©.

PS Ndokumbira utumire chero kukanganisa kwaunoona mune yakavanzika meseji. Ini ndinowedzera karma yangu nekuda kweizvi.

Unogona kuyedza NILFS2 nekuraira muchina chaiwo kubva RUVDS nekuponi pazasi. Kune vese vatengi vatsva pane yemahara yenguva yemazuva matatu.

NILFS2 - bulletproof faira system ye / kumba

Source: www.habr.com

Voeg