Å Ä« piezÄ«me pabeidz dublÄÅ”anas ciklu. TajÄ tiks apspriesta speciÄlÄ servera (vai VPS) loÄ£iskÄ organizÄcija, kas ir Ärta dublÄÅ”anai, kÄ arÄ« tiks piedÄvÄta iespÄja Ätri atjaunot serveri no dublÄjuma bez lielas dÄ«kstÄves katastrofas gadÄ«jumÄ.
NeapstrÄdÄti dati
ÄŖpaÅ”am serverim visbiežÄk ir vismaz divi cietie diski, kas kalpo pirmÄ lÄ«meÅa RAID masÄ«va (spoguļa) organizÄÅ”anai. Tas ir nepiecieÅ”ams, lai varÄtu turpinÄt darbinÄt serveri, ja viens disks neizdodas. Ja tas ir parasts veltÄ«ts serveris, SSD var bÅ«t atseviŔķs aparatÅ«ras RAID kontrolieris ar aktÄ«vÄs keÅ”atmiÅas tehnoloÄ£iju, lai papildus parastajiem cietajiem diskiem varÄtu pievienot vienu vai vairÄkus SSD. DažkÄrt tiek piedÄvÄti specializÄti serveri, kuros vienÄ«gie lokÄlie diski ir SATADOM (mazie diski, strukturÄli SATA portam pieslÄgts zibatmiÅas disks) vai pat parasts mazs (8-16GB) zibatmiÅas disks, kas pieslÄgts speciÄlam iekÅ”Äjam portam, un dati tiek Åemti no uzglabÄÅ”anas sistÄmas, savienoti, izmantojot speciÄlu uzglabÄÅ”anas tÄ«klu (Ethernet 10G, FC utt.), un ir Ä«paÅ”i serveri, kas tiek ielÄdÄti tieÅ”i no uzglabÄÅ”anas sistÄmas. Es neapsvÄrÅ”u Å”Ädas iespÄjas, jo Å”Ädos gadÄ«jumos servera dublÄÅ”anas uzdevums vienmÄrÄ«gi pÄriet uz krÄtuves sistÄmu apkalpojoÅ”o speciÄlistu; parasti ir dažÄdas patentÄtas tehnoloÄ£ijas momentuzÅÄmumu veidoÅ”anai, iebÅ«vÄtai dublÄÅ”anai un citiem sistÄmas administratora priekiem. , kas tika apspriests Ŕīs sÄrijas iepriekÅ”ÄjÄs daļÄs. IzdalÄ«tÄ servera disku masÄ«va apjoms var sasniegt vairÄkus desmitus terabaitu atkarÄ«bÄ no serverim pievienoto disku skaita un lieluma. VPS gadÄ«jumÄ apjomi ir pieticÄ«gÄki: parasti ne vairÄk kÄ 100 GB (bet ir arÄ« vairÄk), un Å”Äda VPS tarifi var viegli bÅ«t dÄrgÄki nekÄ lÄtÄkie specializÄtie serveri no tÄ paÅ”a hostera. VPS visbiežÄk ir viens disks, jo zem tÄ bÅ«s uzglabÄÅ”anas sistÄma (vai kaut kas hiperkonverÄ£Äts). Dažreiz VPS ir vairÄki diski ar dažÄdÄm Ä«paŔībÄm dažÄdiem mÄrÄ·iem:
- maza sistÄma - operÄtÄjsistÄmas instalÄÅ”anai;
- liels - lietotÄja datu glabÄÅ”ana.
PÄrinstalÄjot sistÄmu, izmantojot vadÄ«bas paneli, disks ar lietotÄja datiem netiek pÄrrakstÄ«ts, bet sistÄmas disks tiek pilnÄ«bÄ uzpildÄ«ts. TÄpat VPS gadÄ«jumÄ mitinÄtÄjs var piedÄvÄt pogu, kas uzÅem VPS (vai diska) stÄvokļa momentuzÅÄmumu, taÄu, ja instalÄjat savu operÄtÄjsistÄmu vai aizmirstat aktivizÄt vÄlamo pakalpojumu VPS iekÅ”ienÄ, daži dati joprojÄm var tikt zaudÄti. Papildus pogai parasti tiek piedÄvÄts datu uzglabÄÅ”anas pakalpojums, visbiežÄk ļoti ierobežots. Parasti tas ir konts ar piekļuvi, izmantojot FTP vai SFTP, dažreiz kopÄ ar SSH, ar noÅemtu Äaulu (piemÄram, rbash) vai komandu palaiÅ”anas ierobežojumu, izmantojot Authoricity_keys (izmantojot ForcedCommand).
IzdalÄ«tais serveris ir savienots ar tÄ«klu ar diviem portiem ar Ätrumu 1 Gbps, dažreiz tÄs var bÅ«t kartes ar Ätrumu 10 Gbps. VPS visbiežÄk ir viens tÄ«kla interfeiss. VisbiežÄk datu centri neierobežo tÄ«kla Ätrumu datu centra ietvaros, bet gan ierobežo interneta piekļuves Ätrumu.
Tipiska Å”Äda veltÄ«ta servera vai VPS slodze ir tÄ«mekļa serveris, datubÄze un lietojumprogrammu serveris. Dažreiz var tikt instalÄti dažÄdi papildu palÄ«gpakalpojumi, tostarp tÄ«mekļa serverim vai datubÄzei: meklÄtÄjprogramma, pasta sistÄma utt.
SpeciÄli sagatavots serveris darbojas kÄ vieta rezerves kopiju glabÄÅ”anai, par to sÄ«kÄk rakstÄ«sim vÄlÄk.
Diska sistÄmas loÄ£iskÄ organizÄcija
Ja jums ir RAID kontrolleris vai VPS ar vienu disku un diska apakÅ”sistÄmas darbÄ«bai nav Ä«paÅ”u preferenÄu (piemÄram, atseviŔķs Ätrais disks datu bÄzei), visa brÄ«vÄ vieta tiek sadalÄ«ta Å”Ädi: viens nodalÄ«jums. tiek izveidota, un tai virsÅ« tiek izveidota LVM sÄjumu grupa , tajÄ tiek izveidoti vairÄki sÄjumi: 2 mazi tÄda paÅ”a izmÄra sÄjumi, kas tiek izmantoti kÄ saknes failu sistÄma (atjauninÄÅ”anas laikÄ tiek mainÄ«ti pa vienam, lai nodroÅ”inÄtu Ätru atcelÅ”anu, ideja tika paÅemta no Calculate Linux izplatÄ«Å”anas), vÄl viens ir paredzÄts mijmaiÅas nodalÄ«jumam, pÄrÄjÄ brÄ«vÄ vieta ir sadalÄ«ta mazos apjomos, tiek izmantota kÄ saknes failu sistÄma pilnvÄrtÄ«giem konteineriem, diskiem virtuÄlajÄm maŔīnÄm, failam sistÄmas /home kontiem (katram kontam ir sava failu sistÄma), failu sistÄmas lietojumprogrammu konteineriem.
SvarÄ«ga piezÄ«me: sÄjumiem jÄbÅ«t pilnÄ«bÄ autonomiem, t.i. nedrÄ«kst bÅ«t atkarÄ«gi viens no otra vai saknes failu sistÄmas. VirtuÄlo maŔīnu vai konteineru gadÄ«jumÄ Å”is punkts tiek novÄrots automÄtiski. Ja tie ir lietojumprogrammu konteineri vai mÄjas direktoriji, jums vajadzÄtu padomÄt par tÄ«mekļa servera un citu pakalpojumu konfigurÄcijas failu atdalÄ«Å”anu tÄ, lai pÄc iespÄjas vairÄk novÄrstu sÄjumu atkarÄ«bas. PiemÄram, katra vietne darbojas no sava lietotÄja, vietnes konfigurÄcijas faili atrodas lietotÄja mÄjas direktorijÄ, tÄ«mekļa servera iestatÄ«jumos vietnes konfigurÄcijas faili nav iekļauti, izmantojot /etc/nginx/conf.d/.conf un, piemÄram, /home//configs/nginx/*.conf
Ja ir vairÄki diski, varat izveidot programmatÅ«ras RAID masÄ«vu (un konfigurÄt tÄ keÅ”atmiÅu SSD diskÄ, ja ir nepiecieÅ”amÄ«ba un iespÄja), kuram virsÅ« var uzbÅ«vÄt LVM saskaÅÄ ar iepriekÅ” piedÄvÄtajiem noteikumiem. ArÄ« Å”ajÄ gadÄ«jumÄ jÅ«s varat izmantot ZFS vai BtrFS, taÄu par to vajadzÄtu padomÄt divreiz: abiem ir nepiecieÅ”ama daudz nopietnÄka pieeja resursiem, turklÄt ZFS nav iekļauts Linux kodolÄ.
NeatkarÄ«gi no izmantotÄs shÄmas vienmÄr ir vÄrts iepriekÅ” novÄrtÄt aptuveno izmaiÅu ierakstÄ«Å”anas Ätrumu diskos un pÄc tam aprÄÄ·inÄt brÄ«vÄs vietas daudzumu, kas tiks rezervÄts momentuzÅÄmumu izveidei. PiemÄram, ja mÅ«su serveris raksta datus ar Ätrumu 10 megabaiti sekundÄ un visa datu masÄ«va izmÄrs ir 10 terabaiti - sinhronizÄcijas laiks var sasniegt dienu (22 stundas - tik daudz tiks pÄrsÅ«tÄ«ts Å”Äds apjoms tÄ«klÄ 1 Gbps) - ir vÄrts rezervÄt aptuveni 800 GB . PatiesÄ«bÄ skaitlis bÅ«s mazÄks, to var droÅ”i dalÄ«t ar loÄ£isko sÄjumu skaitu.
Rezerves krÄtuves servera ierÄ«ce
GalvenÄ atŔķirÄ«ba starp serveri rezerves kopiju glabÄÅ”anai ir tÄ lielie, lÄtie un salÄ«dzinoÅ”i lÄnie diski. TÄ kÄ mÅ«sdienu cietie diski vienÄ diskÄ jau ir pÄrkÄpuÅ”i 10TB joslu, ir jÄizmanto failu sistÄmas jeb RAID ar kontrolsummÄm, jo āāmasÄ«va pÄrbÅ«ves vai failu sistÄmas atjaunoÅ”anas laikÄ (vairÄkas dienas!) var neizdoties arÄ« otrais disks. uz palielinÄtu slodzi. Diskos ar ietilpÄ«bu lÄ«dz 1 TB tas nebija tik jutÄ«gs. Apraksta vienkÄrŔības labad pieÅemu, ka diska vieta ir sadalÄ«ta divÄs aptuveni vienÄda izmÄra daļÄs (atkal, piemÄram, izmantojot LVM):
- apjomi, kas atbilst serveriem, kas tiek izmantoti lietotÄju datu glabÄÅ”anai (tajos verifikÄcijai tiks izvietota pÄdÄjÄ izveidotÄ dublÄÅ”ana);
- sÄjumi, kas tiek izmantoti kÄ BorgBackup krÄtuves (dati dublÄÅ”anai nonÄks tieÅ”i Å”eit).
DarbÄ«bas princips ir tÄds, ka katram serverim tiek izveidoti atseviŔķi sÄjumi BorgBackup krÄtuvÄm, kur nonÄks dati no kaujas serveriem. KrÄtuves darbojas tikai pievienoÅ”anas režīmÄ, kas izslÄdz iespÄju tÄ«Å”i dzÄst datus, kÄ arÄ« sakarÄ ar repozitoriju dedublikÄciju un periodisku tÄ«rÄ«Å”anu no vecajÄm dublÄjumkopijÄm (ikgadÄjÄs kopijas paliek, katru mÄnesi par pÄdÄjo gadu, katru nedÄļu par pÄdÄjo mÄnesi, katru dienu pagÄjuÅ”ajÄ nedÄļÄ, iespÄjams, Ä«paÅ”os gadÄ«jumos - katru stundu pÄdÄjo dienu: kopÄ 24 + 7 + 4 + 12 + gadÄ - aptuveni 50 eksemplÄri katram serverim).
BorgBackup krÄtuves neiespÄjo tikai pievienoÅ”anas režīmu; tÄ vietÄ tiek izmantota ForcedCommand failÄ .ssh/authorized_keys:
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.......
NorÄdÄ«tais ceļŔ satur iesaiÅojuma skriptu virs borg, kas papildus binÄra palaiÅ”anai ar parametriem papildus sÄk dublÄjuma atjaunoÅ”anas procesu pÄc datu noÅemÅ”anas. Lai to izdarÄ«tu, iesaiÅojuma skripts izveido tagu failu blakus attiecÄ«gajam repozitorijam. PÄdÄjais dublÄjums tiek automÄtiski atjaunots attiecÄ«gajÄ loÄ£iskajÄ sÄjumÄ pÄc datu aizpildÄ«Å”anas procesa pabeigÅ”anas.
Å is dizains ļauj periodiski tÄ«rÄ«t nevajadzÄ«gÄs dublÄjumkopijas, kÄ arÄ« neļauj kaujas serveriem dzÄst neko no rezerves krÄtuves servera.
DublÄÅ”anas process
DublÄÅ”anas iniciators ir izdalÄ«tais serveris vai VPS, jo Ŕī shÄma nodroÅ”ina lielÄku kontroli pÄr dublÄÅ”anas procesu no Ŕī servera puses. Vispirms tiek uzÅemts aktÄ«vÄs saknes failu sistÄmas stÄvokļa momentuzÅÄmums, kas tiek uzstÄdÄ«ts un augÅ”upielÄdÄts rezerves krÄtuves serverÄ«, izmantojot BorgBackup. Kad datu tverÅ”ana ir pabeigta, momentuzÅÄmums tiek noÅemts un izdzÄsts.
Ja ir neliela datu bÄze (lÄ«dz 1 GB katrai vietnei), tiek veikta datu bÄzes izgÄztuve, kas tiek saglabÄta atbilstoÅ”Ä loÄ£iskÄ sÄjumÄ, kur atrodas pÄrÄjie dati par to paÅ”u vietni, bet tÄ, lai izgÄztuve tiktu saglabÄta. nav pieejams caur tÄ«mekļa serveri. Ja datu bÄzes ir lielas, jums vajadzÄtu konfigurÄt ākarstoā datu noÅemÅ”anu, piemÄram, izmantojot xtrabackup for MySQL, vai strÄdÄt ar WAL ar archive_command programmÄ PostgreSQL. Å ajÄ gadÄ«jumÄ datu bÄze tiks atjaunota atseviŔķi no vietnes datiem.
Ja tiek izmantoti konteineri vai virtuÄlÄs maŔīnas, jums jÄkonfigurÄ qemu-guest-agent, CRIU vai citas nepiecieÅ”amÄs tehnoloÄ£ijas. Citos gadÄ«jumos papildu iestatÄ«jumi visbiežÄk nav nepiecieÅ”ami - mÄs vienkÄrÅ”i izveidojam loÄ£isko sÄjumu momentuzÅÄmumus, kas pÄc tam tiek apstrÄdÄti tÄpat kÄ saknes failu sistÄmas stÄvokļa momentuzÅÄmums. PÄc datu uzÅemÅ”anas attÄli tiek izdzÄsti.
Papildu darbs tiek veikts rezerves krÄtuves serverÄ«:
- tiek pÄrbaudÄ«ta pÄdÄjÄ katrÄ repozitorijÄ izveidotÄ dublÄjumkopija,
- tiek pÄrbaudÄ«ta atzÄ«mes faila esamÄ«ba, kas norÄda, ka datu vÄkÅ”anas process ir pabeigts,
- dati tiek paplaÅ”inÄti lÄ«dz atbilstoÅ”ajam lokÄlajam apjomam,
- tagu fails tiek izdzÄsts
Servera atkopŔanas process
Ja galvenais serveris nomirst, tiek palaists lÄ«dzÄ«gs speciÄlais serveris, kas tiek palaists no kÄda standarta attÄla. VisticamÄk, lejupielÄde notiks tÄ«klÄ, taÄu datu centra tehniÄ·is, kas uzstÄda serveri, var nekavÄjoties iekopÄt Å”o standarta attÄlu vienÄ no diskiem. LejupielÄde notiek RAM, pÄc tam sÄkas atkopÅ”anas process:
- tiek izteikts pieprasÄ«jums pievienot blokierÄ«ci, izmantojot iscsinbd vai citu lÄ«dzÄ«gu protokolu loÄ£iskam sÄjumam, kurÄ ir miruÅ”Ä servera saknes failu sistÄma; TÄ kÄ saknes failu sistÄmai ir jÄbÅ«t mazai, Ŕī darbÄ«ba jÄpabeidz dažu minÅ«Å”u laikÄ. Tiek atjaunots arÄ« sÄknÄÅ”anas ielÄdÄtÄjs;
- tiek atjaunota vietÄjo loÄ£isko sÄjumu struktÅ«ra, loÄ£iskie sÄjumi tiek pievienoti no rezerves servera, izmantojot kodola moduli dm_clone: āāsÄkas datu atkopÅ”ana, un izmaiÅas tiek nekavÄjoties ierakstÄ«tas lokÄlajos diskos
- tiek palaists konteiners ar visiem pieejamajiem fiziskajiem diskiem - servera funkcionalitÄte ir pilnÄ«bÄ atjaunota, bet ar samazinÄtu veiktspÄju;
- pÄc datu sinhronizÄcijas pabeigÅ”anas loÄ£iskie sÄjumi no rezerves servera tiek atvienoti, konteiners tiek izslÄgts un serveris tiek restartÄts;
PÄc atsÄknÄÅ”anas serverÄ« bÅ«s visi dati, kas tur bija dublÄjuma izveides laikÄ, kÄ arÄ« tiks iekļautas visas atjaunoÅ”anas procesa laikÄ veiktÄs izmaiÅas.
Citi sÄrijas raksti
Rezerves kopija 7. daļa: SecinÄjumi
Aicinu komentÄros apspriest piedÄvÄto variantu, paldies par uzmanÄ«bu!
Avots: www.habr.com