|
Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado. |
Problemas del sistema operativo
Harvester se ejecuta en un sistema operativo basado en OpenSUSE. El sistema operativo es un artefacto producido por el elemental-toolkit. Las siguientes secciones contienen información y consejos para ayudar a los usuarios a solucionar problemas relacionados con el sistema operativo.
Cómo iniciar sesión en un nodo de Harvester
Los usuarios pueden iniciar sesión en un nodo de Harvester con el nombre de usuario rancher y la contraseña o el par de claves SSH proporcionado durante la instalación.
El usuario rancher puede ejecutar comandos privilegiados sin introducir una contraseña:
# Run a privileged command rancher@node1:~> sudo blkid # Or become root rancher@node1:~> sudo -i node1:~ # blkid
¿Cómo puedo instalar paquetes? ¿Por qué algunas vías son de solo lectura?
El sistema de archivos del sistema operativo, al igual que una imagen de contenedor, es basado en imágenes e inmutable, excepto en algunos directorios.
Recomendamos utilizar un toolbox container para ejecutar programas que no están empaquetados en el sistema operativo de Harvester con fines de depuración. Por favor, consulte este artículo para aprender cómo construir y ejecutar un toolbox container.
El sistema operativo de Harvester también proporciona una forma de habilitar el modo de lectura-escritura temporalmente. Por favor, siga los siguientes pasos:
|
Habilitar el modo de lectura-escritura podría romper su sistema si se modifican archivos. Úselo bajo su propio riesgo. |
-
Para la versión
v0.3.0, necesitamos aplicar primero una solución alternativa para hacer algunos directorios no superpuestos después de habilitar el modo de lectura-escritura. En un nodo de Harvester en funcionamiento, ejecute el siguiente comando como 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 -
Reinicie el sistema al menú de GRUB. Presione ESC para permanecer en el menú.
-
Presione
een la primera entrada del menú. Añadard.cos.debugrwa la línealinux (loop0)$kernel $kernelcmd. PresioneCtrl + xpara iniciar el sistema.
Cómo editar permanentemente los parámetros del kernel
|
Los siguientes pasos son una solución alternativa. Harvester informará a la comunidad una vez que se implemente una resolución permanente. |
-
Vuelva a montar el directorio de estado en modo lectura-escritura:
# blkid -L COS_STATE /dev/vda2 # mount -o remount,rw /dev/vda2 /run/initramfs/cos-state
-
Edite el archivo de configuración de GRUB y añada parámetros a la línea
linux (loop0)$kernel $kernelcmd. El siguiente ejemplo añade un parámetronomodeset:# 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 } -
Reinicie para que los cambios surtan efecto.
Cómo cambiar la entrada del menú de arranque GRUB por defecto
Para cambiar la entrada por defecto, primero verifique el atributo --id de una entrada del menú. Las entradas del menú de GRUB se encuentran en los siguientes archivos:
-
/run/initramfs/cos-state/grub2/grub.cfg: Contiene las entradas por defecto, de reserva y de recuperación -
/run/initramfs/cos-state/grubcustom: Contiene la entrada de depuración
En el siguiente ejemplo, el id de la entrada es 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
}
Puede configurar la entrada por defecto ejecutando los siguientes comandos:
# mount -o remount,rw /run/initramfs/cos-state # grub2-editenv /run/initramfs/cos-state/grub_oem_env set saved_entry=debug
Si es necesario, puede deshacer el cambio ejecutando el comando grub2-editenv /run/initramfs/cos-state/grub_oem_env unset saved_entry.
Cómo depurar un fallo o bloqueo del sistema
Recoger el registro de fallos
Si los rastros de pánico en el kernel no se registran en el registro del sistema cuando un sistema falla, una forma fiable de localizar el registro de fallos es utilizar una consola serie.
Para habilitar la salida de los mensajes del kernel a una consola serie, utilice los siguientes pasos:
-
Arranque el sistema hasta el menú GRUB. Presione ESC para permanecer en el menú.

-
Presione
een la primera entrada del menú. Añadaconsole=ttyS0,115200n8a la línealinux (loop0)$kernel $kernelcmd. PresioneCtrl + xpara iniciar el sistema.
Ajuste las opciones de consola de acuerdo con su entorno. Asegúrese de añadir la cadena
console=al final de la línea. -
Conéctese al puerto serie para capturar los registros.
Recoger volcados de memoria
Para los fallos de pánico en el kernel, puede utilizar kdump para recoger volcados de memoria.
Por defecto, el sistema operativo se arranca sin la función kdump habilitada. Los usuarios pueden habilitar la función seleccionando la entrada de menú debug al arrancar, como en el siguiente ejemplo:
Cuando un sistema falla, un volcado de memoria se almacenará en el directorio /var/crash/<time>. Proporcionar el volcado de memoria a los desarrolladores les ayuda a solucionar y resolver problemas.