Een database hangt tijdens gebruik alleen af van haar eigen cel: iedere cel werkt en herstelt zelfstandig.
Onderwerp
Exemplaren, overname en dienstniveaus
Nog niet bevestigd door een mens. Eigenaar: vdo89. Bron in de atlas
- Domein
- Volgt uit
- Functies
- Producten
- Verwant
Wat het is
Het dienstprofiel bepaalt hoeveel exemplaren een database heeft. Bij ontwikkelen en beproeven is dat er één, dat na uitval opnieuw start; in reguliere productie zijn het er drie op verschillende werkers, met één schrijvend exemplaar en automatische overname. Voor bedrijfskritische productie komt daar een replicacluster in de andere cel bij.
Dit onderwerp beschrijft de overname, het gedrag bij uitval van ieder onderdeel eronder, de dienstniveaus per profiel en de capaciteit die een database in het quotum van het team inneemt.
Waarom zo
De opslag beschermt de gegevens, niet de beschikbaarheid: met één exemplaar onderbreekt iedere uitval, vervanging of clusterupdate van een werker de database. Drie exemplaren op verschillende werkers houden de dienst in reguliere productie beschikbaar, maar delen nog steeds het opslagcluster van de cel.
Het voorstel kiest één schrijvend exemplaar met asynchrone replicatie en een begrensd herstelpunt, omdat synchrone replicatie iedere schrijfopdracht laat wachten en de norm ook zo wordt gehaald. De normen gelden voor het platform; de dienstafspraak voor een toepassing volgt uit de bedrijfsimpactanalyse.
Exemplaren en overname
Een database bij ontwikkelen en beproeven heeft één exemplaar. Een database in reguliere productie heeft drie exemplaren op drie verschillende werkers (podAntiAffinityType required), met een apart volume voor het transactielogboek en automatische overname binnen het cluster. Dat vraagt ten minste drie werkers en drie keer de opslag.
Toelichting
Afgewezen voor reguliere productie: één exemplaar dat na uitval opnieuw start, omdat de opslag wel de gegevens beschermt maar niet de beschikbaarheid. Controle: beleidstoetsing en de uitvalproef.
Er is één schrijvend exemplaar. De andere exemplaren volgen met asynchrone streaming replicatie, met de certificaten van de beheerfunctie; archive_timeout van 5 minuten begrenst het herstelpunt ook bij verlies van alle exemplaren. Het verlies bij overname is het niet gerepliceerde deel: een aanvaard restrisico, gemeten en begrensd door de melding bij 60 seconden replicatievertraging.
Toelichting
Afgewezen: synchrone replicatie op een quorum van replica’s. Iedere schrijfopdracht wacht dan op een replica, en zonder replica’s stopt het schrijven of valt de database terug op asynchroon; de norm van 5 minuten wordt ook zo gehaald. Synchroon met verplichte bevestiging door één replica blijft de terugvaloptie, en de route voor een dienst zonder toegestaan verlies, via een wijzigingsvoorstel. Waar het beleid van RWS letterlijk volledig synchrone replicatie zonder gegevensverlies vraagt, vult één schrijvend exemplaar met een begrensd herstelpunt dat beleid in.
Valt in reguliere productie het schrijvende exemplaar uit, dan neemt de meest bijgewerkte replica automatisch over en schrijft het oude exemplaar niet meer, ook niet na een netwerkscheiding. De dienst voor de schrijvende kant volgt het nieuwe schrijvende exemplaar, en het oude komt terug als replica.
Toelichting
Dat de beheerfunctie een schrijvend exemplaar stopt dat de besturing en de andere exemplaren niet meer bereikt, is een acceptatiecriterium; terugvaloptie is synchrone replicatie met verplichte bevestiging door één replica, zodat een afgezonderd exemplaar geen schrijfopdracht afrondt. Deze automatische overname binnen één databasecluster staat los van de gecontroleerde overname van een bedrijfskritische dienst tussen de cellen, die met uitsluiting van de oude kant begint. Controle: de uitvalproef.
Een database in bedrijfskritische productie krijgt daarnaast een replicacluster van CloudNativePG in de andere cel. Replicatie naar de andere cel bestaat alleen daarvoor, over een gedeclareerde verbinding: een eigen virtueel adres op de verkeersverdeling van de cel met het schrijvende exemplaar geeft TCP 5432 door naar het databaseadres, en TLS eindigt bij de database. Overname gaat volgens het draaiboek, na uitsluiting.
Toelichting
Er is geen eis aan de hoofdversie. De werking wordt aangetoond in de proef van herstel na een aanval, vóór de vrijgave voor bedrijfskritische productie.
De herstelafspraak voor bedrijfskritische productie volgt de bedrijfsimpactanalyse; de normen van reguliere productie gelden daar niet vanzelf. De dienstbeschrijving legt per dienst schrijfautoriteit, herstelpunt en hersteltijd vast. De reactie op een melding is dan binnen 30 minuten, 24 uur per dag en 7 dagen per week, en het herstel begint binnen 1 uur.
Opslag
De volumes van een database staan op blokopslag van het opslagcluster van de cel, nooit op bestandsopslag.
Toelichting
Dat volgt het opslagontwerp bij opslag en foutdomeinen.
De volumes gebruiken de opslagklasse normaal-blok (prestatielaag ‘normaal’) uit de rechtstreekse koppeling van het applicatiecluster met het opslagcluster, als ReadWriteOnce op RBD. In reguliere productie heeft iedere database daarnaast een apart volume voor het transactielogboek (walStorage). De exemplaren delen het opslagcluster; de scheiding tussen hen loopt via de werkers.
Toelichting
De databasevolumes vallen buiten de volumeback-up van het cluster; de database heeft haar eigen back-up.
Gedrag bij uitval
De database erft de foutdomeinen eronder: drie kopieën in drie rekken op het opslagcluster, werkers die over werkerknooppunten en rekken zijn gespreid, en de gehoste besturing op het clusterbeheer. Drie PostgreSQL-exemplaren beschermen dus niet tegen verlies van het opslagcluster of van de hele cel.
Per onderdeel liggen de plaatsing, het gedrag bij uitval en het herstel van de database vast.
| Uitval van | Exemplaren en plaatsing | Gedrag | Herstel |
|---|---|---|---|
| Een replica (reguliere productie) | Twee replica’s op eigen werkers | Geen onderbreking | De beheerfunctie start het exemplaar opnieuw met zijn volume. |
| Het schrijvende exemplaar (reguliere productie) | Eén van de drie | Overname door de meest bijgewerkte replica; verbindingen breken af; verlies alleen van het niet gerepliceerde deel | Het oude exemplaar komt terug als replica; de toepassing verbindt opnieuw. |
| Het exemplaar of zijn werker (ontwikkelen en beproeven) | Eén | De database is onbereikbaar | Start op een andere werker met hetzelfde volume; geen verlies. |
| Een werkerknooppunt of rek | Werkers als virtuele machines | Reguliere productie gaat door zolang er een exemplaar overblijft | De werkervirtualisatie start de werkers elders. |
| Gehoste besturing of beheerfunctie | Besturing op het clusterbeheer; één beheerfunctie per cluster | De database werkt door, zonder overname of wijziging | Herstel van de gehoste besturing; de beheerfunctie start elders. |
| Het opslagcluster | Eén per cel | Lezen en schrijven stoppen; bij verlies van één rek niet | Start uit de volumes, anders uit de back-up. |
| De objecttoegang | Objectgateways per realm in ten minste twee rekken | Archivering stopt; het transactielogboek groeit op het volume | Melding; daarna archiveert de plug-in de achterstand. |
| Het geheimenbeheer | Drie exemplaren op het basisdienstencluster | Lopende verbindingen werken door; nieuwe aanmeldingen slagen tot de inloggegevens verlopen, 20 minuten tot 1 uur na de laatste verlenging | Herstel van het geheimenbeheer gaat voor. |
| De cel | Ontwikkelen en beproeven en reguliere productie in één cel | Alle exemplaren vallen uit | Herstel uit de kopie buiten de cel na controle in de herstelomgeving, daar op de gastklasse van de werkervirtualisatie, met de achterstand van die kopie (circa 1 uur) als herstelpunt; bedrijfskritische productie via overname door het replicacluster; bij aantasting van het beheer via de herstelkern. |
Een database start zodra applicatiecluster, opslagkoppeling en beheerfunctie werken; het geheimenbeheer is pas nodig voor de toepassingen. Bij herstel van een cel is de volgorde binnen de dienst: applicatiecluster, beheerfunctie en beeldcatalogus, de database uit haar volumes of de back-up, certificaat, adres en naam, verbinding met het geheimenbeheer, en daarna de toepassingen. Na herstel uit een back-up krijgt het beheeraccount een nieuw wachtwoord en worden alle leases ingetrokken.
Dienstniveaus
De dienstniveaus van de beheerde database per profiel. In reguliere productie is de overname binnen 2 minuten en de overschakeling bij onderhoud binnen 1 minuut; er is geen percentagenorm, wel een maandelijkse meting van de beschikbaarheid van de schrijvende kant, zoals per cluster. De normen gelden voor het platform en zijn toetsbaar in de uitvalproef; de dienstafspraak voor de volledige toepassing volgt uit de bedrijfsimpactanalyse.
| Eigenschap | Ontwikkelen en beproeven | Reguliere productie | Meting en bewijs |
|---|---|---|---|
| Exemplaren en overname | 1; na uitval opnieuw gestart | 3; automatische overname met uitsluiting; onderbreking ten hoogste 2 minuten | Uitvalproef |
| Herstelpunt binnen de cel | Ieder tijdstip in het venster; geen norm, want opnieuw op te bouwen | Ten hoogste 5 minuten bij herstel; bij overname het niet gerepliceerde deel | Herstelproef; replicatievertraging |
| Hersteltijd | Opnieuw op te bouwen | Binnen 4 uur voor een database tot 100 GB | Herstelproef per kwartaal |
| Herstelvenster | 7 dagen | 30 dagen | Back-upoverzicht |
| Herstelpunt na verlies van de cel | Achterstand van de kopie buiten de cel, circa 1 uur | Idem | Gemeten per database; melding boven 2 uur |
| Onderbreking bij onderhoud | Korte onderbreking bij de herstart | Overschakeling van ten hoogste 1 minuut; verbindingen worden opnieuw opgebouwd | Gemeten in de proef |
| Beschikbaarheid | Geen norm | Geen percentagenorm, wel de normen hierboven; gemeten per maand | Bereikbaarheid van de schrijvende kant |
| Reactie op een melding | Binnen 8 werkuren, tijdens kantoortijd | Binnen 1 uur tijdens kantoortijd; herstel begint binnen 4 uur | Reactietijd vastgelegd; escalatie volgens de vaste route |
In reguliere productie wacht een melding buiten kantoortijd tot kantoortijd. Dat is een aanvaard restrisico, begrensd door de automatische overname met uitsluiting; wie meer vraagt, kiest bedrijfskritische productie.
Capaciteit
Een database is in de eerste levering ten hoogste 100 GB, omdat de hersteltijdnorm tot die grootte geldt; groter kan alleen als de dienstbeschrijving een gemeten hersteltijd noemt. De beleidstoetsing controleert de grens.
In het quotum van het team tellen per exemplaar processor, geheugen en datavolume, in reguliere productie ook het logboekvolume, plus één herstelexemplaar ter grootte van de grootste database van het cluster, zodat herstel niet op capaciteit wacht. Het gebruik wordt per database gerapporteerd. De volumes tellen mee in de uitgegeven quota van het opslagcluster, die samen onder 75 procent van de bruikbare capaciteit blijven.
Toelichting
Controle: beleidstoetsing en de capaciteitsrapportage.
Database-exemplaren draaien met het striktste beveiligingsprofiel en met limieten voor processor en geheugen; in reguliere productie zijn de requests gelijk aan de limieten. Dat geeft scheiding en voorspelbare prestaties.
De dienst groeit met de applicatieclusters. De grenzen zijn de capaciteit van werkervirtualisatie en opslagcluster, en de /26 van het cluster, die werkers, ingangsadres en databaseadressen delen. De groeiroute voor een zware schrijfbelasting is de prestatielaag ‘snel’, als werklastklasse met eigen capaciteitsbeleid.
Verder verkennen
Dit concept in de atlas
Verwijzen hiernaar 4
- OnderwerpAdres, verbindingen en versleuteling
- OnderwerpBack-up en herstel naar tijdstip
- OnderwerpBewaking, logboeken en beproeving
- OnderwerpDe beheerde database als dienst
Geen passende verwijzingen.
Verwijst naar 21
- OnderwerpBack-up en herstel naar tijdstip
- DienstprofielBedrijfskritische productie
- DomeinBeheercellen & samenhang
- DomeinBeheerde databases & koppelingen
- OnderwerpBewaking, logboeken en beproeving
- ProductCloudNativePG (PostgreSQL)
- OntwerpkeuzeContinuïteit naar het belang van het werk, met beproefd herstel
- FunctieDatabases
- OnderwerpDe beheerde database als dienst
- OntwerpkeuzeEen beperkt aanbod met een groeipad
- ToetsHerstel na een aanval
- ProductNetScaler External LoadBalancer (BLX)
- DienstprofielOntwikkelen en beproeven
- ProductOpenShift Data Foundation
- ProductOpenShift Virtualization
- DomeinOpslag & foutdomeinen
- BesluitrecordOpslag in een extern Ceph-cluster per cel
- BegripPrestatielaag
- ProductRed Hat Ceph Storage
- DienstprofielReguliere productie
- BesluitrecordVlootbeheer en zelfstandige beheercellen, één per datacenter
Geen passende verwijzingen.