腾讯云镜像检查工具

腾讯云服务器支持使用自定义镜像创建实例。

该自定义镜像可以是您基于线下服务器、虚拟机或者其他云平台的腾讯云服务器创建的。您导入的镜像需要满足一定镜像要求,更多详情,请参阅导入镜像须知。

为缩短镜像制作及创建实例的周期,我们推荐您使用此镜像规范检测工具,本文简称检测工具,制作符合规范的镜像。检测工具能基于服务器环境检测各项配置指标、定位不合规原因、生成 TXT 和 JSON 格式检测报告并给出解决意见。


使用限制

目前检测工具仅支持检测 Linux 类型镜像,包括 Ubuntu、CentOS、Debian、RedHat、Fedora 和 Other Linux 发行版本。


使用实例

以CentOS 6.8 64位服务器为例。

登陆服务器、虚拟机或者其他云平台的腾讯云服务器。

【下载镜像检查工具】

使用root权限运行image_check。

chmod +x image_checksudo image_check

也可使用-p [目标路径]命令指定检测报告的生成路径,不指定则默认输出到检测工具所在的路径。

等待检测工具检测系统配置。

image_check 1.0.2Begin check your system......The inspection report is generating.The infomation you need to input when you import your image to Kingsoft Cloud website:Current system: CentOS 6.8Architecture: x86_64System disk size: 21 GBCheck driver                  [  OK  ]Check shadow file authority        [  OK  ]Check security                [WARNING]Check network                 [  OK  ]Check ssh                    [  OK  ]Check firewall                [  OK  ]Check filesystem               [  OK  ]Check device id                [  OK  ]Check root account              [  OK  ]Check password                [  OK  ]Check partition table            [  OK  ]Check lib                    [  OK  ]Check disk size                [FAILED]Check disk use rate             [  OK  ]Check inode use rate            [  OK  ]13 items are OK.1 items are failed.1 items are warning.The report is generated: /tmp/image_check_report_2018-07-13_22-46-53.txtPlease read the report to check the details.
在相应位置查看检测报告。报告格式为 image_check_report_日期_时间.txt 或 image_check_report.json。
检测项

为避免使用您的自定义镜像创建的实例功能不全,检测工具主要检测服务器一下配置项。

检测项不合规后果合规建议driver实例无法正常开机安装虚拟化virtio驱动/etc/shadow无法修改密码文件,控制台变更密码服务将不能使用不要使用chattr命令锁定/etc/shadow文件SElinux实例可能出现异常现象,影响使用不要通过修改/etc/selinux/config开启 SELinuxnetwork实例网络功能不稳定关闭或删除Network Manager并打开network服务ssh无法从控制台远程连接实例打开SSH服务,不要设置PermitRootLogin (用#注释即可)firewall实例可能出现异常现象,影响使用关闭防火墙Iptables、Firewalldfile system实例创建失败、实例无法正常工作使用 xfs、ext2、ext3、ext4 文件系统device id实例创建失败、实例黑屏修改 /etc/fstab 和 grub 配置文件,使用 UUID 或者 /dev/vda*root account无法使用用户名和密码远程连接实例保留root账号passwd实例无法新增用户保留passwd命令,或重新安装passwdpartition table无法正常启动实例采用MBR分区lib无法自动化配置实例/lib和/lib64的指向位置不能为绝对路径,修改链接文件/lib和/lib64的指向位置为相对路径disk sizeN/A系统盘大小需要满足导入要求disk usage无法为实例配置网络保留足够的磁盘空间inode usage无法为实例配置网络保留足够的inode资源ubuntu account无法登陆实例保证Ubuntu镜像中有“ubuntu”用户

检测工具会根据检测项给出 OK、FAILED 或者 WARNING 检测结果。

OK:检测项均符合要求。FAILED:检测项不符合要求,使用该自定义镜像创建的实例无法正常启动。建议您修复报错项,否则镜像在导入时会失败。WARNING:检测项不符合要求,使用该自定义镜像创建的实例可以启动,但实例可能在使用时出现异常现象,影响您的效率。您可以选择立即修复,也可以暂时忽略问题。
输出项

检测系统环境后,会输出 TXT 和 JSON 两种格式检测报告。输出路径可以使用 -p [目标路径] 指定,不指定则默认输出在检测工具所在的路径。

TXT 格式报告名称为 image_check_report_日期_时间.txt,报告内容包括服务器配置信息以及检测结果。以 CentOS 6.8 64 位服务器为例:
The infomation you need to input when you import your image to Kingsoft Cloud website:Current system is: CentOS 6.8    服务器操作系统及其版本Architecture: x86_64   系统架构System disk size: 21 GB    服务器系统容量The program can obtain system version information from any of these files, but please ensure that these files retain the original content.Do not modify /etc/issue, /etc/*release*, or /etc/debian_version (this file is not available for all distributions). Failure to do so will result in the system's release being unrecognized and causing system creation to fail.Check driver 检测项名称Pass: kvm driver exists. 检测结果 Kingsoft Cloud supports kvm virtualization technology.We strongly recommend installing kvm driver.
JSON 格式报告名称为 image_check_report.json,报告内容包括服务器配置信息以及检测结果。以 CentOS 6.8 64 位服务器为例:
"platform":"CentOS",      \服务器操作系统 "os_big_version":"6",     \操作系统版本号(高位) "os_small_version":"8",    \操作系统版本号(低位) "architecture":"x86_64",   \系统架构 "system_disk_size":"21",   \服务器系统盘容量 "version":"1.0.0",       \检测工具版本 "time":"2018-07-13_23-42-21",   \检测时间 "check_items":[{      "name":"driver",       \检测项名称      "result":"OK",        \检测结果      "error_code":"0",      \错误码      "descrption":"Pass: kvm driver exists.",  \描述      "comment":"Kingsoft Cloud supports kvm virtualization technology. We strongly recommend installing kvm driver. " }]}

PS:报告中显示的服务器系统盘容量大小是近似值,单位为GB。检测时是精确到bit进行的。所以如果发现报告显示的是21GB,但是检查项"disk size"为OK的话是可以导入的哦。