使用镜像检测工具检测镜像
更新时间:2024-11-20
Linux系统镜像检测工具
在将自定义镜像导入至百度智能云之前,建议您使用镜像检测工具 bd_diagnosis
来检查镜像是否符合导入条件。这可以帮助确保自定义镜像的质量,从而顺利部署功能齐全且兼容性良好的实例。本文将介绍如何使用 bd_diagnosis
工具进行自定义镜像的检测。
bd_diagnosis 工具介绍
bd_diagnosis
是百度智能云提供的Linux镜像检测工具,用于扫描镜像中的系统和服务配置,并生成检测报告。该报告详细描述了镜像的系统信息以及检测到的异常情况。
当前不支持 FreeBSD 系统。
操作步骤
- 使用
root
用户登录待检测的服务器内。 - 依次运行以下命令,下载并解压
bd_diagnosis
工具。
wget https://wanjuan-docs.bj.bcebos.com/bd_diagnosis.tar.gz
tar xf bd_diagnosis.tar.gz
或者您也可以通过浏览器下载 bd_diagnosis 工具。
- 执行一下命令,运行检测工具
cd bd_diagnosis
./main
检测工具主要检查以下配置项:
检查项 | 级别 | 检查项说明 | 不符合影响/修复建议 |
---|---|---|---|
Grub | 高 | 检测 grub 配置文件是否存在且配置正常。 | 系统启动异常。 |
Virtio | 高 | 检测是否安装 virtio 驱动。导入的镜像需要安装virtio。 | 实例启动异常。安装virtio。 |
MLX5_core | 中 | 检测实例部件是否安装 Mellanox 智能网卡设备,实现高性能网络,因此依赖镜像中用于 Mellanox 网络设备的 MLX5_core 驱动程序和配置。 | 无法使用依赖 Mellanox 网卡设备的实例规格(如bcc.ga2、bcc.ica2、bcc.ma2、bcc.la2等)。 |
Fstab | 高 | 检测/etc/fstab配置是否正常。 | 系统启动异常。 |
Disk partition | 高 | 检测系统分区类型是否正确。 | 系统启动异常。 |
File system | 高 | 推荐使用 ext2/ext3/ext4 文件系统,其他类型的文件系统会导致系统异常。 | 系统启动异常。 |
OnlineResizeFS | 低 | 检测虚拟镜像是否支持在线扩容,您如果安装小于10 GB,您必须安装 cloud-init,growpart 等,如果您在运行时实际将根区及文件系统容量大于100 GB。 | 实例根区无法扩容。 |
RootUser | 高 | 检查系统是否存在 root 用户。 | 管理权限受控,安全风险增加。 |
Passwd | 高 | 检查 /etc/shadow 和 /etc/passwd 文件是否存在及读写权限。 | 用户信息控制异常。 |
DHCP | 高 | 检测网络配置是否为 DHCP。 | 系统网络异常。需将网络设置为DHCP动态获取IP模式和清空70-persistent-net.rules文件。 |
SshConfig | 高 | 检测 sshd 服务的配置文件(通常是 /etc/ssh/sshd_config)是否正常。 | 实例 SSH 连接失败。 |
SshPort | 低 | 检查 22 端口是否启用。 | 工具服务异常。 |
Selinux | 中 | 检测是否禁用 SELinux,云上镜像不建议开启SELinux,有可能会导致系统启动异常。 | 在导入前需将SElinux置为disable。 |
Firewall | 中 | 检测防火墙服务是否开启。 | 系统启动化配置缺失。 |
CloudInit | 高 | cloud-init 能在启动时动态完成系统初始化,包括主机名和 SSH 密钥等,同时执行实例自定义数据(User data)脚本。 | 未安装导致系统初始化配置缺失。安装Cloud-init。 |
graphic packages installed | 低 | 在 ebc 实例下 ubuntu 开启图形界面时,可能会导致系统崩溃。 | 系统可能无法正常启动。 |
lvm | 中 | 检查使用 lvm 分区及设置。会导致无法挂载任务失败,用户无法使用根区容器登录。 | hostname 和密码的变化异常。 |
halt | 中 | ebc 场景下,可能导致实例无法正常或无法启动的问题。 | 无法使用或导致对 BCC 实例进行批量运作。halt配置说明。 |
bsm-agent | 中 | 检查 BSM-Agent 的远程连接与交互能力,具备良好的安全与管理能力,升级与维护相对简单。 | 可能导致 SSH 实例连接失败。安装bsm-agent。 |
bcm-agent | 中 | BCM-Agent 作为用户侧的采集程序,承担了采集和传输重要监控数据的任务,便于用户及时感知系统状态。建议您安装 bcm-agent 云助手。 | 实例无法监控数据。 安装bcm-agent。 |
has-agent | 中 | has-agent 能够确保硬件组件的健康状态得到实时监控,并在发现异常时上报,从而帮助运维人员快速定位问题并采取措施。建议您安装 has-agent 便于硬件监控服务。 | 无法及时检测到裸金属实例的硬件故障。安装has-agent。 |
hosteye | 中 | 主机安全监控端(Hosteye)是针对用户的服务监控与行业安全的延续,提供主机安全服务,其具备高稳定性、轻部署的特点,云主机安全端更加强大的防护能力。建议您安装 hosteye 软件包,并应用相关规则。 | 云上安全防护性降低。安装hosteye。 |
等待检测工具检测完成,检测结果类似如下信息。
-------------------------------------------------------
OS: CentOS 6.10
Arch: x86_64
Kernel: 4.19.0-1.0.0.14
BootMode: BIOS(Legacy)
RTC-Mode: RTC
-------------------------------------------------------
[ check virtio driver ] [ OK ]
[ check nvme driver ] [ OK ]
[ check mlx5 driver ] [WARNING]
[ check kernel config ] [ OK ]
[ check network config ] [CRITICAL]
[ check sshd service ] [WARNING]
[ check port status ] [ OK ]
[ check selinux ] [ OK ]
[ check root ] [ OK ]
[ check passwd command ] [ OK ]
[ check disk uuid ] [WARNING]
[ check fstab config ] [CRITICAL]
[ check cloud-init ] [CRITICAL]
[ check online resize fs ] [WARNING]
[ check file system type ] [ OK ]
[ check pcie aspm ] [WARNING]
[ check halt ] [ OK ]
[ check firewall ] [WARNING]
[ check grub ] [CRITICAL]
[ check disk size ] [ OK ]
[ check disk partition ] [WARNING]
[ check LVM ] [ OK ]
[ check bsm agent ] [WARNING]
[ check bcm agent ] [ OK ]
[ check has agent ] [WARNING]
[ check hosteye ] [WARNING]
[ check graphic ] [WARNING]
-------------------------------------------------------
There are 11 warning(s), 4 critical(s).
The reslult file is: CentOS_dignosis_result_20241025115050.txt
Please check result file for the critical/warning information.
-------------------------------------------------------
检测工具会根据检测项的等级给出OK、CRITICAL或WARNING检测结果。
- OK:检测项均符合要求。
- CRITICAL:检测项不符合要求,使用该自定义镜像创建的实例会出现无法正常启动、网络异常等严重问题,建议您修复报错项后再导入镜像。
- WARNING:检测项不符合要求,使用该自定义镜像创建的实例缺少云助手自动化运维等问题,建议您修复报错项后再导入镜像,以提高您云上的运维效率。
Windows系统镜像检测工具
检查项如下:
检测项 | 说明 | 修复建议 |
---|---|---|
VirtIO驱动 | 百度云支持KVM虚拟化技术,导入百度云的镜像需要安装KVM virtio驱动 | 如何为系统安装virtio 驱动,请参见安装virtio驱动 |
磁盘分区类型 | 百度云BCC默认支持MBR磁盘分区类型 | 无 |
磁盘大小 | 百度云服务器最大支持2TB系统盘 | 无 |
cloudbase-init | 建议安装cloudbase-init,用来设置hostname、密码等 | 如何为系统安装cloudbase-init,请参考安装cloudbase-init |
MLNX_WinOF2网络驱动 | 对于Windows Server 2016、2019、2022,建议安装MLNX_WinOF2网卡驱动,有些规格的实例(如bcc.ga2、bcc.ica2、bcc.ma2、bcc.la2等)需要安装该网卡驱动才能识别网络设备 | 如何为系统安装MLNX_WinOF2驱动,请参考安装MLNX_WinOF2驱动 |
下载检测工具 check-windows.ps1 到您的系统中,打开powershell窗口,执行该脚本: