NILFS2 - bu /home uchun o'q o'tkazmaydigan fayl tizimi

NILFS2 - bu /home uchun o'q o'tkazmaydigan fayl tizimi

Ma'lumki, agar muammo yuzaga kelishi mumkin bo'lsa, bu albatta sodir bo'ladi. Ehtimol, har bir kishi yaqinda muhim fayl tasodifan o'chirilgan yoki matn tasodifiy tanlangan va matn muharririda yo'q qilingan holatlarga duch kelgan.

Agar siz hoster yoki veb-sayt egasi bo'lsangiz, ehtimol siz foydalanuvchi hisoblarini yoki veb-saytingizni buzishga duch kelgansiz. Bunday hollarda xronologiyani tiklash, kirish usulini va tajovuzkor tomonidan ishlatiladigan zaiflikni topish muhimdir.

NILFS2 fayl tizimi bunday muammolarni hal qilish uchun juda mos keladi.

U Linux yadrosida 2.6.30 versiyasidan beri mavjud.

Ushbu fayl tizimining o'ziga xosligi shundaki, u versiyani boshqarish tizimiga o'xshaydi: siz har doim tizimning holatini orqaga qaytarishingiz va bir muncha vaqt oldin qanday bo'lganiga qarashingiz mumkin.

Ushbu funksiyani ta'minlash uchun siz Cron skriptlarini sozlashingiz, suratga olishingiz va h.k. shart emas. NILFS2 fayl tizimi buni o'zi bajaradi. U hech qachon eski ma'lumotlarni qayta yozmaydi va diskda etarli bo'sh joy bo'lsa, har doim diskning yangi joylariga yozadi. Kopiya-yozish printsipiga to'liq muvofiq.

Aslida, faylga qilingan har qanday o'zgarish avtomatik ravishda fayl tizimining yangi rasmini yaratadi, shuning uchun siz ushbu FSni vaqt mashinasi sifatida ishlatishingiz va fayllar holatini orqaga qaytarishingiz mumkin.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

NILFS2 - bu /home uchun o'q o'tkazmaydigan fayl tizimiNILFS2 chuqurlikda ishlab chiqilgan Nippon telegraf va telefon korporatsiyasi, aslida, davlatga tegishli (uning nazorat paketiga ega) va Yaponiyadagi eng yirik telekommunikatsiya kompaniyasi. Aniqroq aytganda, CyberSpace Laboratories rahbarligida Ryusuke Konishi.

U aniq nima uchun ishlab chiqilgani noma'lum, ammo taxmin qilish mumkinki, bunday FS o'zining "vaqt mashinasi" funksiyasi bilan razvedka xizmatlari butun rasmni qayta ko'rsatish uchun qazib olishni xohlashlari mumkin bo'lgan ma'lumotlarni saqlash uchun idealdir. SMS, elektron pochta va h.k.

NILFS2 shuningdek, ichki xavfsizlik xizmatlari uchun juda qimmatli vositadir, chunki u pochta ma'lumotlar bazasidagi barcha o'chirilgan xatlarni qayta tiklashga imkon beradi, bu esa keyinchalik o'z fayllarini o'chirish yoki o'zgartirish orqali ularni yashirishga harakat qilishi mumkin bo'lgan xodimlarning tiqilishini ochib beradi.

