De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
In dit document worden verschillende onderzoeksmethoden beschreven voor het oplossen van problemen met Geo-replication Checksum Mismatch tussen de lokale en externe racks.
Cisco raadt kennis van de volgende onderwerpen aan:
Dit document is niet beperkt tot specifieke software- en hardware-versies.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
SMF ondersteunt Geografische (Geo)- redundantie (GR) in actief-actieve modus.
GR setup is ook verantwoordelijk voor de replicatie van etcd/cache gegevens naar het standby Rack.
SMF ondersteunt primaire/standby-redundantie waarbij gegevens worden gerepliceerd van de primaire naar de standby-instantie.
Als de primaire instantie uitvalt, wordt de stand-byinstantie de primaire instantie en neemt deze de bewerking over.
Om GR te bereiken, kunnen twee primaire/standby-paren worden ingesteld waarbij elke site actief verkeer verwerkt en stand-by fungeert als back-up voor de externe site.
Geo-replication Pod is geïntroduceerd voor communicatie tussen rack en locatie en voor bewaking van POD/BFD in het rack
Op elk rack/elke site worden twee exemplaren van GR-POD uitgevoerd
Twee GR POD's functioneren in Active-Standby-modus
GR POD's worden gegenereerd op de Proto-node/VM
GR POD gebruikt twee virtuele IP-adressen (VIP's)
Interne VIP voor communicatie tussen POD's (binnen het rack)
Externe VIP voor de GR POD-communicatie van Inter-Rack/Site
VIP's die zijn geconfigureerd voor GR POD kunnen actief zijn op een van de Proto-node/VM
Wanneer Active GR POD opnieuw wordt opgestart, wordt VIP overgeschakeld naar een andere Proto-node/VM en kan de stand-by GR POD op de andere Proto-node/VM actief worden
GR Pod-referentieconfiguratie:
smf# show running-config instance instance-id 1 endpoint geo
Thu Oct 20 06:25:25.319 UTC+00:00
instance instance-id 1
endpoint geo
replicas 1
nodes 2
interface geo-internal
vip-ip a.b.c.d vip-port 7001
exit
interface geo-external
vip-ip Y.Y.Y.Y vip-port 7002
exit
exit
exit
Om de actieve Geo pod te identificeren, moet u controleren op fouten of gebeurtenissen in de Geo pod-logs.
Actieve pod:
user@smf-ims-master-1:~$ kubectl logs georeplication-pod-0 -n smf-smfix1|tail -3
[ERROR] [grcacachepod.go:339] [gr_deferred_sync.application.app] Periodic Sync: Total time taken to sync IPAM cache pod data: 500.563723ms”
[ERROR] [GeoAdminStreamClient.go:276] [gr_pod.geo_admin_client.app] no one waiting for received response for txnID:CP0XXXOKCP0XXX-SMF-IMS-smfix1111163550 of host=geo-admin-pod2
Standby Pod:
user@cp0xxx-smf-ims-master-1:~$ kubectl logs georeplication-pod-1 -n smf-smfix1|tail -3
[ERROR] [gr_pod.geo_replication_client_stream] Counters => not an active geo pod
[ERROR] [gr_pod.geo_replication_client_stream] Counters => not an active geo pod
[ERROR] [gr_pod.geo_replication_client_stream] Counters => not an active geo pod
Gebruik CLI om replicatiedetails voor ETCD- en cache-pod-gegevens te bekijken:
[cp0xxx-smf-ims/smfix1] smf# show georeplication checksum instance-id 1
Thu Oct 20 07:11:52.409 UTC+00:00
checksum-details
-- ---- --------
ID Type Checksum
-- ---- -------
1 ETCD 1666249907
IPAM CACHE 1666249907
NRFMgmt CACHE 1666249907
[ERROR] [gr_pod.gradmin] updateEntryInEtcd: Updating etcd entries for keys : Instance.2, with role as PRIMARY
[ERROR] [gr_pod.gradmin] updateEntryInEtcd: Updating etcd entries for keys : Instance.1, with role as STANDBY
[cp0xxx-smf-ims/smfix1] smf# show running-config geomonitor podmonitor pods smf-service
Thu Oct 20 07:36:41.280 UTC+00:00
geomonitor podmonitor pods smf-service
retryCount 2
retryInterval 900
retryFailOverInterval 500
failedReplicaPercent 60
PRIMARY : De site is klaar en neemt actief verkeer voor de betreffende instantie.
STANDBY: De site staat paraat, klaar om verkeer te verwerken, maar neemt geen verkeer op voor een bepaald exemplaar.
STANDBY_ERROR: De site is in de problemen, niet actief en niet klaar om verkeer te nemen voor een bepaald exemplaar.
FAILOVER_INIT: De site is failover begonnen en is niet in staat om verkeer te verwerken, buffertijd van 2 seconden voor de toepassing om de activiteit te voltooien.
FAILOVER_COMPLETE: De site heeft de failover voltooid en geprobeerd de peer-site te informeren over de failover voor de gegeven instantie. buffertijd van 2s.
FAILBACK_STARTED: Handmatige failover wordt geactiveerd met een vertraging van de externe site voor een bepaalde instantie.
Opmerking: Cache/ETCD-replicatie en CDL-replicatie zouden zelfs in alle rollen plaatsvinden. Als GR-koppelingen down zijn / periodieke hartslag mislukt, worden GR-triggers opgeschort.
Show role instance id 1
Show role instance id 2
Geo reset-role instance-id <1/2> role standby
Geo switch-role instance-id <1/2> role standby failback-interval 0
Om deze rol als Switch te starten, moet u de CLI activeren vanuit het Rack dat een van de instanties als Primary heeft.
Geo switch-role instance-id <1/2> role standby failback-interval 0
Opmerking: Sunny Day-scenario: Rack1-Instance1-Primary, Instance2-Standby; Rack2-Instance1-StandBy, Instance2-Primary.
Rainy Day Scenario: Rack1-Instance 1 en Instance 2-Primary; Rack2-Instance 1 en Instance 2-StandBy.
Het TCP-protocol is een verbindingsgeoriënteerd protocol, wat betekent dat een verbinding wordt gemaakt en onderhouden totdat de toepassingsprogramma's aan elk uiteinde de uitwisseling van berichten hebben voltooid. TCP werkt met het Internet Protocol (IP).
TCP handshake staat ook wel bekend als een 3-weg handshake. Wanneer een verbinding van het clientsysteem met het serversysteem wordt gestart, wisselen de client en server SYN- en ACK-pakketten uit voordat de gegevens worden verzonden.
Transmission Control Protocol: client- en serververbindingsstatus
Een verbinding vordert door een reeks toestanden gedurende zijn hele leven. De staten zijn: LISTEN, SYN-SENT, SYN-RECEIVED ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2,CLOSE-WAIT,CLOSING, LAST-ACK, TIME-WAITCLOSED, en de fictieve staat ¢.
SYN pakket naar de server (ontvanger) en wordt de status bijgewerkt naar SYN-SENT.SYN-ACK naar de client die de verbindingsstatus wijzigt in SYN-RECEIVED.ACK en de verbinding is gemarkeerd als ESTABLISHED op beide eindpunten, nu zijn de client en de server klaar om gegevens over te dragen.FIN pakket naar de server en werkt de status bij naar FIN-WAIT-1.ACKwaarschuwing. Na het antwoord komt de server in een CLOSE-WAIT staat.FIN-WAIT-2 staat.CLOSE-WAIT staat en deze gaat onafhankelijk van elkaar met een FIN, die de status LAST-ACKbijwerkt.ACKwaarschuwing, wat resulteert in een TIME-WAIT staat.CLOSED onmiddellijk in.TIME-WAIT staat, voordat de verbinding CLOSEDwordt verbroken.de geo-replicatiestatus van smfix1/smfix2 is mislukt (Inter-rackreplicatie naar externe locatie is mislukt).
FOUT: De opdracht Beheer is mislukt [pod internal-gr-pod-1, URL http://X.X.0.0:15290/commands] met code 424, Bericht mislukt: fout bij replicatiecontrole.
Het probleem werd waargenomen op 23 augustus om 00:36:19 als "Inter rack replicatie mislukt".
From CEE alerts:
Inter_Rack_Replication 9ca45362a049 critical 08-23T00:36:19 System
Inter rack replication to Remote Site failed
Vanaf deze CLI-uitvoer kunt u zien dat instantie-id 1 Checksum Mismatch voor IP-adresbeheer (IPAM) en NRF-cache heeft.
[cp0xxx-smf-ims/smfix1] smf# show georeplication checksum instance-id 1
Mon Sep 5 08:38:27.762 UTC+00:00
checksum-details
-- --- --------
ID Type Checksum
-- ---- --------
1 ETCD 1662367102
IPAM CACHE 1662367102
NRFMgmtCACHE 1662367102
[cp0xxx-smf-ims/smfix2] smf# show georeplication checksum instance-id 1
Mon Sep 5 08:38:30.767 UTC+00:00
checksum-details
-- ---- --------
ID Type Checksum
-- ---- --------
1 ETCD 1662367102
IPAM CACHE 1661214831
NRFMgmtCACHE 1661214831
[cp0xxx-smf-ims/smfix1] smf# show georeplication checksum instance-id 2
Mon Sep 5 08:38:37.852 UTC+00:00
checksum-details
-- ---- --------
ID Type Checksum
-- ---- --------
2 ETCD 1661214828
IPAM CACHE 1662367107
NRFMgmtCACHE 1662367107
[cp0xxx-smf-ims/smfix2] smf# show georeplication checksum instance-id 2
Mon Sep 5 08:38:39.118 UTC+00:00
checksum-details
-- ---- -------
ID Type Checksum
-- ---- --------
2 ETCD 1662367107
IPAM CACHE 1662367107
NRFMgmtCACHE 1662367107
Rack1-smfix1-logs:
Vanuit de logboeken van GR Pod kunt u zien dat het controlepunt voor de update-cache is gestopt, dat de onmiddellijke replicatie is mislukt en dat er geen externe host beschikbaar is.
2022/08/23 00:34:00.035 [ERROR] [grreplicationclient.go:201] [gr_pod.geo_replication_client_stream.app] HandleImmediateReplication failed: [RPCNoRemoteHostAvailable] No remote host available for this request
2022/08/23 00:34:02.086 [ERROR] [grreplicationclient.go:466] [gr_pod.geo_replication_client_stream.app] Stream disconnected, closing logQueueCounter=0xc0093b08b0
2022/08/23 00:34:04.124 [ERROR] [GeoAdminStreamClient.go:215] [gr_pod.geo_admin_client.app] ADMIN(geo-admin-pod2) : exit outgoing request loop stream closed
2022/08/23 00:34:43.623 [ERROR] [grreplicationclient.go:270] [gr_pod.geo_replication_client_stream.app] Update etcd checkpointing stopped for grinstance: 1
Rack2-smfix2-logs:
In de logboeken van GR Pod kunt u zien dat de fout Stream disconnected is en dat het verschil in de CACHE-controlesom groter is dan verwacht.
2022/08/23 00:34:06.497 [ERROR] [grreplicationserver.go:62] [gr_pod.geo_replication_server_stream.app] Stream disconnected, closing logQueueCounter=0xc001b85d08
2022/08/23 00:34:06.497 [ERROR] [grreplicationserver.go:314] [gr_pod.geo_replication_server_stream.app] handleCachePodSyncRequests : Stream closed of connection=0xc002ee08f0
2022/08/23 00:34:56.751 [ERROR] [grpodcommands.go:455] [gr_pod.cli_command.app] compareChecksumData: CACHE checksum difference is more then expected, local checksum [1661214831] remote checksum [1661214892]
2022/08/23 00:34:56.678 [ERROR] [etcdAuditReplHandler.go:196] [gr_pod.application.app] SyncETCDData periodic sync : For ETCD [C.GR.1.] key, the remote site data size is: [10833]
2022/08/23 00:36:56.757 [ERROR] [grpodcommands.go:455] [gr_pod.cli_command.app] compareChecksumData: CACHE checksum difference is more then expected, local checksum [1661214831] remote checksum [1661215012]
ECC-fout wordt gezien op de master-1 node die geo-replication-pod-0 host rond dezelfde tijd als de stream disconnected-fout.
CP0XXX-Server9-02# scope sel
CP0XXX-Server9-02 /sel # show entries
Time Severity Description
----------------------- ------------- ----------------------------------------
2022-08-23 00:33:59 UTC Informational "DDR4_P1_E1_ECC: Memory sensor, read 1 correctable ECC errors on CPU1 DIMM E1 was asserted"
2022-08-22 22:59:45 UTC Informational "DDR4_P1_E1_ECC: Memory sensor, read 1 correctable ECC errors on CPU1 DIMM E1 was asserted"
DIMM-fout treedt op op een van de hoofdknooppunten waardoor de stroomverbinding tussen Rack1 en Rack2 is afgebroken.
Vanaf Rack1 Geo-replication-pod kon niet worden gerepliceerd of een verzoek naar Rack2 worden verzonden. De fout Externe host is niet beschikbaar.
Uit de netstat-opdrachtuitvoer op Rack1 en Rack2 voor de 7002-poort bleek dat de Rack1-socket vastzit in de FIN_WAIT1-status en dat de Rack2-socket vastzit in de SYN_RECV-status.
Aan de kant van de server, dat wil zeggen op Rack2, zit de socket vast in de SYNC_RECV-status en de nieuw gemaakte verbinding gaat ook in de SYNC_RECV-status en kan niet met elkaar communiceren.
De verbinding bevindt zich in de SYN_RECV-status omdat de kernel een SYN-pakket heeft ontvangen voor een poort, dat wil zeggen in de LUISTEREN-modus, maar het andere uiteinde reageerde niet met ACK.
smfix2-Master-2 heeft geo externe VIP (Y.Y.Y.Y:7002) geïnstalleerd, maar de Remote host (SMFIX1) TCP-verbindingsstatus zit vast in de SYN_RECV-status in plaats van de vastgestelde status. a.b.c.d en a.b.c.e zijn Master-1 en 2 IP'S van smfix1 (Rack1).
user@cp0xxx-smf-ims-master-2:~$ netstat -anp | grep 7002
tcp 0 0 Y.Y.Y.Y:7002 0.0.0.0:* LISTEN -
tcp 0 0 Y.Y.Y.Y:7002 a.b.c.e:35542 SYN_RECV -
tcp 0 0 Y.Y.Y.Y:7002 a.b.c.d:47046 SYN_RECV -
tcp 0 0 Y.Y.Y.Y:7002 a.b.c.e:36248 SYN_RECV -
tcp 0 0 Y.Y.Y.Y:7002 a.b.c.d:42686 SYN_RECV -
tcp 0 0 Y.Y.Y.Y:7002 a.b.c.e:38248 SYN_RECV -
Externe Geo VIP TCP-verbindingsstatus op smfix1 (Rack1) voor Remote peer is in FIN-WAIT1-status:
user@cp0xxx-smf-ims-master-1:~$ netstat -anp | grep 7002
tcp 0 0 a.b.c.d 0.0.0.0:* LISTEN -
tcp 0 1 a.b.c.d:60866 Y.Y.Y.Y:7002 FIN_WAIT1 -
tcp 0 1 a.b.c.d:52274 Y.Y.Y.Y:7002 FIN_WAIT1 -
tcp 0 1 a.b.c.d:59674 Y.Y.Y.Y:7002 FIN_WAIT1 -
tcp 0 1 a.b.c.d:47926 Y.Y.Y.Y:7002 FIN_WAIT1 -
Rack1:
Verwijder eerst de stand-by Geo-pod, wacht tot de pod is hersteld en verwijder vervolgens de Active Geo-pod. Log in bij Master VIP en verwijder de GR pod:
kubectl delete pod-n
Rack2:
Controleer of de Geo-replicatiestatus van CLI is ingesteld en plaats de verwijdering van Geo-pods.
show georeplication-status
smfix2 (Rack2):
user@cp0xxx-smf-ims-master-1:~$ sudo netstat -anp | grep 7002 | grep -v aa
tcp 0 0 Y.Y.Y.Y:7002 0.0.0.0:* LISTEN 36854
tcp 0 0 Y.Y.Y.Y:7002 a.b.c.d:46402 ESTABLISHED 36854/grpod
tcp 0 0 Y.Y.Y.Y:7002 1a.b.c.e:54708 ESTABLISHED 36854/grpod
tcp 0 0 Y.Y.Y.Y:7002 a.b.c.d:55152 ESTABLISHED 36854/grpod
tcp 0 0 Y.Y.Y.Y:7002 a.b.c.e:46530 ESTABLISHED 36854/grpod
tcp 0 0 10.59.0.0:7002 10.59.0.0:46532 ESTABLISHED 36854/grpod
smfix1 (Rack1):
user@cp0xxx-smf-ims-master-1:~$ sudo netstat -anp | grep 7002 | grep -v aa
tcp 0 0 a.b.c.d 0.0.0.0:* LISTEN 53932/grpod
tcp 0 0 a.b.c.d:46530 Y.Y.Y.Y:7002 ESTABLISHED 53932/grpod
tcp 0 0 a.b.c.d:46402 Y.Y.Y.Y:7002 ESTABLISHED 53932/grpod
tcp 0 17 a.b.c.d:46532 Y.Y.Y.Y:7002 ESTABLISHED 53932/grpod
2. Geo-replicatiestatus:
[okcp0xx-smf-ims/smfix1] smf# show georeplication-status
result "pass"
[okcp0xx-smf-ims/smfix2] smf# show georeplication-status
result "pass"
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
1.0 |
05-Dec-2022
|
Eerste vrijgave |
Feedback