NILFS2 ke sesebelisoa sa faele sa bulletproof bakeng sa /home

NILFS2 ke sesebelisoa sa faele sa bulletproof bakeng sa /home

Joalo ka ha u tseba, haeba bothata bo ka hlaha, bo tla etsahala. Mohlomong motho e mong le e mong o bile le linyeoe ha faele ea bohlokoa ea morao-rao e hlakotsoe ka phoso, kapa mongolo o khethiloe ka phoso mme oa senngoa ho mohlophisi oa mongolo.

Haeba u moamoheli kapa mong'a sebaka sa marang-rang, mohlomong u kile oa kopana le ho qhekelloa ha liakhaonto tsa basebelisi kapa sebaka sa hau sa marang-rang. Maemong a joalo, ke habohlokoa ho tsosolosa tatellano ea liketsahalo, ho fumana mokhoa oa ho kena le ho ba kotsing e sebelisoang ke mohlaseli.

Sistimi ea faele ea NILFS2 e nepahetse bakeng sa ho rarolla mathata a joalo.

E bile teng ho Linux kernel ho tloha ka mofuta oa 2.6.30.

Ntho e ikhethang ea sistimi ena ea faele ke hore e ts'oana le sistimi ea taolo ea mofuta: o ka khona ho khutlisetsa boemo ba sistimi morao 'me u shebe hore na e ne e le joang nakong e fetileng.

Ho fana ka ts'ebetso ena, ha ho hlokahale hore u hlophise mangolo a Cron, ho nka linepe, joalo-joalo. Sistimi ea faele ea NILFS2 e etsa sena ka boyona. Ha ho mohla e hlakolang data ea khale mme e lula e ngolla libaka tse ncha tsa disk haeba ho na le sebaka se lekaneng sa disk sa mahala. Ka ho feletseng ho latela molao-motheo oa Copy-on-Write.

Ha e le hantle, phetoho leha e le efe ho faele e iketsetsa setšoantšo se secha sa tsamaiso ea lifaele, kahoo u ka sebelisa FS ena e le mochine oa nako le ho khutlisetsa boemo ba lifaele morao.

История

NILFS2 ke sesebelisoa sa faele sa bulletproof bakeng sa /homeNILFS2 e ile ea ntlafatsoa botebong ba Nippon Telegraph le Telephone Corporation, ha e le hantle, ea mmuso (e na le karolo ea ho laola) le k'hamphani e kholo ka ho fetisisa ea lithelefono Japane. Haholo-holo, ho CyberSpace Laboratories tlas'a boetapele Ryusuke Konishi.

Hore na hantle-ntle e etselitsoe eng ha e tsejoe, leha ho le joalo, ho ka nahanoa hore FS e joalo, e nang le ts'ebetso ea "mochine oa nako", e loketse ho boloka data eo lits'ebeletso tsa bohlale li ka batlang ho cheka ho eona e le hore e ka bapalla setšoantšo sohle sa SMS, mangolo-tsoibila, joalo-joalo....

NILFS2 e kanna ea ba sesebelisoa sa bohlokoa haholo bakeng sa lits'ebeletso tsa ts'ireletso ea kahare, kaha e u lumella ho khutlisa mangolo ohle a tlositsoeng polokelong ea mangolo, ho senola mathata a basebetsi bao kamora moo ba ka lekang ho ba pata ka ho hlakola kapa ho fetola lifaele tsa bona.

U ka latela nalane ea hau ea ngollano joang?Ho li-server tsa Linux ('me ke hona moo NILFS2 e lokelang ho kenngoa teng molemong oa ts'ireletso ea kahare), mokhoa oa faele oa ho boloka mangolo-tsoibila o sebelisoa hangata ho boloka melaetsa ea lengolo-tsoibila. Se bitsoang sebopeho Maildir. Ho lekane ho beha Seva ea Courier Mail le ho lokisa polokelo ea mangolo ho Maildir. Sebopeho se seng mbox ke faele e kholo ea mongolo e ka arolelanoang habonolo ho ba melaetsa ka bomong.

