文档目录

环境准备

前提条件

openEuler 24.03 LTS SP4 系统模板封装需提前获取ISO镜像,并将其添加至ZStack Cloud,以备操作系统安装时使用。请注意以下内容:
  • 用户需在官网自行获取openEuler 24.03 LTS SP4安装镜像,并遵守相关授权许可。
  • 本文档参考版本为:openEuler-24.03-LTS-SP4-x86_64-dvd.iso

操作步骤

  1. 添加安装镜像。
    在ZStack Cloud主菜单,点击资源中心 > 云资源池 > 计算配置 > 镜像,进入镜像界面。点击添加镜像,弹出添加镜像界面。
    参考以下示例输入相应内容:
    • 名称:设置镜像名称
    • 简介:设置镜像简介
    • 镜像类型:选择系统镜像
    • 镜像格式:选择iso
    • CPU架构:选择x86_64
    • 平台:选择Linux
    • 操作系统:选择与镜像一致的操作系统
    • Virtio:开启Virtio
    • 镜像服务器:选择已添加至云平台的镜像服务器
    • 镜像路径:添加URL路径或上传本地文件,本示例选择本地文件并上传镜像
      Note: 添加本地文件作为镜像,采用了本地浏览器作为中转上传镜像,请勿刷新或关闭当前浏览器,也不可停止管理节点服务,否则将添加失败。
    • BIOS模式:选择Legacy
    如图 1所示:
    图 1. 添加openEuler镜像


封装模板

安装操作系统

背景信息

安装操作系统包含以下步骤:
  1. 创建云主机。
  2. 安装openEuler 24.03 LTS SP4。

操作步骤

  1. 创建云主机。

    在ZStack Cloud创建云主机,并使用安装镜像引导云主机启动,详情可参考《用户手册》的创建云主机章节。本例使用2核CPU、4 GiB内存、40 GiB系统云盘及单网卡IPv4 DHCP网络。

  2. 安装openEuler 24.03 LTS SP4。
    1. 选择安装语言。

      从ISO进入安装程序,按以下页面完成安装配置。

      在语言页面选择English及English (United States),点击Continue。设置时区和键盘。

      如图 2所示:

      图 2. 选择安装语言

      选择安装语言
    2. 安装配置汇总。

      在Software Selection中选择Minimal Install,点击Done。

      如图 3所示:

      图 3. 选择最小化安装

      选择最小化安装

      在Network & Host Name中选择实际网卡并开启开关,确认状态变为Connected。图中网卡名称仅为示例,以实际设备为准。

      如图 4所示:

      图 4. 启用安装网卡

      启用安装网卡

      点击Configure,在IPv4 Settings中确认Method为Automatic (DHCP),保存配置并检查获得的地址、网关和DNS。完成后设置独立管理员账户,再开始安装。

      如图 5所示:

      图 5. 核对IPv4 DHCP配置

      核对IPv4 DHCP配置

      本章节使用以下安装配置,完成磁盘分区后再开始安装。

      如图 6所示:

      图 6. 开始安装前核对配置摘要

      openEuler安装摘要及Begin Installation按钮
    3. (可选)磁盘分区。

      在Installation Destination中选择新建的根云盘,核对容量和设备名称。示例为40 GiB的vda,选择Automatic自动分区,检查分区摘要后点击Done。

      如图 7所示:

      图 7. 选择安装磁盘和自动分区

      选择安装磁盘和自动分区
    4. 安装系统。

      设置完成后,返回安装配置汇总界面,点击Begin Installation,开始安装系统。

      等待安装程序显示Complete!及安装成功提示,再进行重启和根云盘启动检查。

      如图 8所示:

      图 8. openEuler安装完成

      安装程序显示Complete!和Reboot System按钮

      卸载安装ISO,将HardDisk设为首个启动项。启动后通过控制台登录已安装的系统,再进行模板配置。

配置模板系统

前提条件

