Nyadangkeun, bagian 1: Tujuan, tinjauan metode sareng téknologi

Nyadangkeun, bagian 1: Tujuan, tinjauan metode sareng téknologi
Naha anjeun kedah ngadamel cadangan? Barina ogé, alat-alatna pisan, dipercaya pisan, sareng sajaba ti éta, aya "awan" anu langkung reliabiliti tibatan server fisik: kalayan konfigurasi anu leres, server "awan" tiasa gampang salamet tina gagalna server fisik infrastruktur, sareng ti sudut pandang pamaké jasa, bakal aya leutik, luncat bieu noticeable dina layanan waktos. Salaku tambahan, duplikasi inpormasi sering ngabutuhkeun mayar kanggo "tambahan" waktos prosésor, beban disk, sareng lalu lintas jaringan.

Hiji program idéal ngajalankeun gancang, teu bocor memori, teu boga liang, tur teu aya.

-Teu dipikanyaho

Kusabab program masih ditulis ku pamekar protéin, sarta mindeng euweuh prosés nguji, ditambah program jarang dikirimkeun ngagunakeun "prakték pangalusna" (anu sorangan ogé program sahingga teu sampurna), administrator sistem paling sering kudu ngajawab masalah anu disada sakeudeung tapi. succinctly: "balik deui ka kumaha éta", "mawa dasar ka operasi normal", "jalan lalaunan - gulung deui", sarta ogé favorit kuring "Kuring henteu weruh naon, tapi ngalereskeun eta".

Salian kasalahan logis anu timbul salaku hasil tina karya sembrono tina pamekar, atawa kombinasi kaayaan, kitu ogé pangaweruh lengkep atanapi salah paham ngeunaan fitur leutik program wangunan - kaasup nyambungkeun jeung sistem, kaasup sistem operasi, drivers jeung firmware - aya ogé kasalahan séjén. Contona, lolobana pamekar ngandelkeun runtime, sagemblengna forgetting ngeunaan hukum fisik, nu masih teu mungkin keur circumvent ngagunakeun program. Ieu ngawengku reliabiliti tanpa wates of subsistem disk jeung, sacara umum, sagala subsistem panyimpen data (kaasup RAM jeung processor cache!), Jeung nol waktu ngolah dina processor, jeung henteuna kasalahan salila transmisi ngaliwatan jaringan jeung salila ngolah dina. processor, sarta latency jaringan, nu sarua jeung 0. Anjeun teu kudu maranéh ngalalaworakeun kana wates waktu notorious, sabab lamun teu papanggih eta dina jangka waktu, bakal aya masalah leuwih goreng ti nuances jaringan sarta operasi disk.

Nyadangkeun, bagian 1: Tujuan, tinjauan metode sareng téknologi

Naon anu kudu dipigawé kalayan masalah anu naek dina gaya pinuh sarta ngagantung leuwih data berharga? Teu aya anu ngagentos pamekar hirup, sareng sanés kanyataan yén éta bakal tiasa dilaksanakeun dina waktos anu caket. Di sisi anu sanés, ngan ukur sababaraha proyék anu suksés ngabuktikeun yén program éta bakal jalan sakumaha anu dimaksad, sareng éta henteu merta tiasa nyandak sareng nerapkeun buktina kana proyék-proyék anu sami. Ogé, bukti sapertos butuh loba waktu sarta merlukeun kaahlian husus sarta pangaweruh, sarta ieu praktis ngaminimalkeun kamungkinan pamakéan maranéhna nyokot kana akun deadlines. Salaku tambahan, urang henteu acan terang kumaha ngagunakeun téknologi ultra-gancang, murah sareng dipercaya pikeun nyimpen, ngolah sareng ngirimkeun inpormasi. Téknologi sapertos kitu, upami aya, aya dina bentuk konsép, atanapi - paling sering - ngan ukur dina buku fiksi ilmiah sareng pilem.

Seniman alus nyalin, seniman hébat maok.

—Pablo Picasso.

Solusi anu paling suksés sareng hal-hal saderhana anu heran biasana lumangsung dimana konsép, téknologi, pangaweruh, sareng widang élmu anu leres-leres henteu cocog dina pandangan kahiji.

