18.6. Dépannage des problèmes courants de l'opérateur PTP
Dépannez les problèmes courants de l'opérateur PTP en procédant comme suit.
Conditions préalables
-
Installez le CLI OpenShift Container Platform (
oc
). -
Connectez-vous en tant qu'utilisateur disposant des privilèges
cluster-admin
. - Installez l'opérateur PTP sur un cluster bare-metal avec des hôtes qui prennent en charge PTP.
Procédure
Vérifiez que l'opérateur et les opérandes ont bien été déployés dans le cluster pour les nœuds configurés.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pods -n openshift-ptp -o wide
$ oc get pods -n openshift-ptp -o wide
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME READY STATUS RESTARTS AGE IP NODE linuxptp-daemon-lmvgn 3/3 Running 0 4d17h 10.1.196.24 compute-0.example.com linuxptp-daemon-qhfg7 3/3 Running 0 4d17h 10.1.196.25 compute-1.example.com ptp-operator-6b8dcbf7f4-zndk7 1/1 Running 0 5d7h 10.129.0.61 control-plane-1.example.com
NAME READY STATUS RESTARTS AGE IP NODE linuxptp-daemon-lmvgn 3/3 Running 0 4d17h 10.1.196.24 compute-0.example.com linuxptp-daemon-qhfg7 3/3 Running 0 4d17h 10.1.196.25 compute-1.example.com ptp-operator-6b8dcbf7f4-zndk7 1/1 Running 0 5d7h 10.129.0.61 control-plane-1.example.com
NoteLorsque le bus d'événements rapides PTP est activé, le nombre de pods
linuxptp-daemon
prêts est3/3
. Si le bus d'événements rapides PTP n'est pas activé,2/2
est affiché.Vérifiez que le matériel pris en charge est présent dans le cluster.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-ptp get nodeptpdevices.ptp.openshift.io
$ oc -n openshift-ptp get nodeptpdevices.ptp.openshift.io
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME AGE control-plane-0.example.com 10d control-plane-1.example.com 10d compute-0.example.com 10d compute-1.example.com 10d compute-2.example.com 10d
NAME AGE control-plane-0.example.com 10d control-plane-1.example.com 10d compute-0.example.com 10d compute-1.example.com 10d compute-2.example.com 10d
Vérifiez les interfaces réseau PTP disponibles pour un nœud :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-ptp get nodeptpdevices.ptp.openshift.io <node_name> -o yaml
oc -n openshift-ptp get nodeptpdevices.ptp.openshift.io <node_name> -o yaml
où :
- <node_name>
Spécifie le nœud que vous souhaitez interroger, par exemple,
compute-0.example.com
.Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: ptp.openshift.io/v1 kind: NodePtpDevice metadata: creationTimestamp: "2021-09-14T16:52:33Z" generation: 1 name: compute-0.example.com namespace: openshift-ptp resourceVersion: "177400" uid: 30413db0-4d8d-46da-9bef-737bacd548fd spec: {} status: devices: - name: eno1 - name: eno2 - name: eno3 - name: eno4 - name: enp5s0f0 - name: enp5s0f1
apiVersion: ptp.openshift.io/v1 kind: NodePtpDevice metadata: creationTimestamp: "2021-09-14T16:52:33Z" generation: 1 name: compute-0.example.com namespace: openshift-ptp resourceVersion: "177400" uid: 30413db0-4d8d-46da-9bef-737bacd548fd spec: {} status: devices: - name: eno1 - name: eno2 - name: eno3 - name: eno4 - name: enp5s0f0 - name: enp5s0f1
Vérifiez que l'interface PTP est bien synchronisée avec l'horloge primaire en accédant au pod
linuxptp-daemon
pour le nœud correspondant.Obtenez le nom du pod
linuxptp-daemon
et du nœud correspondant que vous souhaitez dépanner en exécutant la commande suivante :Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pods -n openshift-ptp -o wide
$ oc get pods -n openshift-ptp -o wide
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME READY STATUS RESTARTS AGE IP NODE linuxptp-daemon-lmvgn 3/3 Running 0 4d17h 10.1.196.24 compute-0.example.com linuxptp-daemon-qhfg7 3/3 Running 0 4d17h 10.1.196.25 compute-1.example.com ptp-operator-6b8dcbf7f4-zndk7 1/1 Running 0 5d7h 10.129.0.61 control-plane-1.example.com
NAME READY STATUS RESTARTS AGE IP NODE linuxptp-daemon-lmvgn 3/3 Running 0 4d17h 10.1.196.24 compute-0.example.com linuxptp-daemon-qhfg7 3/3 Running 0 4d17h 10.1.196.25 compute-1.example.com ptp-operator-6b8dcbf7f4-zndk7 1/1 Running 0 5d7h 10.129.0.61 control-plane-1.example.com
Remote shell dans le conteneur
linuxptp-daemon
requis :Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc rsh -n openshift-ptp -c linuxptp-daemon-container <linux_daemon_container>
oc rsh -n openshift-ptp -c linuxptp-daemon-container <linux_daemon_container>
où :
- <linux_daemon_container>
-
est le conteneur que vous voulez diagnostiquer, par exemple
linuxptp-daemon-lmvgn
.
Dans la connexion shell à distance au conteneur
linuxptp-daemon
, utilisez l'outil PTP Management Client (pmc
) pour diagnostiquer l'interface réseau. Exécutez la commande suivantepmc
pour vérifier l'état de synchronisation du dispositif PTP, par exempleptp4l
.Copy to Clipboard Copied! Toggle word wrap Toggle overflow pmc -u -f /var/run/ptp4l.0.config -b 0 'GET PORT_DATA_SET'
# pmc -u -f /var/run/ptp4l.0.config -b 0 'GET PORT_DATA_SET'
Exemple de sortie lorsque le nœud est synchronisé avec succès sur l'horloge primaire
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sending: GET PORT_DATA_SET 40a6b7.fffe.166ef0-1 seq 0 RESPONSE MANAGEMENT PORT_DATA_SET portIdentity 40a6b7.fffe.166ef0-1 portState SLAVE logMinDelayReqInterval -4 peerMeanPathDelay 0 logAnnounceInterval -3 announceReceiptTimeout 3 logSyncInterval -4 delayMechanism 1 logMinPdelayReqInterval -4 versionNumber 2
sending: GET PORT_DATA_SET 40a6b7.fffe.166ef0-1 seq 0 RESPONSE MANAGEMENT PORT_DATA_SET portIdentity 40a6b7.fffe.166ef0-1 portState SLAVE logMinDelayReqInterval -4 peerMeanPathDelay 0 logAnnounceInterval -3 announceReceiptTimeout 3 logSyncInterval -4 delayMechanism 1 logMinPdelayReqInterval -4 versionNumber 2