NILFS2 - yon sistèm dosye bal pou /home

NILFS2 - yon sistèm dosye bal pou /home

Kòm ou konnen, si pwoblèm ka rive, li pral definitivman rive. Pwobableman tout moun te gen ka lè yon dosye enpòtan ki sot pase yo te aksidantèlman efase, oswa tèks yo te aksidantèlman chwazi ak detwi nan yon editè tèks.

Si ou se yon hoster oswa pwopriyetè sit entènèt, Lè sa a, ou te pwobableman rankontre Hacking nan kont itilizatè oswa sit entènèt ou an. Nan ka sa yo, li enpòtan pou retabli kwonoloji a, jwenn metòd pou antre ak vilnerabilite atakè a itilize.

Sistèm fichye NILFS2 pafè pou rezoud pwoblèm sa yo.

Li te prezan nan nwayo Linux la depi vèsyon 2.6.30.

Singularité a nan sistèm fichye sa a se ke li sanble ak yon sistèm kontwòl vèsyon: ou ka toujou woule tounen eta a nan sistèm nan tounen epi gade nan ki sa li te tankou kèk tan de sa.

Pou bay fonksyonalite sa a, ou pa bezwen konfigirasyon scripts Cron, pran snapshots, elatriye. Sistèm dosye NILFS2 fè sa pou kont li. Li pa janm ranplase ansyen done epi li toujou ekri nan nouvo zòn nan disk la si gen ase espas ki gen kapasite gratis. An akò konplè ak prensip Copy-on-Write.

An reyalite, nenpòt chanjman nan yon fichye otomatikman kreye yon nouvo snapshot nan sistèm nan dosye, kidonk, ou ka itilize FS sa a kòm yon machin tan ak remonte eta a nan dosye.

Istwa

NILFS2 - yon sistèm dosye bal pou /homeNILFS2 te devlope nan pwofondè de Nippon Telegraph and Telephone Corporation, an reyalite, leta a (li gen yon poto kontwòl) ak pi gwo konpayi telekominikasyon nan Japon. Plis espesyalman, nan laboratwa CyberSpace anba lidèchip la Ryusuke Konishi.

Ki sa egzakteman li te devlope se enkoni, sepandan, li ka sipoze ke tankou yon FS, ak fonksyonalite "tan machin" li yo, se ideyal pou estoke done ke sèvis entèlijans yo ta ka vle fouye nan yo nan lòd yo rejoue foto a tout antye de. SMS, imèl, elatriye....

NILFS2 se tou potansyèlman yon zouti ki gen anpil valè pou sèvis sekirite entèn yo, paske li pèmèt ou refè tout lèt efase nan baz done lapòs la, revele jamb yo nan anplwaye yo ki ka imedyatman eseye degize yo pa efase oswa chanje dosye yo.

Ki jan ou ka swiv tout istwa korespondans ou a?Sou serveurs Linux (e sa a se kote yo ta dwe enstale NILFS2 pou rezon sekirite entèn), metòd dosye a pou estoke imel yo trè souvan itilize nan magazen mesaj imel. Fòma sa yo rele Maildir. Ase pou mete Sèvè Courier Mail ak konfigirasyon depo lapòs nan Maildir. Lòt fòma mbox se yon gwo dosye tèks ki ka fasilman analize nan mesaj endividyèl.

Si sèvè lapòs la sèvi ak yon baz done, Lè sa a, NILFS2 pral rann li posib pou retabli tan egzak chanjman baz done a ak kapasite pou retabli baz done a nan nenpòt nan moman sa yo. Lè sa a, ou bezwen sèvi ak zouti baz done yo wè sa ki te nan li nan moman sa a nan tan ...

Sepandan, yon bagay te ale mal. Swa gouvènman Japonè a chanje lide sou siveyans tout moun (a la prensip Yarovaya), oswa pèfòmans NILFS2 sou HDD tradisyonèl yo te vin pi ba pase par, epi NILFS2 te lage anba lisans GPL epi trè vit antre nan nwayo Linux la, depi pa te gen okenn plent patikilye sou kòd la ekri trè kalifye Japonè, devlopè yo nan nwayo a Linux pa t 'gen li.

Ki jan NILFS2 ye?

Soti nan yon pwen de vi itilizasyon: sou yon sistèm kontwòl vèsyon SVN. Chak pòs FS se yon komèt ki fèt otomatikman san itilizatè a konnen chak fwa gen nenpòt chanjman: kit se efase, chanje sa ki nan yon dosye oswa chanje dwa aksè. Chak komite gen yon nimewo ki ogmante lineyèman.

