文档目录

环境准备

前提条件

CentOS 6系统模板封装需提前获取ISO镜像,并将其添加至ZStack Cloud云平台,以备操作系统安装时使用。请注意以下内容:
  • 用户需在官网自行获取CentOS 6安装镜像,并遵守相关授权许可。
  • 本文档参考版本为:CentOS-6.9-x86_64-bin-DVD1.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: 按需选择合适的云盘规格大小,该云盘规格将用于CentOS 6云主机系统云盘。
      • 若安装CentOS 6命令行界面,推荐使用大于等于40GB的云盘规格。
      • 若安装CentOS 6图形界面(GNOME),推荐使用大于等于60GB的云盘规格。
    • 设置磁盘带宽:可选项,可设置云盘的I/O带宽上限
    • 设置磁盘IOPS:可选项,可设置云盘每秒的读写次数上限
    • 高级参数:可选项,可通过JSON格式配置高级参数
    图 2所示:
    图 2. 创建云盘规格


封装模板

安装操作系统

背景信息

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

操作步骤

  1. 创建云主机。

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

  2. 安装CentOS 6。
    1. 选择启动项。

      打开控制台,进入CentOS 6安装界面,选择Install system with basic video driver,使用图形化界面安装。

      图 3所示:
      图 3. CentOS 6安装界面


    2. 测试媒体。

      可使用方向键选择是否对媒体进行测试。

    3. 选择安装语言。

      选择安装语言,本教程选择English(English)做为安装程序和系统默认语言,用户可按需选择。

    4. 选择键盘布局。

      选择键盘布局,一般选择U.S. English即可。

    5. 选择安装设备类型。

      选择系统安装的存储设备类型为Basic Storage Devices

    6. 放弃数据。

      由于云盘为虚拟设备,系统会提示存储设备警告,选择Yes, discard any data

      图 4所示:
      图 4. 放弃数据


    7. 选择时区。

      选择系统的时区为Asia/Shanghai

      图 5所示:
      图 5. 选择时区


      Note: 可直接点击地图快速选择。
    8. 设置root用户密码。
    9. 磁盘分区。

      选择分区方式,选择Use All Space使用云盘全部空间。

      图 6所示:
      图 6. 磁盘分区


      Note: 用户如需自定义,可选择Create Custom Layout自行配置磁盘分区。
    10. 安装启动引导。
    11. 选择安装类型。

      选择安装类型为Basic Server

      图 7所示:
      图 7. 选择安装种类


      Note: 若需安装图形界面GNOME,可选择Minimal Desktop
    12. 开始安装。

      等待系统安装完成,点击Reboot重启,进入系统。

配置模板系统

背景信息

模板系统配置包含以下步骤:
  1. 指定Hostname。
  2. 开启SSH密码登录。
  3. 安装Qemu Guest Agent。
  4. 配置网络。
  5. (可选)安装cloud-init。
  6. (可选)安装性能优化工具。

操作步骤

  1. 指定Hostname。

    默认的主机名为IP地址,可使用hostname localhost命令,指定为localhost。永久生效可执行 vi /etc/sysconfig/network命令,将HOSTNAME参数值修改为localhost.domain.com,重启后生效。

  2. 开启SSH密码登录。
    在CentOS 6中,SSH默认无法使用root密码登录,使用以下命令允许SSH密码登录:
    [root@localhost ~]# sed -i '/^PasswordAuthentication/cPasswordAuthentication yes' /etc/ssh/sshd_config    #使用sed命令,将/etc/ssh/sshd_config配置文件中的PasswordAuthentication参数值改为 yes
  3. 安装Qemu Guest Agent。
    使用以下命令安装Qemu Guest Agent:
    [root@localhost ~]# yum install qemu-guest-agent -y    #使用yum安装qemu-guest-agent
    [root@localhost ~]# chkconfig qemu-ga on    #设置qemu-guest-agent开机自启
    [root@localhost ~]# sed -i '/SELINUX=/cSELINUX=disabled' /etc/selinux/config     #禁用SELinux
    Note: 针对CentOS6.5/6.8/6.9版本,也可通过安装性能优化工具安装Qemu Guest Agent,详见(可选)安装性能优化工具
  4. 配置网络。
    为使模板创建出的云主机可自动获取IP地址,并且适配网卡物理地址,需修改网卡相关配置,执行命令如下:
    [root@localhost ~]# sed -i '/SUBSYSTEM/d' /etc/udev/rules.d/70-persistent-net.rules    #删除设备管理器对网卡信息的关联
    [root@localhost ~]# sed -i '/ONBOOT=/cONBOOT=yes' /etc/sysconfig/network-scripts/ifcfg-eth0     #设置开机自动激活网卡
    [root@localhost ~]# sed -i '/^UUID'/d /etc/sysconfig/network-scripts/ifcfg-eth0    #删除网卡配置文件中的UUID
    [root@localhost ~]# sed -i '/^HWADDR'/d /etc/sysconfig/network-scripts/ifcfg-eth0    #删除网卡配置文件中的物理地址
    Note: 删除设备管理器对网卡信息的关联后,请勿重启系统,否则将导致使用该模板所创云主机的网卡名称被Linux错误命名。
  5. (可选)安装cloud-init。
    为保证使用封装镜像创建云主机时支持User Data或SSH公钥等自定义配置功能,需要在封装镜像前安装cloud-init。推荐cloud-init版本为:0.7.9、17.1、19.4及以后版本,请按需选择并自行安装。
    Note: 安装cloud-init需注意以下内容:
    • 请安装推荐版本cloud-init,否则可能导致User Data或SSH公钥功能不可用。
    • 安装cloud-init后,SSH密码认证默认关闭,如需开启,需使用vi /etc/cloud/cloud.cfg命令,设置ssh_pwauth参数值为1
  6. (可选)安装性能优化工具。
    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 > 创建镜像,进入创建镜像界面。

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


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

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

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

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

        进入该镜像详情页,点击更多操作 > 导出镜像,即可导出需要的镜像。

      • 在镜像服务器上导出:
        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:// 前缀。

后续操作

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