Backup Part 7: Encam

Backup Part 7: Encam

Ev têbînî çerxa der barê hilanînê de temam dike. Ew ê li ser rêxistina mentiqî ya serverek veqetandî (an VPS), ji bo paşvekişandinê rehet nîqaş bike, û di heman demê de dê vebijarkek ji bo vegerandina zû serverek ji hilanînê bêyî ku di bûyera karesatê de pir domdar peyda bike.

Daneyên çavkaniyê

Pêşkêşkarek veqetandî bi gelemperî bi kêmî ve du ajokên hişk hene ku ji bo organîzekirina rêzek RAID-a asta yekem (neynik) kar dikin. Ev pêdivî ye ku meriv karibe serverê bidomîne ger yek dîsk têk biçe. Ger ev serverek veqetandî ya birêkûpêk be, dibe ku li ser SSD-yê kontrolkerek RAID-a hardware-ya cihêreng bi teknolojiya cachkirina çalak li ser SSD-ê hebe, da ku ji bilî dîskên hişk ên birêkûpêk, yek an jî çend SSD werin girêdan. Carinan serverên veqetandî têne pêşkêş kirin, ku tê de tenê dîskên herêmî SATADOM (dîskên piçûk, bi avahîsaziyek flash ajokek ku bi portek SATA ve girêdayî ye), an jî ajokerek piçûk a asayî (8-16 GB) ku bi portek navxweyî ya taybetî ve girêdayî ye, û Daneyên ji pergala hilanînê têne girtin, bi navgîniya torgilokek hilanînê (Ethernet 10G, FC, hwd.) ve girêdayî ye, û serverên taybetî hene ku rasterast ji pergala hilanînê têne barkirin. Ez ê vebijarkên weha bihesibînim, ji ber ku di rewşên weha de peywira piştguhkirina serverê bi rêkûpêk ji pisporê ku pergala hilanînê diparêze re derbas dibe; bi gelemperî teknolojiyên xwedan cûrbecûr hene ji bo afirandina wêneyan, veqetandina hundurîn û şahiyên din ên rêveberê pergalê. , di beşên berê yên vê rêzenivîsê de hat nîqaş kirin. Hêjmara dîskê ya serverek taybetî dikare bigihîje çend deh terabytes, li gorî hejmar û mezinahiya dîskên ku bi serverê ve girêdayî ne. Di doza VPS-ê de, cildên nermtir in: bi gelemperî ji 100 GB bêtir ne (lê zêdetir jî hene), û tarîfên ji bo VPS-yên weha dikarin bi hêsanî ji serverên veqetandî yên herî erzan ên ji heman mêvandar bihatir bin. VPS bi gelemperî yek dîskek heye, ji ber ku dê di binê wê de pergalek hilanînê (an tiştek hyperconverged) hebe. Carinan VPS çend dîskên bi taybetmendiyên cûda hene, ji bo mebestên cihê:

  • pergala piçûk - ji bo sazkirina pergala xebitandinê;
  • mezin - hilanîna daneyên bikarhêner.

Dema ku hûn pergalê bi karanîna panelê kontrolê ji nû ve saz dikin, dîska bi daneyên bikarhêner nayê nivîsandin, lê dîska pergalê bi tevahî ji nû ve tê dagirtin. Di heman demê de, di mijara VPS-ê de, dibe ku mêvandar bişkokek pêşkêşî bike ku wêneyek ji rewşa VPS (an dîskê) digire, lê heke hûn pergala xebitandina xwe saz bikin an ji bîr nekin ku karûbarê xwestinê di hundurê VPS-ê de çalak bikin, hin dibe ku daneyên hîn jî winda bibin. Ji bilî bişkojkê, karûbarek hilanîna daneyê bi gelemperî tê pêşkêş kirin, pir caran pir kêm. Bi gelemperî ev hesabek bi gihîştina bi FTP an SFTP ve ye, carinan digel SSH, bi şêlek jêkirî (mînakî, rbash), an sînorkirinek li ser fermanên xebitandinê bi bişkojkên autorized (bi rêya ForcedCommand).

