Tha NILFS2 na shiostam faidhle dìon-urchair airson / dachaigh

Tha NILFS2 na shiostam faidhle dìon-urchair airson / dachaigh

Mar a tha fios agad, ma dh’ fhaodadh trioblaid tachairt, tachraidh e gu cinnteach. Is dòcha gu bheil cùisean air a bhith aig a h-uile duine nuair a chaidh faidhle cudromach o chionn ghoirid a dhubhadh às gun fhiosta, no chaidh teacsa a thaghadh gun fhiosta agus a sgrios ann an deasaiche teacsa.

Mas e neach-aoigheachd no sealbhadair làrach-lìn a th’ annad, is dòcha gun do thachair thu ri bhith a’ slaodadh cunntasan cleachdaiche no an làrach-lìn agad. Ann an leithid de shuidheachaidhean, tha e cudromach an ùine a thoirt air ais, lorg an dòigh inntrigidh agus an so-leòntachd a chleachdas an neach-ionnsaigh.

Tha siostam faidhle NILFS2 foirfe airson fuasgladh fhaighinn air duilgheadasan mar sin.

Tha e air a bhith an làthair anns an kernel Linux bho dhreach 2.6.30.

Is e cho sònraichte sa tha an siostam faidhle seo gu bheil e coltach ri siostam smachd dreach: faodaidh tu an-còmhnaidh staid an t-siostaim a thoirt air ais air ais agus coimhead air cò ris a bha e o chionn ùine.

Gus an gnìomh seo a thoirt seachad, cha leig thu leas sgriobtaichean Cron a rèiteachadh, dealbhan a thogail, msaa. Bidh siostam faidhle NILFS2 a’ dèanamh seo uile leis fhèin. Cha bhith e uair sam bith a’ sgrìobhadh thairis air seann dàta agus bidh e an-còmhnaidh a’ sgrìobhadh gu raointean ùra den diosc ma tha àite gu leòr air an diosc an-asgaidh. Gu h-iomlan a rèir prionnsapal Copy-on-Write.

Gu dearbh, bidh atharrachadh sam bith air faidhle gu fèin-ghluasadach a’ cruthachadh dealbh ùr den t-siostam faidhle, gus an urrainn dhut an FS seo a chleachdadh mar inneal ùine agus staid fhaidhlichean ath-thionndadh.

История

Tha NILFS2 na shiostam faidhle dìon-urchair airson / dachaighChaidh NILFS2 a leasachadh ann an doimhneachd na Nippon Telegraph and Telephone Corporation, gu dearbh, seilbh na stàite (tha com-pàirt smachdachaidh aige) agus a’ chompanaidh cian-conaltraidh as motha ann an Iapan. Gu sònraichte, anns na CyberSpace Laboratories fo stiùireadh Ryusuke Konishi.

Chan eil fios dè dìreach a chaidh a leasachadh, ge-tà, faodar gabhail ris gu bheil an leithid de FS, leis a ’ghnìomhachd“ inneal ùine ”aige, air leth freagarrach airson dàta a stòradh a dh’ fhaodadh na seirbheisean fiosrachaidh a bhith ag iarraidh a chladhach gus an dealbh slàn ath-chluich. SMS, puist-d, msaa ....

Is dòcha gu bheil NILFS2 cuideachd na inneal fìor luachmhor airson seirbheisean tèarainteachd a-staigh, leis gu bheil e a’ toirt cothrom dhut a h-uile litir a chaidh a dhubhadh às ann an stòr-dàta a’ phuist fhaighinn air ais, a’ nochdadh na tagaichean de luchd-obrach a dh’ fhaodadh feuchainn ri cuir am falach le bhith a’ cuir às no ag atharrachadh na faidhlichean aca.

Ciamar as urrainn dhut sùil a chumail air an eachdraidh conaltraidh agad gu lèir?Air frithealaichean Linux (agus seo far am bu chòir NILFS2 a chuir a-steach airson adhbharan tèarainteachd a-staigh), bidh an dòigh faidhle airson puist-d a stòradh glè thric air a chleachdadh airson teachdaireachdan post-d a stòradh. An cruth ris an canar Maildir. Gu leòr airson a chuir Frithealaiche Puist Courier agus rèiteachadh stòradh puist ann am Maildir. Cruth eile mboc na fhaidhle teacsa mòr a ghabhas a pharsadh gu furasta ann an teachdaireachdan fa leth.