Haeba seva sa poso se sebelisa database, NILFS2 e tla etsa hore ho khonehe ho khutlisa nako e nepahetseng ea liphetoho tsa database le bokhoni ba ho khutlisa database ka nako efe kapa efe ea nako ena. Ebe o hloka ho sebelisa lisebelisoa tsa database ho bona se neng se le ho eona ka nako eo ka nako ...

Leha ho le joalo, ho ile ha e-ba le phoso. Ekaba mmuso oa Japane o ile oa fetola maikutlo a ona mabapi le ho beha leihlo motho e mong le e mong (a la the Yarovaya molao-motheo), kapa ts'ebetso ea NILFS2 ho li-HDD tsa setso e ile ea bonahala e le ka tlase ho palo, mme NILFS2 e ile ea lokolloa tlasa laesense ea GPL mme ka potlako ea kena kernel ea Linux, kaha ho ne ho se na litletlebo tse itseng mabapi le khoutu e ngotsoeng ea Majapane a tšoanelehang haholo, baetsi ba Linux kernel ba ne ba se na eona.

NILFS2 e joang?

Ho latela pono ea tšebeliso: ho sistimi ea taolo ea mofuta svn. Sebaka se seng le se seng sa tlhahlobo ea FS ke boitlamo bo etsoang ka bohona ntle le tsebo ea mosebelisi neng kapa neng ha ho e-na le phetoho leha e le efe: ekaba ho hlakoloa, ho fetola litaba tsa faele kapa ho fetola litokelo tsa phihlello. Boitlamo bo bong le bo bong bo na le palo e eketsehang ka tatellano.

Ho ea ka pono ea moetsi oa lenaneo: buffer e chitja. Sistimi ea faele e bokella liphetoho ebe e li ngola ka har'a chunk e lekanang le hoo e ka bang 8 MB (2000 * 4096, moo 2000 e leng palo ea likarolo tsa block le 4096 ke boholo ba leqephe la memori). Disk eohle e arotsoe ka likarolo tse joalo. Rekoto e tsoela pele ka tatellano. Ha sebaka sa mahala se fela, linepe tsa khale ka ho fetisisa lia hlakoloa 'me likotoana lia ngoloa.

Lintho tsa motheo tsa NILFS2

  • Phetolelo!!!
  • Ts'ebetso ea ho khutlisa sistimi ea faele kamora ho hloleha e bonolo: ha o kenya, chunk ea ho qetela e nang le cheke e nepahetseng e batloa, 'me ho kentsoe superblock ho eona. Ena ke ts'ebetso e batlang e le hang hang.
  • Ka lebaka la hore ho rekota kamehla ho tsoela pele ka tsela e tšoanang, joale:
    • e ka bonts'a liphetho tse ntle ha e sebetsa ho SSD ka ho ngola butle butle.
    • NILFS2 e boloka sesebelisoa sa SSD, kaha hoo e ka bang ha ho na ntlha ea ho atisa ho ngola.
      Ha e le hantle, ha e fete 2.'Nete ke hore ha u ngola disk eohle ka potoloho, NILFS2 e tla fetisetsa lintlha tse sa fetoheng ho likotoana tse ncha (likotoana).

      Haeba re na le 10% ea data e sa fetoheng ho disk, joale re tla fumana keketseho ea 10% ea ho ngola ka 1 e feletseng ea ho ngola hape. Hantle, keketseho ea 50% ho 50% ea botlalo ba sesebelisoa bakeng sa 1 e feletseng ea ho ngola disk hape.

      Phaello e phahameng ea ho ngola ke 2. Sena se tlase haholo ha ho nahanoa hore ntho e 'ngoe le e' ngoe e ngotsoe ka tatellano. Ka kakaretso, animation ea ho ngola e tla ba tlase ho ea sistimi e tloaelehileng ea li-file tse arohaneng tse nang le karolo ea 4096-byte. (Mohopolo o bululetsoeng ke hlahisa maikutlo).

  • Ho ba bonolo ho kenya ts'ebetsong ea ho pheta-pheta ho NILFS2 FS e hole

NILFS2 bakeng sa /home

Litsamaisong tsa ts'ebetso tse kang Unix, joalo ka molao, ho na le foldara ea lapeng eo data ea mosebelisi e bolokiloeng ho eona. Mananeo a fapaneng a boloka litlhophiso tse ikhethileng tsa basebelisi foldareng ena.

