NILFS2 - system ffeiliau atal bwled ar gyfer / cartref

NILFS2 - system ffeiliau atal bwled ar gyfer / cartref

Fel y gwyddoch, os gall helynt ddigwydd, bydd yn bendant yn digwydd. Mae'n debyg bod pawb wedi cael achosion pan gafodd ffeil bwysig ddiweddar ei dileu'n ddamweiniol, neu pan gafodd testun ei ddewis a'i ddinistrio'n ddamweiniol mewn golygydd testun.

Os ydych chi'n gwesteiwr neu'n berchennog gwefan, yna mae'n debyg eich bod wedi dod ar draws hacio cyfrifon defnyddwyr neu'ch gwefan. Mewn achosion o'r fath, mae'n bwysig adfer y gronoleg, dod o hyd i'r dull mynediad a'r bregusrwydd a ddefnyddir gan yr ymosodwr.

Mae system ffeiliau NILFS2 yn berffaith ar gyfer datrys problemau o'r fath.

Mae wedi bod yn bresennol yn y cnewyllyn Linux ers fersiwn 2.6.30.

Hynodrwydd y system ffeiliau hon yw ei bod yn debyg i system rheoli fersiynau: gallwch chi bob amser rolio cyflwr y system yn ôl yn ôl ac edrych ar sut beth oedd hi beth amser yn ôl.

Er mwyn darparu'r swyddogaeth hon, nid oes angen i chi ffurfweddu sgriptiau Cron, cymryd cipluniau, ac ati. Mae system ffeiliau NILFS2 yn gwneud hyn i gyd ar ei phen ei hun. Nid yw byth yn trosysgrifo hen ddata ac mae bob amser yn ysgrifennu at rannau newydd o'r ddisg os oes digon o le ar y ddisg am ddim. Yn gwbl unol â'r egwyddor Copi-ar-Ysgrifen.

Mewn gwirionedd, mae unrhyw newid i ffeil yn awtomatig yn creu ciplun newydd o'r system ffeiliau, felly gallwch chi ddefnyddio'r FS hwn fel peiriant amser ac ailddirwyn cyflwr ffeiliau.

Stori

NILFS2 - system ffeiliau atal bwled ar gyfer / cartrefDatblygwyd NILFS2 yn nyfnderoedd Nippon Telegraph and Telephone Corporation, mewn gwirionedd, y wladwriaeth sy'n eiddo (mae ganddo gyfran rheoli) a'r cwmni telathrebu mwyaf yn Japan. Yn fwy penodol, yn y Labordai CyberSpace o dan yr arweinyddiaeth Ryusuke Konishi.

Nid yw'n hysbys beth yn union y cafodd ei ddatblygu ar ei gyfer, fodd bynnag, gellir tybio bod FS o'r fath, gyda'i swyddogaeth “peiriant amser”, yn ddelfrydol ar gyfer storio data y gallai'r gwasanaethau cudd-wybodaeth fod eisiau cloddio iddo er mwyn ailchwarae'r darlun cyfan o SMS, e-byst, ac ati....

Mae NILFS2 hefyd o bosibl yn arf gwerthfawr iawn ar gyfer gwasanaethau diogelwch mewnol, gan ei fod yn caniatáu i chi adfer yr holl lythyrau sydd wedi'u dileu yn y gronfa ddata post, gan ddatgelu tagfeydd gweithwyr a allai wedyn geisio eu cuddio trwy ddileu neu newid eu ffeiliau.

Sut allwch chi olrhain eich holl hanes gohebiaeth?Ar weinyddion Linux (a dyma lle dylid gosod NILFS2 at ddibenion diogelwch mewnol), defnyddir y dull ffeil o storio negeseuon e-bost yn aml iawn i storio negeseuon e-bost. Yr hyn a elwir yn fformat Maildir. Digon i'w roi Gweinydd Post Courier a ffurfweddu storfa bost yn Maildir. Fformat arall mbox yn ffeil destun fawr y gellir ei dosrannu'n hawdd i negeseuon unigol.

