|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
Problèmes du système d’exploitation
Le Harvester fonctionne sur un système d’exploitation basé sur OpenSUSE. Le système d’exploitation est un artefact produit par le elemental-toolkit. Les sections suivantes contiennent des informations et des conseils pour aider les utilisateurs à résoudre les problèmes liés au système d’exploitation.
Comment se connecter à un nœud Harvester
Les utilisateurs peuvent se connecter à un nœud Harvester avec le nom d’utilisateur rancher et le mot de passe ou la clé SSH fournis lors de l’installation.
L’utilisateur rancher peut exécuter des commandes privilégiées sans entrer de mot de passe :
# Run a privileged command rancher@node1:~> sudo blkid # Or become root rancher@node1:~> sudo -i node1:~ # blkid
Comment puis-je installer des paquets ? Pourquoi certains chemins sont-ils en lecture seule ?
Le système de fichiers de l’OS, comme une image de conteneur, est basé sur une image et immuable sauf dans certains répertoires.
Nous recommandons d’utiliser un toolbox container pour exécuter des programmes non empaquetés dans l’OS Harvester à des fins de débogage. Veuillez consulter cet article pour apprendre à créer et exécuter un conteneur toolbox.
L’OS Harvester fournit également un moyen d’activer temporairement le mode lecture-écriture. Veuillez suivre les étapes suivantes :
|
L’activation du mode lecture-écriture pourrait endommager votre système si des fichiers sont modifiés. Veuillez l’utiliser à vos risques et périls. |
-
Pour la version
v0.3.0, nous devons d’abord appliquer un contournement pour rendre certains répertoires non superposés après avoir activé le mode lecture-écriture. Sur un nœud Harvester en cours d’exécution, exécutez la commande suivante en tant que root :cat > /oem/91_hack.yaml <<'EOF' name: "Rootfs Layout Settings for debugrw" stages: rootfs: - if: 'grep -q root=LABEL=COS_STATE /proc/cmdline && grep -q rd.cos.debugrw /proc/cmdline' name: "Layout configuration for debugrw" environment_file: /run/cos/cos-layout.env environment: RW_PATHS: " " EOF -
Redémarrez le système pour accéder au menu GRUB. Appuyez sur Échap pour rester dans le menu.
-
Appuyez sur
edans la première entrée du menu. Ajoutezrd.cos.debugrwà la lignelinux (loop0)$kernel $kernelcmd. Appuyez surCtrl + xpour démarrer le système.
Comment modifier définitivement les paramètres du noyau Linux
|
Les étapes suivantes constituent une solution de contournement. Harvester informera la communauté une fois qu’une solution permanente sera mise en place. |
-
Remontez le répertoire d’état en mode lecture-écriture :
# blkid -L COS_STATE /dev/vda2 # mount -o remount,rw /dev/vda2 /run/initramfs/cos-state
-
Modifiez le fichier de configuration grub et ajoutez des paramètres à la ligne
linux (loop0)$kernel $kernelcmd. L’exemple suivant ajoute un paramètrenomodeset:# vim /run/initramfs/cos-state/grub2/grub.cfg menuentry "${display_name}" --id cos { # label is kept around for backward compatibility set label=${active_label} set img=/cOS/active.img loopback $loopdev /$img source ($loopdev)/etc/cos/bootargs.cfg linux ($loopdev)$kernel $kernelcmd ${extra_cmdline} ${extra_active_cmdline} nomodeset initrd ($loopdev)$initramfs } -
Redémarrez pour que les modifications prennent effet.
Comment changer l’entrée par défaut du menu de démarrage GRUB
Pour changer l’entrée par défaut, vérifiez d’abord l’attribut --id d’une entrée de menu. Les entrées du menu GRUB se trouvent dans les fichiers suivants :
-
/run/initramfs/cos-state/grub2/grub.cfg: Contient les entrées par défaut, de secours et de récupération -
/run/initramfs/cos-state/grubcustom: Contient l’entrée de débogage
Dans l’exemple suivant, l’identifiant de l’entrée est debug.
# cat \
/run/initramfs/cos-state/grub2/grub.cfg \
/run/initramfs/cos-state/grubcustom
<...>
menuentry "${display_name} (debug)" --id debug {
search --no-floppy --set=root --label COS_STATE
set img=/cOS/active.img
set label=COS_ACTIVE
loopback loop0 /$img
set root=($root)
source (loop0)/etc/cos/bootargs.cfg
linux (loop0)$kernel $kernelcmd ${extra_cmdline} ${extra_passive_cmdline} ${crash_kernel_params}
initrd (loop0)$initramfs
}
Vous pouvez configurer l’entrée par défaut en exécutant les commandes suivantes :
# mount -o remount,rw /run/initramfs/cos-state # grub2-editenv /run/initramfs/cos-state/grub_oem_env set saved_entry=debug
Si nécessaire, vous pouvez annuler le changement en exécutant la commande grub2-editenv /run/initramfs/cos-state/grub_oem_env unset saved_entry.
Comment déboguer un plantage ou un blocage du système
Collecter le journal des incidents
Si les traces de panique du noyau ne sont pas enregistrées dans le journal système lors d’un crash, une méthode fiable pour localiser le journal des incidents est d’utiliser une console série.
Pour activer l’affichage des messages du noyau sur une console série, veuillez suivre les étapes suivantes :
-
Démarrez le système jusqu’au menu GRUB. Appuyez sur Échap pour rester dans le menu.

-
Appuyez sur
edans la première entrée du menu. Ajoutezconsole=ttyS0,115200n8à la lignelinux (loop0)$kernel $kernelcmd. Appuyez surCtrl + xpour démarrer le système.
Ajustez les options de console en fonction de votre environnement. Assurez-vous d’ajouter la chaîne
console=à la fin de la ligne. -
Connectez-vous au port série pour capturer les journaux.
Collecter les vidages sur incident
Pour les crashs de panique du noyau, vous pouvez utiliser kdump pour collecter les vidages sur incident.
Par défaut, le système d’exploitation démarre sans la fonctionnalité kdump activée. Les utilisateurs peuvent activer la fonctionnalité en sélectionnant l’entrée de menu debug lors du démarrage, comme dans l’exemple suivant :
Lorsqu’un système plante, un vidage sur incident sera stocké dans le répertoire /var/crash/<time>. Fournir le vidage sur incident aux développeurs les aide à résoudre les problèmes.