SUR CETTE PAGE
Utiliser Junos PyEZ pour arrêter, redémarrer ou arrêter des équipements Junos
RÉSUMÉ Utilisez Junos PyEZ pour arrêter, redémarrer ou arrêter les équipements Junos, immédiatement ou à un moment donné.
Effectuer un arrêt, un redémarrage ou un arrêt du système
L’utilitaire Junos PyEZ jnpr.junos.utils.sw.SW
fournit des méthodes qui vous permettent d’effectuer les opérations suivantes sur les équipements Junos :
Un arrêt, un redémarrage ou un arrêt immédiat du système
Une opération d’arrêt, de redémarrage ou d’arrêt avec un délai facultatif
Une opération d’arrêt, de redémarrage ou d’arrêt planifiée à une date et une heure spécifiques
Le tableau 1 présente les méthodes disponibles. Par défaut, les méthodes exécutent immédiatement l’opération demandée sur tous les moteurs de routage ou nœuds de la configuration. Vous pouvez inclure des arguments supplémentaires pour exécuter l’opération ultérieurement, ainsi que spécifier les moteurs de routage ou les nœuds concernés.
Méthode |
Description |
---|---|
Arrêtez correctement le logiciel Junos OS tout en maintenant l’alimentation du système |
|
Arrêtez correctement le logiciel Junos OS et mettez les moteurs de routage hors tension |
|
Redémarrez le logiciel Junos OS |
À partir de Junos PyEZ version 2.1.0, les reboot()
méthodes et poweroff()
effectuent l’opération demandée sur tous les moteurs de routage dans une configuration à double moteur de routage ou Virtual Chassis. Dans les versions antérieures, les méthodes effectuent l’opération uniquement sur le moteur de routage auquel l’application est connectée.
Si une application Junos PyEZ redémarre un périphérique à partir d’une session NETCONF-over-SSH ou d’une session Telnet via l’interface de gestion, l’application perd la connectivité au périphérique au redémarrage. Si l’application a besoin d’accéder à l’équipement après le redémarrage, elle doit exécuter la méthode Junos PyEZ open()
pour restaurer la connectivité.
L’application Junos PyEZ suivante établit une session NETCONF sur SSH avec un périphérique Junos et redémarre tous les moteurs de routage, avec effet immédiat.
#Python 3 from jnpr.junos import Device from jnpr.junos.utils.sw import SW from jnpr.junos.exception import ConnectError from getpass import getpass hostname = input("Device hostname: ") username = input("Device username: ") password = getpass("Device password: ") try: with Device(host=hostname, user=username, passwd=password) as dev: sw = SW(dev) print(sw.reboot()) except ConnectError as err: print (err)
L’application vous invite à entrer le nom d’hôte de l’appareil et les informations d’identification de l’utilisateur. Après avoir demandé le redémarrage du système, l’application affiche le message de redémarrage et l’ID du processus sur le moteur de routage connecté.
user1@server:~$ python3 junos-pyez-reboot.py Device hostname: dc1a.example.com Device username: user1 Device password: Shutdown NOW! [pid 2358]
L’exemple Junos PyEZ suivant arrête tous les moteurs de routage sur le périphérique, avec effet immédiat.
#Python 3 from jnpr.junos import Device from jnpr.junos.utils.sw import SW from jnpr.junos.exception import ConnectError from getpass import getpass hostname = input("Device hostname: ") username = input("Device username: ") password = getpass("Device password: ") try: with Device(host=hostname, user=username, passwd=password) as dev: sw = SW(dev) print(sw.poweroff()) except ConnectError as err: print (err)
Comment arrêter, redémarrer ou arrêter le système avec un délai ou à une heure spécifiée
Par défaut, les halt()
méthodes , reboot()
et poweroff()
exécutent immédiatement l’opération demandée. Vous pouvez également retarder l’opération ou la programmer à une date et une heure précises.
Pour retarder l’opération d’un nombre de minutes spécifié, définissez le paramètre facultatif in_min
sur la durée en minutes que le système doit attendre avant d’exécuter l’opération. L’exemple suivant demande un redémarrage de tous les moteurs de routage en 2 minutes :
from jnpr.junos import Device from jnpr.junos.utils.sw import SW with Device(host='dc1a.example.com') as dev: sw = SW(dev) sw.reboot(in_min=2)
L’équipement cible envoie des messages sur le redémarrage imminent à tous les utilisateurs connectés au système. Une fois le temps spécifié écoulé, le système redémarre.
*** System shutdown message from user1@dc1a *** System going down in 2 minutes
Pour planifier l’opération à une heure spécifique, incluez le at
paramètre, qui prend une chaîne qui peut être spécifiée de l’une des manières suivantes :
now
—Lancez immédiatement l’arrêt, le redémarrage ou l’arrêt du logiciel.+minutes
—Nombre de minutes à partir desquelles l’opération demandée est lancée.yymmddhhmm
: heure absolue à laquelle effectuer l’opération, spécifiée comme année, mois, jour, heure et minute.hh:mm
: heure absolue du jour en cours à laquelle effectuer l’opération, spécifiée en temps de 24 heures.
L’exemple suivant planifie un redémarrage du système de tous les moteurs de routage à 22h30 le jour en cours :
from jnpr.junos import Device from jnpr.junos.utils.sw import SW with Device(host='dc1a.example.com') as dev: sw = SW(dev) sw.reboot(at='22:30')
De même, l’exemple suivant planifie la mise hors tension de tous les moteurs de routage à 22 h 30 le jour en cours :
from jnpr.junos import Device from jnpr.junos.utils.sw import SW with Device(host='dc1a.example.com') as dev: sw = SW(dev) sw.poweroff(at='22:30')
Comment spécifier les moteurs de routage, les nuds ou les membres de Virtual Chassis cibles
Par défaut, les halt()
méthodes , reboot()
et poweroff()
effectuent l’opération demandée sur tous les moteurs de routage d’un moteur de routage double ou d’une configuration Virtual Chassis, sur tous les nœuds des équipements exécutant Junos OS Evolved et sur tous les membres d’un Virtual Chassis. Vous pouvez également effectuer l’opération sur des moteurs de routage, des nœuds ou des membres Virtual Chassis spécifiques.
Pour spécifier les moteurs de routage cibles, utilisez les all_re
paramètres and other_re
. Le Tableau 2 récapitule les all_re
valeurs et other_re
requises pour exécuter l’opération demandée sur des moteurs de routage spécifiques.
Moteurs de routage concernés |
|
|
---|---|---|
Tous les moteurs de routage (par défaut) |
Omettre ou définir sur |
– |
Seul le moteur de routage connecté |
Défini sur |
– |
Tous les moteurs de routage, à l’exception du moteur de routage auquel l’application est connectée |
– |
Défini sur |
Pour indiquer explicitement que l’opération doit être effectuée sur tous les moteurs de routage d’une configuration à double moteur de routage ou Virtual Chassis, incluez l’argument all_re=True
, qui est la valeur par défaut.
from jnpr.junos import Device from jnpr.junos.utils.sw import SW with Device(host='dc1a.example.com') as dev: sw = SW(dev) sw.reboot(all_re=True)
Pour effectuer l’opération demandée uniquement sur le moteur de routage auquel l’application est connectée, incluez l’argument all_re=False
.
from jnpr.junos import Device from jnpr.junos.utils.sw import SW with Device(host='dc1a.example.com') as dev: sw = SW(dev) sw.reboot(all_re=False)
Pour effectuer l’opération demandée sur tous les moteurs de routage du système, à l’exception du moteur de routage auquel l’application est connectée, incluez l’argument other_re=True
.
from jnpr.junos import Device from jnpr.junos.utils.sw import SW with Device(host='dc1a.example.com') as dev: sw = SW(dev) sw.reboot(other_re=True)
Pour redémarrer ou arrêter un noeud spécifique d’un périphérique exécutant Junos OS Evolved, incluez l’argument on_node
et spécifiez le noeud. Par exemple :
from jnpr.junos import Device from jnpr.junos.utils.sw import SW with Device(host='router1.example.com') as dev: sw = SW(dev) sw.reboot(on_node='re0')
Pour redémarrer ou arrêter des membres spécifiques dans un Virtual Chassis, définissez l’argument member_id
sur une liste de chaînes d’ID de membre sur lesquels effectuer l’opération.
from jnpr.junos import Device from jnpr.junos.utils.sw import SW with Device(host='switch1.example.com') as dev: sw = SW(dev) sw.reboot(all_re=False, member_id=['0', '1'])
Comment redémarrer un hôte de machine virtuelle
Sur les équipements dotés de moteurs de routage avec prise en charge d’hôtes de machines virtuelles, Junos OS s’exécute en tant que machine virtuelle (VM) sur un hôte basé sur Linux (hôte de machine virtuelle). La méthode Junos PyEZ reboot()
prend en charge l’argument vmhost
, ce qui vous permet de redémarrer un hôte de machine virtuelle. Lorsque vous incluez l’argument vmhost=True
, le système redémarre le système d’exploitation hôte et les Junos OS compatibles sur tous les moteurs de routage en exécutant le <request-vmhost-reboot>
RPC, qui correspond à la commande du request vmhost reboot
mode opérationnel.
L’exemple suivant redémarre les moteurs de routage sur l’hôte de machine virtuelle, ce qui redémarre à la fois le système d’exploitation Junos OS invité et le système d’exploitation hôte.
from jnpr.junos import Device from jnpr.junos.utils.sw import SW with Device(host='switch1.example.net') as dev: sw = SW(dev) sw.reboot(vmhost=True)
Tableau de l’historique des modifications
La prise en charge des fonctionnalités est déterminée par la plate-forme et la version que vous utilisez. Utilisez l’Explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.
reboot()
méthodes et
poweroff()
effectuent l’opération demandée sur tous les moteurs de routage dans une configuration à double moteur de routage ou Virtual Chassis.