Soti nan pwen de vi yon pwogramè: yon tanpon sikilè. Sistèm fichye a akimile chanjman epi ekri yo nan yon moso ki egal a apeprè 8 MB (2000 * 4096, kote 2000 se kantite eleman nan blòk la ak 4096 se gwosè paj memwa a). Se disk la tout antye divize an fragman sa yo. Anrejistreman an kontinye sekans. Lè espas lib fini, pi ansyen snapshots yo efase epi moso yo ranplase.

Kado debaz NILFS2

  • Versioning!!!
  • Pwosedi pou restorasyon yon sistèm dosye apre yon echèk se senp: lè w ap chaje, yo chèche dènye moso ki gen sòm chèk ki kòrèk la, epi yo enstale yon superblok sou li. Sa a se yon operasyon prèske enstantane.
  • Akòz lefèt ke anrejistreman toujou kontinye lineyè, lè sa a:
    • ka montre bon rezilta lè w ap kouri sou yon SSD ak ekri dousman o aza.
    • NILFS2 sove resous SSD, paske prèske pa gen okenn faktè miltiplikasyon ekri.
      Plis jisteman, li pa plis pase 2.Reyalite a se ke lè siklik reekri disk la tout antye, NILFS2 pral transfere done ki pa ka chanje nan nouvo moso (moso).

      Si nou gen 10% done ki pa chanje sou disk la, Lè sa a, nou pral jwenn yon ogmantasyon 10% ekri ak 1 re-ekri konplè. Oke, yon ogmantasyon 50% nan 50% plenite nan aparèy la pou 1 re-ekri konplè sou disk la.

      Maksimòm benefis ekri a se 2. Sa a trè ba lè nou konsidere ke tout bagay ekri sekans. An jeneral, animasyon ekri a pral mwens pase sa yo ki nan yon sistèm fichye konvansyonèl fragman ak yon sektè 4096-byte. (Panse enspire pa kòmantè).

  • Fasilite potansyèl aplikasyon replikasyon nan yon FS aleka NILFS2

NILFS2 pou /home

Nan sistèm operasyon ki tankou Unix, kòm yon règ, gen yon katab /home kote done itilizatè yo estoke. Plizyè pwogram sove paramèt espesifik itilizatè yo nan katab sa a.

Ak ki moun, si se pa itilizatè, fè erè pi souvan? Se poutèt sa, jan yo di, Bondye li menm te bay lòd pou yo sèvi ak NILFS2 sou /home.

Anplis de sa, ak itilizasyon SSD yo toupatou, kounye a nou pa bezwen enkyete sou dezavantaj grav lè w ap itilize sistèm dosye CoW.

Wi, nou ka kreye snapshots FS osi souvan ke nou renmen nan ZFS ak BTRFS, men toujou gen yon risk ke yon chanjman dosye pèdi pral fini ant snapshots yo. Ak foto yo toujou bezwen administre: ansyen yo bezwen efase. Nan NILFS2, tout bagay sa yo rive otomatikman, literalman chak kèk segonn.

Mwen te kreye yon volim lojik lè l sèvi avèk lvcreate (nan gwoup volim nvme, mens pisin mens). Mwen rekòmande pou kreye li sou volim lvm, paske li ka fasilman elaji pita. Mwen rekòmande pou gen 50% espas disk gratis ak NILFS2 pou pwofondè vèsyon desan.

lvcreate -V10G -T nvme/thin -n home

ak fòma li nan 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 !!

Apre sa, ou bezwen kopye tout done ki soti nan /home aktyèl la.

Mwen te fè sa imedyatman apre demaraj òdinatè a, anvan ou antre nan kont mwen an, kòm itilizatè rasin lan. Si mwen ta konekte kòm itilizatè mwen an, kèk pwogram ta louvri sockets ak dosye nan katab itilizatè mwen an /home/user, ki ta fè yon kopi pwòp difisil. Kòm ou konnen, katab la lakay pou itilizatè rasin lan anjeneral sitiye sou chemen an / rasin, kidonk pa gen okenn dosye yo ap louvri sou patisyon / kay la.

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

Pou dènye liy lan, gade yon atik.

Apre sa nou edite /etc/fstab, kote sistèm fichye a pou /home monte, pou

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

Opsyon noatime bezwen amelyore pèfòmans pou atime a pa chanje ak chak aksè dosye. Apre sa nou rdemare.

Kalite imaj nan NILFS2.

Yon snapshot regilye san iminite nan efase yo rele yon pòs oswa yon pwen rekiperasyon.
Yon snapshot ki pwoteje kont efase oto rele yon snapshot, Lè sa a, tou senpleman yon snapshot.