Serverek diyarkirî bi du portên bi leza 1 Gbps ve bi torê ve girêdayî ye, carinan ev dikarin bibin kartên bi leza 10 Gbps. VPS bi gelemperî yek pêwendiya torê heye. Pir caran, navendên daneyê leza torê di nav navenda daneyê de sînordar nakin, lê ew leza gihîştina Înternetê sînordar dikin.

Barkirina tîpîk a serverek wusa diyarkirî an VPS serverek malperê, databasek û serverek serîlêdanê ye. Carinan dibe ku karûbarên alîkar ên cihêreng werin saz kirin, di nav de ji bo serverek malperê an databasek: motora lêgerînê, pergala nameyê, hwd.

Serverek taybetî amadekirî wekî cîhek ji bo hilanîna kopiyên paşvekişandinê tevdigere; em ê paşê li ser wê bi hûrgulî binivîsin.

Rêxistina mantiqî ya pergala dîskê

Ger we kontrolkerek RAID, an VPS-yek bi yek dîskê heye, û ji bo xebitandina bine-pergala dîskê vebijarkên taybetî tune ne (mînakî, dîskek bilezek cihêreng ji bo databasek), hemî cîhê belaş bi vî rengî tê dabeş kirin: yek dabeş tê afirandin, û komek volume ya LVM li ser wê tê afirandin, çend cild tê de têne çêkirin: 2 yên piçûk ên heman mezinahiyê, wekî pergala pelê root têne bikar anîn (di dema nûvekirinê de yek bi yek ji bo îhtîmala paşvegera bilez têne guhertin, raman ji belavkirina Hesabkirina Linux hate hildan), yeka din ji bo dabeşkirina guheztinê ye, cîhê mayî yê belaş li cildên piçûk tê dabeş kirin, wekî pergala pelê ya root ji bo konteynerên bêkêmasî, dîskên ji bo makîneyên virtual, pel tê bikar anîn. pergalên ji bo hesabên li /home (her hesabek pergala pelê xwe heye), pergalên pelan ji bo konteynerên serîlêdanê.

Nîşeya girîng: cild divê bi tevahî xwegirtî bin, yanî. divê bi hev û din an jî bi pergala pelê root ve girêdayî nebin. Di warê makîneyên virtual an konteyneran de, ev xal bixweber tê dîtin. Ger ev konteynerên serîlêdanê an pelrêça malê ne, divê hûn li ser veqetandina pelên mîhengê yên servera malperê û karûbarên din bi vî rengî bifikirin ku bi qasî ku gengaz be girêdanên di navbera cildan de ji holê rakin. Mînakî, her malper ji bikarhênerê xwe dimeşe, pelên veavakirina malperê di pelrêça malê ya bikarhêner de ne, di mîhengên servera malperê de, pelên veavakirina malperê bi navgîniya /etc/nginx/conf.d/ ve nayên nav kirin..conf, û wek nimûne, /mal//configs/nginx/*.conf

Ger çend dîsk hebin, hûn dikarin rêzek nermalava RAID-ê biafirînin (û cachkirina wê li ser SSD-ê mîheng bikin, ger hewcehî û derfet hebe), li ser wê hûn dikarin li gorî rêzikên ku li jor hatine pêşniyar kirin LVM ava bikin. Di heman demê de di vê rewşê de, hûn dikarin ZFS an BtrFS bikar bînin, lê divê hûn du caran li ser vê yekê bifikirin: her du jî nêzîkatiyek pir ciddî ji çavkaniyan re hewce dikin, û ji bilî vê, ZFS bi kernel Linux re nayê nav kirin.

Tevî pilana ku tê bikar anîn, her gav hêja ye ku meriv zû zû zû zû zû zû zû texmîn bike ku guheztina dîskan, û dûv re hêjmara cîhê belaş ku dê ji bo çêkirina wêneyan were veqetandin were hesibandin. Mînakî, heke servera me daneyan bi leza 10 megabyte serê saniyeyê binivîsîne, û mezinahiya tevahiya berhevoka daneyê 10 terabyte be - dema hevdengkirinê dikare bigihîje rojekê (22 demjimêr - ev e ku dê hêjmarek wusa çiqas were veguheztin li ser torê 1 Gbps) - hêja ye ku bi qasî 800 GB rezerv bikin. Di rastiyê de, hejmar dê piçûktir be; hûn dikarin bi ewlehî bi hejmara cildên mentiqî ve dabeş bikin.