Ma chleachdas am frithealaiche puist stòr-dàta, an uairsin nì NILFS2 e comasach àm ceart atharrachaidhean stòr-dàta a thoirt air ais agus an comas an stòr-dàta ath-nuadhachadh aig àm sam bith de na h-amannan sin. Agus an uairsin feumaidh tu innealan stòr-dàta a chleachdadh gus faicinn dè bha ann aig an àm sin ...

Ach, chaidh rudeigin ceàrr. An dàrna cuid dh’ atharraich riaghaltas Iapanach an inntinn mu bhith a’ cumail sùil air a h-uile duine (a la am prionnsapal Yarovaya), no bha coileanadh NILFS2 air HDDn traidiseanta gu bhith nas ìsle na par, agus chaidh NILFS2 a leigeil ma sgaoil fo chead GPL agus chaidh e a-steach gu sgiobalta don kernel Linux, leis gu bheil cha robh gearanan sònraichte sam bith ann mun chòd a chaidh a sgrìobhadh le teisteanas Iapanach, cha robh e aig luchd-leasachaidh an kernel Linux.

Cò ris a tha NILFS2 coltach?

Bho shealladh cleachdaidh: air siostam smachd dreach SVN. Tha gach puing-seic FS na ghealladh a thèid a dhèanamh gu fèin-ghluasadach às aonais eòlas an neach-cleachdaidh nuair a bhios atharrachadh sam bith ann: biodh e air a dhubhadh às, ag atharrachadh susbaint faidhle no ag atharrachadh chòraichean-slighe. Tha àireamh aig gach gealltanas a tha ag àrdachadh gu sreathach.

Bho shealladh prògramadair: bufair cruinn. Bidh an siostam faidhle a’ cruinneachadh atharrachaidhean agus gan sgrìobhadh ann an cnap co-ionann ri timcheall air 8 MB (2000 * 4096, far a bheil 2000 mar an àireamh de eileamaidean sa bhloc agus is e 4096 meud na duilleige cuimhne). Tha an diosc gu lèir air a roinn ann am pìosan mar sin. Bidh an clàradh a’ dol air adhart ann an òrdugh. Nuair a ruitheas àite an-asgaidh, thèid na dealbhan as sine a dhubhadh às agus tha na pìosan air an sgrìobhadh thairis.

Feartan bunaiteach NILFS 2

  • Tionndadh !!!
  • Tha an dòigh-obrach airson siostam faidhle ath-nuadhachadh às deidh fàilligeadh sìmplidh: nuair a thathar a’ luchdachadh, thathas a ’lorg a’ phìos mu dheireadh aig a bheil an sgrùdadh ceart, agus tha superblock air a chuir a-steach air. Is e gnìomhachd cha mhòr sa bhad a tha seo.
  • Leis gu bheil clàradh an-còmhnaidh a’ dol air adhart gu sreathach, mar sin:
    • comasach air deagh thoraidhean a nochdadh nuair a bhios tu a’ ruith air SSD le sgrìobhadh slaodach air thuaiream.
    • Bidh NILFS2 a’ sàbhaladh goireas SSD, leis nach eil feart iomadachaidh sgrìobhaidh ann cha mhòr.
      Nas mionaidiche, chan eil e nas fhaide na 2.Is e an fhìrinn, nuair a bhios tu ag ath-sgrìobhadh an diosc gu lèir gu cearcallach, gun gluais NILFS2 dàta nach gabh atharrachadh gu pìosan ùra (pìosan).

      Ma tha 10% de dhàta gun atharrachadh againn air an diosc, gheibh sinn àrdachadh sgrìobhaidh 10% le 1 ath-sgrìobhadh iomlan. Uill, àrdachadh 50% aig lànachd 50% den inneal airson 1 ath-sgrìobhadh iomlan den diosc.

      'S e 2 am buannachd sgrìobhaidh as àirde. Tha seo glè ìosal leis gu bheil a h-uile càil sgrìobhte ann an òrdugh. San fharsaingeachd, bidh am beòthalachd sgrìobhaidh nas lugha na an siostam faidhle àbhaisteach àbhaisteach le roinn 4096-byte. (Smaoinich air a bhrosnachadh le beachd).

  • Furasta ath-riochdachadh a chuir an gnìomh gu NILFS2 FS iomallach

NILFS2 airson / dachaigh

Ann an siostaman obrachaidh coltach ri Unix, mar riaghailt, tha pasgan / dachaigh anns a bheil dàta luchd-cleachdaidh air a stòradh. Sàbhalaidh diofar phrògraman na roghainnean a tha sònraichte don neach-cleachdaidh aca sa phasgan seo.