Barcha yozishmalaringiz tarixini qanday kuzatish mumkin?Linux serverlarida (va bu erda ichki xavfsizlik maqsadlari uchun NILFS2 o'rnatilishi kerak), elektron pochta xabarlarini saqlash uchun elektron pochta xabarlarini saqlashning fayl usuli juda tez-tez ishlatiladi. Format deb ataladigan narsa Maildir. Qo'yish uchun etarli Kuryer pochta serveri va Maildir-da pochta xotirasini sozlang. Boshqa format mbox alohida xabarlarga osongina ajratilishi mumkin bo'lgan katta matn fayli.

Agar pochta serveri ma'lumotlar bazasidan foydalansa, NILFS2 ma'lumotlar bazasini o'zgartirishning aniq vaqtini va ushbu daqiqalarning istalganida ma'lumotlar bazasini tiklash qobiliyatini tiklashga imkon beradi. Va keyin siz o'sha paytda nima borligini ko'rish uchun ma'lumotlar bazasi vositalaridan foydalanishingiz kerak ...

Biroq, nimadir noto'g'ri ketdi. Yoki Yaponiya hukumati hammani kuzatish haqidagi fikrini o'zgartirdi (yarovaya printsipi) yoki NILFS2-ning an'anaviy HDD-larda ishlashi past darajada bo'lib chiqdi va NILFS2 GPL litsenziyasi ostida chiqarildi va juda tez Linux yadrosiga kirdi, chunki Yuqori malakali yapon tilida yozilgan kod bo'yicha alohida shikoyatlar yo'q edi, Linux yadrosini ishlab chiquvchilarda esa yo'q edi.

NILFS2 nimaga o'xshaydi?

Foydalanish nuqtai nazaridan: versiyani boshqarish tizimida SVN. Har bir FS nazorat punkti har qanday o'zgarish bo'lganda foydalanuvchining xabarisiz avtomatik ravishda amalga oshiriladigan majburiyatdir: o'chirish, fayl mazmunini o'zgartirish yoki kirish huquqlarini o'zgartirish. Har bir topshiriqda chiziqli ravishda ko'payadigan raqam mavjud.

Dasturchi nuqtai nazaridan: dumaloq bufer. Fayl tizimi o'zgarishlarni to'playdi va ularni taxminan 8 MB ga teng bo'lakka yozadi (2000 * 4096, bu erda 2000 - blokdagi elementlar soni va 4096 - xotira sahifasining o'lchami). Butun disk shunday bo'laklarga bo'lingan. Yozib olish ketma-ket davom etadi. Bo'sh joy tugagach, eng eski suratlar o'chiriladi va bo'laklar ustiga yoziladi.