Salaku conto, manuk sareng kapal terbang gaduh jangjang, tapi sanaos kamiripan fungsional - prinsip operasi dina sababaraha modeu sami, sareng masalah téknis direngsekeun ku cara anu sami: tulang kerung, panggunaan bahan anu kuat sareng ringan, jsb. hasilna sagemblengna béda, sanajan sarupa pisan. Conto pangalusna anu urang tingali dina téhnologi urang ogé sakitu legana injeuman ti alam: kompartemen pressurized kapal jeung kapal selam mangrupakeun analogi langsung kalawan annelids; ngawangun arrays razia jeung mariksa integritas data - duplicating ranté DNA; kitu ogé organ dipasangkeun, kamerdikaan karya organ béda ti sistim saraf pusat (automation jantung) jeung refleksnya - sistem otonom dina Internét. Tangtosna, nyandak sareng nerapkeun solusi anu siap-siap "sirah-sirah" pinuh ku masalah, tapi saha anu terang, panginten henteu aya solusi anu sanés.

Upami kuring terang dimana anjeun bakal murag, kuring bakal nempatkeun jarami!

— paribasa rahayat Belarusia

Ieu ngandung harti yén salinan cadangan penting pisan pikeun anu hoyong:

  • Bisa mulangkeun operasi sistem anjeun kalawan downtime minimal, atawa malah tanpa eta pisan
  • Tumindak boldly, sabab bisi kasalahan aya salawasna kamungkinan rollback a
  • Ngaleutikan konsékuansi tina korupsi data ngahaja

Ieu sakedik téori

Sakur klasifikasi sawenang-wenang. Alam teu ngagolongkeun. Urang ngagolongkeun sabab leuwih merenah pikeun urang. Sarta kami mengklasifikasikan nurutkeun data nu urang ogé nyokot wenang.

— Jean Bruler

Paduli metode panyimpen fisik, panyimpen data logis tiasa dibagi jadi dua cara pikeun ngakses data ieu: blok sareng file. Divisi ieu nembe pisan kabur, sabab murni blok, kitu ogé file murni, gudang logis teu aya. Nanging, pikeun kesederhanaan, urang bakal nganggap yén éta aya.

Panyimpenan data blok nunjukkeun yén aya alat fisik dimana data ditulis dina bagian anu tetep, blok. Blok diaksés dina alamat anu tangtu; unggal blok gaduh alamat sorangan dina alat.

Cadangan biasana dilakukeun ku nyalin blok data. Pikeun mastikeun integritas data, ngarékam blok anyar, kitu ogé parobahan anu tos aya, ditunda dina waktos nyalin. Upami urang nyandak analogi tina dunya biasa, hal anu pangdeukeutna nyaéta lomari kalayan sél wilanganana idéntik.

Nyadangkeun, bagian 1: Tujuan, tinjauan metode sareng téknologi

Panyimpenan data file dumasar kana prinsip alat anu logis caket sareng panyimpen blok sareng sering diatur di luhur. Bedana penting nyaéta ayana hirarki gudang sareng nami anu tiasa dibaca ku manusa. Abstraksi dialokasikeun dina bentuk file - daérah data anu namina, ogé diréktori - file khusus dimana déskripsi sareng aksés kana file sanésna disimpen. File tiasa disayogikeun sareng metadata tambahan: waktos nyiptakeun, aksés umbul, jsb. Nyadangkeun biasana dilakukeun ku cara kieu: milarian file anu dirobih, teras nyalin ka panyimpenan file anu sanés kalayan struktur anu sami. Integritas data biasana dilaksanakeun ku henteuna file anu ditulis. Metadata file dicadangkeun ku cara anu sami. Analogi anu pangdeukeutna nyaéta perpustakaan, anu ngagaduhan bagian sareng buku anu béda, sareng ogé ngagaduhan katalog kalayan nami buku anu tiasa dibaca manusa.

Nyadangkeun, bagian 1: Tujuan, tinjauan metode sareng téknologi

Anyar-anyar ieu, kadang-kadang dijelaskeun pilihan anu sanés, ti mana, prinsipna, panyimpen data file mimiti, sareng anu gaduh fitur kuno anu sami: panyimpen data obyék.

