OpenStack 创建自定义的QCOW2格式镜像

news2024/10/9 16:58:55

目录

创建kvm虚拟机

创建目录上传ISO镜像

将 CentOS 7.4 上传到 /soft 目录下

创建 kvm虚机 使用的磁盘文件

配置kvm虚拟机

修改 KVM 虚机网络配置文件

安装 cloud-init 软件包

编辑 cloud.cfg 文件

编辑 network 文件

编辑 grub 文件

关闭kvm虚拟机

创建 QCOW2 镜像

重置并清理镜像

创建并压缩镜像

测试镜像启动 


挂载光盘

[root@lucky ~]# mount /dev/cdrom /mnt

mount: /dev/sr0 is write-protected, mounting read-only

[root@lucky ~]# ls /mnt

CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7

EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7

EULA             isolinux  repodata  TRANS.TBL

配置本地源

[root@lucky ~]# cd /etc/yum.repos.d/

[root@lucky yum.repos.d]# mkdir bak

[root@lucky yum.repos.d]# mv *.repo bak

[root@lucky yum.repos.d]# vim 111.repo

[root@lucky yum.repos.d]# cat 111.repo

[baseurl]

name = baseurl

baseurl = file:///mnt

gpgcheck = 0

安装虚拟化软件包及虚拟机镜像管理工具

[root@lucky ~]# yum groupinstall -y "Virtualization*"

[root@lucky ~]# yum install -y libguestfs-tools-c.x86_64

创建kvm虚拟机
创建目录上传ISO镜像

[root@lucky ~]# mkdir -p /soft/disk

将 CentOS 7.4 上传到 /soft 目录下

[root@lucky ~]# ls /soft

CentOS-7-x86_64-DVD-1810.iso  disk

创建 kvm虚机 使用的磁盘文件

[[root@lucky ~]# qemu-img create -f qcow2 /soft/disk/centos7.qcow2 15G

Formatting '/soft/disk/centos7.qcow2', fmt=qcow2 size=16106127360 encryption=off cluster_size=65536 lazy_refcounts=off

创建 kvm 虚机

[root@lucky ~]# virt-install \

> --name centos \

> --disk path=/soft/disk/centos7.qcow2 \

> --vcpus 1 \

> --memory 2048 \

> --location /soft/CentOS-7-x86_64-DVD-1810.iso \

> --network network=default

配置kvm虚拟机
修改 KVM 虚机网络配置文件

[root@lucky ~]# cd /etc/sysconfig/network-scripts/

[root@lucky network-scripts]# cat ifcfg-eth0

TYPE="Ethernet"

BOOTPROTO="dhcp"

DEFROUTE="yes"

NAME="eth0"

DEVICE="eth0"

ONBOOT="yes"

安装 cloud-init 软件包

[root@lucky ~]# yum install -y cloud-utils-growpart cloud-init

编辑 cloud.cfg 文件

编辑 /etc/cloud/cloud.cfg 配置文件,在 cloud_init_modules 下添加以下内容

 - resolv-conf

编辑 network 文件

配置文件,使其包含以下内容,避免访问 EC2 元数据服务时出现问题。

root@lucky ~]# vi /etc/sysconfig/network

[root@lucky ~]# cat /etc/sysconfig/network

# Created by anaconda

NOZEROCONF=yes

编辑 grub 文件

配置文件,使其包含以下引导选项内容,为了确保控制台的信息出现在 dashboard 的日志标签页中,以及 nova console-log 日志的输出内容中。

[root@lucky ~]# cat /etc/default/grub

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"

GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"

GRUB_DISABLE_RECOVERY="true"

执行命令使参数生效

[root@lucky ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-3.10.0-957.el7.x86_64

Found initrd image: /boot/initramfs-3.10.0-957.el7.x86_64.img

Found linux image: /boot/vmlinuz-0-rescue-22867537d636425fb339f9411e7e4959

Found initrd image: /boot/initramfs-0-rescue-22867537d636425fb339f9411e7e4959.img

done

关闭kvm虚拟机

[root@lucky ~]# init 0

创建 QCOW2 镜像

注意:以下步骤在 虚机 中操作,不是 kvm 虚机,

重置并清理镜像

root@lucky ~]# virsh list --all

 Id    Name                           State

----------------------------------------------------

 -     centos                         shut off

[root@lucky ~]# virt-sysprep -d centos

[   0.0] Examining the guest ...

[  31.9] Performing "abrt-data" ...

[  31.9] Performing "backup-files" ...

[  33.5] Performing "bash-history" ...

[  33.5] Performing "blkid-tab" ...

[  33.6] Performing "crash-data" ...

[  33.6] Performing "cron-spool" ...

[  33.6] Performing "dhcp-client-state" ...

[  33.6] Performing "dhcp-server-state" ...

[  33.6] Performing "dovecot-data" ...

[  33.6] Performing "logfiles" ...

