Categories
Disaster Recovery

**

I gcóir innealtóirí DevOps, Riarthóirí Bunachar Sonraí (DBAanna), agus ailtirí córais TF, is mó ná focail ghaisce gnó iad an Cuspóir Ama Aisghabhála (RTO) agus an Cuspóir Pointe Aisghabhála (RPO)—is srianta innealtóireachta docht iad. Agus bunachair shonraí atá ríthábhachtach á mbainistiú, d’fhéadfadh caillteanas tubaisteach sonraí agus aga neamhfhónaimh fada a bheith mar thoradh ar mhainneachtain na méadrachtaí seo a ríomh, a dhearadh agus a bhailíochtú go cruinn.

I dtimpeallachtaí fiontair nua-aimseartha, teastaíonn tuiscint dhomhain ar inmheánaigh bunachar sonraí, I/O stórála, tréchur líonra, agus meicnic logaí idirbhirt chun RTO agus RPO a ríomh. Scrúdaíonn an treoir seo na modheolaíochtaí teicniúla chun RTO agus RPO a ríomh, a thástáil agus a bharrfheabhsú do chórais bunachar sonraí táirgthe.

RPO (Cuspóir Pointe Aisghabhála) i gCórais Bunachar Sonraí a Dhí-thógáil

Sainmhíníonn RPO an t-uasmhéid inghlactha de chaillteanas sonraí arna thomhas in am. Má tá do RPO 15 nóiméad, ciallaíonn tubaiste a tharlaíonn ag 12:00 PM go gcaithfidh tú a bheith in ann gach idirbheart tiomanta a aisghabháil suas go dtí 11:45 AM ar a laghad.

I gcás bunachair shonraí, tá RPO ordaithe ag do straitéis bhainistíochta logaí idirbhirt (WAL i PostgreSQL, Redo Logs in Oracle, Transaction Logs in SQL Server).

Meicnic an Chaillteanais Sonraí agus Gineadóireacht Logaí

Chun RPO inbhainte amach a ríomh, ní mór duit ar dtús ráta gineadóireachta logaí idirbhirt do bhunachar sonraí a thuiscint. Má tá tú ag seoladh logaí chuig stór cúltaca gach 15 nóiméad, ach nach féidir le do líonra 15 nóiméad de logaí a aistriú laistigh den fhuinneog sin, laghdóidh do RPO iarbhír go leanúnach.

Is féidir leat do ráta gineadóireachta logaí a bhunlíniú ag baint úsáide as orduithe dúchasacha SQL. Mar shampla, i PostgreSQL (leagan 10+), is féidir leat ráta gineadóireachta an Write-Ahead Log (WAL) a thomhas thar eatramh ar leith:

-- Rith seo ag T=0
SELECT pg_current_wal_lsn() AS start_lsn;

-- Fan go díreach 5 nóiméad (300 soicind), ansin rith:
SELECT pg_current_wal_lsn() AS end_lsn,
       pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), 'START_LSN_VALUE')) AS wal_generated_size,
       pg_wal_lsn_diff(pg_current_wal_lsn(), 'START_LSN_VALUE') / 300 AS bytes_per_second;

Má léiríonn an cheist seo go bhfuil 50 MB/s de shonraí WAL á nginiúint agat le linn buaic-ualach, teastaíonn 45 GB de shonraí loga a aistriú chuig do stóráil chúltaca le haghaidh RPO 15 nóiméad. Caithfidh do líonra agus do spriocanna stórála tacú le luasanna scríofa marthanacha os cionn 50 MB/s chun an RPO seo a choinneáil.

Tionchar na Macasamhlaithe Sioncrónaí vs. Asioncrónaí

Braitheann go leor DBAanna ar mhacasamhlú Ard-Infhaighteachta (HA) chun RPO a shásamh. Mar sin féin, ní cúltaca é macasamhlú. Déantar tábla scriosta (DROP TABLE users;) a mhacasamhlú láithreach.

Agus macasamhlú á úsáid le haghaidh Aisghabháil Tubaiste (DR), bíonn tionchar díreach ag an modh macasamhlaithe ar RPO:
* Macasamhlú Sioncrónach: Ráthaíonn sé RPO de nialas (RPO=0). Ní dhéanfaidh an bunachar sonraí príomhúil idirbheart a thiomnú go dtí go n-admhaíonn an fuireachas go bhfuarthas é. Is é an comhréiteach ná moill mhéadaithe ar oibríochtaí scríofa príomhúla.
* Macasamhlú Asioncrónach: Tugann sé moill mhacasamhlaithe isteach. Tá do RPO cothrom go héifeachtach le do mhoill mhacasamhlaithe reatha.

Chun monatóireacht a dhéanamh ar mhoill mhacasamhlaithe asioncrónach i PostgreSQL, bain úsáid as:

SELECT application_name,
       client_addr,
       state,
       sync_state,
       pg_wal_lsn_diff(pg_current_wal_lsn(), replay_lsn) AS replication_lag_bytes
FROM pg_stat_replication;

RTO (Cuspóir Ama Aisghabhála) do Bhunachair Shonraí ar Mhórscála a Dhí-thógáil