Beda sareng panyimpenan file sabab teu gaduh langkung ti hiji nyarang (skéma datar), sareng nami file, sanaos tiasa dibaca manusa, masih langkung cocog pikeun diolah ku mesin. Nalika ngalakukeun cadangan, panyimpen obyék paling sering diperlakukeun sami sareng panyimpen file, tapi aya kalana aya pilihan sanés.

- Aya dua jinis pangurus sistem, anu henteu ngadamel cadangan, sareng anu parantos ngalakukeun.
- Sabenerna, aya tilu jenis: aya ogé anu pariksa yen cadangan bisa dibalikkeun.

-Teu dipikanyaho

Éta ogé patut ngarti yén prosés cadangan data sorangan dilumangsungkeun ku program, jadi eta boga sagala kalemahan sarua jeung program séjén. Pikeun miceun (teu ngaleungitkeun!) gumantungna kana faktor manusa, kitu ogé fitur - nu individual teu boga pangaruh kuat, tapi babarengan bisa méré éfék noticeable - nu disebut aturan 3-2-1. Aya loba pilihan pikeun kumaha carana decipher eta, tapi kuring resep interpretasi handap hadé: 3 susunan data sarua kudu disimpen, 2 susunan kudu disimpen dina format béda, sarta 1 susunan kudu disimpen dina gudang jauh geografis.

Format panyimpenan kedah dipikaharti kieu:

  • Lamun aya gumantungna kana métode gudang fisik, urang ngarobah métode fisik.
  • Lamun aya gumantungna kana métode gudang logis, urang ngarobah métode logis.

Pikeun ngahontal pangaruh maksimal tina aturan 3-2-1, disarankeun pikeun ngarobih format panyimpenan dina dua cara.

Tina sudut pandang kesiapan cadangan pikeun tujuan anu dimaksud - malikkeun fungsionalitas - bédana dilakukeun antara cadangan "panas" sareng "tiis". Anu panas béda ti anu tiis dina ngan ukur hiji hal: aranjeunna langsung siap dianggo, sedengkeun anu tiis peryogi sababaraha léngkah tambahan pikeun pamulihan: dekripsi, ékstraksi tina arsip, jsb.

Entong ngalieurkeun salinan panas sareng tiis sareng salinan online sareng offline, anu nunjukkeun isolasi fisik data sareng, kanyataanna, mangrupikeun tanda klasifikasi metode cadangan. Janten salinan offline - henteu langsung nyambung ka sistem dimana éta kedah dibalikeun - tiasa panas atanapi tiis (dina hal kesiapan pikeun pamulihan). Salinan online tiasa sayogi langsung dimana éta kedah dibalikeun, sareng paling sering panas, tapi aya ogé anu tiis.

Salaku tambahan, ulah hilap yén prosés nyiptakeun salinan cadangan sorangan biasana henteu ditungtungan ku nyiptakeun hiji salinan cadangan, sareng tiasa aya sajumlah salinan anu lumayan. Ku alatan éta, perlu ngabedakeun antara cadangan pinuh, i.e. anu tiasa dibalikeun sacara mandiri tina cadangan anu sanés, ogé salinan diferensial (incremental, diferensial, decremental, jsb) - anu henteu tiasa dibalikeun sacara mandiri sareng peryogi restorasi awal hiji atanapi langkung cadangan anu sanés.

Cadangan incremental diferensial mangrupikeun usaha pikeun ngahemat rohangan panyimpen cadangan. Ku kituna, ngan data robah tina cadangan saméméhna ditulis kana salinan cadangan.

Dekremental diferensial diciptakeun pikeun tujuan anu sami, tapi dina cara anu rada béda: salinan cadangan lengkep dilakukeun, tapi ngan ukur bédana antara salinan seger sareng anu saacanna disimpen.

Kapisah, éta patut mertimbangkeun prosés cadangan pikeun neundeun, anu ngadukung henteuna neundeun duplikat. Janten, upami anjeun nyerat cadangan lengkep dina luhureun éta, ngan ukur bédana antara cadangan anu leres-leres bakal ditulis, tapi prosés malikkeun cadangan bakal sami sareng malikkeun tina salinan lengkep sareng transparan lengkep.