[  33.7] Performing "machine-id" ...

[  33.7] Performing "mail-spool" ...

[  33.7] Performing "net-hostname" ...

[  33.8] Performing "net-hwaddr" ...

[  33.8] Performing "pacct-log" ...

[  33.8] Performing "package-manager-cache" ...

[  33.9] Performing "pam-data" ...

[  33.9] Performing "passwd-backups" ...

[  33.9] Performing "puppet-data-log" ...

[  33.9] Performing "rh-subscription-manager" ...

[  33.9] Performing "rhn-systemid" ...

[  33.9] Performing "rpm-db" ...

[  33.9] Performing "samba-db-log" ...

[  33.9] Performing "script" ...

[  33.9] Performing "smolt-uuid" ...

[  33.9] Performing "ssh-hostkeys" ...

[  33.9] Performing "ssh-userdir" ...

[  33.9] Performing "sssd-db-log" ...

[  34.0] Performing "tmp-files" ...

[  34.0] Performing "udev-persistent-net" ...

[  34.0] Performing "utmp" ...

[  34.0] Performing "yum-uuid" ...

[  34.0] Performing "customize" ...

[  34.0] Setting a random seed

[  34.0] Setting the machine ID in /etc/machine-id

[  34.1] Performing "lvm-uuids" ...

创建并压缩镜像

查找 centos 实例对应的磁盘文件

[root@lucky ~]# virsh domblklist centos

Target     Source

------------------------------------------------

vda        /soft/disk/centos7.qcow2

hda        -

创建并清理压缩镜像

[root@lucky ~]# virt-sparsify --compress /soft/disk/centos7.qcow2 /tmp/centos-cloud.qcow2

[   0.0] Create overlay file in /tmp to protect source disk

[   0.1] Examine source disk

 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00

[  13.3] Fill free space in /dev/centos/root with zero

 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00

[  89.1] Clearing Linux swap on /dev/centos/swap

[  91.1] Fill free space in /dev/sda1 with zero

 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ --:--

[  97.2] Copy to destination and make sparse

[ 204.0] Sparsify operation completed with no errors.

virt-sparsify: Before deleting the old disk, carefully check that the

target disk boots and works correctly.

测试镜像启动 

注册镜像,将镜像 centos-cloud.qcow2 注册到 OpenStack 平台

创建云主机类型(规格) 

然后直接发放云主机并且使用刚创建好的镜像 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2199532.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

10.8 C高级-shell脚本3

1、思维导图: 2、练习 分支结构结合test指令完成一下编程 1>判断闰年 2>输入一个数判断是否为偶数 3>使用test指令实现等级判断 90--100A 60--89B 0-50C 其他错误 代码: #!/bin/bash #分支结构结合test指令完成以下编程 #1判断是否闰年 read …

工业网关设备在智能制造中的应用有哪些?天拓四方

工业网关设备是一种用于连接工业设备和物联网子系统的设备,它能够实现数据采集、远程监控、远程控制和数据传输等功能。基于强大的数据处理和传输能力,工业网关设备能够实时采集各种工业设备的运行数据,并将其传输到云平台或数据中心进行存储…

【java】final关键字详解

🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…

升级 OpenSSL 的详细步骤(解决 SSH 漏洞的前提)

目录 前言1. 准备工作1.1 安装必要的依赖1.2 下载 OpenSSL 源码 2. 解压和配置2.1 解压文件2.2 配置编译参数 3. 编译和安装3.1 编译源码3.2 安装 OpenSSL 4. 验证安装5. 解决 SSH 漏洞的必要性6. 结语 前言 在信息安全的时代,服务器的安全性至关重要。特别是在互联…

颠覆再临!OpenAI Canvas让AI写作与编程焕然一新

