使用镜像规范检查工具,检测镜像中的操作系统是否符合的导入条件,例如是否能创建出功能齐全的ECS实例。本文以CentOS 7.9 64位操作系统为例,为您介绍如何检测镜像是否符合规范。
背景信息
为提高镜像制作的效率,我们推荐您使用ECS镜像规范检测工具。检测工具能基于Linux服务器环境自动检测各项配置指标、快速定位不合规配置并给出解决意见,省去您逐项检查系统的时间,方便您快速修复系统配置并制作出符合规范的镜像。
说明
目前检测工具仅支持检测除FreeBSD、Fedora CoreOS以外的Linux系统,不支持检测Windows系统。
操作步骤
-
登录您制作镜像文件的源服务器、虚拟机或者其他云平台的云主机。
-
依次运行以下命令,下载并解压检测工具。
wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/imagecheck/ecsgo-helper.tar.gz tar -xf ecsgo-helper.tar.gz
您也可以通过浏览器下载检测工具。
-
执行以下命令,运行检测工具。
./ecsgo-helper.sh image-online-diagnostic
等待检测工具检测系统配置,检测结果类似如下信息。各检测结果说明,请参见检测项说明。
------------------------------------------------------------ OS: CentOS 7.9.2009 Kernel: 3.10.0-1160.76.1.el7.x86_64 Arch: x86_64 RTC-Mode: utc Boot-Mode: Legacy ------------------------------------------------------------ Image Check Result Virtio [OK] Nvme [OK] Fstab [OK] Grub [OK] Dhcp [OK] Selinux [OK] OnlineResizeFS [OK] CloudAssistant [OK] CloudInit [OK] SecurityCenterAgent [OK] SupportMocInstanceTypes [OK] DiskUsage [OK] InodeUsage [OK] SystemFileAttribute [OK] CriticalUser [OK] QemuGuestAgent [OK] SshConfig [OK] Firewall [OK] LibDirectory [OK] Total case Count 19 Successes: 19 Failures: 0 Warnings: 0 ------------------------------------------------------------
检测项说明
检测工具会根据检测项的等级给出OK
、FAILED
或者WARNING
检测结果。
-
OK
:检测项均符合要求。 -
FAILED
:检测项不符合要求,使用该自定义镜像创建的ECS实例会出现无法正常启动、网络异常等严重问题,建议您立即修复报错项后再导入镜像。 -
WARNING
:检测项不符合要求,使用该自定义镜像创建的ECS实例缺少云安全中心保护、无法使用云助手自动化运维等问题,建议您修复报错项后再导入镜像,以提高您云上运维的效率。
检测工具主要检查源服务器中以下配置项:
检测项 |
等级 |
检测项说明 |
不合规后果 |
合规建议 |
Virtio |
高 |
检测镜像中是否安装virtio驱动。 阿里云ECS通常为基于KVM的虚拟机,因此依赖镜像中安装虚拟磁盘的virtio驱动。 |
ECS启动异常 |
安装virtio驱动 |
Nvme |
高 |
检测镜像中是否安装NVMe驱动。 ECS部分规格使用NVMe协议云盘,例如ecs.g7se,要求镜像包含NVMe协议的相关驱动。NVMe相比SCSI、virtio-blk等传统驱动协议速度更快、传输带宽更高,因此建议您在镜像中安装NVMe驱动,以支持相关实例规格。更多信息,请参见NVMe协议介绍。 |
无法使用NVMe协议云盘的实例规格,例如ecs.g7se |
Linux自定义镜像如何适配NVMe系统盘? |
Fstab |
高 |
检测/etc/fstab配置是否正常。 错误的配置会导致系统启动异常,例如配置的挂载设备信息不存在、设备UUID错误等。 |
系统启动异常 |
如何配置正确的/etc/fstab,请参见如何在fstab文件中配置文件磁盘标识方式为UUID |
Grub |
高 |
检测grub配置文件是否正常。 grub引导内核的加载和启动,是系统的重要配置。错误的配置将导致系统启动异常,建议您检查系统中的配置文件是否正确,例如grub文件中不要使用设备名来指定启动分区,如root=/dev/sda1,在不同的环境中设备名称可能发生变化,建议您使用UUID来指定启动分区。 |
系统启动异常 |
如何为镜像生成正确的配置grub文件,请参见如何修改Linux镜像Grub文件中的文件磁盘标识符为UUID |
Dhcp |
高 |
检测网络配置是否为DHCP。 建议您为网络设备配置DHCP的方式,static静态方式会导致失利网络配置失败,连接异常。我们还建议您在grub内核启动参数中增加配置选项 |
系统网络异常 |
如何设置镜像网络配置模式为DHCP,请参见如何在Linux镜像中配置网络为DHCP |
Selinux |
中 |
检测是否禁用SELinux,阿里云建议您关闭SELinux。 |
无法正常启动ECS实例 |
如何关闭SELinux,请参见开启或关闭SELinux |
OnlineResizeFS |
高 |
检测镜像是否支持在线扩容文件系统。 例如您的镜像虚拟磁盘空间大小为10 GB,您购买ECS实例的系统盘为100 GB,如果您安装了cloud-init、growpart等组件,相关组件在实例初始化时会将根分区及文件系统扩容,扩容至您系统盘的大小100 GB。更多信息,请参见扩容分区和文件系统(Linux) 。 |
实例根分区无法扩容 |
|
CloudInit |
高 |
检测是否安装cloud-init服务。 cloud-init能在ECS实例启动阶段完成系统初始化配置,包括NTP、软件源、主机名和SSH密钥对等,同时执行实例自定义数据(User data)脚本。 |
系统初始化配置缺失 |
安装cloud-init |
DiskUsage |
高 |
检测磁盘空间使用率是否正常。 您可以执行 |
系统启动异常 |
删除不必要文件 |
InodeUsage |
高 |
检测磁盘inode使用率是否正常。 您可以执行 |
系统启动异常 |
删除不必要文件 |
SystemFileAttribute |
高 |
检测系统中关键配置文件的文件属性是否正常。 |
实例启动异常、功能异常 |
不要使用 |
CriticalUser |
高 |
检测系统中关键用户(例如root)是否存在。 关键用户的缺失会导致系统启动异常,实例功能使用异常,例如无法使用用户名和密码远程连接ECS实例。 |
实例启动异常、功能异常 |
保留root账号 |
QemuGuestAgent |
中 |
检测系统中是否安装qemu-guest-agent。 该软件是运行在虚拟机上,和宿主机交互通信,会导致ECS所需要的部分服务不可用,实例功能不全。 |
实例功能异常 |
卸载qemu-guestos-agent |
SshConfig |
高 |
检测sshd服务的配置文件(通常是/etc/ssh/sshd_config)是否正常。 sshd配置文件异常会导致sshd服务启动失败,进而导致SSH连接ECS失败,检查sshd配置文件的正确性和有效性很有必要。通常您可以执行以下命令:
|
实例SSH连接失败 |
检查sshd配置文件 |
Firewall |
中 |
检测防火墙服务是否开启。 阿里云建议您关闭系统中的防火墙服务,使用ECS安全组统一管理您云上实例的出入流量。更多信息,请参见安全组概述。 |
系统防火墙应用可能导致您访问实例失败等 |
关闭系统防火墙服务 |
LibDirectory |
高 |
在RedHat系列Linux系统中,/lib和/lib64通常为一个链接文件,指向/usr/lib及/usr/lib64中,请不要随意修改该链接文件,否则可能导致系统异常。 |
系统功能异常 |
链接文件/lib和/lib64的指向位置不能为绝对路径,修改指向位置为相对路径 |
SupportMocInstanceTypes |
高 |
检测镜像是否支持阿里云ECS神龙规格。 阿里云最新的ECS实例通常为神龙规格,例如ecs.g6、ecs.g7等,镜像的系统和内核版本如果过低,在相关规格上启动会有异常。具体的实例规格信息,请参见实例规格族。 |
不能使用ecs.g6、ecs.g7等神龙规格族 |
不支持神龙规格的系统通常是已经EOL不再维护的低版本系统,阿里云建议您尽早更新升级,使用各发行厂商正在维护更新的操作系统版本 |
CloudAssistant |
中 |
检测镜像是否安装云助手。 云助手是专为云服务器ECS打造的原生自动化运维工具,阿里云建议您为镜像安装云助手服务,实现云上ECS高效运维。更多信息,请参见云助手概述。 |
云上运维不便 |
安装云助手Agent |
SecurityCenterAgent |
中 |
检测是否安装云安全中心Agent。 安装云安全中心的Agent插件后,您的服务器才能受到云安全中心的保护。 |
无法识别实例中的漏洞问题,缺少云安全中心的保护 |
安装Agent |
后续步骤
通过工具检测镜像符合规范后,再获取镜像文件。具体操作,请参见获取Linux镜像文件。
腾讯云1折,限时活动,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/150963.html