通过控制台以root登录,或使用具备sudo权限的账户执行sudo -i。以下命令逐条执行,失败时修复后再继续。

背景信息

模板系统配置包含以下步骤:
  1. 指定Hostname。
  2. (可选)安装cloud-init。
  3. 配置网络。
  4. (可选)安装性能优化工具。

操作步骤

  1. 指定Hostname。
    执行以下命令指定模板系统的主机名:
    hostnamectl set-hostname localhost.localdomain
  2. (可选)安装cloud-init。

    如需通过User Data或SSH公钥初始化云主机,使用与操作系统版本匹配的软件源安装cloud-init。

    dnf install -y cloud-init
    Note: 离线安装可使用同版本安装DVD作为软件源,保留软件包签名校验。
    Note: 如需通过SSH登录云主机,还需安装并启用openssh-server;未安装cloud-init时,User Data和SSH公钥自动注入不可用。
  3. 配置网络。

    已安装cloud-init时,按以下步骤配置网络。未安装时保留安装器的网络配置,确保网卡使用DHCP并自动连接,不执行本步骤中的cloud-init配置和清理命令。

    使用NetworkManager管理网络,确认连接采用IPv4 DHCP并随系统自动连接,不绑定构建云主机专属MAC地址。

    nmcli connection show
    nmcli device status

    在/etc/cloud/cloud.cfg.d/99-network-manager.cfg中设置以下策略,使cloud-init使用NetworkManager生成并激活网络配置。

    system_info:
      network:
        renderers: ['network-manager']
        activators: ['network-manager']

    若cloud-init已运行,先备份配置,再执行cloud-init clean,使网络策略在下次初始化生效;首次运行前配置时无需清理。

    配置完成后执行systemctl reboot重启云主机。

  4. (可选)安装性能优化工具。

    安装性能优化工具前,安装以下依赖:

    dnf install -y tar

    在云主机详情页挂载当前平台的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
    图 9. GuestTools安装结果与兼容性提示

    GuestTools安装结果与兼容性提示
    Note: 若出现zs-tools is not verified for os提示,表示该操作系统尚未经过工具验证,不能据安装成功判断官方兼容性。

创建系统模板

背景信息

创建系统模板包含以下步骤:
  1. 创建镜像。
  2. 导出镜像。

操作步骤

  1. 创建镜像。

    以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

    在所创建云主机详情页,点击更多操作 > 镜像与ISO > 创建镜像,进入创建镜像界面。

    可参考以下示例输入相应内容:
    • 名称:设置镜像名称
    • 简介:可选项,可留空不填
    • 镜像类型:选择系统镜像
    • 镜像服务器:选择已创建的镜像服务器
    如图 10所示:
    图 10. 创建镜像


  2. 导出镜像
    导出镜像用于其他云平台直接使用该镜像创建云主机,不同类型镜像服务器的导出方法不同:
    • ImageStore类型镜像服务器。

      在镜像页面点击操作 > 导出镜像按钮,即可导出镜像。

      镜像生成后,可以在总览页面复制已导出的镜像URL下载镜像,也可以在导出记录页面复制已导出的镜像URL或直接点击下载镜像。

    • Ceph类型镜像服务器。支持在UI和镜像服务器上导出镜像。
      • 在UI上导出:

        在镜像页面点击操作 > 导出镜像按钮,即可导出镜像。

        镜像导出后,可在总览页面复制已导出的镜像URL下载镜像,也可在导出记录页面复制已导出的镜像URL或直接点击下载镜像。

      • 在镜像服务器上导出:
        1. 进入已创建镜像的总览页面,复制安装路径。
        2. 登录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:// 前缀。

后续操作

至此,openEuler 24.03 LTS SP4系统模板封装已完成,可使用该镜像批量生成云主机。
OpenEuler 24系统模板封装教程 | 5.5.38 | ZStack Cloud · ZCF | ZStack 资源中心