Hona ke mang, haeba e se basebelisi, ea etsang liphoso hangata? Ka hona, joalo ka ha ba re, Molimo ka boeena o laetse hore ho sebelisoe NILFS2 ho /home.

Ho feta moo, ka ts'ebeliso e atileng ea li-SSD, ha re sa hlola re tšoenyeha ka mathata a tebileng ha re sebelisa litsamaiso tsa faele tsa CoW.

E, re ka etsa li-snapshots tsa FS hangata kamoo re ratang ho ZFS le BTRFS, empa kamehla ho na le kotsi ea hore phetoho ea faele e lahlehileng e tla qetella e le pakeng tsa li-snapshots. 'Me litšoantšo li ntse li hloka ho tsamaisoa: tsa khale li hloka ho hlakoloa. Ho NILFS2, sena sohle se etsahala ka bohona, ha e le hantle metsotsoana e meng le e meng.

Ke thehile molumo o utloahalang ke sebelisa lvcreate (sehlopheng sa nvme volume, letamo le tšesaane le tšesaane). Ke khothaletsa ho e theha ka molumo oa lvm, kaha e ka atolosoa habonolo hamorao. Ke khothaletsa ho ba le 50% sebaka sa mahala sa disk le NILFS2 bakeng sa botebo ba mofuta o motle.

lvcreate -V10G -T nvme/thin -n home

mme a e hlophisa ka 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 !!

Kamora sena, o hloka ho kopitsa data eohle ho tsoa ho /home ea hajoale.

Ke entse sena hang ka mor'a ho qalisa k'homphieutha, pele ke kena ka akhaonto ea ka, joaloka mosebelisi oa motso. Haeba ke ne ke ka kena ke le mosebelisi oa ka, mananeo a mang a ne a tla bula li-sockets le lifaele ka har'a foldara ea ka ea lapeng / ea mosebelisi, e neng e tla etsa hore kopi e hloekileng e be thata. Joalo ka ha u tseba, foldara ea lapeng bakeng sa mosebelisi oa motso hangata e fumaneha ho /root path, kahoo ha ho lifaele tse tla buloa ho /home partition.

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

Bakeng sa mola oa ho qetela, bona sengoloa.

Ka mor'a moo re hlophisa /etc/fstab, moo tsamaiso ea faele ea /home e kenngoa, ho

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

Khetho noatime e hlokahalang ho ntlafatsa tshebetso e le hore atime e se ke ea fetoha ka phihlello ka 'ngoe ea faele. Ka mor'a moo re qala hape.

Mefuta ea litšoantšo ho NILFS2.

Sets'oants'o se tloaelehileng ntle le ts'ireletso ea ho hlakoloa se bitsoa sebaka sa tlhahlobo kapa sebaka sa ho hlaphoheloa.
Senepe se sirelelitsoeng hore se se hlakole se bitsoa snapshot, ebe ke senepe feela.

Ho sheba li-checkpoints ho etsoa ka taelo ea lscp

Sheba linepe lscp -s

Re ka iketsetsa linepe le libaka tsa tlhahlobo ka nako efe kapa efe re sebelisa:

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

Re khutlisetsa data.

NILFS e re lumella ho kenya linepe tse ngata tsa khale kamoo re batlang ka teng ho tsamaisana le ho sebetsa le lekala le leholo la FS. Empa feela ka mokhoa oa ho bala.

Tsohle di hlophisitswe tjena. Li-checkpoints tse tloaelehileng tseo NILFS2 e li etsang li ka hlakoloa ka nako efe kapa efe (ha sebaka sa disk se fela kapa ho latela melao ea nilfs_cleanerd), kahoo pele ho ts'ebetso re tlameha ho fetola sebaka sa ho hlahloba hore e be setšoantšo kapa, ka puo ea Serussia, re nke setšoantšo.

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

Ka mor'a moo, re ka beha senepe, mohlala, ka tsela ena:

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

Ka mor'a moo re kopitsa lifaele tse tsosolositsoeng ho tloha ho snapshot ho ea /home.
'Me ka mor'a moo re tlosa folakha e ke keng ea tlosoa setšoantšong e le hore nakong e tlang motho ea bokellang lithōle a ka tlosa lintlha tsa khale:

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

