Zaxira 7-qism: Xulosa

Zaxira 7-qism: Xulosa

Ushbu eslatma zaxiralash haqidagi tsiklni yakunlaydi. U zaxiralash uchun qulay bo'lgan ajratilgan serverning (yoki VPS) mantiqiy tashkil etilishini muhokama qiladi, shuningdek, ofat yuz berganda ko'p ishlamay qolmasdan serverni zahiradan tezda tiklash variantini taklif qiladi.

Xom ma'lumotlar

Ajratilgan serverda ko'pincha birinchi darajali RAID massivini (oyna) tashkil qilish uchun xizmat qiladigan kamida ikkita qattiq disk mavjud. Bu bitta disk ishlamay qolsa, serverning ishlashini davom ettirish uchun kerak. Agar bu odatiy ajratilgan server bo'lsa, SSD-da faol keshlash texnologiyasiga ega alohida apparat RAID kontrolleri bo'lishi mumkin, shuning uchun oddiy qattiq disklarga qo'shimcha ravishda bir yoki bir nechta SSD-larni ulash mumkin. Ba'zan ajratilgan serverlar taklif etiladi, ularda yagona mahalliy disklar SATADOM (kichik disklar, tizimli ravishda SATA portiga ulangan flesh-disk) yoki hatto maxsus ichki portga ulangan oddiy kichik (8-16 GB) flesh-disk va ma'lumotlar saqlash tizimidan olinadi, maxsus saqlash tarmog'i (Ethernet 10G, FC va boshqalar) orqali ulanadi va to'g'ridan-to'g'ri saqlash tizimidan yuklangan maxsus serverlar mavjud. Men bunday variantlarni ko'rib chiqmayman, chunki bunday hollarda serverning zaxira nusxasini yaratish vazifasi saqlash tizimiga xizmat ko'rsatadigan mutaxassisga muammosiz o'tadi; odatda oniy tasvirlarni yaratish uchun turli xil xususiy texnologiyalar, o'rnatilgan deduplikatsiya va tizim ma'murining boshqa quvonchlari mavjud. , ushbu seriyaning oldingi qismlarida muhokama qilingan. Ajratilgan server disklari massivining hajmi serverga ulangan disklar soni va hajmiga qarab bir necha o'nlab terabaytlarga yetishi mumkin. VPS holatida hajmlar oddiyroq: odatda 100 Gb dan oshmaydi (lekin bundan ham ko'proq) va bunday VPS uchun tariflar bir xil hosterning eng arzon ajratilgan serverlariga qaraganda qimmatroq bo'lishi mumkin. VPS ko'pincha bitta diskga ega, chunki uning ostida saqlash tizimi (yoki giperkonversiyalangan narsa) bo'ladi. Ba'zan VPS turli maqsadlar uchun turli xususiyatlarga ega bir nechta disklarga ega:

  • kichik tizim - operatsion tizimni o'rnatish uchun;
  • katta - foydalanuvchi ma'lumotlarini saqlash.

Boshqarish paneli yordamida tizimni qayta o'rnatganingizda, foydalanuvchi ma'lumotlari bo'lgan disk yozilmaydi, lekin tizim diski to'liq to'ldiriladi. Bundan tashqari, VPS bo'lsa, hoster VPS (yoki disk) holatini suratga oladigan tugmani taklif qilishi mumkin, ammo agar siz o'zingizning operatsion tizimingizni o'rnatsangiz yoki VPS ichida kerakli xizmatni yoqishni unutib qo'ysangiz, ba'zilari ma'lumotlar hali ham yo'qolishi mumkin. Tugmaga qo'shimcha ravishda odatda ma'lumotlarni saqlash xizmati taklif etiladi, ko'pincha juda cheklangan. Odatda bu FTP yoki SFTP orqali, ba'zan SSH bilan birga, o'chirilgan qobiqli (masalan, rbash) yoki avtorizatsiyalangan_kalitlar (ForcedCommand orqali) orqali buyruqlarni bajarishda cheklov mavjud hisob.

Ajratilgan server tarmoqqa 1 Gbit / s tezlikka ega ikkita port orqali ulangan, ba'zan bu 10 Gbit / s tezlikdagi kartalar bo'lishi mumkin. VPS ko'pincha bitta tarmoq interfeysiga ega. Ko'pincha ma'lumotlar markazlari ma'lumotlar markazi ichidagi tarmoq tezligini cheklamaydi, lekin ular Internetga kirish tezligini cheklaydi.