Amûra serverê hilanînê hilanînê

Cûdahiya sereke di navbera serverek ji bo hilanîna kopiyên hilanînê de dîskên wê yên mezin, erzan û bi hêdî hêdî ye. Ji ber ku HDD-yên nûjen berê di yek dîskê de barika 10TB derbas kirine, pêdivî ye ku meriv pergalên pelan an RAID-ê bi kontrolê re bikar bîne, ji ber ku di dema ji nû ve avakirina rêzê an sererastkirina pergala pelê de (çend roj!) dibe ku dîska duyemîn ji ber têkçûna ji bo zêdekirina barkirinê. Li ser dîskên bi kapasîteya heta 1TB ev ne ew qas hesas bû. Ji bo hêsaniya danasînê, ez texmîn dikim ku cîhê dîskê li du beşan bi qasî mezinahiya wekhev tê dabeş kirin (dîsa, mînakî, bi karanîna LVM):

  • cildên ku bi pêşkêşkerên ku ji bo hilanîna daneyên bikarhêner têne bikar anîn (paşîna paşîn a hatî çêkirin dê ji bo verastkirinê li ser wan were bicîh kirin);
  • cildên ku wekî depoyên BorgBackup têne bikar anîn (daneyên ji bo paşvekişandinê dê rasterast biçin vir).

Prensîba operasyonê ev e ku ji bo her serverek ji bo depoyên BorgBackup cildên cihê têne afirandin, ku dê daneyên ji serverên şerker biçin. Depo tenê di moda pêvekirinê de kar dikin, ku îhtîmala jêbirina daneyan bi mebest ji holê radike, û ji ber veqetandin û paqijkirina demkî ya depoyan ji paşpirtikên kevn (kopiyên salane dimînin, mehane ji bo sala dawîn, heftane ji bo meha dawîn, rojane ji bo Hefteya çûyî, dibe ku di rewşên taybetî de - ji bo roja paşîn her demjimêr: bi tevahî 24 + 7 + 4 + 12 + salane - bi qasî 50 kopiyan ji bo her serverê).
Depoyên BorgBackup moda tenê-tenê pêvekê çalak nakin; li şûna wê, Fermanek bi zorê di .ssh/authorized_keys de tiştek bi vî rengî tê bikar anîn:

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

Rêça diyarkirî li ser jorê borg nivîsek pêçandî vedihewîne, ku ji bilî destpêkirina binaryê bi parametreyan, piştî ku dane jêbirin dest bi pêvajoya vegerandina kopiya paşvekêşanê jî dike. Ji bo vê yekê, skrîpta wrapper li kêleka depoya têkildar pelek tagê diafirîne. Piştgiriya paşîn a ku hatî çêkirin piştî ku pêvajoya dagirtina daneyê qediya bixwe bixweber li hêjmara mentiqî ya têkildar tê vegerandin.

Vê sêwiranê dihêle hûn bi periyodîk paşpirtikên nehewce paqij bikin, û di heman demê de pêşî li pêşkêşkerên şer digire ku tiştek li ser servera hilanîna hilanînê jêbirin.

Pêvajoya Backup

Destpêkera hilanînê servera veqetandî an VPS bixwe ye, ji ber ku ev nexşe ji hêla vê serverê ve li ser pêvajoya paşvekêşanê bêtir kontrolê dide. Pêşîn, wêneyek ji rewşa pergala pelê root ya çalak tê kişandin, ku bi karanîna BorgBackup-ê li servera hilanînê ya paşvekêşanê tê siwarkirin û barkirin. Piştî ku dane têne girtin, wêneyek tê rakirin û jêbirin.

