Il s'agit de la commande udebug qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos nombreux postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
udebug - Indique l'état du processus Ubik pour un processus de serveur de base de données
SYNOPSIS
udebug -serveur <serveur click> [-Port <IP port>]
[-longue] [-Aide]
udebug -s <serveur click> [-p <IP port>] [-l] [-h]
DESCRIPTION
Le manuel de formation udebug la commande affiche l'état du processus léger Ubik pour la base de données
processus serveur identifié par le -Port argument qui s'exécute sur le serveur de base de données
machine nommée par le -serveur argument. La sortie identifie les machines sur lesquelles le pair
les processus du serveur de base de données sont en cours d'exécution, lequel d'entre eux est le site de synchronisation (Ubik
coordinateur) et l’état des connexions entre eux.
OPTIONS
-serveur <serveur click>
Nomme la machine du serveur de base de données qui exécute le processus pour lequel afficher
informations d'état. Fournissez l'adresse IP de la machine au format décimal pointé, son
nom d'hôte complet (par exemple, fs1.abc.com), ou la forme abrégée la plus courte
de son nom d'hôte qui le distingue des autres machines. L'utilisation réussie d'un
forme abrégée dépend de la disponibilité d'un service de résolution de noms (comme le
Domain Name Service ou une table d'hôtes locale) au moment où la commande est émise.
-Port <IP port>
Identifie le processus du serveur de base de données pour lequel afficher les informations d'état, soit
par son nom de processus ou son numéro de port. Indiquez l'une des valeurs suivantes.
serveur de bus ou 7021 pour le serveur de sauvegarde
serveur de kaserver ou 7004 pour le serveur d'authentification
serveur pt ou 7002 pour le serveur de protection
vlserver ou 7003 pour le serveur d'emplacement de volume
-longue
Signale des informations supplémentaires sur chaque pair de la machine nommé par le -serveur
argument. Les informations apparaissent par défaut si cette machine est la machine de synchronisation.
site.
-Aide
Imprime l'aide en ligne de cette commande. Toutes les autres options valides sont ignorées.
SORTIE
Plusieurs des messages de sortie fournissent des informations d'état de base sur l'Ubik
processus sur la machine spécifiée par le -serveur argument, et les messages restants sont
utile principalement à des fins de débogage.
Pour vérifier l'état de base d'Ubik, exécutez la commande pour chaque machine serveur de base de données à tour de rôle.
la sortie pour chacun, l'un des messages suivants apparaît dans le tiers supérieur de la sortie.
Je suis un site synchronisé . . . (<#_sites> serveurs)
Je ne suis pas synchronisé avec le site
Pour le site de synchronisation, le message suivant indique que tous les sites ont le même
version de la base de données, ce qui implique qu'Ubik fonctionne correctement. Voir la
ci-dessous pour une description des valeurs autres que « 1f ».
État de récupération 1f
Pour un fonctionnement correct d'Ubik, les horloges des machines du serveur de base de données doivent concorder.
les messages suivants, qui sont les deuxième et troisième lignes de la sortie, signalent la situation actuelle
date et heure en fonction de l'horloge de la machine du serveur de base de données et de l'horloge du
machine où le udebug la commande est émise.
Hôte le temps est
L'heure locale est (différentiel de temps secondes)
Le est la différence entre l'horloge de la machine du serveur de base de données et l'horloge locale
horloge. Sa valeur absolue n'est pas vitale pour le fonctionnement d'Ubik, mais une différence de plus de
quelques secondes entre les biais les valeurs pour les machines du serveur de base de données indiquent que
leurs horloges ne sont pas synchronisées et les performances d'Ubik sont peut-être entravées.
Voici une description de tous les messages de sortie. Comme indiqué, elle est surtout utile
pour le débogage et plus significatif pour quelqu'un qui comprend l'implémentation d'Ubik.
La sortie commence par les messages suivants. Le premier message indique les adresses IP.
qui sont configurés avec le système d'exploitation sur la machine spécifiée par le -serveur
argument. Comme indiqué précédemment, les deuxième et troisième messages indiquent la date actuelle et
heure en fonction des horloges de la machine du serveur de base de données et de la machine où se trouve le
udebug commande est émise, respectivement. Tous les horodatages suivants dans la sortie sont
exprimé en termes d'horloge locale plutôt que d'horloge de la machine du serveur de base de données.
Les adresses des hôtes sont :
Hôte le temps est
L'heure locale est (différentiel de temps secondes)
Si le est supérieure à 10 secondes, le message suivant apparaît. Comme indiqué,
n'indique pas nécessairement un dysfonctionnement d'Ubik : cela dénote un décalage d'horloge entre la base de données
la machine serveur et la machine locale, plutôt qu'entre les machines serveur de base de données.
****L'horloge est peut-être mauvaise
Si la commande udebug est émise pendant le processus d'élection du coordinateur et que le vote n'a pas eu lieu
pas encore commencé, le message suivant apparaît ensuite.
Le dernier vote « oui » n'a pas encore été exprimé
Sinon, la sortie continue avec les messages suivants.
Dernier vote oui pour était il y a quelques secondes (synchronisation du site) ;
Dernier vote commencé il y a quelques secondes (à )
La version de la base de données locale est
Le premier indique pour quel pair ce processus Ubik a voté en dernier comme coordinateur (il peut
(vote pour lui-même) et depuis combien de temps il a envoyé le vote. Le deuxième message indique depuis combien de temps
Il y a quelques jours, le coordinateur d'Ubik a demandé des votes de confirmation aux sites secondaires. Habituellement,
et les valeurs sont les mêmes ; une différence entre elles peut indiquer
décalage d'horloge ou connexion réseau lente entre les deux serveurs de base de données. Un petit
Cette différence n'est pas préjudiciable. Le troisième message indique le numéro de version actuel.
de la base de données gérée par ce processus Ubik. Elle comporte deux champs séparés
par un point. Le champ précédant le point est basé sur un horodatage qui reflète le moment où
la base de données a été modifiée pour la première fois après la dernière élection du coordinateur, et le champ après la
la période indique le nombre de changements depuis l'élection.
La sortie continue avec des messages qui diffèrent selon que le processus Ubik est
le coordinateur ou pas.
· S'il n'y a qu'une seule machine serveur de base de données, c'est toujours le coordinateur
(site de synchronisation), comme indiqué par le message suivant.
Je suis un site synchronisé pour toujours (1 serveur)
· S'il existe plusieurs sites de bases de données et que -serveur l'argument nomme le coordinateur
(site de synchronisation), la sortie continue avec les deux messages suivants.
Je synchronise le site jusqu'à secondes à partir de maintenant (à )
(<#_sites> serveurs)
État de récupération
Le premier message (qui est rapporté sur une seule ligne) indique combien de temps encore le site
reste coordinateur même si la prochaine tentative de maintenir le quorum échoue, et combien
sites participent au quorum. Le drapeaux le champ dans le deuxième message est un
Nombre hexadécimal indiquant l'état actuel du quorum. La valeur « 1f »
indique une synchronisation complète de la base de données, tandis qu'une valeur de « f » signifie que la
Le coordinateur dispose de la bonne base de données, mais ne peut pas contacter tous les sites secondaires pour
déterminer s'ils en sont également atteints. Des valeurs inférieures sont acceptables si udebug la commande est
émis lors de l'élection du coordinateur, mais ils indiquent un problème s'ils persistent.
les drapeaux individuels ont les significations suivantes :
0x1 Cette machine est le coordinateur.
0x2 Le coordinateur a déterminé quel site possède la base de données avec le plus haut
numéro de version.
0x4 Le coordinateur possède une copie de la base de données avec le numéro de version le plus élevé.
0x8 Le numéro de version de la base de données a été mis à jour correctement.
MONITORING
Tous les sites ont la base de données avec le numéro de version le plus élevé.
Si la commande udebug est émise pendant que le coordinateur écrit une modification dans le
base de données, le message supplémentaire suivant apparaît.
Je gère actuellement la transaction d'écriture I
· Si la -serveur l'argument nomme un site secondaire, la sortie continue avec le
messages suivants.
Je ne suis pas synchronisé avec le site
Hôte le plus bas a été mis en place il y a quelques secondes
Hôte de synchronisation a été mis en place il y a quelques secondes
Le est l'adresse IP la plus basse de tout pair à partir duquel le processus Ubik
a reçu un message récemment, alors que le est l'adresse IP du
coordinateur actuel. En cas de différence, la machine avec l'adresse IP la plus basse n'est pas
actuellement coordinateur. Le processus Ubik continue de voter pour l'actuel
coordinateur tant qu'ils restent en contact, ce qui assure une stabilité maximale.
Cependant, dans le cas d'une autre élection de coordinateur, ce processus Ubik vote pour le
site à la place (en supposant qu'ils soient en contact), car il a un biais pour
voter aux élections pour le site avec l'adresse IP la plus basse.
Pour les sites de synchronisation et secondaires, la sortie continue avec ce qui suit
messages. Le premier message indique le numéro de version de la base de données au
site de synchronisation, qui doit correspondre au rapporté par le précédent
Message « Version de la base de données locale ». Le deuxième message indique le nombre d'enregistrements VLDB.
actuellement verrouillé pour toute opération, ou pour l'écriture en particulier. Les valeurs sont différentes de zéro si
le udebug la commande est émise pendant qu'une opération est en cours.
La version de la base de données du site de synchronisation est
pages verrouillées, d'entre eux pour écrire
Les messages suivants s'affichent uniquement s'il existe des verrous de lecture ou d'écriture sur la base de données
enregistrements :
Il y a des verrous de lecture maintenus
Des verrous d'écriture sont maintenus
De même, un ou plusieurs des messages suivants apparaissent ensuite uniquement s'il y a des messages lus ou
écrire les transactions en cours lorsque le udebug la commande est émise :
Il y a une transaction d'écriture active
Il y a au moins une transaction de lecture active
La transaction tid est
Si la machine nommée par le -serveur l'argument est le coordinateur, le message suivant rapporte
quand le coordinateur actuel a mis à jour la base de données pour la dernière fois.
La dernière fois qu'une nouvelle version de la base de données a été étiquetée, c'était :
il y a quelques secondes (à )
Si la machine nommée par le -serveur l'argument est le coordinateur, la sortie se termine par
une entrée pour chaque site secondaire participant au quorum, dans ce qui suit
le format.
Serveur ( ): (db )
dernier vote reçu il y a quelques secondes (à ),
dernière balise envoyée il y a quelques secondes (à ),
le dernier vote était { oui | non }
dbcurrent={ 0 | 1 }, up={ 0 | 1 } beaconSince={ 0 | 1 }
La première ligne indique l'adresse IP du site et le numéro de version de la base de données sur laquelle il se trouve.
maintenir. Le les rapports de terrain indiquent depuis combien de temps le coordinateur a reçu un vote
message du processus Ubik sur le site, et le champ il y a combien de temps le
dernier message de vote demandé par le coordinateur. Si le udebug la commande est émise pendant la
Le processus d'élection du coordinateur et le vote n'ont pas encore commencé, les messages suivants s'affichent
à la place.
Dernier vote jamais reçu
Dernière balise jamais envoyée
Sur la dernière ligne de chaque entrée, les champs ont la signification suivante :
· « dbcurrent » est 1 si le site possède la base de données avec le numéro de version le plus élevé, 0 s'il
ne fait pas.
· « up » vaut 1 si le processus Ubik sur le site fonctionne correctement, 0 s'il ne fonctionne pas correctement.
· « beaconSince » vaut 1 si le site a répondu à la dernière demande du coordinateur pour
votes, 0 si ce n'est pas le cas.
Incluant le -longue le drapeau produit des entrées homologues même lorsque le -serveur noms d'arguments a
site secondaire, mais dans ce cas, seul le Adresse IP le champ est garanti d'être précis.
Par exemple, la valeur dans le le champ est généralement 0.0, car les sites secondaires
ne pas interroger leurs pairs pour obtenir cette information. Les valeurs dans dernier_vote et dernière_balise
les champs indiquent quand ce site a reçu ou demandé pour la dernière fois un vote en tant que coordinateur ; ils
indiquent généralement l'heure de la dernière élection du coordinateur.
EXEMPLES
Cet exemple vérifie l'état du processus Ubik pour le serveur d'emplacement de volume sur le
machine "afs1", qui est le site de synchronisation.
% udebug afs1 vlserver
Les adresses des hôtes sont : 192.12.107.33
L'heure de l'hôte 192.12.107.33 est le mercredi 27 octobre 09:49:50 1999
L'heure locale est le mercredi 27 octobre 09:49:52 1999 (différence horaire de 2 secondes)
Le dernier vote oui pour 192.12.107.33 remonte à 1 seconde (synchronisation du site) ;
Dernier vote commencé il y a 1 seconde (mer. 27 oct. 09:49:51 1999)
La version de la base de données locale est 940902602.674
Je synchroniserai le site jusqu'à 58 secondes à partir de maintenant (mercredi 27 octobre 09:50:50 1999) (3 serveurs)
État de récupération 1f
La version de la base de données du site de synchronisation est 940902602.674
0 pages verrouillées, dont 0 en écriture
La dernière fois qu'une nouvelle version de la base de données a été étiquetée, c'était :
Il y a 129588 25 secondes (le lundi 21 octobre 50 à 04h1999)
Serveur( 192.12.107.35 ): (db 940902602.674)
dernier vote reçu il y a 2 secondes (mercredi 27 octobre 09 à 49:50:1999),
dernière balise envoyée il y a 1 seconde (mercredi 27 octobre 09:49:51 1999), le dernier vote était oui
dbcurrent=1, up=1 beaconSince=1
Serveur( 192.12.107.34 ): (db 940902602.674)
dernier vote reçu il y a 2 secondes (mercredi 27 octobre 09 à 49:50:1999),
dernière balise envoyée il y a 1 seconde (mercredi 27 octobre 09:49:51 1999), le dernier vote était oui
dbcurrent=1, up=1 beaconSince=1
Cet exemple vérifie l'état du serveur d'authentification sur la machine avec l'adresse IP
192.12.107.34, qui est un site secondaire. L'horloge locale est décalée d'environ 4 minutes.
horloge de la machine du serveur de base de données.
% udebug 192.12.107.34 7004
Les adresses des hôtes sont : 192.12.107.34
L'heure de l'hôte 192.12.107.34 est le mercredi 27 octobre 09:54:15 1999
L'heure locale est le mercredi 27 octobre 09:50:08 1999 (différence horaire -247 secondes)
****L'horloge est peut-être mauvaise
Le dernier vote oui pour 192.12.107.33 remonte à 6 seconde (synchronisation du site) ;
Dernier vote commencé il y a 6 seconde (mer. 27 oct. 09:50:02 1999)
La version de la base de données locale est 940906574.25
Je ne suis pas synchronisé avec le site
L'hôte le plus bas 192.12.107.33 a été défini il y a 6 secondes
L'hôte de synchronisation 192.12.107.33 a été défini il y a 6 secondes
La version de la base de données du site de synchronisation est 940906574.25
0 pages verrouillées, dont 0 en écriture
PRIVILÈGE REQUIS
Aucun
Utiliser Udebug en ligne avec les services onworks.net