文档首页/ 弹性云服务器 ECS/ 常见问题/ 操作系统相关问题/ Linux云服务器如何配置串口日志?
更新时间:2025-09-18 GMT+08:00
分享

Linux云服务器如何配置串口日志?

操作场景

当ECS发生夯机、异常重启或者无法正常启动时,运维人员需要定位导致问题发生的根本原因,及时解决问题并且避免该问题反复发生。

Linux系统ECS运行的稳定性会受多方面影响,既与承载运行的基础设施硬件和软件环境有关,也受操作系统内部的运行环境影响。

  • 如果ECS的异常状态是由承载运行的基础设施硬件或软件故障导致,系统会通过事件通知用户,以便于用户了解该类故障对ECS运行的影响。

    事件的更多信息,请参见事件概述

  • 如果ECS的异常状态是由操作系统内核bug、系统配置不当或程序过载等原因导致,则需要查看操作系统日志进行分析和诊断。

在Linux云服务器中,您可以配置将启动日志和异常故障等信息通过服务器的串口(串行端口,Serial Port)打印输出。

本节介绍为Linux云服务器配置串口日志的操作指导。

背景知识

串口打印输出的日志会包含两种类型的信息:

  • 系统启动开机时的日志内容。

    Linux操作系统ECS启动开机时,默认会将开机过程产生的日志信息输出到串口。开机信息会被系统内核存储在ring buffer中,显示系统架构、CPU、RAM、挂载的硬件以及软件启动相关的系统信息。这类信息可以用于了解系统是否正常启动,检查预先设定的应用程序是否随系统启动等情况。

  • 系统内核故障或异常时的日志内容。

    内核故障或异常错误发生时,系统会按照配置的日志级别(由内核参数kernel.printk决定,默认级别为4 - KERN_WARNING)将对应信息输出到串口。内核错误(Kernel panic)是指操作系统在监测到内部的致命错误,并无法安全处理此错误时采取的动作。操作系统内核中处理Kernel panic的子程序通常会向串口控制台输出错误信息,以便于故障的调试,并等待系统被手动或自动重新引导。该程序提供的技术性信息通常用于诊断问题。

表1 内核日志级别

日志级别

对应名称

说明

0

KERN_EMERG

The system is unusable.

1

KERN_ALERT

Actions that must be taken care of immediately.

2

KERN_CRIT

Critical conditions.

3

KERN_ERR

Noncritical error conditions.

4

KERN_WARNING

Warning conditions that should be taken care of.

5

KERN_NOTICE

Normal, but significant events.

6

KERN_INFO

Informational messages that require no action.

7

KERN_DEBUG

Kernel debugging messages, output by the kernel if the developer enabled

操作步骤

介绍为x86以及鲲鹏架构ECS配置串口日志的操作步骤,公共镜像默认已配置。

本操作以CentOS操作系统为例进行介绍。

  1. 远程登录弹性云服务器。

    详细操作,请参见通过VNC登录Linux ECS

  2. 执行以下命令,编辑/etc/default/grub,在GRUB_CMDLINE_LINUX双引号里最后添加:console=tty0 console=ttyS0,115200n8。

    vim /etc/default/grub

    图1 执行结果
  3. 执行以下命令,刷新grub配置文件/boot/grub2/grub.cfg,不同操作系统命令和配置文件路径可能不同,请以实际情况为准。
    • CentOS:grub2-mkconfig -o /boot/grub2/grub.cfg
    • Ubuntu:grub-mkconfig -o /boot/grub2/grub.cfg
    图2 执行结果(CentOS)
  1. 执行以下命令,重启ECS使配置生效。

    reboot

  2. 执行以下命令,检查配置结果。

    cat /proc/cmdline

    图3 检查结果

本操作以Ubuntu操作系统为例进行介绍。

  1. 远程登录弹性云服务器。

    详细操作,请参见通过VNC登录Linux ECS

  2. 执行以下命令,编辑/etc/default/grub,在GRUB_CMDLINE_LINUX双引号里最后添加:console=tty0 console=ttyAMA0,115200n8。

    vim /etc/default/grub

    图4 执行结果
  3. 执行以下命令,刷新grub配置文件/boot/efi/EFI/<操作系统>/grub.cfg,不同操作系统命令和配置文件路径可能不同,请以实际情况为准。
    • centos:grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
    • Ubuntu:grub-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg
    图5 执行结果(Ubuntu)
  1. 执行以下命令,重启ECS使配置生效。

    reboot

  2. 执行以下命令,检查配置结果。

    cat /proc/cmdline

    图6 检查结果

相关文档