Bunday ajratilgan server yoki VPSning odatiy yuki veb-server, ma'lumotlar bazasi va dastur serveridir. Ba'zan turli xil qo'shimcha yordamchi xizmatlar o'rnatilishi mumkin, shu jumladan veb-server yoki ma'lumotlar bazasi uchun: qidiruv tizimi, pochta tizimi va boshqalar.

Maxsus tayyorlangan server zaxira nusxalarini saqlash uchun joy vazifasini bajaradi, bu haqda keyinroq batafsil yozamiz.

Disk tizimining mantiqiy tashkil etilishi

Agar sizda RAID kontrolleringiz yoki bitta diskli VPS bo'lsa va disk quyi tizimining ishlashi uchun maxsus imtiyozlar bo'lmasa (masalan, ma'lumotlar bazasi uchun alohida tezkor disk), barcha bo'sh joy quyidagicha bo'linadi: bitta bo'lim yaratiladi va uning ustiga LVM hajmlari guruhi yaratiladi, unda bir nechta jildlar yaratiladi: ildiz fayl tizimi sifatida ishlatiladigan bir xil o'lchamdagi 2 ta kichik jild (tezkor orqaga qaytish imkoniyati uchun yangilanishlar paytida birma-bir o'zgartiriladi, g'oya Calculate Linux distribyutsiyasidan olingan), boshqasi almashtirish bo'limi uchun, qolgan bo'sh joy kichik hajmlarga bo'linadi, to'liq konteynerlar, virtual mashinalar uchun disklar, fayl uchun ildiz fayl tizimi sifatida ishlatiladi. /home-dagi hisoblar uchun tizimlar (har bir hisob o'z fayl tizimiga ega), dastur konteynerlari uchun fayl tizimlari.

Muhim eslatma: jildlar butunlay o'z-o'zidan bo'lishi kerak, ya'ni. bir-biriga yoki ildiz fayl tizimiga bog'liq bo'lmasligi kerak. Virtual mashinalar yoki konteynerlar bo'lsa, bu nuqta avtomatik ravishda kuzatiladi. Agar bular dastur konteynerlari yoki uy kataloglari bo'lsa, siz veb-server va boshqa xizmatlarning konfiguratsiya fayllarini jildlar orasidagi bog'liqlikni imkon qadar yo'q qiladigan tarzda ajratish haqida o'ylashingiz kerak. Misol uchun, har bir sayt o'z foydalanuvchisidan ishlaydi, sayt konfiguratsiya fayllari foydalanuvchining uy katalogida, veb-server sozlamalarida, sayt konfiguratsiya fayllari /etc/nginx/conf.d/ orqali kiritilmagan..conf va, masalan, /home//configs/nginx/*.conf

Agar bir nechta disklar mavjud bo'lsa, siz RAID dasturiy massivini yaratishingiz mumkin (va zarurat va imkoniyat bo'lsa, uni SSD-da keshlashni sozlashingiz mumkin), buning ustiga yuqorida tavsiya etilgan qoidalarga muvofiq LVM-ni qurishingiz mumkin. Bundan tashqari, bu holda siz ZFS yoki BtrFS dan foydalanishingiz mumkin, ammo bu haqda ikki marta o'ylab ko'rishingiz kerak: ikkalasi ham resurslarga jiddiyroq yondashishni talab qiladi va bundan tashqari, ZFS Linux yadrosiga kiritilmagan.

Amaldagi sxemadan qat'i nazar, har doim disklarga o'zgartirishlarni yozishning taxminiy tezligini oldindan hisoblash va keyin suratlarni yaratish uchun ajratiladigan bo'sh joy miqdorini hisoblash kerak. Misol uchun, agar bizning serverimiz ma'lumotlarni sekundiga 10 megabayt tezlikda yozsa va butun ma'lumotlar massivining o'lchami 10 terabayt bo'lsa - sinxronizatsiya vaqti bir kunga yetishi mumkin (22 soat - bunday hajm qancha uzatiladi). tarmoq orqali 1 Gbit / s) - taxminan 800 GB saqlashga arziydi. Aslida, bu raqam kichikroq bo'ladi, siz uni mantiqiy jildlar soniga ishonch bilan bo'lishingiz mumkin.

