NILFS2 mangrupakeun filesystem bulletproof pikeun / imah

NILFS2 mangrupakeun filesystem bulletproof pikeun / imah

Sakumaha anjeun terang, upami masalah tiasa kajantenan, éta pasti bakal kajadian. Panginten sadayana gaduh kasus nalika file penting anyar teu kahaja dihapus, atanapi téks teu kahaja dipilih sareng musnah dina pangropéa téksu.

Upami anjeun hoster atanapi pamilik situs wéb, maka anjeun sigana bakal mendakan hacking akun pangguna atanapi halaman wéb anjeun. Dina kasus sapertos kitu, penting pikeun mulangkeun kronologis, milarian metode éntri sareng kerentanan anu dianggo ku panyerang.

Sistem file NILFS2 sampurna pikeun ngarengsekeun masalah sapertos kitu.

Éta aya dina inti Linux, dimimitian ku vérsi 2.6.30.

The peculiarity tina sistem file ieu nya éta sarupa jeung sistem kontrol versi: Anjeun salawasna bisa gulung deui kaayaan sistem deui tur tingal kumaha éta kawas sababaraha waktu ka tukang.

Pikeun nyayogikeun fungsionalitas ieu, anjeun henteu kedah ngonpigurasikeun skrip Cron, nyandak snapshot, jsb. Sistem file NILFS2 ngalakukeun ieu nyalira. Éta henteu pernah nimpa data anu lami sareng sok nyerat ka daérah disk énggal upami aya rohangan disk anu cekap. Luyu pinuh ku prinsip Copy-on-Write.

Kanyataanna, sagala robah kana file otomatis nyieun snapshot anyar tina sistem file, jadi Anjeun bisa make FS ieu salaku mesin waktos tur mundurkeun kaayaan file.

dongeng

NILFS2 mangrupakeun filesystem bulletproof pikeun / imahNILFS2 dikembangkeun di jerona Nippon Telegraph and Telephone Corporation, kanyataanna, milik nagara (eta boga stake ngadalikeun) jeung pausahaan telekomunikasi pangbadagna di Jepang. Leuwih husus, di Laboratorium CyberSpace handapeun kapamimpinan Ryusuke Konishi.

Naon kahayang éta dikembangkeun teu kanyahoan, tapi, éta tiasa dianggap yén FS sapertos kitu, kalayan fungsionalitas "mesin waktos", idéal pikeun nyimpen data anu badé digali ku jasa intelijen pikeun ngulang deui gambar sadayana. SMS, email, jsb.

NILFS2 oge berpotensi alat pohara berharga pikeun layanan kaamanan internal, sabab ngidinan Anjeun pikeun cageur kabeh hurup dihapus dina database mail, nembongkeun jambs karyawan anu salajengna bisa nyoba nyamur aranjeunna ku mupus atawa ngarobah file maranéhanana.

Kumaha anjeun tiasa ngalacak sajarah korespondensi sadayana?В Linux Dina server (sareng di dieu NILFS2 kedah dipasang pikeun tujuan kaamanan internal), metode nyimpen pesen email dumasar file sering dianggo. Anu disebut format Maildir. Cukup pikeun nempatkeun Kurir Mail Server sareng ngonpigurasikeun neundeun surat dina Maildir. format sejen mbox mangrupakeun file téks badag nu bisa gampang parsed kana pesen individu.

Upami pangladén mail nganggo pangkalan data, maka NILFS2 bakal ngamungkinkeun pikeun mulangkeun waktos pasti tina parobahan database sareng kamampuan mulangkeun pangkalan data dina waktos-waktos ieu. Teras anjeun kedah nganggo alat database pikeun ningali naon anu aya dina waktos éta ...

Nanging, aya anu lepat. Boh pamaréntah Jepang ngarobih pikiranana ngeunaan ngintip sadayana (sapertos prinsip Yarovaya), atanapi kinerja NILFS2 dina HDD tradisional luar biasa, janten NILFS2 dirilis dina lisénsi GPL sareng gancang janten bagian tina kernel. Linux, kumargi pamekar kernel teu gaduh keluhan khusus ngeunaan kode anu ditulis ku urang Jepang anu mumpuni Linux teu aya hiji ogé.

Kumaha NILFS2?

Ti sudut pandang pamakéan: dina sistem kontrol versi SVN. Masing-masing titik pamariksaan FS mangrupikeun komitmen anu dilakukeun sacara otomatis tanpa kanyahoan pangguna iraha waé aya parobahan: naha éta ngahapus, ngarobih eusi file atanapi ngarobih hak aksés. Unggal commit gaduh nomer anu ningkat sacara linier.

