镜像检查

最近更新时间:2019-12-05 23:45:29

金山云推荐使用镜像规范检测工具(本文简称“检测工具”)检测镜像,以避免镜像导入失败或实例使用异常。

基于服务器环境,检测工具可检测各项配置指标,定位不合规原因,生成TXT或JSON格式检测报告并给出解决意见。

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

本节以CentOS 6.8 64位服务器为例进行介绍。

操作步骤

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

  2. 下载检查工具

  3. 使用root权限运行image_check。

    chmod +x image_check
    sudo image_check

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

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

    image_check 1.0.0
    Begin 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.8
    Architecture: x86_64
    System disk size: 21 GB
    ---------------------------------------
    Check 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.txt
    Please read the report to check the details.
  5. 查看检测报告,报告名称的格式为“image_check_report_yyyy-mm-dd_hh-mm-ss.txt”或“image_check_report.json”。

检测结果说明

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

检测报告

检测系统环境后,会输出TXT和JSON两种格式的检测报告。

  • TXT格式报告的内容示例和解释为:

    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格式报告的内容示例和解释为:

    "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. "
     }]
    }

注意: 报告中显示的服务器系统盘容量大小,是精确到“位 (bit)”的近似值。虽然本报告中显示容量(21GB)超出了镜像限制的20GB,但检查项"disk size"的结果为“OK”,则说明本镜像可以正常导入。

合规建议

检测项不合规的后果以及合规建议如表所示。

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

金山云,开启您的云计算之旅

注册有礼