Asosiy NILFS2 sovg'alari

  • Versiyalash!!!
  • Muvaffaqiyatsizlikdan keyin fayl tizimini tiklash tartibi oddiy: yuklashda to'g'ri nazorat summasiga ega bo'lgan oxirgi qism qidiriladi va unga superblok o'rnatiladi. Bu deyarli tezkor operatsiya.
  • Yozib olish har doim chiziqli davom etishi sababli:
    • sekin tasodifiy yozish bilan SSDda ishlaganda yaxshi natijalarni ko'rsatishi mumkin.
    • NILFS2 SSD resursini tejaydi, chunki yozishni ko'paytirish omili deyarli yo'q.
      Aniqroq aytganda, 2 dan ortiq emas.Gap shundaki, butun diskni davriy ravishda qayta yozishda NILFS2 o'zgarmas ma'lumotlarni yangi qismlarga (bo'laklarga) uzatadi.

      Agar diskda o'zgarmas ma'lumotlarning 10% bo'lsa, biz 10 to'liq qayta yozish bilan 1% yozishni olamiz. Xo'sh, diskni 50 marta to'liq qayta yozish uchun qurilmaning 50% to'liqligida 1% o'sish.

      Maksimal yozish daromadi 2. Hamma narsa ketma-ket yozilganligini hisobga olsak, bu juda past. Umuman olganda, yozish animatsiyasi 4096 baytlik sektorga ega bo'lgan an'anaviy bo'laklangan fayl tizimidan kamroq bo'ladi. (Fikr ilhomlantirilgan izoh).

  • Masofaviy NILFS2 FS ga replikatsiyani amalga oshirishning potentsial qulayligi

/home uchun NILFS2

Unix-ga o'xshash operatsion tizimlarda, qoida tariqasida, foydalanuvchi ma'lumotlari saqlanadigan /home papkasi mavjud. Turli dasturlar ushbu papkada foydalanuvchiga xos sozlamalarini saqlaydi.

Va agar foydalanuvchilar bo'lmasa, kim ko'pincha xato qiladi? Shuning uchun, ular aytganidek, Xudoning o'zi NILFS2-dan / uyda foydalanishni buyurgan.

Bundan tashqari, SSD-larning keng qo'llanilishi bilan biz endi CoW fayl tizimlaridan foydalanishda jiddiy kamchiliklar haqida tashvishlanishimiz shart emas.

Ha, biz ZFS va BTRFS-da FS suratlarini xohlagancha tez-tez yaratishimiz mumkin, ammo har doim yo'qolgan fayl o'zgarishi suratlar orasida tugashi xavfi mavjud. Va rasmlar hali ham boshqarilishi kerak: eskilarini o'chirish kerak. NILFS2-da bularning barchasi avtomatik ravishda, har bir necha soniyada sodir bo'ladi.

Men lvcreate yordamida mantiqiy hajm yaratdim (nvme tovush guruhida, nozik hovuz nozik). Men uni lvm hajmida yaratishni tavsiya qilaman, chunki uni keyinchalik osongina kengaytirish mumkin. Yaxshi versiya chuqurligi uchun NILFS50 bilan 2% bo'sh disk maydoniga ega bo'lishni tavsiya qilaman.

lvcreate -V10G -T nvme/thin -n home

va uni NILFS2 da formatladi:

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

Shundan so'ng, joriy/uydagi barcha ma'lumotlarni nusxalashingiz kerak.

Men buni kompyuterni ishga tushirgandan so'ng, root foydalanuvchisi sifatida hisob qaydnomamga kirishdan oldin qildim. Agar men foydalanuvchi sifatida tizimga kirsam, ba'zi dasturlar foydalanuvchining /home/user papkasida rozetkalar va fayllarni ochadi, bu esa toza nusxani qiyinlashtiradi. Ma'lumki, root foydalanuvchisi uchun asosiy papka odatda /root yo'lida joylashgan, shuning uchun /home bo'limida hech qanday fayl ochilmaydi.

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

Oxirgi qator uchun qarang maqola.

Keyinchalik, /home fayl tizimi o'rnatilgan /etc/fstab ni tahrirlaymiz

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

Variant noatime har bir faylga kirishda vaqt o'zgarmasligi uchun ishlashni yaxshilash kerak. Keyin biz qayta ishga tushiramiz.

NILFS2 da tasvir turlari.

O'chirishga qarshi immunitetga ega bo'lmagan oddiy suratga tekshirish punkti yoki tiklash nuqtasi deyiladi.
Avtomatik o'chirishdan himoyalangan surat oniy rasm, keyin esa oddiy rasm deb ataladi.

Tekshirish nuqtalarini ko'rish lscp buyrug'i yordamida amalga oshiriladi

Snapshotlarni ko'rish lscp -s

Biz istalgan vaqtda suratlar va nazorat nuqtalarini o'zimiz yaratishimiz mumkin:

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

Biz ma'lumotlarni qayta tiklaymiz.

NILFS bizga asosiy FS filiali bilan ishlash bilan parallel ravishda xohlagancha eski suratlarni o'rnatishga imkon beradi. Lekin faqat o'qish rejimida.

Hammasi shunday tartibga solingan. NILFS2 tomonidan amalga oshiriladigan muntazam nazorat punktlari istalgan vaqtda avtomatik ravishda o'chirilishi mumkin (diskdagi bo'sh joy tugashi yoki nilfs_cleanerd qoidalariga muvofiq), shuning uchun o'rnatishdan oldin biz nazorat punktini oniy rasmga aylantirishimiz yoki rus tilida oniy tasvirni olishimiz kerak.

chcp ss Π½ΠΎΠΌΠ΅Ρ€_Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π°

Shundan so'ng, biz rasmni o'rnatishimiz mumkin, masalan:

mount -t nilfs2 -r -o cp=Π½ΠΎΠΌΠ΅Ρ€_Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π° /dev/nvme/home /mnt/nilfs/Π½ΠΎΠΌΠ΅Ρ€_Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π°

Shundan so'ng biz tiklangan fayllarni oniy rasmdan /home-ga nusxalaymiz.
Va keyinchalik biz o'chirilmaydigan bayroqni oniy rasmdan olib tashlaymiz, shunda kelajakda avtomatik axlat yig'uvchi eskirgan ma'lumotlarni olib tashlashi mumkin:

chcp cp Π½ΠΎΠΌΠ΅Ρ€_Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π°

NILFS2 uchun yordamchi dasturlar