Zaxira saqlash server qurilmasi

Zaxira nusxalarini saqlash uchun server o'rtasidagi asosiy farq uning katta, arzon va nisbatan sekin disklaridir. Zamonaviy HDD-lar allaqachon bitta diskda 10 TB satrini kesib o'tganligi sababli, fayl tizimlari yoki nazorat summalari bilan RAID-dan foydalanish kerak, chunki massivni qayta qurish yoki fayl tizimini tiklash paytida (bir necha kun!) Ikkinchi disk ishdan chiqishi mumkin. ortib borayotgan yuk uchun. 1TB gacha bo'lgan disklarda bu unchalik sezgir emas edi. Ta'rifning soddaligi uchun men disk maydoni taxminan teng o'lchamdagi ikki qismga bo'lingan deb taxmin qilaman (yana, masalan, LVM yordamida):

  • foydalanuvchi ma'lumotlarini saqlash uchun ishlatiladigan serverlarga mos keladigan hajmlar (so'nggi tuzilgan zahira nusxasi tekshirish uchun ularga joylashtiriladi);
  • BorgBackup omborlari sifatida foydalaniladigan hajmlar (zaxira nusxalari uchun ma'lumotlar to'g'ridan-to'g'ri shu erda bo'ladi).

Amaliyot printsipi shundan iboratki, har bir server uchun jangovar serverlar ma'lumotlari ketadigan BorgBackup omborlari uchun alohida hajmlar yaratiladi. Repozitariylar faqat qo'shimcha rejimida ishlaydi, bu ma'lumotlarni qasddan o'chirish imkoniyatini yo'q qiladi va eski zaxira nusxalaridan omborlarni deuplikatsiya qilish va davriy tozalash tufayli (yillik nusxalar oxirgi yil uchun har oy, oxirgi oy uchun har hafta, har kuni - har kuni qoladi). o'tgan hafta, ehtimol alohida holatlarda - oxirgi kun uchun soatlik: jami 24 + 7 + 4 + 12 + yillik - har bir server uchun taxminan 50 nusxa).
BorgBackup omborlari faqat qo'shish rejimini yoqmaydi; buning o'rniga .ssh/authorized_keys-dagi ForcedCommand quyidagi kabi ishlatiladi:

from="адрСс сСрвСра",command="/usr/local/bin/borg serve --append-only --restrict-to-path /home/servername/borgbackup/",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc AAAAA.......

Belgilangan yo'lda borgning tepasida o'rash skripti mavjud bo'lib, u parametrlar bilan ikkilik faylni ishga tushirishdan tashqari, ma'lumotlar o'chirilgandan keyin zaxira nusxasini tiklash jarayonini qo'shimcha ravishda boshlaydi. Buning uchun o'ram skripti mos keladigan ombor yonida teg faylini yaratadi. Oxirgi zaxira nusxasi ma'lumotlarni to'ldirish jarayoni tugagandan so'ng avtomatik ravishda mos keladigan mantiqiy hajmga tiklanadi.

Ushbu dizayn vaqti-vaqti bilan keraksiz zaxira nusxalarini tozalash imkonini beradi, shuningdek, jangovar serverlarning zaxira saqlash serveridagi biror narsani o'chirishiga yo'l qo'ymaydi.

Zaxiralash jarayoni

Zaxiralashning tashabbuskori ajratilgan server yoki VPS-ning o'zi hisoblanadi, chunki bu sxema ushbu server tomonidan zaxira jarayonini ko'proq boshqarish imkonini beradi. Birinchidan, faol ildiz fayl tizimining holatining surati olinadi, u BorgBackup yordamida zaxira saqlash serveriga o'rnatiladi va yuklanadi. Ma'lumotlarni yozib olish tugallangandan so'ng, surat o'chiriladi va o'chiriladi.

Agar kichik ma'lumotlar bazasi mavjud bo'lsa (har bir sayt uchun 1 Gb gacha), ma'lumotlar bazasini to'ldirish amalga oshiriladi, u tegishli mantiqiy hajmda saqlanadi, bu erda xuddi shu sayt uchun qolgan ma'lumotlar joylashgan, ammo axlat qutisi shunday bo'lishi kerak. veb-server orqali kirish mumkin emas. Agar ma'lumotlar bazalari katta bo'lsa, siz "issiq" ma'lumotlarni olib tashlashni sozlashingiz kerak, masalan, MySQL uchun xtrabackup yordamida yoki PostgreSQL-da archive_command bilan WAL bilan ishlashingiz kerak. Bunday holda, ma'lumotlar bazasi sayt ma'lumotlaridan alohida tiklanadi.

