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