Do innealtóirí DevOps agus riarthóirí córais, is uirlis bhunúsach iad na seatanna (snapshots) de mheaisíní fíorúla (VM). Soláthraíonn siad bealach tapa, áisiúil chun staid freastalaí a ghabháil roimh phaiste rioscúil, athrú mór cumraíochta, nó imscaradh feidhmchláir. Má théann rud éigin mícheart, tógann sé soicindí an t-athrú a chur ar ceal.
Mar sin féin, nuair a chuirtear an mhodheolaíocht chéanna seo i bhfeidhm ar bhunachair shonraí idirbheartacha—amhail PostgreSQL, MySQL, Oracle, nó Microsoft SQL Server—athraíonn seatanna VM ó bheith ina líontán sábhála go bheith ina bhuama ama.
Is é an brath ar ghnáth-seatanna hypervisor le haghaidh cúltacaí bunachar sonraí ceann de na cúiseanna is coitianta le héilliú sonraí, leathanaigh stróicthe, agus briseadh seirbhíse táirgthe nach féidir a ghnóthú. San alt seo, déanfaimid iniúchadh ar an gcoimhlint ailtireachta idir hypervisors agus innill bhunachar sonraí, meicnic an éillithe sonraí le linn seatanna, agus na dea-chleachtais innealtóireachta atá riachtanach chun bunachair shonraí fhíorúla a chúltacú go sábháilte.
An Choimhlint Ailtireachta: Hypervisors vs. Innill Bhunachar Sonraí
Chun a thuiscint cén fáth go gcuireann seatanna VM bunachair shonraí i mbaol, ní mór dúinn ar dtús scrúdú a dhéanamh ar an gcaoi a mbainistíonn an dá chóras staid agus oibríochtaí I/O.
An Chaoi a gCuireann Hypervisors Seatanna i bhFeidhm
Nuair a ghlacann hypervisor (amhail VMware ESXi, Microsoft Hyper-V, nó KVM) seat, ní dhéanann sé an diosca a chóipeáil. Ina áit sin, reoiteann sé an comhad diosca fíorúil reatha (m.sh., .vmdk nó .vhdx) i staid inléite amháin agus cruthaíonn sé diosca delta nua (diosca difreála). Déantar gach scríobh ina dhiaidh sin a threorú chuig an diosca delta seo.
Nuair a scriostar an seat, ní mór don hypervisor na sonraí ón diosca delta a thiomnú (comhdhlúthú) ar ais isteach sa bhun-diosca. Níl gnáth-seatanna ar an eolas ar chor ar bith faoi na feidhmchláir atá ag rith taobh istigh den chóras oibriúcháin aoi. Gabhann siad staid an diosca go díreach mar atá sé ag an micrisoicind sin.
An Chaoi a gCuireann Bunachair Shonraí Idirbheartacha Staid i mBainistíocht
Tá bunachair shonraí idirbheartacha deartha timpeall ar airíonna ACID (Atomicity, Consistency, Isolation, Durability). Chun ardfheidhmíocht a bhaint amach agus comhlíonadh ACID a chothabháil, ní scríobhann bunachair shonraí gach idirbheart go díreach chuig na príomhchomhaid sonraí ar an diosca láithreach. Ina áit sin, úsáideann siad ailtireacht chasta, ilshraithteach:
- Buffer Pool / Shared Buffers: Léitear sonraí isteach i gcuimhne an chórais agus déantar iad a mhodhnú ann.
- Write-Ahead Log (WAL) / Redo Logs: Scríobhtar athruithe go seicheamhach chuig comhad loga an-optamaithe ar an diosca chun marthanacht a chinntiú.
- Checkpoints / Lazy Writers: Go tréimhsiúil, sruthlaíonn an bunachar sonraí na leathanaigh mhodhnaithe (salacha) ón gcuimhne chuig na fíorchomhaid sonraí ar an diosca.
Mar gheall ar an ailtireacht seo, is beagnach i gcónaí nach bhfuil na fíorchomhaid sonraí ar an diosca sioncronaithe le staid iarbhír an bhunachair shonraí. Níl fíorstaid an bhunachair shonraí ann ach mar mheascán de na comhaid sonraí ar an diosca, na logaí WAL/Redo, agus na sonraí atá sa chuimhne faoi láthair.
An Crios Contúirte: Cad a Tharlaíonn le linn Seat VM
Nuair a ghlacann tú gnáth-seat VM de fhreastalaí bunachar sonraí, tá tú ag gabháil staid atá comhsheasmhach i gcás tuairte (crash-consistent).
Comhsheasmhacht Tuairte vs. Comhsheasmhacht Feidhmchláir
Is ionann seat atá comhsheasmhach i gcás tuairte agus an corda cumhachta a tharraingt amach as an bhfíorfhreastalaí. Gabhtar staid an diosca, ach cailltear cibé rud a bhí sa chuimhne, agus gearrtar go tobann cibé rud a bhí ar leathbhealach chuig an rialtóir stórála.
Cé go bhfuil bunachair shonraí nua-aimseartha deartha chun teacht chuige féin ó chaillteanas cumhachta gan choinne trí an Write-Ahead Log a athsheinm, tá sé an-chontúirteach brath ar aisghabháil tuairte mar do phríomhstraitéis chúltaca. Má tá do bhunachar sonraí trasna il-dioscaí fíorúla (m.sh., comhaid sonraí ar Drive D: agus WAL ar Drive E:), b’fhéidir nach nglacfaidh an hypervisor seat den dá dhiosca ag an micrisoicind céanna. Má ghabhtar seat an diosca WAL fiú codán soicind tar éis seat an diosca sonraí, ní féidir leis an mbunachar sonraí na huimhreacha seicheamh a réiteach nuair a dhéantar athchóiriú, rud a fhágann éilliú marfach.
An Éifeacht “VM Stun” ar Chórais Ard-Idirbhirt
Cruthaíonn an próiseas cruthaithe seat—agus níos tábhachtaí fós, an próiseas comhdhlúthaithe seat—feiniméan ar a dtugtar “VM Stun.”
Chun I/O a aistriú go sábháilte ón mbun-diosca chuig an diosca delta, ní mór don hypervisor an meaisín fíorúil a chur ar sos (stun) go hachomair. I gcás freastalaí gréasáin atá luchtaithe go héadrom, d’fhéadfadh an stun seo maireachtáil 10-50 milleasoicind agus dul gan aithne. Mar sin féin, i gcás bunachar sonraí ard-tréchur le I/O ollmhór, is féidir le comhdhlúthú diosca delta mór an VM a chur ar sos ar feadh roinnt soicindí.
Le linn VM stun:
* Titeann naisc líonra, rud a fhágann go n-imíonn amach feidhmchláir.
* Cailltear seiceálacha buille croí ag braislí ard-infhaighteachta (cosúil le SQL Server Always On, PostgreSQL Patroni, nó MySQL Galera).
* D’fhéadfadh an braisle glacadh leis go bhfuil an nód atá ar sos marbh, rud a spreagann teip-thar (failover) gan ghá agus suaiteach (cás scoilte-inchinne).
Leathanaigh Stróicthe agus Mí-ailíniú I/O
De ghnáth scríobhann innill bhunachar sonraí sonraí i méideanna leathanach ar leith (m.sh., 8KB do PostgreSQL agus SQL Server, 16KB do InnoDB). Mar sin féin, próiseálann an córas oibriúcháin agus na heagar stórála bunúsacha I/O i mbloic níos lú (m.sh., 4KB nó 512 beart).
Má ghlacann hypervisor seat go díreach agus an bunachar sonraí ag scríobh leathanach 8KB, d’fhéadfadh an seat an chéad 4KB de na sonraí nua agus an 4KB deireanach de na sean-sonraí a ghabháil. Cruthaíonn sé seo leathanach stróicthe. Nuair a dhéanann tú iarracht an seat a athchóiriú, léifidh an bunachar sonraí an leathanach, teipfidh ar an bhfíorú checksum, agus marcálfaidh sé an bunachar sonraí mar éillithe.
Iarmhairtí sa Fhíorshaol do Innill Bhunachar Sonraí Ar Leith
Freagraíonn innill bhunachar sonraí éagsúla do sheatanna comhsheasmhacha i gcás tuairte ar bhealaí éagsúla, ach ní láimhseálann aon cheann acu é go galánta i dtimpeallacht táirgthe.
- PostgreSQL: Braitheann PostgreSQL go mór ar an eolaire
pg_wal. Má ghabhann seat an t-eolaire sonraí ($PGDATA) agus an WAL as sioncronú, teipfidh ar PostgreSQL tosú, ag caitheamh earráidPANIC: could not locate a valid checkpoint record. - MySQL/InnoDB: Úsáideann InnoDB maolán dúbailte (doublewrite buffer) chun leathanaigh stróicthe a chosc, rud a thairgeann cosaint éigin i gcoinne stáit chomhsheasmhacha i gcás tuairte. Mar sin féin, má ghabhtar an comhad
ibdata1agus anib_logfileas sioncronú, tuairteoidh an t-inneall InnoDB nuair a dhéantar aisghabháil. - Microsoft SQL Server: Tá SQL Server an-íogair do reo I/O. Gan comhtháthú cuí VSS (Volume Shadow Copy Service), is minic a fhágfaidh athchóiriú SQL Server ó ghnáth-seat VM bunachair shonraí amhrasacha agus slabhraí loga briste, rud a scriosfaidh do chumais Aisghabhála Point-in-Time (PITR).
Dea-Chleachtais chun Bunachair Shonraí Fhíorúla a Chúltacú go Sábháilte
Chun bunachair shonraí idirbheartacha a chosaint, ní mór duit bogadh ó chúltacaí comhsheasmhacha i gcás tuairte go cúltacaí comhsheasmhacha i gcás feidhmchláir. Éilíonn sé seo go ndéanfaidh an mheicníocht chúltaca cumarsáid leis an inneall bunachar sonraí, ag cur iallach air cuimhne a shruthlú chuig an diosca agus oibríochtaí I/O a chur ar sos go hachomair fad is a ghlactar an seat.
1. Bain úsáid as Quiescing Feidhmchlár-Feasach (VSS agus fsfreeze)
Do Windows (SQL Server):
Cinntigh i gcónaí go n-úsáideann do réiteach cúltaca an Microsoft Volume Shadow Copy Service (VSS). Nuair a spreagtar cúltaca atá feasach ar VSS, reoiteann an SQL Server VSS Writer I/O an bhunachair shonraí, sruthlaíonn sé idirbhearta atá ar feitheamh chuig an diosca, agus cinntíonn sé go bhfuil an seat comhsheasmhach go foirfe ó thaobh feidhmchláir de.
Do Linux (PostgreSQL / MySQL):
Níl coibhéis dhúchasach ag Linux le VSS. Chun comhsheasmhacht feidhmchláir a bhaint amach, ní mór duit scripteanna réamh-reo (pre-freeze) agus iar-leá (post-thaw) a úsáid i gcomhar le huirlisí aoi an hypervisor (m.sh., VMware Tools).
Seo sampla de pre-freeze-script VMware do PostgreSQL 15+ a ullmhaíonn an bunachar sonraí go sábháilte le haghaidh seat:
#!/bin/bash
# /usr/sbin/pre-freeze-script
# Cinntigh go bhfuil an script seo inrite (chmod +x)
# 1. Inis do PostgreSQL ullmhú le haghaidh cúltaca
su - postgres -c "psql -c "SELECT pg_backup_start('vm_snapshot', true);""
# 2. Sruthlaigh maoláin an chórais comhad chuig an diosca
sync
# 3. Reoigh an córas comhad (ag glacadh leis go bhfuil sonraí ar /var/lib/pgsql)
fsfreeze -f /var/lib/pgsql
Agus an post-thaw-script comhfhreagrach chun oibríochtaí a atosú:
#!/bin/bash
# /usr/sbin/post-thaw-script
# 1. Díreoigh an córas comhad
fsfreeze -u /var/lib/pgsql
# 2. Inis do PostgreSQL go bhfuil an cúltaca críochnaithe
su - postgres -c "psql -c "SELECT pg_backup_stop();""
2. Úsáid Fóntais Chúltaca Dúchasacha an Bhunachair Shonraí
Cé go bhfuil seatanna comhsheasmhacha i gcás feidhmchláir níos fearr ná gnáth-seatanna, tá an baol ann fós go dtarlóidh VM stun. Is é an cur chuige is sábháilte do chúltacaí bunachar sonraí ná fóntais chúltaca dhúchasacha, sruthaithe a úsáid a oibríonn go neamhspleách ar an hypervisor.
PostgreSQL (pg_basebackup):
pg_basebackup -h localhost -U replication_user -D /mnt/backups/pg_backup -Ft -z -P
MySQL/MariaDB (Percona XtraBackup / Mariabackup):
Glacann na huirlisí seo cúltacaí te, neamh-bhloicéadacha trí na comhaid sonraí a chóipeáil agus athruithe sa redo log a rianú ag an am céanna.
mariabackup --backup --target-dir=/mnt/backups/mysql_backup --user=root --password=SecurePass
SQL Server (T-SQL):
BACKUP DATABASE [ProductionDB]
TO DISK = N'Z:BackupsProductionDB.bak'
WITH NOFORMAT, NOINIT, NAME = N'ProductionDB-Full Backup',
SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10;
GO
3. Cuir Aisghabháil Point-in-Time (PITR) i bhFeidhm trí Chartlannú Loga
Ní chosnaíonn seat laethúil nó cúltaca iomlán tú ach suas go dtí an nóiméad a tógadh é. Má thuairteálann do bhunachar sonraí ag 4:00 PM agus gurb é 2:00 AM an uair dheireanach a ghlac tú seat, caillfidh tú 14 uair an chloig de shonraí idirbheartacha.
Chun fíor-athléimneacht fiontair a bhaint amach, ní mór duit cúltacaí iomlána comhsheasmhacha i gcás feidhmchláir a chomhcheangal le cartlannú loga leanúnach (cúltaca a dhéanamh den WAL, Redo Logs, nó Transaction Logs gach cúpla nóiméad). Ligeann sé seo do DBAanna an bunachar sonraí a athchóiriú go nóiméad ar leith nó fiú go haitheantas idirbhirt ar leith roimh thubaiste.
Straitéisí Cúltaca Fiontair le CloudSave
Is tromluí oibríochtúil é bainistiú a dhéanamh ar scripteanna réamh-reo saincheaptha, poist cron le haghaidh dumpálacha dúchasacha, agus seoladh logaí trasna na ndosaen freastalaithe bunachar sonraí do fhoirne DevOps. Seo an áit a n-éiríonn ardán ar ghrád fiontair cosúil le CloudSave ríthábhachtach.
Líonann CloudSave an bhearna idir fíorúlú agus ailtireacht bhunachar sonraí. In ionad brath ar sheatanna dall hypervisor, úsáideann CloudSave gníomhairí feasacha ar fheidhmchláir a chomhtháthaíonn go dúchasach le SQL Server, PostgreSQL, MySQL, agus Oracle.
Nuair a thosaíonn CloudSave cúltaca:
1. Déanann sé cumarsáid dhíreach leis an inneall bunachar sonraí trí APIanna dúchasacha (cosúil le VSS do Windows nó sruthú WAL dúchasach do Linux).
2. Déanann sé sruthlú maoláin chuimhne chuig an diosca a eagrú gan VM stuns suaiteacha a chur faoi deara.
3. Gabhann sé na comhaid sonraí go slán agus bainistíonn sé truncú loga idirbhirt go huathoibríoch.
4. Déanann sé cúltaca leanúnach de logaí idirbhirt, rud a chumasaíonn Aisghabháil Point-in-Time (PITR) gráinneach le cúpla cad a tharlaíonn.
Trí chastacht na comhsheasmhachta feidhmchláir a dhíluchtú chuig CloudSave, is féidir le DBAanna agus riarthóirí córais sláine sonraí a ráthú gan feidhmíocht nó infhaighteacht a gcuid braislí táirgthe a íobairt.
Conclúid
Is uirlis dochreidte iad seatanna meaisín fíorúil le haghaidh bainistíocht bonneagair, ach tá siad go bunúsach neamh-chomhoiriúnach le riachtanais ACID na mbunachar sonraí idirbheartacha. Má bhíonn tú ag brath ar sheatanna hypervisor comhsheasmhacha i gcás tuairte, nochtann tú d’eagraíocht do leathanaigh stróicthe, slabhraí macasamhlaithe briste, agus caillteanas sonraí tubaisteach.
Chun do shonraí ríthábhachtacha a chosaint, ní mór duit quiescing feasach ar fheidhmchláir a chur i bhfeidhm, modheolaíochtaí cúltaca bunachar sonraí dúchasacha a úsáid, agus cartlanna loga idirbhirt leanúnacha a chothabháil. Trí réitigh chúltaca fiontair atá deartha go sonrach a ghlacadh, is féidir leat a chinntiú go bhfanann do bhunachair shonraí an-infhaighte, go hiomlán in-aisghabhála, agus go hiomlán slán.