Agar konteynerlar yoki virtual mashinalar ishlatilsa, siz qemu-guest-agent, CRIU yoki boshqa kerakli texnologiyalarni sozlashingiz kerak. Boshqa hollarda, qo'shimcha sozlamalar ko'pincha kerak emas - biz shunchaki mantiqiy hajmlarning suratlarini yaratamiz, keyinchalik ular ildiz fayl tizimining holatining surati bilan bir xil tarzda qayta ishlanadi. Ma'lumotlar olingandan so'ng, rasmlar o'chiriladi.

Zaxira saqlash serverida keyingi ishlar amalga oshiriladi:

  • har bir omborda qilingan oxirgi zaxira tekshiriladi,
  • ma'lumotlarni yig'ish jarayoni tugaganligini ko'rsatadigan belgi faylining mavjudligi tekshiriladi;
  • ma'lumotlar tegishli mahalliy hajmgacha kengaytiriladi,
  • teg fayli o'chiriladi

Serverni tiklash jarayoni

Agar asosiy server o'lib qolsa, ba'zi bir standart tasvirdan yuklanadigan shunga o'xshash maxsus server ishga tushiriladi. Katta ehtimol bilan yuklab olish tarmoq orqali amalga oshiriladi, ammo serverni sozlash bo'yicha ma'lumotlar markazining mutaxassisi ushbu standart tasvirni darhol disklardan biriga nusxalashi mumkin. Yuklab olish RAMga tushadi, shundan so'ng tiklash jarayoni boshlanadi:

  • blok qurilmani iscsinbd yoki boshqa shunga o'xshash protokol orqali o'lgan serverning ildiz fayl tizimini o'z ichiga olgan mantiqiy jildga biriktirish uchun so'rov yuboriladi; Ildiz fayl tizimi kichik bo'lishi kerakligi sababli, bu qadam bir necha daqiqada bajarilishi kerak. Bootloader ham tiklanadi;
  • mahalliy mantiqiy jildlarning tuzilishi qayta yaratiladi, mantiqiy hajmlar dm_clone yadro moduli yordamida zaxira serverdan biriktiriladi: ma'lumotlarni qayta tiklash boshlanadi va o'zgarishlar darhol mahalliy disklarga yoziladi.
  • konteyner barcha mavjud jismoniy disklar bilan ishga tushirildi - serverning ishlashi to'liq tiklanadi, ammo unumdorligi pasaygan;
  • ma'lumotlarni sinxronlashtirish tugagandan so'ng, zaxira serverdan mantiqiy hajmlar uziladi, konteyner o'chiriladi va server qayta ishga tushiriladi;

Qayta ishga tushirilgandan so'ng, server zaxira nusxasini yaratish vaqtida mavjud bo'lgan barcha ma'lumotlarga ega bo'ladi va tiklash jarayonida kiritilgan barcha o'zgarishlarni ham o'z ichiga oladi.

Seriyadagi boshqa maqolalar

Zaxira, 1-qism: Zaxira nima uchun kerak, usullar, texnologiyalar haqida umumiy ma'lumot
Zaxiralash 2-qism: rsync-ga asoslangan zaxira vositalarini ko'rib chiqish va sinovdan o'tkazish
Zaxira 3-qism: Ikkilik, dublikatlarni ko'rib chiqish va sinovdan o'tkazish
Zaxira 4-qism: zbackup, restic, borgbackup-ni ko'rib chiqish va sinovdan o'tkazish
Zaxira 5-qism: Linux uchun Bacula va Veeam Backup-ni sinovdan o'tkazish
Zaxira: o'quvchilarning iltimosiga binoan qism: AMANDA, UrBackup, BackupPC ko'rib chiqish
Zaxiralash 6-qism: Zaxiralash vositalarini solishtirish
Zaxira 7-qism: Xulosa

Men sizni sharhlarda taklif qilingan variantni muhokama qilishni taklif qilaman, e'tiboringiz uchun rahmat!

Manba: www.habr.com

a Izoh qo'shish