Lisebelisoa tsa NILFS2

Empa bothata ke bona. Ee, ehlile, re ka theha sistimi ea faele, ra fetola boholo ba eona inthaneteng, ra sheba lenane la liphephetso, ra li theha le ho li hlakola. Sephutheloana sa nilfs2-utils se fana ka sete e nyane ea banna.

Kaha NTT e fokolitse chelete ea eona, ha ho na lits'ebeletso tsa boemo bo tlase tse u lumellang ho bonts'a nalane ea liphetoho tsa faele kapa ho etsa phapang lipakeng tsa linepe.

Sesebelisoa sa ka sa n2u

Ho tlatsa sekheo sena ke ngotse sesebelisoa sa hau sa n2u, e ka bonts'ang nalane ea liphetoho faeleng e itseng/directory:

n2u log filename

Sephetho ke ntho e kang ena:

          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

E sebetsa ka potlako bakeng sa mokhoa o khethiloeng oa ho kenya ts'ebetsong: e sheba liphapang pakeng tsa lifaele tse sebelisang mokhoa oa ho arola likarolo tse peli, ho potlakisa ho phahamisa le ho bapisa faele / bukana ka li-snapshots tse fapaneng.

U ka seta libaka tse ngata tsa tlhahlobo u sebelisa senotlolo -cp CP1:CP2 kapa -cp {YEAR-MM-DD}:{YEAR-MM-DD}.

U ka boela ua bona phapang pakeng tsa li-checkpoints bakeng sa faele e itseng kapa directory:

n2u diff -r cp1:cp2 filename

O ka bonts'a tatellano ea tatellano ea liketsahalo: liphapang tsohle lipakeng tsa li-checkpoints tsa faele / bukana e itseng:

n2u blame [-r cp1:cp2] filename

Nako ea matsatsi taelong ena e boetse e tšehetsoa.

Mohoo ho bahlahisi

Ho na le litsebi tse ngata ka Habre. Ka kopo, qeta NILFS2. Etsa boikatiso, phapano ea maemo a tlase ka potlako lipakeng tsa lintlafatso, reflink le lintho tse ling tse ntle!

litšupiso

Websaete ea molao ea NILFS.

Libaka tsa polokelo:
NILFS2.
Lisebelisoa le li-module tsa NILFS2.

Likoranta:
Leselinyana la lengolo-tsoibila bakeng sa bahlahisi ba NILFS2. ID bakeng sa ngoliso ea linux-nilfs.
Koranta ea polokelo ea litaba.

nilfs_cleanerd setup guide.
Benchmarking EXT4, Btrfs, XFS & NILFS2 Liteko tsa Ts'ebetso.

Kea leboha:

  • Bahlahisi ba NILFS2: Ryusuke Konishi, Koji Sato, Naruhiko Kamimura, Seiji Kihara, Yoshiji Amagai, Hisashi Hifumi le Satoshi Moriai. Batšehetsi ba bang ba ka sehloohong ke: Andreas Rohner, Dan McGee, David Arendt, David Smid, dexen deVries, Dmitry Smirnov, Eric Sandeen, Jiro SEKIBA, Matteo Frigo, Hitoshi Mitake, Takashi Iwai, Vyacheslav Dubeyko.
  • Ho Amblin Entertainment le Universal Pictures bakeng sa letoto le monate la lifilimi. "Boela Bokamosong". Setšoantšo sa pele sa poso se nkiloe filiming "Back to the Future 3".
  • Likhamphani RUVDS bakeng sa tšehetso le monyetla oa ho phatlalatsa blog ea hau ho Habré.

PES Ka kopo, romella liphoso tseo u li bonang molaetsang oa lekunutu. Ke eketsa karma ea ka bakeng sa sena.

U ka etsa liteko ka NILFS2 ka ho odara mochini o sebetsang ho tsoa ho RUVDS ka setlankane se ka tlase. Bakeng sa bareki bohle ba bacha ho na le nako ea teko ea mahala ea matsatsi a 3.

NILFS2 ke sesebelisoa sa faele sa bulletproof bakeng sa /home

Source: www.habr.com

Eketsa ka tlhaloso