Wè pòs yo fè lè l sèvi avèk lòd lscp la

Gade snapshots lscp -s

Nou ka kreye snapshots ak baraj tèt nou nenpòt ki lè lè l sèvi avèk:

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

Nou retabli done yo.

NILFS pèmèt nou monte anpil snapshots fin vye granmoun jan nou vle an paralèl ak travay ak branch prensipal FS la. Men sèlman nan mòd lecture.

Tout bagay ranje konsa. Pwen kontwòl regilye ke NILFS2 fè yo ka efase otomatikman nenpòt ki lè (lè espas ki gen kapasite fini oswa dapre règ nilfs_cleanerd yo), kidonk anvan enstalasyon nou dwe konvèti pòs la nan yon snapshot oswa, nan pale Ris, pran snapshot la.

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

Apre sa, nou ka monte snapshot la, pou egzanp, tankou sa a:

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

Apre sa, nou kopye dosye yo retabli soti nan snapshot la nan /home.
Apre sa, nou retire drapo a ki pa ka efase nan snapshot la pou ke nan lavni an otomatik pèseptè fatra a ka retire done demode:

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

Itilite pou NILFS2

Men, sa a se pwoblèm nan. Wi, nan kou, nou ka kreye yon sistèm dosye, chanje gwosè li sou entènèt, wè lis la nan challengepoints, kreye ak efase yo. Pake nilfs2-utils la bay yon seri mesye minim.

Depi NTT te redwi finansman li yo, pa gen okenn sèvis piblik rapid ki pèmèt ou montre istwa chanjman dosye yo oswa fè diferans ant snapshots.

Sèvis piblik n2u mwen an

Pou ranpli vid sa a mwen te ekri sèvis piblik n2u ou a, ki ka montre istwa chanjman nan yon dosye/anyè espesifik:

n2u log filename

Pwodiksyon an se yon bagay tankou sa a:

          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

Li travay byen vit pou metòd aplikasyon an chwazi a: li sanble pou diferans ki genyen ant dosye lè l sèvi avèk metòd la biseksyon, byen vit monte ak konpare fichye a / anyè nan diferan snapshots.

Ou ka mete yon seri pòs lè l sèvi avèk kle a -cp CP1:CP2 oswa -cp {YEAR-MM-DD}:{YEAR-MM-DD}.

Ou ka wè tou diferans ki genyen ant pòs pou yon dosye oswa anyè espesifik:

n2u diff -r cp1:cp2 filename

Ou ka montre tout kwonoloji chanjman yo: tout diferans ki genyen ant pòs yo nan yon dosye/anyè espesifik:

n2u blame [-r cp1:cp2] filename

Entèval dat nan lòd sa a tou sipòte.

Yon rèl bay devlopè yo

Gen anpil espesyalis sou Habré. Tanpri fini NILFS2. Fè replikasyon, diferans rapid nan nivo ki ba ant revizyon, reflink ak lòt kado!

Referans

Sit entènèt ofisyèl NILFS.

Depo:
NILFS2.
NILFS2 sèvis piblik ak modil.

Bilten nouvèl:
Bilten imèl pou devlopè NILFS2. ID pou abònman linux-nilfs.
Achiv bilten.

gid konfigirasyon nilfs_cleanerd.
Benchmarking EXT4, Btrfs, XFS & NILFS2 Tès Pèfòmans.

Mèsi:

  • Devlopè NILFS2: Ryusuke Konishi, Koji Sato, Naruhiko Kamimura, Seiji Kihara, Yoshiji Amagai, Hisashi Hifumi ak Satoshi Moriai. Lòt gwo kontribitè yo se: Andreas Rohner, Dan McGee, David Arendt, David Smid, dexen deVries, Dmitry Smirnov, Eric Sandeen, Jiro SEKIBA, Matteo Frigo, Hitoshi Mitake, Takashi Iwai, Vyacheslav Dubeyko.
  • Pou Amblin Entertainment ak Universal Pictures pou yon seri fim bèl bagay. "Retounen nan tan kap vini an". Premye foto pòs la pran nan fim "Back to the Future 3".
  • Konpayi yo RUVDS pou sipò ak opòtinite pou pibliye sou blog ou sou Habré.

PS Tanpri voye nenpòt erè ou remake nan yon mesaj prive. Mwen ogmante karma mwen pou sa.

Ou ka fè eksperyans ak NILFS2 lè w kòmande yon machin vityèl nan men RUVDS ak koupon ki anba a. Pou tout nouvo kliyan gen yon peryòd esè gratis nan 3 jou.

NILFS2 - yon sistèm dosye bal pou /home

Sous: www.habr.com

Add nouvo kòmantè