Os yw'r gweinydd post yn defnyddio cronfa ddata, yna bydd NILFS2 yn ei gwneud hi'n bosibl adfer union amseriad newidiadau cronfa ddata a'r gallu i adfer y gronfa ddata ar unrhyw un o'r eiliadau hyn. Ac yna mae angen i chi ddefnyddio offer cronfa ddata i weld beth oedd ynddo ar yr adeg honno ...

Fodd bynnag, aeth rhywbeth o'i le. Naill ai newidiodd llywodraeth Japan ei meddwl am fonitro pawb (a la yr egwyddor Yarovaya), neu roedd perfformiad NILFS2 ar HDDs traddodiadol yn is na'r par, a rhyddhawyd NILFS2 o dan y drwydded GPL ac aeth i mewn i'r cnewyllyn Linux yn gyflym iawn, ers hynny. nid oedd unrhyw gwynion penodol am y cod a ysgrifennwyd Japaneaidd cymwys iawn, nid oedd gan ddatblygwyr y cnewyllyn Linux ef.

Sut beth yw NILFS2?

O safbwynt defnydd: ar system rheoli fersiwn SVN. Mae pob pwynt gwirio FS yn ymrwymiad a wneir yn awtomatig heb yn wybod i'r defnyddiwr pryd bynnag y bydd unrhyw newid: boed yn ddileu, yn newid cynnwys ffeil neu'n newid hawliau mynediad. Mae gan bob ymrwymiad rif sy'n cynyddu'n llinol.

O safbwynt rhaglennydd: byffer cylchol. Mae'r system ffeiliau yn cronni newidiadau ac yn eu hysgrifennu i mewn i dalp sy'n hafal i tua 8 MB (2000 * 4096, lle mae 2000 yn nifer yr elfennau yn y bloc a 4096 yw maint y dudalen cof). Rhennir y ddisg gyfan yn dalpiau o'r fath. Mae'r recordiad yn mynd rhagddo yn olynol. Pan fydd gofod rhydd yn dod i ben, caiff y cipluniau hynaf eu dileu a chaiff y talpiau eu trosysgrifo.

