文档目录

环境准备

前提条件

Ubuntu系统模板封装需提前获取ISO镜像,并将其添加至ZStack Cloud云平台,以备操作系统安装时使用。请注意以下内容:
  • 用户需在官网自行获取Ubuntu 14.04.5(以下简称为Ubuntu 14)安装镜像,并遵守相关授权许可。
  • 本文档参考版本为:ubuntu-14.04.5-server-amd64.iso

背景信息

本章节分为以下流程:
  1. 添加安装镜像。
  2. 创建云盘规格。

操作步骤

  1. 添加安装镜像。

    ZStack Cloud主菜单,点击资源中心 > 云资源池 > 计算配置 > 镜像,进入镜像界面。点击添加镜像,弹出添加镜像界面。

    参考以下示例输入相应内容:
    • 名称:设置镜像名称
    • 简介:可选项,可留空不填
    • 镜像类型:选择系统镜像
    • 镜像格式:选择iso
    • CPU架构:设置镜像的CPU架构,云主机在创建时将继承镜像的CPU架构,此处选择x86_64
    • 平台:选择Linux平台
    • 操作系统:选择Linux
    • Virtio:默认打开
    • 镜像服务器:选择已创建的镜像服务器
    • 镜像路径:添加URL路径或上传本地文件
      • URL:采用指定的URL路径来添加镜像,支持以下格式:
        • HTTP/HTTPS格式:
          • 填写格式为:http://host[:port]/path/filehttps://host[:port]/path/file
        • FTP格式:
          • 匿名模式:ftp://hostname[:port]/path/file
          • 非匿名模式:ftp://user:password@hostname[:port]/path/file
        • SFTP格式:
          • 指定密码模式:sftp://user:password@hostname[:port]/path/file
          • 免密模式:sftp://user@hostname[:port]/path/file
        • 镜像服务器上的绝对路径,支持ImageStore镜像服务器

          例如:file:///path/file

        Note:
        • 输入URL时,需确保可被镜像服务器访问,且存在此镜像文件。
        • 使用SFTP免密模式上传镜像时,需提前确保镜像服务器与SFTP服务器可互相SSH免密登录。
        • 关于平滑连续进度条显示和断点续传:
          • ImageStore和Ceph镜像服务器均支持平滑连续进度条显示与断点续传。
        • 关于file:///方式上传镜像:
          • 若使用Ceph镜像服务器,目前暂不支持file:///格式的输入。
          • file:///是三个/,对应的路径应为镜像服务器的绝对路径。例如file:///opt/dvd/image-1.4.qcow2,在镜像服务器的/opt/dvd目录下应存放有image-1.4.qcow2文件。
      • 本地文件:选择当前浏览器可访问的镜像直接上传,支持ImageStore和Ceph镜像服务器
        Note: 添加本地文件作为镜像,采用了本地浏览器作为中转上传镜像,请勿刷新或关闭当前浏览器,也不可停止管理节点服务,否则会添加失败。
    • BIOS模式:选择Legacy
    图 1所示:
    图 1. 添加镜像


  2. 创建云盘规格。

    ZStack Cloud主菜单,点击资源中心 > 云资源池 > 计算配置 > 云盘规格,进入云盘规格界面。点击创建云盘规格,弹出创建云盘规格界面。

    可参考以下示例输入相应内容:
    • 名称:设置云盘规格名称
    • 简介:可选项,可留空不填
    • 容量:设置云盘容量大小
      Note: 按需选择合适的云盘规格大小,该云盘规格将用于Ubuntu 14.04.5云主机系统云盘。
      • 若安装Ubuntu 14命令行界面,推荐使用大于等于40GB的云盘规格。
      • 若安装Ubuntu 14图形界面(GNOME),推荐使用大于等于60GB的云盘规格。
    • 设置磁盘带宽:可选项,可设置云盘的I/O带宽上限
    • 设置磁盘IOPS:可选项,可设置云盘每秒的读写次数上限
    • 高级参数:可选项,可通过JSON格式配置高级参数
    图 2所示:
    图 2. 创建云盘规格


模板封装

安装操作系统

背景信息

安装操作系统包含以下步骤:
  1. 创建云主机。
  2. 安装Ubuntu 14。