Agus cò, mura h-eil luchd-cleachdaidh, a bhios a’ dèanamh mhearachdan as trice? Mar sin, mar a chanas iad, dh’ òrduich Dia fhèin cleachdadh NILFS2 air / dachaigh.

A bharrachd air an sin, le cleachdadh farsaing de SSDs, chan fheum sinn a-nis dragh a ghabhail mu dhroch tharraing sìos nuair a bhios sinn a’ cleachdadh siostaman faidhle CoW.

Faodaidh, is urrainn dhuinn dealbhan FS a chruthachadh cho tric ‘s as toil leinn ann an ZFS agus BTRFS, ach tha cunnart ann an-còmhnaidh gun tig atharrachadh faidhle caillte eadar na dealbhan. Agus feumar na dealbhan a rianachd fhathast: feumar seann fheadhainn a dhubhadh às. Ann an NILFS2, bidh seo uile a’ tachairt gu fèin-ghluasadach, gu litearra a h-uile diog.

Chruthaich mi tomhas loidsigeach a 'cleachdadh lvcreate (anns a' bhuidheann tomhas nvme, amar tana tana). Tha mi a’ moladh a chruthachadh air an tomhas lvm, oir faodar a leudachadh gu furasta nas fhaide air adhart. Tha mi a’ moladh gum bi àite diosc 50% an-asgaidh agam le NILFS2 airson doimhneachd dreach reusanta.

lvcreate -V10G -T nvme/thin -n home

agus chuir e cruth air ann an 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 !!

Às deidh seo, feumaidh tu a h-uile dàta a chopaigeadh bhon gnàthach / dachaigh.

Rinn mi seo sa bhad às deidh dhomh an coimpiutair a chuir a-steach, mus deach mi a-steach don chunntas agam, mar an neach-cleachdaidh bunaiteach. Nam bithinn a’ logadh a-steach mar an neach-cleachdaidh agam, dh’ fhosgladh cuid de phrògraman socaidean agus faidhlichean ann am pasgan mo chleachdaiche / dachaigh/cleachdaiche, a dhèanadh lethbhreac glan duilich. Mar a tha fios agad, mar as trice bidh am pasgan dachaigh airson an neach-cleachdaidh freumha suidhichte air an t-slighe / root, agus mar sin cha bhith faidhlichean sam bith a’ fosgladh air an sgaradh / dachaigh.

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

Airson an loidhne mu dheireadh, faic artaigil.

An uairsin bidh sinn a’ deasachadh /etc/fstab, anns a bheil an siostam faidhle airson / home air a chuir suas, gu

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

Roghainn noatime a dhìth gus coileanadh a leasachadh gus nach atharraich an t-àm le gach inntrigeadh faidhle. An ath rud bidh sinn ag ath-thòiseachadh.

Seòrsan dhealbhan ann an NILFS2.

Canar puing-seic no àite ath-bheothachaidh ri dealbh cunbhalach às aonais dìonachd an aghaidh cuir às.
Is e dealbh a chanar ri dealbh a tha air a dhìon bho bhith a’ sguabadh às gu fèin-ghluasadach, agus an uairsin dìreach dealbh.

Bithear a’ coimhead air puingean-seic le bhith a’ cleachdadh an àithne lscp

Thoir sùil air dealbhan lscp -s

Is urrainn dhuinn dealbhan agus puingean-seic a chruthachadh sinn fhìn aig àm sam bith a’ cleachdadh:

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

Bidh sinn ag ath-nuadhachadh dàta.

Leigidh NILFS leinn na h-uimhir de sheann dhealbhan a chuir suas agus a tha sinn ag iarraidh aig an aon àm ri bhith ag obair le prìomh mheur FS. Ach a-mhàin ann am modh leughaidh.

Tha a h-uile dad air a rèiteachadh mar seo. Faodar puingean-seicidh cunbhalach a bhios NILFS2 a’ dèanamh a thoirt air falbh gu fèin-ghluasadach aig àm sam bith (nuair a bhios àite diosc a’ ruith a-mach no a rèir riaghailtean nilfs_cleanerd), agus mar sin mus cuir sinn a-steach feumaidh sinn am puing-seic a thionndadh gu dealbh no, ann an Ruisis, an dealbh a ghlacadh.

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

Às deidh sin, is urrainn dhuinn an dealbh a chuir suas, mar eisimpleir, mar seo:

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