Nwyddau sylfaenol NILFS2

  • Fersiynu!!!
  • Mae'r weithdrefn ar gyfer adfer system ffeiliau ar ôl methiant yn syml: wrth lwytho, chwilir am y darn olaf sydd â'r siec gywir, a gosodir bloc mawr arno. Mae hwn yn llawdriniaeth bron ar unwaith.
  • Oherwydd bod cofnodi bob amser yn mynd rhagddo'n llinol, yna:
    • yn gallu dangos canlyniadau da wrth redeg ar SSD gydag ysgrifennu ar hap araf.
    • Mae NILFS2 yn arbed adnodd SSD, gan nad oes bron unrhyw ffactor lluosi ysgrifennu.
      Yn fwy manwl gywir, nid yw'n fwy na 2.Y ffaith yw, wrth ailysgrifennu'r ddisg gyfan yn gylchol, bydd NILFS2 yn trosglwyddo data digyfnewid i ddarnau newydd (darnau).

      Os oes gennym 10% o ddata digyfnewid ar y ddisg, yna byddwn yn cael cynnydd ysgrifennu o 10% gydag 1 ailysgrifennu cyflawn. Wel, cynnydd o 50% ar 50% llawnder y ddyfais ar gyfer 1 ailysgrifennu cyflawn o'r ddisg.

      Y cynnydd ysgrifennu mwyaf yw 2. Mae hyn yn isel iawn o ystyried bod popeth wedi'i ysgrifennu'n ddilyniannol. Yn gyffredinol, bydd yr animeiddiad ysgrifennu yn llai na system ffeiliau darniog confensiynol gyda sector 4096-beit. (Meddwl wedi'i ysbrydoli gan sylw).

  • Rhwyddineb posibl gweithredu'r atgynhyrchu i NILFS2 FS anghysbell

NILFS2 ar gyfer/cartref

Mewn systemau gweithredu tebyg i Unix, fel rheol, mae ffolder / cartref lle mae data defnyddwyr yn cael ei storio. Mae rhaglenni amrywiol yn cadw eu gosodiadau defnyddiwr-benodol yn y ffolder hwn.

A phwy, os nad defnyddwyr, sy'n gwneud camgymeriadau amlaf? Felly, fel y dywedant, gorchmynnodd Duw ei hun ddefnyddio NILFS2 gartref.

Ar ben hynny, gyda'r defnydd eang o SSDs, nid oes yn rhaid i ni bellach boeni am anfanteision difrifol wrth ddefnyddio systemau ffeiliau CoW.

Oes, gallwn greu cipluniau FS mor aml ag y dymunwn yn ZFS a BTRFS, ond mae risg bob amser y bydd newid ffeil coll yn y pen draw rhwng y cipluniau. Ac mae angen gweinyddu'r lluniau o hyd: mae angen dileu hen rai. Yn NILFS2, mae hyn i gyd yn digwydd yn awtomatig, yn llythrennol bob ychydig eiliadau.

Creais gyfrol resymegol gan ddefnyddio lvcreate (yn y grŵp cyfaint nvme, tenau pwll tenau). Rwy'n argymell ei greu ar y gyfrol lvm, oherwydd gellir ei ehangu'n hawdd yn nes ymlaen. Rwy'n argymell cael lle disg 50% am ddim gyda NILFS2 ar gyfer dyfnder fersiwn gweddus.

lvcreate -V10G -T nvme/thin -n home

a'i fformatio yn 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 !!

Ar ôl hyn, mae angen i chi gopïo'r holl ddata o'r presennol / cartref.

Gwnes hyn yn syth ar ôl cychwyn y cyfrifiadur, cyn mewngofnodi i'm cyfrif, fel y defnyddiwr gwraidd. Pe bawn i'n mewngofnodi fel fy nefnydd, byddai rhai rhaglenni'n agor socedi a ffeiliau yn ffolder fy defnyddiwr / cartref / defnyddiwr, a fyddai'n gwneud copi glân yn anodd. Fel y gwyddoch, mae'r ffolder cartref ar gyfer y defnyddiwr gwraidd fel arfer wedi'i leoli ar y llwybr / gwraidd, felly ni fydd unrhyw ffeiliau'n agor ar y rhaniad / cartref.

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

Am y llinell olaf, gw erthygl.

Nesaf rydym yn golygu /etc/fstab, lle mae'r system ffeiliau ar gyfer /home wedi'i osod, i

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

Opsiwn noatime angen i wella perfformiad fel nad yw'r amser yn newid gyda phob mynediad ffeil. Nesaf rydym yn ailgychwyn.

Mathau o ddelweddau yn NILFS2.

Gelwir ciplun rheolaidd heb imiwnedd i ddileu yn bwynt gwirio neu bwynt adfer.
Gelwir ciplun sy'n cael ei warchod rhag dileu'n awtomatig yn giplun, ac yna'n giplun yn unig.

Gwneir gwylio pwyntiau gwirio gan ddefnyddio'r gorchymyn lscp

Gweld cipluniau lscp -s

Gallwn greu cipluniau a phwyntiau gwirio ein hunain unrhyw bryd gan ddefnyddio:

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

Rydym yn adfer data.

Mae NILFS yn caniatáu i ni osod cymaint o hen gipluniau ag y dymunwn ochr yn ochr â gweithio gyda phrif gangen yr FS. Ond dim ond yn y modd darllen.

Trefnir popeth fel hyn. Gellir dileu pwyntiau gwirio rheolaidd y mae NILFS2 yn eu gwneud yn awtomatig ar unrhyw adeg (pan fydd gofod disg yn dod i ben neu yn unol â rheolau nilfs_cleanerd), felly cyn gosod rhaid i ni drosi'r pwynt gwirio yn giplun neu, yn Rwsieg, dal y ciplun.

chcp ss номер_чекпоинта

Ar ôl hynny, gallwn osod y ciplun, er enghraifft, fel hyn:

mount -t nilfs2 -r -o cp=номер_чекпоинта /dev/nvme/home /mnt/nilfs/номер_чекпоинта

Ar ôl hynny rydym yn copïo'r ffeiliau wedi'u hadfer o'r ciplun i / cartref.
Ac wedi hynny rydym yn tynnu'r faner nad yw'n dileu o'r ciplun fel y gall y casglwr sbwriel awtomatig gael gwared ar ddata sydd wedi dyddio yn y dyfodol:

chcp cp номер_чекпоинта

Cyfleustodau ar gyfer NILFS2

Ond dyma'r broblem. Oes, wrth gwrs, gallwn greu system ffeiliau, newid ei maint ar-lein, gweld y rhestr o bwyntiau her, eu creu a'u dileu. Mae'r pecyn nilfs2-utils yn darparu set gŵr bonheddig lleiaf posibl.

Gan fod NTT wedi cwtogi ar ei gyllid, nid oes unrhyw gyfleustodau lefel isel cyflym sy'n eich galluogi i arddangos hanes newidiadau ffeil neu wneud gwahaniaeth rhwng cipluniau.

Fy cyfleustodau n2u

I lenwi'r gwactod hwn ysgrifennais eich cyfleustodau n2u, sy'n gallu dangos hanes newidiadau i ffeil/cyfeiriadur penodol:

n2u log filename

Mae'r allbwn yn rhywbeth fel hyn:

          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

Mae'n gweithio'n eithaf cyflym ar gyfer y dull gweithredu a ddewiswyd: mae'n edrych am wahaniaethau rhwng ffeiliau gan ddefnyddio'r dull rhannu, gosod yn gyflym a chymharu'r ffeil/cyfeiriadur mewn gwahanol gipluniau.

Gallwch chi osod ystod o bwyntiau gwirio gan ddefnyddio'r allwedd -cp CP1:CP2 neu -cp {YEAR-MM-DD}:{YEAR-MM-DD}.

Gallwch hefyd weld y gwahaniaeth rhwng pwyntiau gwirio ar gyfer ffeil neu gyfeiriadur penodol:

n2u diff -r cp1:cp2 filename

Gallwch ddangos cronoleg gyfan y newidiadau: yr holl wahaniaethau rhwng pwyntiau gwirio ffeil/cyfeiriadur penodol:

n2u blame [-r cp1:cp2] filename

Cefnogir cyfwng dyddiad yn y gorchymyn hwn hefyd.

Gwaedd i'r datblygwyr

Mae yna lawer o arbenigwyr ar Habré. Gorffennwch NILFS2. Gwnewch atgynhyrchu, lefel isel yn gyflym yn gwahaniaethu rhwng adolygiadau, ail-gysylltu a nwyddau eraill!

cyfeiriadau

Gwefan swyddogol NILFS.

Storfeydd:
NILFS2.
Cyfleustodau a modiwlau NILFS2.

Cylchlythyrau:
Cylchlythyr e-bost ar gyfer datblygwyr NILFS2. ID ar gyfer tanysgrifiad linux-nilfs.
Archif cylchlythyr.

canllaw gosod nilfs_cleanerd.
Meincnodi Profion Perfformiad EXT4, Btrfs, XFS a NILFS2.

Diolch:

  • Datblygwyr NILFS2: Ryusuke Konishi, Koji Sato, Naruhiko Kamimura, Seiji Kihara, Yoshiji Amagai, Hisashi Hifumi a Satoshi Moriai. Y cyfranwyr mawr eraill yw: Andreas Rohner, Dan McGee, David Arendt, David Smid, dexen deVries, Dmitry Smirnov, Eric Sandeen, Jiro SEKIBA, Matteo Frigo, Hitoshi Mitake, Takashi Iwai, Vyacheslav Dubeyko.
  • I Amblin Entertainment a Universal Pictures am gyfres wych o ffilmiau. "Yn ôl i'r dyfodol". Daw'r llun cyntaf o'r post o'r ffilm "Yn ôl i'r Dyfodol 3".
  • Cwmnïau RUVDS am gefnogaeth a'r cyfle i gyhoeddi ar eich blog ar Habré.

PS Anfonwch unrhyw wallau y byddwch yn sylwi arnynt mewn neges breifat. Rwy'n cynyddu fy karma ar gyfer hyn.

Gallwch arbrofi gyda NILFS2 trwy archebu peiriant rhithwir o RUVDS gyda'r cwpon isod. Ar gyfer pob cleient newydd mae cyfnod prawf am ddim o 3 diwrnod.

NILFS2 - system ffeiliau atal bwled ar gyfer / cartref

Ffynhonnell: hab.com

Ychwanegu sylw