环境准备
前提条件
- 用户需在官网自行获取Debian 13安装镜像,并遵守相关授权许可。
- 本文档参考版本为:debian-13.6.0-amd64-netinst.iso。
背景信息
- 添加安装镜像。
- 创建云盘规格。
操作步骤
-
添加安装镜像。
在ZStack Cloud主菜单,点击,进入镜像界面。点击添加镜像,弹出添加镜像界面。
参考以下示例输入相应内容:- 名称:设置镜像名称
- 简介:可选项,可留空不填
- 镜像类型:选择系统镜像
- 镜像格式:选择iso
- CPU架构:选择x86_64
- 平台:选择Linux平台
- 操作系统:选择Debian 13
- Virtio:默认打开
- 镜像服务器:选择已创建的镜像服务器
- 镜像路径:添加URL路径或上传本地文件,本示例选择本地文件并上传镜像Note: 添加本地文件作为镜像,采用了本地浏览器作为中转上传镜像,请勿刷新或关闭当前浏览器,也不可停止管理节点服务,否则将添加失败。
- BIOS模式:选择Legacy
图 1. 添加镜像 
-
创建云盘规格。
在ZStack Cloud主菜单,点击,进入云盘规格界面。点击创建云盘规格,弹出创建云盘规格界面。
可参考以下示例输入相应内容:- 名称:设置云盘规格名称
- 简介:可选项,可留空不填
- 容量:设置云盘容量大小Note: 本例使用40 GiB系统云盘。
- 设置磁盘带宽:可选项,可设置云盘的I/O带宽上限
- 设置磁盘IOPS:可选项,可设置云盘每秒的读写次数上限
- 高级参数:可选项,可通过JSON格式配置高级参数
图 2. 创建云盘规格 
模板封装
安装操作系统
背景信息
- 创建云主机。
- 安装Debian 13。
操作步骤
-
创建云主机。
在ZStack Cloud创建云主机,并使用安装镜像引导云主机启动,详情可参考《用户手册》的创建云主机章节。本例使用2核CPU、4 GiB内存、40 GiB系统云盘及单网卡IPv4 DHCP网络。
-
安装Debian 13。
配置模板系统
前提条件
通过控制台以root登录,或使用具备sudo权限的账户执行sudo -i。以下命令逐条执行,失败时修复后再继续。
背景信息
模板系统配置包含以下步骤:- 指定Hostname。
- (可选)安装cloud-init。
- 配置网络。
- (可选)安装性能优化工具。
操作步骤
-
指定Hostname。
执行以下命令指定模板系统的主机名:
hostnamectl set-hostname localhost.localdomain -
(可选)安装cloud-init。
如需通过User Data或SSH公钥初始化云主机,使用与操作系统版本匹配的软件源安装cloud-init。
apt-get update apt-get install -y cloud-init isc-dhcp-client cloud-guest-utilsNote: 离线安装需准备同版本软件源及完整依赖;netinst安装介质不包含全部组件。Note: 如需通过SSH登录云主机,还需安装并启用openssh-server;未安装cloud-init时,User Data和SSH公钥自动注入不可用。 -
配置网络。
已安装cloud-init时,按以下步骤配置网络。未安装时保留安装器的网络配置,确保网卡使用DHCP并自动连接,不执行本步骤中的cloud-init配置和清理命令。
本例采用ifupdown管理单网卡IPv4 DHCP网络。执行ip -br link确认网卡名,在/etc/cloud/cloud.cfg.d/99-ipv4-only.cfg中写入以下配置,以实际网卡名替换ens3。
network: version: 2 ethernets: ens3: dhcp4: true dhcp6: falseNote: 此配置覆盖数据源的网络配置,仅适用于单网卡IPv4场景;多网卡、静态IP或双栈环境需按实际需求调整。检查/etc/network/interfaces及interfaces.d,避免重复定义同一网卡。若cloud-init已生成旧网络配置,先备份网络配置,再执行:
将未清理的旧生成文件移出interfaces.d,例如50-cloud-init,保留loopback及source配置。该操作会重新执行初始化,仅用于当前模板构建云主机。cloud-init clean --configs network配置完成后执行systemctl reboot重启云主机。
-
(可选)安装性能优化工具。
安装性能优化工具前,安装以下依赖:
apt-get update apt-get install -y --no-install-recommends \ python3 tar libglib2.0-0t64 libatomic1 sudo在云主机详情页挂载当前平台的GuestTools ISO。确认/dev/cdrom对应该介质,且/mnt/cdrom未挂载其他介质,再执行以下命令。
mkdir -p /mnt/cdrom mount /dev/cdrom /mnt/cdrom cd /mnt/cdrom bash ./zs-tools-install.sh若安装器询问是否将python3链接为python,按提示输入y。安装完成后退出目录并卸载介质。
cd ~ umount /mnt/cdrom图 8. GuestTools安装输出及兼容性提示 
Note: 若出现zs-tools is not verified for os提示,表示该操作系统尚未经过工具验证,不能据安装成功判断官方兼容性。
创建系统模板
背景信息
- 创建镜像。
- 导出镜像。
操作步骤
-
创建镜像。
以root执行以下命令清理模板身份并关机。清理前删除临时凭据,保留新云主机可使用的登录账户;清理后不要再次启动模板云主机。
Note: 未安装cloud-init时,以下命令保留SSH主机密钥,避免缺少密钥生成机制导致SSH无法启动;此类镜像需自行安排每台云主机的密钥重新生成,不具备cloud-init自动初始化能力。已安装cloud-init时,确认初始化成功且ssh模块会在首次启动生成SSH主机密钥,再执行清理。
sh -eu <<'CLEANUP' test "$(id -u)" -eq 0 dbus_id=/var/lib/dbus/machine-id if [ -L "$dbus_id" ]; then test "$(readlink -f "$dbus_id")" = /etc/machine-id elif [ -e "$dbus_id" ]; then test -f "$dbus_id" fi if command -v cloud-init >/dev/null 2>&1; then cloud-init clean --logs --machine-id rm -f /etc/ssh/ssh_host_* else printf 'uninitialized\n' > /etc/machine-id fi if [ -d /var/lib/dbus ] && [ ! -L "$dbus_id" ]; then rm -f "$dbus_id" ln -s /etc/machine-id "$dbus_id" fi sync systemctl poweroff CLEANUP在所创建云主机详情页,点击,进入创建镜像界面。
-
导出镜像
导出镜像用于其他云平台直接使用该镜像创建云主机,不同类型镜像服务器的导出方法不同:
- 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表示导出的目标路径及文件名Note: rbd export命令中不包含 ceph:// 前缀。
- 在UI上导出:
- ImageStore类型镜像服务器。