Is é RTO an t-uasmhéid ama neamhfhónaimh is féidir a fhulaingt. Tá ríomh RTO bunachar sonraí casta go leor mar ní hamháin gurb é an t-am a thógann sé comhaid a chóipeáil ar ais chuig freastalaí é.

An Múnla Matamaiticiúil le haghaidh Ríomh RTO

Caithfidh ríomh réalaíoch RTO bunachar sonraí ceithre chéim ar leith a chur san áireamh:

RTO = T(infra) + T(transfer) + T(restore) + T(recovery)

  1. T(infra) – Soláthar Bonneagair: Am chun ríomhaireacht agus stóráil athsholáthair a chur ar bun. (Is féidir é a bheith gar do nialas le láithreáin DR réamh-sholáthraithe nó píblínte Bonneagar-mar-Chód).
  2. T(transfer) – Aistriú Sonraí: Am chun an t-ualach cúltaca a bhogadh ón stór go dtí an freastalaí bunachar sonraí.
  3. T(restore) – Aisghabháil Fhisiciúil: Am chun na comhaid sonraí a scríobh chuig an diosca sprice.
  4. T(recovery) – Aisghabháil Tuairteála Bunachar Sonraí: Am don inneall bunachar sonraí logaí idirbhirt a athsheinm, idirbhearta tiomanta a rolladh ar aghaidh, agus cinn neamhthiomanta a rolladh siar.

Amanna Aistrithe agus Aisghabhála a Ríomh

Chun T(transfer) agus T(restore) a ríomh, ní mór duit do bandaleithead líonra agus IOPS/tréchur diosca a bhunlíniú. Ná bí ag brath ar uasmhéideanna teoiriciúla; déan tástáil ar do bhonneagar iarbhír.

Bain úsáid as iperf3 chun tréchur líonra idir do stór cúltaca agus do fhreastalaí bunachar sonraí a thástáil:

# Ar an stór cúltaca (freastalaí)
iperf3 -s

# Ar an bhfreastalaí bunachar sonraí (cliant)
iperf3 -c <backup_repo_ip> -t 60 -P 4

Bain úsáid as fio chun feidhmíocht scríofa seicheamhach do chuid toirteanna stórála bunachar sonraí a thástáil, ag insamhail oibríocht aisghabhála bunachar sonraí:

fio --name=restore_sim --ioengine=libaio --rw=write --bs=1M --size=10G --numjobs=4 --iodepth=32 --direct=1 --filename=/var/lib/postgresql/data/testfile

Má tá do bhunachar sonraí 5 TB, agus má léiríonn do thástálacha fio uasluas scríofa marthanach de 500 MB/s, is é do T(restore) íosta iomlán thart ar 2.8 uair an chloig. Má éilíonn do SLA gnó RTO 1 uair an chloig, teipfidh ar aisghabhálacha sruthú traidisiúnta. Caithfidh tú d’ailtireacht a athrú go snapshots ag leibhéal na stórála nó macasamhlú ag leibhéal an bhloc.

An Gaiste Folaithe: T(recovery)

Is é T(recovery) an t-athróg is minice a ndéantar faoi mheas air. Má dhéanann tú cúltaca iomlán seachtainiúil a athchóiriú agus má theastaíonn uait 6 lá de logaí idirbhirt a chur i bhfeidhm chun do RPO a bhaint amach, caithfidh an t-inneall bunachar sonraí gach idirbheart a athsheinm go seicheamhach.

Is féidir uaireanta a thógáil chun 500 GB de logaí idirbhirt a athsheinm, rud a chuireann bac mór ar fheidhmíocht LAP aon-snáithe agus IOPS stórála. Chun T(recovery) a íoslaghdú, méadaigh minicíocht do chúltacaí iomlána nó difreálacha.

An Bhearna a Dhúnadh: Céimeanna Praiticiúla chun RTO agus RPO a Bhailíochtú

Níl i ríomh RTO agus RPO teoiriciúil ach an chéad chéim. Éilíonn timpeallachtaí ríthábhachtacha bailíochtú leanúnach.

Céim 1: Cartlannú Leanúnach a Chur i bhFeidhm

Chun RPOanna faoi bhun nóiméad a bhaint amach gan pionós feidhmíochta an mhacasamhlaithe shioncrónaigh, cuir cartlannú logaí leanúnach i bhfeidhm. In ionad fanacht le comhad loga a líonadh (rud a d’fhéadfadh uaireanta a thógáil le linn tréimhsí tráchta íseal), cuir lasca loga i bhfeidhm ag eatraimh rialta.

In SQL Server, is féidir leat cúltacaí Loga Idirbhirt minice a uathoibriú:

BACKUP LOG [MissionCriticalDB] 
TO DISK = N'\BackupRepoSQLMissionCriticalDB_Log.trn' 
WITH NOFORMAT, NOINIT, 
NAME = N'MissionCriticalDB-Transaction Log Backup', 
SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10;

Dea-Chleachtas: Sceidealaigh an post seo le rith gach 1-5 nóiméad ag brath ar do riachtanais RPO.

Céim 2: Tástáil Aisghabhála a Uathoibriú