Tina sudut pandang programer: panyangga sirkular. Sistem file ngumpulkeun parobahan sareng nyerat kana sakumpulan anu sami sareng 8 MB (2000 * 4096, dimana 2000 mangrupikeun jumlah elemen dina blok sareng 4096 mangrupikeun ukuran halaman mémori). Sakabéh disk dibagi kana sakumpulan sapertos. Rékam lumangsung sacara berurutan. Lamun rohangan bébas béak, snapshots pangkolotna dihapus sarta sakumpulan nu overwritten.

Dasar NILFS2 goodies

  • Vérsi!!!
  • Prosedur pikeun malikkeun sistem file saatos kagagalan saderhana: nalika ngamuat, sakumpulan terakhir anu gaduh checksum anu leres dipilarian, sareng superblok dipasang dina éta. Ieu operasi ampir instan.
  • Kusabab kanyataan yén ngarékam salawasna lumangsung sacara linier, teras:
    • bisa nembongkeun hasil alus lamun ngajalankeun on SSD kalawan slow nulis acak.
    • NILFS2 ngaheéat sumberdaya SSD, saprak aya ampir euweuh faktor multiplication nulis.
      Leuwih tepat, teu leuwih ti 2.Kanyataan yén nalika cyclically nulis balik sakabéh disk, NILFS2 bakal mindahkeun data unchangeable kana potongan anyar (sapotong).

      Lamun urang boga 10% data unchanged dina disk, mangka urang bakal meunang 10% kanaékan nulis jeung 1 nulis balik lengkep. Nya, paningkatan 50% dina 50% kapenuhan alat pikeun 1 nulis ulang lengkep disk.

      The gain nulis maksimum nyaéta 2. Ieu pisan low tempo yén sagalana geus ditulis sequentially. Sacara umum, animasi nulis bakal langkung handap tina sistem file fragméntasi konvensional sareng séktor 4096-bait. (Pikiran diideuan ku mairan).

  • Poténsi gampang palaksanaan réplikasi ka NILFS2 FS jauh

NILFS2 pikeun / imah

Dina sistem operasi kawas Unix, sakumaha aturan, aya folder / home dimana data pamaké disimpen. Rupa-rupa program nyimpen setélan husus-pamaké maranéhanana dina folder ieu.

Sareng saha, upami sanés pangguna, paling sering ngalakukeun kasalahan? Ku alatan éta, sabab nyebutkeun, Allah sorangan maréntahkeun pamakéan NILFS2 on /home.

Leuwih ti éta, ku pamakéan nyebar SSDs, urang ayeuna euweuh kudu salempang ngeunaan drawdowns parna lamun ngagunakeun sistem file CoW.

Sumuhun, urang bisa nyieun FS snapshots sakumaha mindeng urang resep di ZFS na BTRFS, tapi sok aya résiko anu robah file leungit bakal mungkas nepi antara snapshots. Sareng gambarna masih kedah dikaluarkeun: anu lami kedah dihapus. Dina NILFS2, sadaya ieu kajantenan sacara otomatis, sacara harfiah unggal sababaraha detik.

Kuring dijieun volume logis maké lvcreate (dina grup volume nvme, kolam renang ipis ipis). Kuring nyarankeun nyieun eta dina volume lvm, saprak éta bisa gampang dimekarkeun engké. Abdi nyarankeun gaduh 50% spasi disk bébas kalawan NILFS2 pikeun jero versi santun.

lvcreate -V10G -T nvme/thin -n home

sareng formatna di 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 !!

Saatos ieu, anjeun kedah nyalin sadaya data ti ayeuna / bumi.

Kuring ngalakukeun ieu langsung saatos booting komputer, sateuacan asup kana akun kuring, salaku pangguna akar. Upami kuring asup salaku pangguna kuring, sababaraha program bakal muka sockets sareng file dina folder /home/user pangguna kuring, anu bakal ngajantenkeun salinan anu bersih. Sakumaha anjeun terang, folder bumi pikeun pangguna akar biasana aya dina jalur / root, janten henteu aya file anu bakal dibuka dina partisi / home.

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

Pikeun baris panungtungan, tingali tulisan.

Salajengna urang ngédit /etc/fstab, dimana sistem file pikeun /home dipasang, ka

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

Pilihan noatime diperlukeun pikeun ngaronjatkeun kinerja supados atime teu robah kalawan unggal aksés file. Salajengna urang reboot.

Jinis gambar dina NILFS2.

Potret biasa tanpa kekebalan pikeun ngahapus disebut titik pamariksaan atanapi titik pamulihan.
Jepretan anu ditangtayungan tina ngahapus otomatis disebut jepretan, teras ngan saukur jepretan.

Ningali checkpoints dilakukeun nganggo paréntah lscp

Témbongkeun snapshots lscp -s

Urang bisa nyieun snapshots jeung checkpoints sorangan iraha wae ngagunakeun:

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

Urang mulangkeun data.