Quis custodiet ipsos custodes?

(Saha nu bakal ngajaga penjaga sorangan? - lat.)

Teu pikaresepeun pisan nalika teu aya salinan cadangan, tapi langkung parah upami salinan cadangan sigana parantos dilakukeun, tapi nalika dibalikkeun tétéla éta henteu tiasa dibalikeun deui kusabab:

  • Integritas data sumber geus compromised.
  • Panyimpenan cadangan ruksak.
  • Pamulihan jalanna laun pisan; anjeun teu tiasa nganggo data anu parantos pulih sawaréh.

Prosés cadangan anu diwangun kalayan leres kedah tumut kana koméntar sapertos kitu, khususna dua anu munggaran.

Integritas data sumber tiasa dijamin ku sababaraha cara. Anu paling sering dianggo nyaéta kieu: a) nyiptakeun snapshot sistem file dina tingkat blok, b) "katirisan" kaayaan sistem file, c) alat blok khusus sareng panyimpenan versi, d) ngarékam sekuen file atanapi blok. Checksums ogé dilarapkeun pikeun mastikeun data diverifikasi salila recovery.

Korupsi gudang ogé tiasa dideteksi nganggo checksums. Métode tambahan nyaéta ngagunakeun alat khusus atanapi sistem file dimana data anu parantos dirékam teu tiasa dirobih, tapi anu énggal tiasa nambihan.

Pikeun ngagancangkeun pamulihan, pamulihan data dianggo sareng sababaraha prosés pikeun pamulihan - upami henteu aya bottleneck dina bentuk jaringan anu laun atanapi sistem disk anu laun. Pikeun ngurilingan kaayaan sareng data anu pulih sawaréh, anjeun tiasa ngarobih prosés cadangan kana subtasks anu kawilang leutik, anu masing-masing dilakukeun nyalira. Ku kituna, janten mungkin mun konsistén mulangkeun kinerja bari ngaramal waktu recovery. Masalah ieu paling sering aya dina pesawat organisasi (SLA), ku kituna urang moal mikiran ieu sacara rinci.

Anu ahli dina rempah-rempah sanés anu nambihanana kana unggal tuangeun, tapi anu henteu pernah nambihan nanaon tambahan kana éta.

-DI. Sinyavsky

Praktek ngeunaan parangkat lunak anu dianggo ku pangurus sistem tiasa béda-béda, tapi prinsip umumna tetep, hiji cara atanapi anu sanés, sami, khususna:

  • Disarankeun pisan ngagunakeun solusi anu siap-siap.
  • Program kedah dianggo predictably, i.e. Henteu kedah aya fitur anu teu didokumentasikeun atanapi bottlenecks.
  • Nyetel unggal program kedah saderhana pisan sahingga anjeun henteu kedah maca manual atanapi curang unggal waktos.
  • Upami mungkin, solusina kedah universal, sabab server bisa greatly rupa-rupa dina ciri hardware maranéhanana.

Aya program umum di handap ieu pikeun nyandak cadangan tina alat blok:

  • dd, akrab jeung veterans administrasi sistem, ieu ogé ngawengku program sarupa (dd_rescue sarua, contona).
  • Utiliti diwangun kana sababaraha sistem file anu nyiptakeun dump sistem file.
  • Utiliti omnivora; contona partclone.
  • Milik, mindeng proprietary, kaputusan; contona, NortonGhost sarta engké.

Pikeun sistem file, tugas nyadangkeun sawaréh direngsekeun nganggo metode anu lumaku pikeun alat blok, tapi masalahna tiasa direngsekeun langkung éfisién ngagunakeun, contona:

  • Rsync, program tujuan umum sareng protokol pikeun nyingkronkeun kaayaan sistem file.
  • Diwangun-di parabot arsip (ZFS).
  • Parabot arsip pihak katilu; wakil pang populerna nyaeta tar. Aya batur, contona, dar - a ngaganti tar aimed dina sistem modern.