Níl i gcúltaca neamhthástáilte ach coincheap teoiriciúil. Chun do RTO ríofa a ráthú, ní mór duit tástáil aisghabhála uathoibrithe a dhéanamh.

Déanann ardáin chúltaca fiontair cosúil le CloudSave é seo a shimpliú trí thástáil aisghabhála uathoibrithe, iargúlta a sholáthar. Is féidir le CloudSave timpeallacht bosca gainimh a chur ar bun go huathoibríoch, an cúltaca is déanaí a chur suas, aisghabháil iomlán bunachar sonraí a dhéanamh, agus scripteanna bailíochtaithe saincheaptha a fhorghníomhú (m.sh., DBCC CHECKDB le haghaidh SQL Server) chun an RTO cruinn a thomhas agus sláine sonraí a chinntiú. Athraíonn sé seo RTO ó thomhas measta go méadracht chruthaithe, inthuairiscithe.

Céim 3: Monatóireacht agus Foláireamh ar Sháruithe SLA

Ba cheart do do chruach monatóireachta (Prometheus, Datadog, Zabbix) méadrachtaí a bhaineann le do SLAanna RTO/RPO a rianú go gníomhach. Ba cheart rialacha foláirimh a chumrú le haghaidh:
* Teipeanna Poist Cúltaca: Bagairt láithreach ar RPO.
* Moill ar Sheoladh Logaí: Má thógann aistriú loga níos faide ná an t-eatramh gineadóireachta.
* Srianadh IOPS Stórála: Cuireann soláthraithe scamall (cosúil le AWS EBS) srian ar IOPS má ídítear creidmheasanna pléasctha, rud a scriosfaidh do RTO go ciúin le linn éigeandála iarbhír.

Ailtireacht Cúltaca Bunachar Sonraí a Bharrfheabhsú chun SLAanna Docht a Chomhlíonadh

Nuair a léiríonn ríomhanna matamaiticiúla nach féidir le d’ailtireacht reatha SLAanna gnó a chomhlíonadh, ní mór duit do straitéis chúltaca a bharrfheabhsú.

1. Bain Leas as Cúltacaí Incriminteacha ag Leibhéal an Bhloc

Tá dumpálacha bunachar sonraí traidisiúnta (cúltacaí loighciúla cosúil le pg_dumpmysqldump) ró-mhall le haghaidh RTOanna ríthábhachtacha. Úsáid cúltacaí fisiciúla, ag leibhéal an bhloc. Ní chóipeálann cúltacaí incriminteacha ag leibhéal an bhloc ach na bloic diosca a d’athraigh ón gcéad chúltaca eile, rud a laghdaíonn T(transfer) agus forchostas líonra go mór.

2. Úsáid Snapshots Stórála

I gcás bunachair shonraí il-teiribheart a dteastaíonn RTO níos lú ná 15 nóiméad uathu, tá cóipeáil comhad traidisiúnta dodhéanta go fisiciúil thar líonraí caighdeánacha. Ceadaíonn comhtháthú le snapshots stórála SAN nó scamall-dhúchasach (m.sh., AWS EBS Snapshots, Pure Storage) T(restore) beagnach láithreach. Ní gá don inneall bunachar sonraí ansin ach aisghabháil tuairteála a dhéanamh ar an snapshot.

3. Comhthreomhaireacht a Chur i bhFeidhm

Cinntigh go n-úsáideann do chuid uirlisí cúltaca agus aisghabhála il-snáitheanna. Agus bunachar sonraí PostgreSQL á athchóiriú ag baint úsáide as pgbackrest nó bunachar sonraí SQL Server, sainigh snáitheanna oibre comhthreomhara go sainráite chun do bandaleithead líonra agus diosca atá ar fáil a sháithiú.

# Sampla d'aisghabháil chomhthreomhar in pgBackRest
pgbackrest --stanza=prod_db --process-max=8 restore

Conclúid

Is cleachtadh dian in innealtóireacht córais é RTO agus RPO a ríomh do bhunachair shonraí ríthábhachtacha. Éilíonn sé ar DBAanna bogadh thar chumraíochtaí cúltaca réamhshocraithe agus a n-I/O stórála, acmhainn líonra, agus meicnic aisghabhála bunachar sonraí a shamhaltú go matamaiticiúil.

Trí rátaí gineadóireachta logaí a bhunlíniú, na céimeanna ar leith d’aisghabháil bunachar sonraí a thuiscint, agus tástáil uathoibrithe a chur i bhFeidhm trí ardáin láidre cosúil le CloudSave, is féidir le foirne TF a SLAanna aisghabhála tubaiste a ráthú go muiníneach. Cuimhnigh: i réimse na riaracháin bunachar sonraí, ní straitéis é dóchas, agus is dliteanas iad cúltacaí neamhthástáilte.

Foghlaim conas is féidir le hinnealtóirí DevOps agus DBAanna RTO agus RPO a ríomh, a thástáil agus a bharrfheabhsú go cruinn do bhunachair shonraí ríthábhachtacha ag baint úsáide as meicnic aisghabhála chun cinn, uirlisí CLI, agus tástáil uathoibrithe.