快速导入镜像文件 操作场景 本节指导您基于Linux操作系统环境完成镜像文件快速导入,推荐使用云平台的HCE云服务器作为转换镜像格式和生成位表文件的环境。 Linux操作系统环境下,建议使用qemuimgctc工具进行镜像格式转换。 前提条件 1. 已完成镜像文件优化,详细操作请参考优化私有镜像(Windows)或优化私有镜像(Linux);同时需要确保镜像文件符合Linux 操作系统的镜像文件限制中的限制条件。 说明 请根据镜像文件的操作系统类型来选择所参考内容。 2. 已在管理控制台创建HCE操作系统的弹性云服务器,并确保云服务器已绑定弹性公网IP。 3. 已在管理控制台创建OBS桶。 操作步骤 1. 上传镜像文件至云服务器。 1. 本地主机为Linux系统: 通过scp命令将镜像文件上传至云服务器。以将“image01.qcow2”文件上传至云服务器的“/usr/”目录下为例。 scp /var/image01.qcow2 root@xxx.xxx.xx.xxx:/usr/ 其中,xxx.xxx.xx.xxx为云服务器的弹性公网IP。 2. 本地主机为Windows系统: 使用文件传输工具(例如WinSCP)将镜像文件上传至云服务器。 2. 获取镜像转换工具(qemuimgctc.rar)和位表文件生成工具(CreateMF.zip),并上传至云服务器,然后解压工具包。 3. 使用qemuimgctc工具转换镜像格式。 1. 进入qemuimgctc存放目录,以存放在“/usr/qemuimgctc”为例: cd /usr/qemuimgctc 2. 执行以下命令修改权限: chmod +x qemuimgctc 3. 执行qemuimgctc命令将镜像文件转为zvhd2或raw格式(推荐转为zvhd2格式)。 qemuimgctc命令格式: ./qemuimgctc convert p O {目标镜像格式} {待转换镜像文件} {目标镜像文件} 以将“image01.qcow2”格式文件转换成“image01.zvhd2”格式为例: ./qemuimgctc convert p O zvhd2 image01.qcow2 image01.zvhd2 若转换后为zvhd2格式文件,请执行步骤5。 若转换后为raw格式文件,请使用CreateMF.jar工具,生成raw格式镜像文件的位表文件。请执行步骤4。 4. 使用CreateMF.jar工具生成位表文件。 1. 请确保当前云服务器已安装jdk。 执行以下命令查看是否已安装jdk: source /etc/profile java version 如果回显信息中显示java版本信息,证明当前云服务器已安装jdk。 2. 执行以下命令进入CreateMF.jar程序所在的目录。 cd /usr/CreateMF 3. 执行以下命令生成位表文件。 java jar CreateMF.jar /原raw文件路径 /生成的mf文件路径 例如: java jar CreateMF.jar image01.raw image01.mf 5. 使用s3cmd工具上传文件至OBS桶。 1. 安装s3cmd工具。 若云服务器已安装该工具可跳过此步骤,直接按照步骤b配置s3cmd: 1. 执行以下命令,安装setuptools。 yum install pythonsetuptools 2. 执行以下命令,安装wget。 yum install wget 3. 执行以下命令,获取s3cmd软件包。 wget mv master.zip s3cmdmaster.zip 4. 执行以下命令,安装s3cmd。 unzip s3cmdmaster.zip cd s3cmdmaster python setup.py install 2. 配置s3cmd工具。 执行以下命令配置s3cmd工具。 s3cmd configure Access Key: 输入AK Secret Key: 输入SK Default Region: 输入所在Region S3 Endpoint: 可参考OBS的Endpoint DNSstyle bucket+hostname:port template for accessing a bucket: 输入带桶名的Server地址,例如mybucket.obs.myclouds.com Encryption password: 不填,直接按回车 Path to GPG program: 不填,直接按回车 Use HTTPS protocol: 是否使用HTTPS,Yes/No HTTP Proxy server name: 代理地址,连接云平台需要连外网(如不需要直接回车) HTTP Proxy server port: 代理端口,连接云平台需要连外网(如不需要直接回车) Test access with supplied credentials? y (如果显示:Success. Your access key and secret key worked fine :) 则表示连接成功) Save settings? y(是否保存配置) 说明 配置完成后,信息会保存在用户目录下“/root/.s3cfg”,如果还想修改,可以重新执行s3cmd configure命令,或者直接编辑.s3cfg文件(执行vi .s3cfg命令进行编辑)。 3. 使用s3cmd命令上传zvhd2格式镜像文件到OBS桶,或者上传raw格式镜像文件及其位表文件到OBS桶。 s3cmd put image01.zvhd2 s3://mybucket/ 注意 .mf位表文件必须和其对应的raw格式镜像文件在同一个OBS桶中。 6. 注册私有镜像。 您可以通过控制台方式、API接口方式,将转换后的zvhd2或raw文件注册为私有镜像。 方法一:通过控制台创建私有镜像 1. 登录IMS控制台。 1. 登录管理控制台。 2. 选择“计算 > 镜像服务”。 进入镜像服务页面。 2. 单击右上角的“创建私有镜像”。 3. 在“创建方式”区域,选择镜像的创建方式为“导入私有镜像”。 4. 在“镜像类型”区域,选择镜像类型为“系统盘镜像”或“数据盘镜像”。 5. 在“选择镜像文件”区域,从列表中选择存放转换后zvhd2或raw格式镜像文件的桶,再选择转换后的镜像文件。如果是raw格式镜像文件,需要确保同名位表文件已上传。 6. 勾选快速通道栏的“开启快速通道”,并确认已优化镜像文件,然后勾选“镜像文件准备”栏的内容。 7. 根据界面提示填写配置信息。 具体的配置参数说明,请参见通过外部镜像文件创建Linux系统盘镜像。 注意 操作系统必须要和镜像文件所含的操作系统一致。 系统盘大小必须大于镜像文件的大小。 通过qemuimgctc工具可查询镜像文件大小:qemuimgctc info test.zvhd2 方法二:通过API方式创建私有镜像 您可以通过接口POST /v2/cloudimages/quickimport/action,实现镜像文件快速导入功能。