Perlu disebatkeun sacara misah ngeunaan alat parangkat lunak pikeun mastikeun konsistensi data nalika nyiptakeun salinan cadangan. Pilihan anu paling sering dianggo nyaéta:

  • Masang sistem file dina modeu baca wungkul (ReadOnly), atanapi katirisan sistem file (freeze) - metodena ngan ukur tiasa dianggo.
  • Nyiptakeun snapshot tina kaayaan sistem file atanapi alat blok (LVM, ZFS).
  • Pamakéan alat pihak katilu pikeun ngatur tayangan, sanajan dina kasus dimana titik saméméhna teu bisa disadiakeun pikeun sababaraha alesan (program kawas hotcopy).
  • Téhnik copy-on-change (CopyOnWrite), kumaha oge, paling sering dihijikeun sareng sistem file anu dianggo (BTRFS, ZFS).

Janten, pikeun server leutik anjeun kedah nyayogikeun skéma cadangan anu nyumponan sarat ieu:

  • Gampang dianggo - teu aya léngkah tambahan khusus anu diperyogikeun salami operasi, léngkah minimal pikeun nyiptakeun sareng malikkeun salinan.
  • Universal - dianggo dina server ageung sareng alit; ieu penting nalika tumuwuh jumlah server atawa skala.
  • Dipasang ku manajer pakét, atanapi dina hiji atanapi dua paréntah sapertos "unduh sareng ngabongkar".
  • Stabil - format panyimpenan standar atanapi parantos lami dianggo.
  • Gancang dina pagawéan.

Ngalamar ti anu langkung atanapi kirang nyumponan sarat:

  • rdiff-cadangan
  • rsnapshot
  • burp
  • duplikat
  • duplikat
  • hayu dup
  • dar
  • zbackup
  • restic
  • borgbackup

Nyadangkeun, bagian 1: Tujuan, tinjauan metode sareng téknologi

Mesin virtual (dumasar kana XenServer) kalayan ciri-ciri ieu bakal dianggo salaku bangku tés:

  • 4 inti 2.5 GHz,
  • 16 GB RAM,
  • Panyimpen hibrid 50 GB (sistem panyimpenan sareng cache dina SSD 20% tina ukuran disk virtual) dina bentuk disk virtual anu misah tanpa ngabagi,
  • 200 Mbps saluran Internét.

Ampir mesin sarua bakal dipaké salaku server panarima cadangan, ngan ku hard drive 500 GB.

Sistem operasi - Centos 7 x64: partisi baku, partisi tambahan bakal dipaké salaku sumber data.

Salaku data awal, hayu urang nyandak situs WordPress sareng 40 GB file média sareng database mysql. Kusabab server maya rupa-rupa greatly dina ciri, sarta ogé pikeun reproducibility hadé, ieu

hasil nguji server ngagunakeun sysbench.sysbench --threads = 4 --time = 30 --cpu-max-prime = 20000 cpu run
sysbench 1.1.0-18a9f86 (nganggo dibuntel LuaJIT 2.1.0-beta3)
Ngajalankeun tés ku pilihan ieu:
Jumlah benang: 4
Initializing generator angka acak ti jaman ayeuna

wates angka perdana: 20000

Inisialisasi thread pagawe…

Thread dimimitian!

Laju CPU:
kajadian per detik: 836.69

Hasilna:
kajadian / s (eps): 836.6908
waktos kaliwat: 30.0039s
total jumlah kajadian: 25104

Latency (ms):
mnt: 2.38
rata-rata: 4.78
max: 22.39
persentil ka-95: 10.46
jumlah: 119923.64

Threads kaadilan:
kajadian (rata-rata / stddev): 6276.0000 / 13.91
waktos palaksanaan (rata-rata / stddev): 29.9809 / 0.01

sysbench --threads = 4 --time = 30 --memory-block-size = 1K --memory-scope = global --memory-total-size = 100G --memory-oper = baca memori ngajalankeun
sysbench 1.1.0-18a9f86 (nganggo dibuntel LuaJIT 2.1.0-beta3)
Ngajalankeun tés ku pilihan ieu:
Jumlah benang: 4
Initializing generator angka acak ti jaman ayeuna

Ngajalankeun tés laju mémori nganggo pilihan ieu:
ukuran blok: 1 KiB
total ukuran: 102400MiB
operasi: maca
wengkuan: global

