环境准备
前提条件
Kylin V10 SP3和V11系统模板封装需提前获取ISO镜像,并将其添加至ZStack Cloud,以备操作系统安装时使用。请注意以下内容:- 用户需在官网自行获取安装镜像,并遵守相关授权许可。
- 本文档参考版本为Kylin-Server-V10-SP3-General-Release-2303-X86_64.iso和Kylin-Server-V11-2503-Release-General-20250715-X86_64.iso。
操作步骤
-
添加安装镜像。
在ZStack Cloud主菜单,点击,进入镜像界面。点击添加镜像,弹出添加镜像界面。参考以下示例输入相应内容:如图 1所示:
- 名称:设置镜像名称
- 简介:设置镜像简介
- 镜像类型:选择系统镜像
- 镜像格式:选择iso
- CPU架构:选择CPU架构,本示例选择x86_64
- 平台:选择Linux
- 操作系统:选择Kylin-Kylin 10
- Virtio:开启Virtio
- 镜像服务器:选择已添加至云平台的镜像服务器
- 镜像路径:通过URL路径或本地文件上传镜像,本示例通过URL路径上传
- BIOS模式:选择BIOS模式,支持Legacy、UEFI两种模式,本示例选择Legacy
图 1. 添加Kylin V10 SP3镜像 
注: V11的操作系统选择Kylin 11,BIOS模式选择UEFI。源云主机与使用模板创建的云主机需使用相同启动模式。图 2. V11安装镜像 
模板封装
安装操作系统
背景信息
- 创建云主机。
- 安装Kylin V10 SP3或V11。
操作步骤
-
创建云主机。
在ZStack Cloud云平台创建云主机,并使用安装镜像引导云主机启动,详情可参考《用户手册》的创建云主机章节。
-
安装KylinV10 SP3。
- 安装Kylin V11。
使用V11安装镜像创建云主机,本示例选择2核CPU、4 GB内存、40 GB系统盘和UEFI模式。打开控制台,选择Install Kylin Linux Advanced Server V11,开始安装。
选择English (United States)作为安装语言。在Installation Summary页面,Software Selection选择Minimal Install,Installation Destination选择目标系统盘并使用Automatic自动分区,Network & Host Name启用网卡,并设置root密码。
图 6. V11安装信息摘要 
图 7. V11磁盘分区 
点击Begin Installation开始安装。安装完成后点击Reboot System重启,卸载安装ISO后登录系统。
配置模板系统
前提条件
请在云主机控制台以root权限执行以下命令。背景信息
- 指定Hostname。
- 配置网络。
- 检查SELinux。
- (可选)安装性能优化工具。
- 如已安装性能优化工具,确认安装结果。
- (可选) 安装cloud-init。
操作步骤
-
指定Hostname。
执行hostnamectl set-hostname localhost.localdomain,设置模板的默认主机名。
- 配置网络。
查询连接名称,执行read命令后输入所需连接名称,再配置DHCP和开机自动连接。以下命令清除手工IPv4地址、路由和DNS,并使用平台分配的网卡MAC;需要保留静态配置的网络不适用。V10 SP3安装后需特别确认自动连接已开启。
nmcli connection show read -r KYLIN_CONNECTION nmcli connection modify "$KYLIN_CONNECTION" \ connection.autoconnect yes ipv4.method auto \ ipv4.addresses "" ipv4.gateway "" ipv4.dns "" \ ipv4.routes "" ipv4.ignore-auto-routes no ipv4.never-default no \ ipv4.ignore-auto-dns no 802-3-ethernet.mac-address "" \ 802-3-ethernet.cloned-mac-address permanent nmcli connection up "$KYLIN_CONNECTION"注: 激活连接可能中断SSH,请使用控制台操作。保留与目标网卡名称匹配的连接设置,IPv6按实际网络配置。 -
检查SELinux。
执行getenforce检查SELinux状态。保留现有配置;仅在应用明确要求时调整。
-
(可选) 安装性能优化工具。
注: 请注意以下内容:
- 安装性能优化工具前请使用yum install tar -y安装tar命令。
- 创建Linux系统的镜像时,若挂载数据云盘,请勿在/etc/fstab文件中写入数据云盘挂载信息,否则会导致使用该模板所创建的云主机无法正常启动。
- 如需启动时挂载数据云盘,推荐使用以下方式:
[root@localhost ~]# echo "mount -t ext4 -U "d0shC2-2GO1-Vyuc-XKXf-Pb3c-uvG5-92Fzeu" /mnt" >> /etc/rc.d/rc.local [root@localhost ~]# # -t表示该磁盘的文件系统,-U表示使用UUID方式挂载磁盘,/mnt表示挂载路径 [root@localhost ~]# # 设备UUID可使用blkid命令获取 [root@localhost ~]# chmod +x /etc/rc.d/rc.local [root@localhost ~]# # 建议使用设备的UUID挂载磁盘,而非使用/dev/vdb类似盘符。
- 如已安装性能优化工具,确认安装结果。
图 8. V11性能优化工具安装结果
注: V11安装器可能提示zs-tools is not verified for os: kylinV11。工具已安装不代表厂商已验证该版本的完整兼容性。 - (可选)安装cloud-init。
如需User Data、SSH公钥等初始化功能,安装并配置cloud-init。下节初始化清理命令适用于已完成此配置的模板。
从对应系统官方仓库安装cloud-init,用于主机名、User Data和SSH公钥初始化。保留现有SELinux、防火墙及密码策略。
dnf install cloud-init编辑/etc/cloud/cloud.cfg.d/99-template.cfg,合并以下配置,不覆盖需要保留的设置。网络由NetworkManager管理:
network: config: disabled preserve_hostname: false ssh_deletekeys: true ssh_pwauth: false注: 此配置关闭SSH密码认证。先确认初始化公钥对应的账户和控制台登录方式可用。启用服务并重启:
systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl reboot重新登录后执行
,确认初始化完成且无错误。cloud-init status --long
创建系统模板
背景信息
- 清理初始化状态并关机。
- 创建镜像。
- 导出镜像。
操作步骤
- 清理初始化状态并关机。
若已安装cloud-init,按以下命令清理。未安装cloud-init时,保留SSH主机密钥,执行truncate -s 0 /etc/machine-id后正常关机;同样需满足以下机器身份文件条件。
已安装cloud-init时,确认其已完成初始化,/etc/cloud/cloud.cfg包含
ssh初始化模块,并保留前章的ssh_deletekeys: true。以下命令要求D-Bus机器身份链接到/etc/machine-id,且该文件不是独立挂载点;若不满足,先调整清理方案。启动参数不得设置固定的systemd.machine_id=。V10 SP3:cloud-init 19.4不支持
--machine-id,清理缓存后手动清空机器身份文件:( set -e test "$(id -u)" -eq 0 test -f /etc/machine-id test ! -L /etc/machine-id test -L /var/lib/dbus/machine-id test "$(readlink -f /var/lib/dbus/machine-id)" = /etc/machine-id command -v mountpoint >/dev/null if mountpoint -q /etc/machine-id; then exit 1 fi cloud-init clean --logs truncate -s 0 /etc/machine-id rm -f /etc/ssh/ssh_host_*_key /etc/ssh/ssh_host_*_key.pub sync systemctl poweroff )V11:cloud-init 23.4.1支持
--machine-id,使用以下分支:( set -e test "$(id -u)" -eq 0 test -f /etc/machine-id test ! -L /etc/machine-id test -L /var/lib/dbus/machine-id test "$(readlink -f /var/lib/dbus/machine-id)" = /etc/machine-id command -v mountpoint >/dev/null if mountpoint -q /etc/machine-id; then exit 1 fi cloud-init clean --logs --machine-id rm -f /etc/ssh/ssh_host_*_key /etc/ssh/ssh_host_*_key.pub sync systemctl poweroff )注: 清理后不要重新启动源云主机。已按前章配置cloud-init时,它会在新云主机首次启动时重新生成SSH主机密钥,不要在配置或User Data中预置固定主机密钥。 -
创建镜像。
确认云主机已关机并卸载安装ISO后,再创建镜像。清理后不要重新启动源云主机。
在所创建云主机详情页,点击,进入创建镜像界面。
可参考以下示例输入相应内容:- 名称:设置镜像名称
- 简介:可选项,可留空不填
- 镜像类型:选择系统镜像
- 镜像服务器:选择已创建的镜像服务器
如图 9所示:图 9. 创建镜像 
图 10. V11创建镜像 
-
导出镜像
导出镜像用于其他云平台直接使用该镜像创建云主机,不同类型镜像服务器的导出方法不同:
- ImageStore类型镜像服务器。
在镜像页面点击按钮,即可导出镜像。
镜像生成后,可以在总览页面复制已导出的镜像URL下载镜像,也可以在导出记录页面复制已导出的镜像URL或直接点击下载镜像。
- Ceph类型镜像服务器。支持在UI和镜像服务器上导出镜像。
- 在UI上导出:
在镜像页面点击按钮,即可导出镜像。
镜像导出后,可在总览页面复制已导出的镜像URL下载镜像,也可在导出记录页面复制已导出的镜像URL或直接点击下载镜像。
- 在镜像服务器上导出:
- 进入已创建镜像的总览页面,复制安装路径。
- 登录Ceph服务器终端,使用rbd
export命令导出,例如:假定获取到的安装路径为ceph://bak-t-cac5eee23a204c1a914d1743f1584644/7232237c0059409babcd1c7a69452b98,使用以下命令导出镜像:
[root@ceph-node1 ~]# rbd export bak-t-cac5eee23a204c1a914d1743f1584644/7232237c0059409babcd1c7a69452b98 /root/export-test.qcow2 [root@ceph-node1 ~]# # bak-t字段表示镜像安装路径 [root@ceph-node1 ~]# # /root/export-test.qcow2表示导出的目标路径及文件名注: rbd export命令中不包含 ceph:// 前缀。
- 在UI上导出:
- ImageStore类型镜像服务器。



