ZStack云平台镜像封装实践 -- ZCCT考试

2024-02-04 11:20

本文主要是介绍ZStack云平台镜像封装实践 -- ZCCT考试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ZStack云平台镜像封装实践

00. 镜像封装的目的

  • 提高安装效率
    • 相比如iso模式创建云主机,使用已封装的镜像创建云主机,无需配置分区、安装模式等内容,提高部署效率
  • 无人值守安装
    • 创建云主机过程中无需人为干预,可批量创建云主机
  • 自定义配置
    • 封装镜像时可自定义软件包,安装更新、驱动等,可做到即装即用

01. 封装Linux

1.1 创建云主机

  • 添加镜像并且创建云主机
  • 指定hostname
  • 配置网络
  • 安装QEMU Guest Agent
  • 安装cloud-init(ssh_pwauth)
  • 创建系统模板,导出镜像(可选)

在这里插入图片描述

  • 系统模板配置
  • 创建系统模板

1.2 Linux 创建演示

  • winscp上传文件到服务器端

  • 镜像选择演示

    • 类型选择系统镜像
    • 镜像格式选择iso
    • URL选择文件URL
    • 选择好之后点击确定创建镜像

在这里插入图片描述

  • 创建成功

在这里插入图片描述

  • 点击打开控制台

在这里插入图片描述

  • 打开控制台后安装操作系统即可

  • 安装完操作系统后重启,再安装几个软件包

yum -y install bash-completion
  • 再设置主机名
hostnamectl set-hostname idayuanshuai.com
  • 安装cloud-init软件包
yum -y install cloud-init
  • 修改/etc/cloud/cloud.cfg
vim /etc/cloud/cloud.cfg
ssh_pwauth 1
datasource_list: [ ConfigDrive, None ]
datasource:ConfigDrive:dsmode: local
  • 启动cloud-init
[root@192-168-1-176 ~] systemctl start cloud-init
[root@192-168-1-176 ~] systemctl status cloud-init
● cloud-init.service - Initial cloud-init job (metadata service crawler)Loaded: loaded (/usr/lib/systemd/system/cloud-init.service; enabled; vendor preset: disabled)Active: active (exited) since Fri 2020-11-06 10:05:32 CST; 7s agoProcess: 9748 ExecStart=/usr/bin/cloud-init init (code=exited, status=0/SUCCESS)Main PID: 9748 (code=exited, status=0/SUCCESS)Nov 06 10:05:32 192-168-1-176 cloud-init[9748]: **************************************************************************
Nov 06 10:05:32 192-168-1-176 useradd[9775]: new group: name=centos, GID=1000
Nov 06 10:05:32 192-168-1-176 useradd[9775]: new user: name=centos, UID=1000, GID=1000, home=/home/centos, shell=/bin/bash
Nov 06 10:05:32 192-168-1-176 useradd[9775]: add 'centos' to group 'adm'
Nov 06 10:05:32 192-168-1-176 useradd[9775]: add 'centos' to group 'wheel'
Nov 06 10:05:32 192-168-1-176 useradd[9775]: add 'centos' to group 'systemd-journal'
Nov 06 10:05:32 192-168-1-176 useradd[9775]: add 'centos' to shadow group 'adm'
Nov 06 10:05:32 192-168-1-176 useradd[9775]: add 'centos' to shadow group 'wheel'
Nov 06 10:05:32 192-168-1-176 useradd[9775]: add 'centos' to shadow group 'systemd-journal'
Nov 06 10:05:32 192-168-1-176 systemd[1]: Started Initial cloud-init job (metadata service crawler).
  • 修改网卡配置文件,删除掉uuidmac地址,只留下如下内容
[root@idayuanshuai ~] cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=dhcp
DEVICE=eth0
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
  • 安装qemu-guest-agent
[root@idayuanshuai ~] yum -y install qemu-guest-agent
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
Package 10:qemu-guest-agent-2.12.0-3.el7.x86_64 already installed and latest version
Nothing to do

安装完成之后,即可支持再ZStackUI上在线修改云主机密码

  • 设置qemu-guest-agentcloud-init的开机自启动