NILFS ngamungkinkeun urang pikeun Gunung saloba snapshots heubeul salaku urang hoyong di paralel kalawan gawé bareng cabang FS utama. Tapi ngan dina mode baca.

Sagalana geus diatur kawas kieu. Checkpoints biasa nu NILFS2 nyieun bisa otomatis dihapus iraha wae (lamun spasi disk béak atawa nurutkeun aturan nilfs_cleanerd), jadi saméméh instalasi urang kudu ngarobah papariksaan kana snapshot atawa, dina basa Rusia, néwak snapshot nu.

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

Saatos éta, urang tiasa pasang snapshot, contona, sapertos kieu:

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

Saatos éta kami nyalin file anu disimpen deui tina snapshot ka /home.
Teras urang miceun bandéra anu teu tiasa dipupus tina snapshot supados di hareup tukang sampah otomatis tiasa ngahapus data anu luntur:

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

Utiliti pikeun NILFS2

Tapi ieu masalahna. Leres, tangtosna, urang tiasa nyiptakeun sistem file, ngarobih ukuranana online, ningali daptar titik tantangan, nyiptakeun sareng ngahapus. pakét nilfs2-utils nyadiakeun susunan gentleman minimal urang.

Kusabab NTT parantos ngirangan dana na, teu aya utilitas tingkat rendah anu gancang anu ngamungkinkeun anjeun pikeun nampilkeun sajarah parobihan file atanapi ngabédakeun antara gambar.

Utiliti n2u kuring

Pikeun ngeusian vakum ieu kuring nulis utiliti n2u Anjeun, anu tiasa ningalikeun sajarah parobihan kana file/diréktori anu khusus:

n2u log filename

Kaluaranna sapertos kieu:

          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

Gawéna rada gancang pikeun métode palaksanaan dipilih: Sigana béda antara file ngagunakeun métode bisection, gancang ningkatna tur ngabandingkeun file / diréktori dina snapshots béda.

Anjeun tiasa nyetél sauntuyan checkpoints ngagunakeun konci -cp CP1:CP2 atawa -cp {YEAR-MM-DD}:{YEAR-MM-DD}.

Anjeun ogé tiasa ningali bédana antara checkpoints pikeun file atanapi diréktori khusus:

n2u diff -r cp1:cp2 filename

Anjeun tiasa ningalikeun sadaya kronologi parobihan: sadaya bédana antara titik pamariksaan file / diréktori khusus:

n2u blame [-r cp1:cp2] filename

Interval tanggal dina paréntah ieu ogé dirojong.

A ceurik ka pamekar

Aya seueur spesialis ngeunaan Habré. Mangga rengse NILFS2. Jieun réplikasi, bédana gancang tingkat handap antara révisi, reflink sareng barang-barang sanés!

rujukan

ramatloka resmi NILFS.

Repositories:
NILFS2.
Utiliti sarta modul NILFS2.

Rassylki:
E-mail newsletter pikeun pamekar NILFS2. ID pikeun langganan linux-nilfs.
arsip buletin.

nilfs_cleanerd pituduh setelan.
Benchmarking EXT4, Btrfs, XFS & NILFS2 Tés Performance.

hatur nuhun:

  • Pamekar NILFS2: Ryusuke Konishi, Koji Sato, Naruhiko Kamimura, Seiji Kihara, Yoshiji Amagai, Hisashi Hifumi sareng Satoshi Moriai. Kontributor utama lianna nyaéta: Andreas Rohner, Dan McGee, David Arendt, David Smid, dexen deVries, Dmitry Smirnov, Eric Sandeen, Jiro SEKIBA, Matteo Frigo, Hitoshi Mitake, Takashi Iwai, Vyacheslav Dubeyko.
  • Pikeun Amblin Hiburan jeung Universal Pictures pikeun runtuyan éndah film. "Balik deui ka Masa Depan". Gambar mimiti pos dicokot tina pilem "Balik ka Future 3".
  • Perusahaan RUVDS pikeun rojongan tur kasempetan pikeun nyebarkeun on blog anjeun dina Habré.

PS Punten kirimkeun kasalahan anu anjeun perhatikeun dina pesen pribadi. Kuring ningkatkeun karma kuring pikeun ieu.

Anjeun tiasa ékspérimén kalawan NILFS2 ku mesen mesin virtual tina RUVDS kalawan Kupon handap. Pikeun sadaya klien anyar aya periode percobaan gratis 3 dinten.

NILFS2 mangrupakeun filesystem bulletproof pikeun / imah

sumber: www.habr.com

Mésér hosting anu dipercaya pikeun situs anu gaduh panyalindungan DDoS, server VPS VDS 🔥 Meser hosting situs wéb anu tiasa dipercaya nganggo panyalindungan DDoS, server VPS VDS | ProHoster