Inisialisasi thread pagawe…

Thread dimimitian!

Total operasi: 50900446 (1696677.10 per detik)

49707.47 MiB ditransfer (1656.91 MiB/detik)

Hasilna:
kajadian / s (eps): 1696677.1017
waktos kaliwat: 30.0001s
total jumlah kajadian: 50900446

Latency (ms):
mnt: 0.00
rata-rata: 0.00
max: 24.01
persentil ka-95: 0.00
jumlah: 39106.74

Threads kaadilan:
kajadian (rata-rata / stddev): 12725111.5000 / 137775.15
waktos palaksanaan (rata-rata / stddev): 9.7767 / 0.10

sysbench --threads = 4 --waktos = 30 --memori-block-ukuran = 1K --memori-wengkuan = global --memori-total-ukuran = 100G --memori-oper = nulis memori ngajalankeun
sysbench 1.1.0-18a9f86 (nganggo dibuntel LuaJIT 2.1.0-beta3)
Ngajalankeun tés ku pilihan ieu:
Jumlah benang: 4
Initializing generator angka acak ti jaman ayeuna

Ngajalankeun tés laju mémori nganggo pilihan ieu:
ukuran blok: 1 KiB
total ukuran: 102400MiB
operasi: nulis
wengkuan: global

Inisialisasi thread pagawe…

Thread dimimitian!

Total operasi: 35910413 (1197008.62 per detik)

35068.76 MiB ditransfer (1168.95 MiB/detik)

Hasilna:
kajadian / s (eps): 1197008.6179
waktos kaliwat: 30.0001s
total jumlah kajadian: 35910413

Latency (ms):
mnt: 0.00
rata-rata: 0.00
max: 16.90
persentil ka-95: 0.00
jumlah: 43604.83

Threads kaadilan:
kajadian (rata-rata / stddev): 8977603.2500 / 233905.84
waktos palaksanaan (rata-rata / stddev): 10.9012 / 0.41

sysbench --threads = 4 --file-test-mode = rndrw --time = 60 --file-block-size = 4K --file-total-size = 1G fileio run
sysbench 1.1.0-18a9f86 (nganggo dibuntel LuaJIT 2.1.0-beta3)
Ngajalankeun tés ku pilihan ieu:
Jumlah benang: 4
Initializing generator angka acak ti jaman ayeuna

File tambahan muka bandéra: (euweuh)
128 file, masing-masing 8MiB
1 GiB total ukuran file
Ukuran blok 4KiB
Jumlah pamundut IO: 0
Babandingan maca / Tulis pikeun tés IO acak digabungkeun: 1.50
FSYNC périodik diaktipkeun, nelepon fsync () unggal 100 requests.
Nelepon fsync () dina ahir tés, Diaktipkeun.
Ngagunakeun mode I/O sinkron
Ngalakukeun uji r / w acak
Inisialisasi thread pagawe…

Thread dimimitian!

Hasilna:
dibaca: IOPS=3868.21 15.11 MiB/s (15.84 MB/s)
nulis: IOPS=2578.83 10.07 MiB/s (10.56 MB/s)
fsync: IOPS = 8226.98

Latency (ms):
mnt: 0.00
rata-rata: 0.27
max: 18.01
persentil ka-95: 1.08
jumlah: 238469.45

catetan ieu dimimitian badag

runtuyan artikel ngeunaan cadangan

  1. Nyadangkeun, bagian 1: Naha cadangan diperlukeun, tinjauan métode, téknologi
  2. Bagian Nyadangkeun 2: Marios sareng nguji alat cadangan dumasar rsync
  3. Bagian Nyadangkeun 3: Marios sareng nguji duplikat, duplikat, deja dup
  4. Nyadangkeun Bagian 4: Reviewing sarta nguji zbackup, restic, borgbackup
  5. Bagian Nyadangkeun 5: Nguji bacula sareng cadangan veeam pikeun linux
  6. Bagian Nyadangkeun 6: Ngabandingkeun Alat Nyadangkeun
  7. Nyadangkeun Bagian 7: Kacindekan

sumber: www.habr.com

Tambahkeun komentar