NILFS2 - sistema ta' fajls li ma jgħaddix balal għal /home
Kif tafu, jekk jista 'jiġri l-inkwiet, żgur li se jiġri. Probabbilment kulħadd kellu każijiet meta fajl importanti reċenti tħassar aċċidentalment, jew test ġie magħżul u meqrud aċċidentalment f'editur tat-test.
Jekk inti hoster jew sid ta 'websajt, allura probabilment iltqajt ma' hacking tal-kontijiet tal-utent jew il-websajt tiegħek. F'każijiet bħal dawn, huwa importanti li tiġi restawrata l-kronoloġija, issib il-metodu tad-dħul u l-vulnerabbiltà użata mill-attakkant.
Is-sistema tal-fajls NILFS2 hija perfetta biex issolvi problemi bħal dawn.
Ilu preżenti fil-kernel tal-Linux mill-verżjoni 2.6.30.
Il-partikolarità ta' din is-sistema ta' fajls hija li hija simili għal sistema ta' kontroll tal-verżjoni: tista' dejjem tirreġġa' lura l-istat tas-sistema lura u tħares lejn kif kienet xi żmien ilu.
Biex tipprovdi din il-funzjonalità, m'għandekx bżonn tikkonfigura skripts Cron, tieħu snapshots, eċċ. Is-sistema tal-fajls NILFS2 tagħmel dan kollu waħedha. Qatt ma tissostitwixxi data antika u dejjem tikteb f'żoni ġodda tad-diska jekk ikun hemm biżżejjed spazju ħieles fuq id-diska. F'konformità sħiħa mal-prinċipju tal-Kopja fuq il-Kitba.
Fil-fatt, kwalunkwe bidla għal fajl awtomatikament toħloq stampa ġdida tas-sistema tal-fajls, sabiex tkun tista 'tuża din l-FS bħala magna tal-ħin u tirrivolġi l-istat tal-fajls.
Story
NILFS2 ġie żviluppat fil-fond ta ' Nippon Telegraph and Telephone Corporation, fil-fatt, l-istat (għandha sehem ta 'kontroll) u l-akbar kumpanija tat-telekomunikazzjoni fil-Ġappun. B'mod aktar speċifiku, fil-Laboratorji CyberSpace taħt it-tmexxija Ryusuke Konishi.
Għal xiex kien żviluppat eżatt mhuwiex magħruf, madankollu, wieħed jista’ jassumi li tali FS, bil-funzjonalità ta’ “magna tal-ħin” tagħha, hija ideali għall-ħażna ta’ data li s-servizzi tal-intelliġenza jistgħu jkunu jridu jħaffru fiha sabiex jerġgħu juru l-istampa kollha ta’ SMS, emails, eċċ....
NILFS2 huwa wkoll potenzjalment għodda siewja ħafna għas-servizzi tas-sigurtà interna, peress li jippermettilek li tirkupra l-ittri kollha mħassra fid-database tal-posta, u tiżvela l-jambs tal-impjegati li sussegwentement jistgħu jippruvaw jaħbihom billi jħassru jew jibdlu l-fajls tagħhom.
Kif tista 'ssegwi l-istorja kollha tal-korrispondenza tiegħek?Fuq servers Linux (u dan huwa fejn NILFS2 għandu jiġi installat għal skopijiet ta 'sigurtà interna), il-metodu tal-fajl tal-ħażna tal-emails ħafna drabi jintuża biex jaħżnu messaġġi tal-email. L-hekk imsejjaħ format Maildir. Biżżejjed biex tpoġġi Courier Mail Server u kkonfigurat il-ħażna tal-posta f'Maildir. Format ieħor mbox huwa fajl test kbir li jista 'jiġi parsed faċilment f'messaġġi individwali.
Jekk is-server tal-posta juża database, allura NILFS2 jagħmilha possibbli li tirrestawra l-ħin eżatt tal-bidliet fid-database u l-abbiltà li tirrestawra d-database fi kwalunkwe minn dawn il-mumenti. U mbagħad trid tuża għodod tad-database biex tara x'kien hemm fiha f'dak il-mument...
Madankollu, xi ħaġa marret ħażin. Jew il-gvern Ġappuniż bidel fehmtu dwar il-monitoraġġ ta 'kulħadd (a la-prinċipju ta' Yarovaya), jew il-prestazzjoni ta 'NILFS2 fuq HDDs tradizzjonali rriżulta li kienet taħt il-par, u NILFS2 ġie rilaxxat taħt il-liċenzja GPL u malajr ħafna daħal fil-kernel Linux, peress li ma kien hemm l-ebda ilmenti partikolari dwar il-kodiċi miktub Ġappuniż kwalifikat ħafna, l-iżviluppaturi tal-kernel Linux ma kellhomx.
X'inhu NILFS2?
Mil-lat ta 'użu: fuq sistema ta' kontroll tal-verżjoni SVN. Kull punt ta 'kontroll FS huwa impenn li jsir awtomatikament mingħajr l-għarfien tal-utent kull meta jkun hemm xi bidla: kemm jekk tkun tħassir, tibdil tal-kontenut ta' fajl jew tibdil tad-drittijiet tal-aċċess. Kull impenn għandu numru li jiżdied b'mod lineari.
Mil-lat ta' programmatur: buffer ċirkolari. Is-sistema tal-fajls takkumula l-bidliet u tiktebhom f'biċċa daqs bejn wieħed u ieħor 8 MB (2000 * 4096, fejn 2000 huwa n-numru ta 'elementi fil-blokk u 4096 huwa d-daqs tal-paġna tal-memorja). Id-disk kollu huwa maqsum f'biċċiet bħal dawn. Ir-reġistrazzjoni tipproċedi sekwenzjali. Meta jispiċċa l-ispazju ħieles, l-eqdem snapshots jitħassru u l-biċċiet jinkitbu fuqhom.
Goodies bażiċi NILFS2
Verżjoni!!!
Il-proċedura għar-restawr ta 'sistema ta' fajls wara falliment hija sempliċi: waqt it-tagħbija, l-aħħar biċċa li għandha l-checksum korretta hija mfittxija, u superblock huwa installat fuqha. Din hija operazzjoni kważi immedjata.
Minħabba l-fatt li r-reġistrazzjoni dejjem tipproċedi b'mod lineari, allura:
jista 'juri riżultati tajbin meta taħdem fuq SSD b'kitba każwali bil-mod.
NILFS2 jiffranka r-riżorsi SSD, peress li kważi m'hemm l-ebda fattur ta 'multiplikazzjoni tal-kitba. B'mod aktar preċiż, mhuwiex aktar minn 2.Il-fatt hu li meta tikteb mill-ġdid ċiklikament id-disk kollu, NILFS2 jittrasferixxi data li ma tistax tinbidel għal biċċiet ġodda (biċċiet).
Jekk ikollna 10% ta 'dejta li ma tinbidel fuq id-diska, allura se nġibu żieda ta' 10% ta 'kitba b'kitba mill-ġdid kompluta. Ukoll, żieda ta '1% fil-milja ta' 50% tal-apparat għal kitba mill-ġdid kompluta tad-diska.
Il-qligħ massimu tal-kitba huwa 2. Dan huwa baxx ħafna meta wieħed iqis li kollox huwa miktub sekwenzjali. B'mod ġenerali, l-animazzjoni tal-kitba tkun inqas minn dik ta 'sistema ta' fajls frammentata konvenzjonali b'settur ta '4096 byte. (Ħsieb ispirat minn jikkummenta).
Faċilità potenzjali ta' implimentazzjoni ta' replikazzjoni għal FS NILFS2 remot
NILFS2 għal /home
F'sistemi operattivi bħal Unix, bħala regola, hemm folder /home li fih tinħażen id-dejta tal-utent. Diversi programmi jsalvaw is-settings speċifiċi għall-utent tagħhom f'dan il-folder.
U min, jekk mhux l-utenti, jagħmel żbalji l-aktar spiss? Għalhekk, kif jgħidu, Alla nnifsu ordna l-użu ta 'NILFS2 fuq /home.
Barra minn hekk, bl-użu mifrux ta 'SSDs, issa m'għandniex għalfejn ninkwetaw dwar tnaqqis serju meta nużaw is-sistemi tal-fajl CoW.
Iva, nistgħu noħolqu snapshots FS kemm inħobbu f'ZFS u BTRFS, iżda dejjem hemm riskju li bidla tal-fajl mitlufa tispiċċa bejn l-istampaturi. U l-istampi għad iridu jiġu amministrati: dawk qodma jeħtieġ li jitħassru. F'NILFS2, dan kollu jiġri awtomatikament, litteralment kull ftit sekondi.
Ħloqt volum loġiku bl-użu ta 'lvcreate (fil-grupp ta' volum nvme, thin pool thin). Nirrakkomanda li tinħoloq fuq il-volum lvm, peress li tista 'tiġi estiża faċilment aktar tard. Nirrakkomanda li jkollok 50% spazju ħieles fuq id-diska b'NILFS2 għal fond tal-verżjoni deċenti.
lvcreate -V10G -T nvme/thin -n home
u ifformattjatha f'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 !!
Wara dan, għandek bżonn tikkopja d-dejta kollha mill-/home kurrenti.
Għamilt dan immedjatament wara li btajjar il-kompjuter, qabel ma dħalt fil-kont tiegħi, bħala l-utent root. Kieku kelli nilloggja bħala l-utent tiegħi, xi programmi jiftħu sockets u fajls fil-folder /home/user tal-utent tiegħi, li jagħmlu kopja nadifa diffiċli. Kif tafu, il-fowlder tad-dar għall-utent ta 'l-għerq normalment jinsab fuq il-mogħdija ta' /root, għalhekk l-ebda fajl ma jinfetaħ fuq il-partizzjoni /home.
mkdir /mnt/newhome
mount -t nilfs2 /dev/nvme/home /mnt/newhome
cp -a /home/. /mnt/newhome
Għażla noatime meħtieġa biex tittejjeb il-prestazzjoni sabiex l-atime ma jinbidilx ma 'kull aċċess għall-fajl. Sussegwentement aħna reboot.
Tipi ta' immaġini f'NILFS2.
Snapshot regolari mingħajr immunità għat-tħassir jissejjaħ punt ta 'kontroll jew punt ta' rkupru.
Snapshot protett minn awto-tħassir tissejjaħ snapshot, imbagħad sempliċiment snapshot.
Il-wiri tal-punti ta' kontroll isir bl-użu tal-kmand lscp
Ara snapshots lscp -s
Nistgħu noħolqu snapshots u punti ta' kontroll aħna stess fi kwalunkwe ħin billi nużaw:
mkcp [-s] устройство
Nirrestawraw id-dejta.
NILFS jippermettilna nimmuntaw kemm snapshots qodma kemm irridu b'mod parallel mal-ħidma mal-fergħa ewlenija tal-FS. Iżda biss fil-modalità tal-qari.
Kollox huwa rranġat hekk. Il-punti ta 'kontroll regolari li jagħmel NILFS2 jistgħu jitħassru awtomatikament fi kwalunkwe ħin (meta l-ispazju fuq id-diska jispiċċa jew skont ir-regoli nilfs_cleanerd), għalhekk qabel l-installazzjoni rridu nikkonvertiw il-punt ta' kontroll f'istampa jew, bir-Russu, naqbdu l-istampa.
chcp ss номер_чекпоинта
Wara dan, nistgħu narmaw l-istampa, pereżempju, bħal dan:
mount -t nilfs2 -r -o cp=номер_чекпоинта /dev/nvme/home /mnt/nilfs/номер_чекпоинта
Wara dan nikkopja l-fajls restawrati mill-istampa għal /home.
U sussegwentement ineħħu l-bandiera li ma tistax titħassar mill-istampa sabiex fil-futur il-kollettur awtomatiku taż-żibel ikun jista’ jneħħi dejta skaduta:
chcp cp номер_чекпоинта
Utilitajiet għal NILFS2
Iżda din hija l-problema. Iva, ovvjament, nistgħu noħolqu sistema ta 'fajls, nibdlu d-daqs tagħha onlajn, naraw il-lista ta' challengepoints, noħolquhom u nħassruhom. Il-pakkett nilfs2-utils jipprovdi sett minimu ta 'gentleman.
Peress li NTT naqqas il-finanzjament tiegħu, m'hemm l-ebda utilitajiet veloċi ta 'livell baxx li jippermettulek turi l-istorja tal-bidliet fil-fajl jew tagħmel differenza bejn snapshots.
L-utilità tiegħi n2u
Biex timla dan il-vakwu ktibt l-utilità n2u tiegħek, li jista' juri l-istorja tal-bidliet f'fajl/direttorju speċifiku:
n2u log filename
L-output huwa xi ħaġa bħal din:
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
Jaħdem pjuttost malajr għall-metodu ta 'implimentazzjoni magħżul: ifittex differenzi bejn il-fajls bl-użu tal-metodu ta' bisection, immuntar malajr u jqabbel il-fajl/direttorju fi snapshots differenti.
Tista' tissettja firxa ta' punti ta' kontroll billi tuża ċ-ċavetta -cp CP1:CP2 jew -cp {YEAR-MM-DD}:{YEAR-MM-DD}.
Tista 'tara wkoll id-differenza bejn il-punti ta' kontroll għal fajl jew direttorju speċifiku:
n2u diff -r cp1:cp2 filename
Tista' turi l-kronoloġija kollha tal-bidliet: id-differenzi kollha bejn il-punti ta' kontroll ta' fajl/direttorju speċifiku:
n2u blame [-r cp1:cp2] filename
L-intervall tad-data f'dan il-kmand huwa appoġġjat ukoll.
Għajta lill-iżviluppaturi
Hemm ħafna speċjalisti fuq Habré. Jekk jogħġbok spiċċa NILFS2. Agħmel replikazzjoni, diff veloċi ta' livell baxx bejn reviżjonijiet, reflink u goodies oħra!
Iżviluppaturi NILFS2: Ryusuke Konishi, Koji Sato, Naruhiko Kamimura, Seiji Kihara, Yoshiji Amagai, Hisashi Hifumi u Satoshi Moriai. Kontributuri ewlenin oħra huma: Andreas Rohner, Dan McGee, David Arendt, David Smid, dexen deVries, Dmitry Smirnov, Eric Sandeen, Jiro SEKIBA, Matteo Frigo, Hitoshi Mitake, Takashi Iwai, Vyacheslav Dubeyko.
Lil Amblin Entertainment u Universal Pictures għal sensiela mill-isbaħ ta’ films. "Lura għall-Futur". L-ewwel stampa tal-post hija meħuda mill-film "Lura għall-Futur 3".
Kumpaniji RUVDS għall-appoġġ u l-opportunità li tippubblika fuq il-blog tiegħek fuq Habré.
PS Jekk jogħġbok ibgħat kwalunkwe żball li tinnota f'messaġġ privat. Inżid il-karma tiegħi għal dan.
Tista' tesperimenta b'NILFS2 billi tordna magna virtwali minn RUVDS bil-kupun hawn taħt. Għall-klijenti l-ġodda kollha hemm perjodu ta' prova b'xejn ta' 3 ijiem.