[root@idayuanshuai ~]  systemctl enable cloud-init
[root@idayuanshuai ~]  systemctl enable qemu-guest-agent.service 
  • 安装vim
[root@idayuanshuai ~] yum -y install vim &> /dev/null
  • 关闭SElinux
[root@idayuanshuai ~] vim /etc/selinux/config
SELINUX=disabled
[root@idayuanshuai ~] setenforce 0
[root@idayuanshuai ~] getenforce 
Permissive
  • 将缓存中的内容写入磁盘
[root@idayuanshuai ~] sync 
[root@idayuanshuai ~] sync 
[root@idayuanshuai ~] sync 
[root@idayuanshuai ~] sync 
  • 关机
shutdown -h now
  • 创建云主机的模板镜像

在这里插入图片描述

  • 创建镜像

在这里插入图片描述

  • 创建云主机验证镜像是否成功
    在这里插入图片描述

  • 在云主机的详情页里面打开QGA开关,因为制作镜像时已经安装了qemu-guest agent

在这里插入图片描述

  • 在镜像的详情页里面也打开QGA开关

在这里插入图片描述

  • 选择导出镜像

在这里插入图片描述

  • 此时会显示已导出镜像的URL

在这里插入图片描述

可以直接通过该链接下载URLqcow2文件

02. 封装Windows

  • 创建云主机
  • 安装驱动程序
  • 预处理系统
  • 创建系统模板

在这里插入图片描述


2.1 创建系统镜像

  • 平台选择Windows virtio因为其性能更好

  • 不要勾选已安装qemu-guest agent

在这里插入图片描述


2.2 创建驱动镜像

  • 镜像格式选择iso
  • 平台选择others
  • 不勾选已安装qemu-guest agent

在这里插入图片描述


2.3 安装驱动

  • 安装scsi控制器驱动
    • 选择vioscsi目录下的2k12R2下的amd64目录
  • PCI简单通讯控制器驱动
    • 选择vioserial目录下的2k12r2下的amd64目录
  • 开启内存监控
    • 将驱动器下的Balloon下的2k12R2下的amd64目录下的blnsvr文件复制到C:/Windows/System32目录下
  • 以管理员身份运行CMD
    • 执行blnsvr.exe -l命令,执行完成后服务将会自动安装,启动
  • 进入驱动磁盘下的guest-agent目录下双击qemu-ga-x86_64.msi程序
  • 安装cloud-init程序
    • 进入官网https://cloudbase.it/cloudbase-init/#download
    • 选择对应的安装程序

在这里插入图片描述

  • 打开cmd
    • 输入diskpart
    • 再输入san policy=onlineall
  • 退出,再次打开cmd,进入c:Windows\System32\Sysprep\目录下,执行sysprep.exe命令
    • 对于弹出的窗口,勾选通用

03. 其他

  • 镜像格式支持qcow2isoraw三种
  • 使用virtio效率更高。如果Windows使用了virtio接口那么创建镜像时便选择WindowsVirtio平台
  • URL支持HTTP/HTTPS/FTP/SFTPfile方式,还支持本地文件上传
  • BIOS支持legacyuefi

这篇关于ZStack云平台镜像封装实践 -- ZCCT考试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/677319

相关文章

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

在Java中使用OpenCV实践

《在Java中使用OpenCV实践》用户分享了在Java项目中集成OpenCV4.10.0的实践经验,涵盖库简介、Windows安装、依赖配置及灰度图测试,强调其在图像处理领域的多功能性,并计划后续探... 目录前言一 、OpenCV1.简介2.下载与安装3.目录说明二、在Java项目中使用三 、测试1.测

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

SpringBoot整合(ES)ElasticSearch7.8实践

《SpringBoot整合(ES)ElasticSearch7.8实践》本文详细介绍了SpringBoot整合ElasticSearch7.8的教程,涵盖依赖添加、客户端初始化、索引创建与获取、批量插... 目录SpringBoot整合ElasticSearch7.8添加依赖初始化创建SpringBoot项

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