操作步骤

  1. 创建云主机。

    ZStack Cloud云平台创建云主机,并使用安装镜像引导云主机启动,详情可参考《用户手册》的创建云主机章节。

  2. 安装Ubuntu 14。
    1. 选择语言。

      打开控制台,进入Ubuntu 14语言选择界面,用户可按需选择语言,本教程选择English作为本次安装语言,按下Enter进入引导界面。

      图 3所示:
      图 3. 选择语言


    2. 选择启动项。

      Ubunru 14引导界面,选择Install Ubuntu Server,开始安装系统。

      图 4所示:
      图 4. Ubuntu 14安装界面


    3. 配置其他选项。

      用户可自行跟随安装提示,选择安装语言、所在位置、键盘语言、键盘类型等个性化配置。

    4. 创建用户。

      创建一个非root用户,例如示例用户全名为normal user,用户名为user,密码为password

    5. 磁盘分区。

      用户可按需选择Manual自定义分区,本教程使用自动分区方式进行安装,选择Guided - use entire disk,使用整个磁盘并自动分区。

    6. 安装服务。

      安装所需服务及系统配置,用户可按需选择,本教程仅安装OpenSSH server

      图 5所示:
      图 5. 安装服务


    7. 进入系统。

      完成后,选择Continue,系统将自动重启并进入Ubuntu 14系统。

配置模板系统

背景信息

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

操作步骤

  1. 指定Hostname。

    默认的主机名为IP地址,使用hostname localhost,指定为localhost

    如果想要永久生效,执行 vim /etc/hostname,修改如下行:HOSTNAME=localhost.domain.com,重启后生效。
    Note: 修改主机名时应注意区分是哪种Linux发行版。Fedora发行版将主机名存放在/etc/sysconfig/network文件中。其它发行版中,可能存在/etc/hostname文件中。
  2. 安装network-manager。
    执行以下命令安装network-manager:
    [root@localhost ~]# apt-get install network-manager   #安装network-manager
    [root@localhost ~]# systemctl start network-manager   #启动网络服务
    [root@localhost ~]# systemctl enable network-manager   #配置network-manager开机自启动
    Note: 根据Ubuntu版本不同,启动网络服务方式不同,有的版本安装完network-manager会自动启动,请根据实际情况进行操作。
  3. 安装Qemu Guest Agent。
    执行以下命令安装Qemu Guest Agent:
    [root@localhost ~]# sudo apt-get install qemu-guest-agent   #安装Qemu Guest Agent
    [root@localhost ~]# sudo apt-get install sysv-rc-conf   #安装ubuntu管理服务
    [root@localhost ~]# sysv-rc-conf qemu-guest-agent on   #设置Qemu Guest Agent开机启动程序
    Note:
    • 若使用Ubuntu 14.04,请依次执行以下命令将Qemu Guest Agent升级到2.5版本(默认2.0):
      [root@localhost ~]# wget http://archive.ubuntu.com/ubuntu/pool/universe/q/qemu/qemu-guest-agent_2.5+dfsg-5ubuntu10_amd64.deb   #获取安装包
      [root@localhost ~]# dpkg -i qemu-guest-agent_2.5+dfsg-5ubuntu10_amd64.deb   #安装Qemu Guest Agent 2.5版本
      [root@localhost ~]# service qemu-guest-agent status   #可使用该命令查看Qemu Guest Agent运行状态
      [root@localhost ~]# qemu-ga --version   #可使用该命令查看Qemu Guest Agent版本
    • 针对Ubuntu 14.04/16.04/16.10/18.04等版本,支持通过安装性能优化工具安装Qemu Guest Agent,详见(可选)安装性能优化工具
  4. (可选)安装cloud-init。
    为了保证使用封装镜像新创建云主机时支持User Data或SSH公钥等自定义配置功能,需要在封装镜像前安装cloud-init。推荐cloud-init版本为:0.7.9、17.1、19.4及以后版本,请按需选择并自行安装。
    Note: 请安装推荐版本cloud-init,否则可能导致User Data或SSH公钥功能不可用。
  5. (可选)安装性能优化工具。
    1. 挂载性能优化工具ISO。
      在云主机详情页点击安装性能优化工具,完成ISO挂载。
    2. 执行安装命令。
      进入云主机控制台,执行以下命令完成性能优化工具安装:
      [root@localhost ~]# mkdir /mnt/cdrom    #创建挂载点
      [root@localhost ~]# mount /dev/cdrom /mnt/cdrom    #挂载CD-ROM镜像
      [root@localhost ~]# cd /mnt/cdrom/
      bash ./zs-tools-install.sh     #安装性能优化工具
      [root@localhost ~]# cd ~
      umount /mnt/cdrom    #卸载CD-ROM镜像 (可选)
    Note: 请注意以下内容:
    • 创建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类似盘符。

创建系统模板

背景信息

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

操作步骤

  1. 创建镜像。

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

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


  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:// 前缀。

后续操作

至此,Ubuntu 14系统模板封装已完成,可使用该镜像批量生成云主机。
Ubuntu系统模板封装教程 | 5.4.12 | ZStack Cloud · ZCF | ZStack 资源中心