目录 在Canvas界面中,你可以:Canvas有哪些强大功能?写作助手的升级编程功能的提升 网友反响如何?[如何直接使用ChatGPT4o、o1、OpenAI Canvas](https://www.nezhasoft.cn/) 👇 [ChatGPT o1网页入口在文末](https://www…

Java软件架构师结合实际项目经验总结软件架构的发展进程与原理(重点讲微服务架构怎么来的)

软件架构师结合实际项目经验总结软件架构的发展进程与原理 一、前言 笔者自己一直从事软件开发工作,算上大四实习1年,一直到今年整整12年,这期间有些人已经转了管理岗或者转行,已经完全不敲代码了!笔者依然在一线编码…

tp5 fastadmin列表页图片批量压缩并下载

记录&#xff1a;tp5 fastadmin对列表页选中数据的多张图片进行压缩并下载。 html代码 <a href"javascript:;" class"btn btn-info btn-apple btn-disabled disabled {:$auth->check(zhuanli/zhuanli/xiazai)?:hide}" title"批量下载专利证书…

关于学习神经网络的一些感悟

intro 本文主要是笔者学习神经网络时一些思考的感悟&#xff0c;由于本人对人工智能方向了解甚浅&#xff0c;所以记录的理解会有不正确的地方&#xff0c;欢迎批评指正&#xff01; 深度学习与传统机器学习算法的一个显著区别&#xff1a;对于传统的机器学习算法&#xff0c;可…

Sealos Devbox 发布,珍爱生命,远离 CI/CD

水滴攻击太阳系用的是最原始的攻击方式&#xff1a;撞击&#xff01;却又如此有效率。 当我们搞了一堆容器、编排、CI/CD、DevOps&#xff0c;发明了一大堆没什么用的名词之后&#xff0c;最终发现这些操作都是花里胡哨&#xff0c;让开发者越陷越深。 最终你会发现一个真理&…

2句话说通 一体化模型与矢量模型的不同

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道࿰

Mendix 创客访谈录|平台造平台真的可以吗?– 记西门子自由流业务系统的实战

本期创客 瞿凯歌 北京无尖科技有限公司 实施部技术负责人 大家好&#xff0c;我叫瞿凯歌&#xff0c;毕业于计算机科学技术&#xff0c;7年软件开发经验。目前任职于北京无尖科技有限公司&#xff0c;担任实施部技术负责人。 我们公司专注于企业数字化转型业务&#xff0c;利用…

Java8新特性, 函数式编程及Stream流用法大全

用了多少年的java8了&#xff0c;Lambda表达式和stream流也经常用&#xff0c;但是也仅限于某些用法比较熟练&#xff0c;看见了 Function、Consumer 等函数式接口还是一脸懵逼&#xff0c;现在来全面总结一下java8这些新特性&#xff0c;也为自己后续查找做个备忘。如果你只是…

体系指南|如何从0到1建设一套软件测试CMA体系

软件测试实验室在申请CMA测试认证时&#xff0c;需要根据CMA的要求&#xff0c;建立一套质量管理体系&#xff0c;还需要参照相关标准建立一套技术体系。本文我们重点介绍质量管理体系的建设。这部分内容我们可以参照《检验检测机构资质认定能力评价 检验检测机构通用要求》中&…

Python神仙级思维导图+入门教程(非常详细,入门从这篇开始)

入门 Python 绝非难事&#xff0c;但如何让自己坚持学下去是如今很多学习者面对的一大难题。为了避免像背单词永远停留在 abandon 一样&#xff0c;积极展开自救的小编在尝试过一些入门方法后&#xff0c;终于找到了一个超级棒的一份思维导图视频教程 这是我刚开始学习python时…

谷歌发布建筑数据,高度误差达惊人的1.5米

建筑数据对规划人口增长、应对危机和深入了解城市化带来的影响有很大的帮助&#xff0c;这里为大家分享谷歌全球南方带高度的建筑数据集。 数据介绍 到2050年&#xff0c;全球城市人口预计将增加25亿&#xff0c;其中近90%的增幅将出现在亚洲和非洲的城市。 但恰巧是这些地方…

World of Warcraft [WeakAuras](WA)

https://addons.wago.io/addons/weakauras WeakAuras-5.13.1 复制到自己游戏的AddOns目录 D:\Battle.net\World of Warcraft\_classic_\Interface\AddOns 启动命令 /wa

职场基本功:击退欺凌

文章目录 引言I 什么是职场欺凌?不友好行动确认对方是不是真的有敌意II 反击欺凌信任领导找到敌营里的薄弱点,击溃打手,各个击破。别急着跟欺凌者和解III 应对特殊情况的欺凌引言 面对职场欺凌,有明确敌意的。这时候需要你反击,千万别认怂。 但不是所有的欺凌行为都值得我…

HTML5实现古典音乐网站源码模板1

文章目录 1.设计来源1.1 网站首页1.2 古典音乐界面1.3 著名人物界面1.4 古典乐器界面1.5 历史起源界面2.效果和源码2.1 动态效果2.2 源代码源码下载万套模板,程序开发,在线开发,在线沟通作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/142…

一键升级 Win10 22H2 19045.5011 正式版:含9项改进和修复!

今日&#xff0c;系统之家小编给您分享2024年10月最新更新的Windows10 22H2正式版系统下载&#xff0c;该版本系统基于微软官方最新Windows10 22H2 19045.5011 64位专业版进行离线制作&#xff0c;安全无毒&#xff0c;集成万能驱动&#xff0c;且本次更新包含了9项改进和修复&…

粤港澳脑病中医药科创大会召开,助力脑病相关中药研发、转化

9月28日&#xff0c;由广州粤港澳脑病中医药产学研技术创新联盟、广州市脑病中医药大健康产学研促进会与暨南大学联合主办&#xff0c;暨南大学中医学院及中医药调控脑-外周稳态与大健康粤港澳联合实验室承办&#xff0c;中国生理学会中医药与脑稳态调控专委会、生物活性分子与…