Às deidh sin bidh sinn a’ dèanamh lethbhreac de na faidhlichean ath-leasaichte bhon dealbh gu / dachaigh.
Agus às deidh sin bidh sinn a’ toirt air falbh a’ bhratach neo-sguabaidh às an dealbh gus an urrainn don neach-cruinneachaidh sgudail fèin-ghluasadach san àm ri teachd dàta seann-fhasanta a thoirt air falbh:

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

Goireasan airson NILFS2

Ach is e seo an duilgheadas. Faodaidh, gu dearbh, is urrainn dhuinn siostam faidhle a chruthachadh, a mheud atharrachadh air-loidhne, coimhead air liosta nam puingean dùbhlain, an cruthachadh agus an cuir às. Tha am pasgan nilfs2-utils a’ toirt seachad seata beag duine-uasal.

Leis gu bheil NTT air a mhaoineachadh a lughdachadh, chan eil goireasan luath aig ìre ìosal ann a leigeas leat eachdraidh atharrachaidhean faidhle a thaisbeanadh no eadar-dhealachadh a dhèanamh eadar dealbhan.

Mo ghoireas n2u

Gus am beàrn seo a lìonadh sgrìobh mi do ghoireas n2u, a sheallas eachdraidh atharrachaidhean air faidhle/eòlaire sònraichte:

n2u log filename

Tha an toradh rudeigin mar seo:

          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

Bidh e ag obair gu math luath airson an dòigh gnìomhachaidh taghte: bidh e a’ coimhead airson eadar-dhealachaidhean eadar faidhlichean a’ cleachdadh an dòigh bisection, a’ cur suas gu sgiobalta agus a’ dèanamh coimeas eadar am faidhle / eòlaire ann an diofar dhealbhan.

Faodaidh tu raon de phuingean-seic a shuidheachadh leis an iuchair -cp CP1:CP2 no -cp {YEAR-MM-DD}:{YEAR-MM-DD}.

Chì thu cuideachd an diofar eadar puingean-seic airson faidhle no eòlaire sònraichte:

n2u diff -r cp1:cp2 filename

Faodaidh tu eachdraidh nan atharrachaidhean gu lèir a thaisbeanadh: na h-eadar-dhealachaidhean gu lèir eadar puingean-seic faidhle/eòlaire sònraichte:

n2u blame [-r cp1:cp2] filename

Tha taic ri eadar-ama ceann-latha san àithne seo cuideachd.

Taing don luchd-leasachaidh

Tha mòran eòlaichean air Habré. Feuch an cuir thu crìoch air NILFS2. Dèan ath-riochdachadh, eadar-dhealachadh luath aig ìre ìosal eadar ath-sgrùdaidhean, reflink agus rudan math eile!

iomraidhean

Làrach-lìn oifigeil na NILFS.

Stòran-tasgaidh:
NILFS2.
NILFS2 goireasan agus modalan.

Cuairt-litrichean:
Cuairt-litir post-d airson luchd-leasachaidh NILFS2. ID airson fo-sgrìobhadh linux-nilfs.
Tasglann cuairt-litir.

stiùireadh rèiteachaidh nilfs_cleanerd.
A’ comharrachadh deuchainnean coileanaidh EXT4, Btrfs, XFS & NILFS2.

Buidheachas:

  • Luchd-leasachaidh NILFS2: Ryusuke Konishi, Koji Sato, Naruhiko Kamimura, Seiji Kihara, Yoshiji Amagai, Hisashi Hifumi agus Satoshi Moriai. Is iad na prìomh chom-pàirtichean eile: Andreas Rohner, Dan McGee, David Arendt, David Smid, dexen deVries, Dmitry Smirnov, Eric Sandeen, Jiro SEKIBA, Matteo Frigo, Hitoshi Mitake, Takashi Iwai, Vyacheslav Dubeyko.
  • Gu Amblin Entertainment agus Universal Pictures airson sreath iongantach de fhilmichean. "Air ais chun an ama ri teachd". Tha a 'chiad dealbh den phost air a thoirt bhon fhilm "Back to the Future 3".
  • Companaidhean RUVDS airson taic agus an cothrom foillseachadh air do bhlog air Habré.

PS Feuch an cuir thu mearachdan sam bith a mhothaich thu ann am brath prìobhaideach. Bidh mi ag àrdachadh mo karma airson seo.

Faodaidh tu feuchainn air NILFS2 le bhith ag òrdachadh inneal brìgheil bho RUVDS leis a’ chùpon gu h-ìosal. Airson a h-uile neach-dèiligidh ùr tha ùine deuchainn an-asgaidh de 3 latha.

Tha NILFS2 na shiostam faidhle dìon-urchair airson / dachaigh

Source: www.habr.com

Cuir beachd ann