Ger databasek piçûk hebe (ji bo her malperê heya 1 GB), peldankek databas tê çêkirin, ku di cilda mentiqî ya guncav de tê hilanîn, li ku derê daneyên mayî yên heman malperê lê hene, lê bi vî rengî ku avêtin bi rêya servera webê nayê gihîştin. Ger databas mezin in, divê hûn rakirina daneya "germ" mîheng bikin, mînakî, xtrabackup-ê ji bo MySQL bikar bînin, an bi WAL-ê re bi archive_command di PostgreSQL de bixebitin. Di vê rewşê de, databas dê ji daneyên malperê veqetandî were sererast kirin.

Ger konteynir an makîneyên virtual têne bikar anîn, divê hûn qemu-mêvan-agent, CRIU an teknolojiyên din ên pêwîst mîheng bikin. Di rewşên din de, mîhengên pêvek pir caran ne hewce ne - em tenê dîmenên cildên mantiqî diafirînin, ku dûv re bi heman rengî wekî wêneyek rewşa pergala pelê root têne hilberandin. Piştî ku dane têne girtin, wêne têne jêbirin.

Xebatên din li ser servera hilanînê ya hilanînê têne kirin:

  • paşgira paşîn a ku di her depoyê de hatî çêkirin tê kontrol kirin,
  • hebûna pelê nîşanek tê kontrol kirin, ku destnîşan dike ku pêvajoya berhevkirina daneyan qediya ye,
  • Daneyên berbi qebareya herêmî ya têkildar tê berfireh kirin,
  • pelê tagê tê jêbirin

Pêvajoya vegerandina serverê

Ger servera sereke bimire, wê hingê serverek veqetandî ya bi vî rengî tê destpêkirin, ku ji hin wêneyek standard derdikeve. Bi îhtîmalek mezin dakêşandin dê li ser torê pêk were, lê teknîsyenê navenda daneyê ku serverê saz dike dikare tavilê vê wêneya standard li yek ji dîskê kopî bike. Daxistin di RAM-ê de pêk tê, piştî ku pêvajoya vegerandinê dest pê dike:

  • Daxwazek tê kirin ku amûrek blokê bi riya iscsinbd an protokolek din a mîna wê ve girêbide bi cildek mentiqî ya ku pergala pelê root ya servera mirî vedihewîne; Ji ber ku pergala pelê root divê piçûk be, divê ev gav di çend hûrdeman de were qedandin. Bootloader jî tê vegerandin;
  • strukturên cildên mentiqî yên herêmî ji nû ve têne çêkirin, cildên mentiqî ji servera hilanînê bi karanîna modula kernel dm_clone ve têne girêdan: vegerandina daneyan dest pê dike, û guhertin tavilê li ser dîskên herêmî têne nivîsandin.
  • konteynirek bi hemî dîskên laşî yên berdest tê destpêkirin - fonksiyona serverê bi tevahî hatî vegerandin, lê bi performansa kêmkirî;
  • piştî ku hevdemkirina daneyê qediya, cildên mentiqî yên ji servera hilanînê têne qut kirin, konteynir tê girtin, û server ji nû ve tê destpêkirin;

Piştî ji nû ve destpêkirinê, server dê hemî daneyên ku di dema hilanînê de li wir bûn, hebe, û her weha dê hemî guhertinên ku di pêvajoya vegerandinê de hatine çêkirin jî bihewîne.

Gotarên din ên di rêzê de

Backup, beş 1: Çima hilanînê hewce ye, vekolîna rêbazan, teknolojiyên
Backup Part 2: Vekolîn û ceribandina amûrên hilanînê yên li ser bingeha rsync
Backup Part 3: Vekolîn û ceribandina dubendiyê, dubare
Vegere Parçe 4: Zbackup, restic, vekolîn û ceribandina borgbackup
Backup Part 5: Ceribandina Bacula û Veeam Backup ji bo Linux
Backup: beşek li ser daxwaza xwendevanan: vekolîna AMANDA, UrBackup, BackupPC
Backup Part 6: Berawirdkirina Amûrên Piştgiriyê
Backup Part 7: Encam

Ez we vedixwînim ku hûn vebijarka pêşniyarkirî di şîroveyan de nîqaş bikin, spas ji bo baldariya we!

Source: www.habr.com

Add a comment