Ammo bu muammo. Ha, albatta, biz fayl tizimini yaratishimiz, uning hajmini onlayn tarzda o'zgartirishimiz, sinov nuqtalari ro'yxatini ko'rishimiz, ularni yaratishimiz va o'chirishimiz mumkin. Nilfs2-utils to'plami minimal janoblar to'plamini taqdim etadi.

NTT moliyalashtirishni qisqartirganligi sababli, fayllarni o'zgartirish tarixini ko'rsatish yoki oniy tasvirlar o'rtasida farq qilish imkonini beradigan past darajadagi tezkor yordamchi dasturlar mavjud emas.

Mening n2u yordam dasturim

Bu bo'shliqni to'ldirish uchun men yozdim n2u yordam dasturingiz, bu ma'lum bir fayl/katalogdagi o'zgarishlar tarixini ko'rsatishi mumkin:

n2u log filename

Chiqish shunga o'xshash:

          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

Tanlangan amalga oshirish usuli uchun u juda tez ishlaydi: u biseksiya usulidan foydalangan holda fayllar orasidagi farqlarni qidiradi, tezda turli xil suratlardagi fayl/katalogni o'rnatadi va taqqoslaydi.

Kalit yordamida bir qator nazorat nuqtalarini o'rnatishingiz mumkin -cp CP1:CP2 yoki -cp {YEAR-MM-DD}:{YEAR-MM-DD}.

Bundan tashqari, ma'lum bir fayl yoki katalog uchun nazorat nuqtalari orasidagi farqni ko'rishingiz mumkin:

n2u diff -r cp1:cp2 filename

Siz o'zgarishlarning butun xronologiyasini ko'rsatishingiz mumkin: ma'lum bir fayl/katalogning nazorat nuqtalari orasidagi barcha farqlar:

n2u blame [-r cp1:cp2] filename

Ushbu buyruqdagi sana oralig'i ham qo'llab-quvvatlanadi.

Ishlab chiquvchilar uchun yig'lash

HabrΓ© bo'yicha ko'plab mutaxassislar mavjud. Iltimos, NILFS2 ni tugating. Replikatsiyani yarating, qayta ko'rib chiqish, qayta havola va boshqa sovg'alar o'rtasidagi past darajadagi tezkor farq!

Manbalar

NILFS rasmiy sayti.

Repozitoriylar:
NILFS2.
NILFS2 yordam dasturlari va modullari.

Axborot byulletenlari:
NILFS2 ishlab chiquvchilari uchun elektron pochta xabarnomasi. Linux-nilfs obunasi uchun ID.
Axborot byulletenlari arxivi.

nilfs_cleanerd o'rnatish qo'llanmasi.
EXT4, Btrfs, XFS va NILFS2 ishlash testlarini solishtirish.

Rahmat:

  • NILFS2 ishlab chiquvchilari: Ryusuke Konishi, Koji Sato, Naruhiko Kamimura, Seiji Kihara, Yoshiji Amagai, Hisashi Hifumi va Satoshi Moriai. Boshqa katta hissa qoβ€˜shganlar: Andreas Rohner, Den MakGi, Devid Arendt, Devid Smid, dexen deVries, Dmitriy Smirnov, Erik Sandin, Jiro SEKIBA, Matteo Frigo, Xitoshi Mitake, Takashi Ivay, Vyacheslav Dubeyko.
  • Amblin Entertainment va Universal Pictures-ga ajoyib filmlar seriyasi uchun. "Kelajakka qaytib". Xabarning birinchi surati β€œKelajakka qaytish 3” filmidan olingan.
  • Kompaniyalar RUVDS qo'llab-quvvatlash va HabrΓ©-dagi blogingizda nashr qilish imkoniyati uchun.

PS Iltimos, ko'rgan xatolaringizni shaxsiy xabar orqali yuboring. Buning uchun karmani oshiraman.

Virtual mashinaga buyurtma berish orqali NILFS2 bilan tajriba o'tkazishingiz mumkin RUVDS quyidagi kupon bilan. Barcha yangi mijozlar uchun 3 kunlik bepul sinov muddati mavjud.

NILFS2 - bu /home uchun o'q o'tkazmaydigan fayl tizimi

Manba: www.habr.com

a Izoh qo'shish