Centos图形化界面封装OpenStack Ubuntu镜像

目录

背景

环境

 搭建kvm环境

安装ubuntu虚机

虚机设置

系统安装

登录虚机

安装cloud-init

安装cloud-utils-growpart

关闭实例

删除细节信息

删除网卡细节

使虚机脱离libvirt纳管

结束与验证

压缩与转移

验证是否能够正常运行

背景

一般的镜像文件在上传OpenStack之后也无法正常进行安装,适用于OpenStack的镜像可以通过官网进行下载,部分系统官方提供云镜像的下载,也可以通过自己根据需要虚拟化安装之后打包,这里介绍的是centos7环境下通过kvm对Ubuntu18.04版本镜像进行打包的操作。

之所以使用图形化是因为还有很多不熟悉virsh工具的兄弟,也不会使用vnc访问kvm虚机,直接使用virt-manager更为直观也更容易理解

环境

VMwareworkstation17pro
——打开VT
CentOS Linux release 7.9.2009 (Ubuntu也可以,centos8和9都可以,大差不差)
——网络NAT
——50G硬盘,自动分区
镜像版本Ubuntu18.04
bionic-mini.iso

 搭建kvm环境

#升级软件包
yum update
#安装kvm的环境
yum -y install qemu-kvm qemu-kvm-tools virt-install qemu-img bridge-utils libvirt virt-manager

#用centos9做到一半发现centos9不支持18.04版本的安装了,很尴尬
#获取镜像,例子中使用的是一个64M的小型镜像,也可以自己下载好传到虚拟机里
wget -O /var/lib/libvirt/boot/bionic-mini.iso \
  http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/mini.iso

#创建一个10G的卷文件
qemu-img create -f qcow2 /var/lib/libvirt/images/bionic.qcow2 10G

#打开virt-manager
virt-manager

安装ubuntu虚机

虚机设置

找到并选择刚刚下载的镜像

 选择内存和vCPU个数,其实这个不太有所谓

 选择刚刚创建的卷

网络选项选择默认(我是NAT)

系统安装

——使用默认设置
——设置用户密码,用户名使用ubuntu,密码随意
——分区选择单ext4根分区 或者默认LVM分区亦可
——是否自动下载随意
——在安装软件选项中,选择安装openssh,也可以安装另外在openstack中需要使用的功能

 ——选择安装grub选单

登录虚机

通过之前设置的账号密码登录

建议登录后立马改root密码,我刚两次都是装完之后输入正确密码后提示错误的

安装cloud-init

cloud-initcloud-init脚本在实例启动时启动,搜索元数据提供者以从中获取公钥,安装并将公钥放置在镜像的默认账户中,在Ubuntu中该账户就是ubuntu
它可以:
1、设置默认语⾔环境
2、设置实例主机名
3、添加 ssh keys到 .ssh/authorized_keys
4、设置⽤户密码
5、配置⽹络安装软件包

同时/var/log/cloud-init.log 会完整地记录 cloud-init 运⾏的所有细节,是 debug 最重要的⼯具。

apt install cloud-init

对cloud init进行设置

dpkg-reconfigure cloud-init

并选择EC2

通过vim /etc/cloud/cloud.cfg可以修改将密钥放在哪个user的目录下

关闭实例

su - root

/sbin/shutdown -h now

删除细节信息

删除网卡细节

#我的vm名称是ubuntu18.04
virt-sysprep -d ubuntu18.04

使虚机脱离libvirt纳管

virsh undefine ubuntu18.04

结束与验证

压缩与转移

cd /var/lib/libvirt/images/

mkdir /iso

#修改一下权限

chown root:root bionic.qcow2
virt-sparsify --compress bionic.qcow2 /iso/bionic.qcow2
#注意如果硬盘空间不足就会告警

也可以使用qemu-img convert精简置备,两个命令作用一样

qemu-img convert -c -O qcow2 bionic.qcow2 /iso/bionic.qcow2

可以看到压缩之后体积大大减少

将压缩后的bionic.qcow2拿出来上传至OpenStack

验证是否能够正常运行

glance image-create --name ubuntu-bionic --disk-format qcow2 --container-format bare --visibility public --progress < /image/bionic.qcow2

创建实例,成功登录

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HttpServletRequest/Response视频笔记

学习地址&#xff1a;144-尚硅谷-Servlet-HttpServletRequest类的介绍_哔哩哔哩_bilibili 目录 1.HttpServletRequest 类 a.HttpServletRequest类有什么作用 b.HttpServletRequest类的常用方法 c.如何获取请求参数 d.解决post请求中文乱码问题 获取请求的参数值相关问题 …

docker搭建nginx实现负载均衡

安装nginx 查询安装 [rootlocalhost ~]# docker search nginx [rootlocalhost ~]# docker pull nginx准备 创建一个什么都不配置的nginx拿到一个nginx.conf文件和conf.d文件夹 创建文件、文件夹&#xff08;只需创建logs文件夹即可&#xff0c;log文件是运行后自动挂载的&a…

2023.12.2 做一个后台管理网页(左侧边栏实现手风琴和隐藏/出现效果)

2023.12.2 做一个后台管理网页&#xff08;左侧边栏实现手风琴和隐藏/出现效果&#xff09; 网页源码见附件&#xff0c;比较简单&#xff0c;之前用很多种方法实现过该效果&#xff0c;这次的效果相对更好。 实现功能&#xff1a; &#xff08;1&#xff09;实现左侧边栏的手…

node.js express路由和中间件

目录 路由 解释 使用方式 中间件 解释 使用方式 中间件类型 路由注册和中间件注册 代码 app全局路由接口请求以及代码解析 示例1 示例2 示例3 示例4 中间件req继承 嵌套子路由 解释 代码 示例1 路由 解释 在 Express 中&#xff0c;路由&#xff08;Route&…

【大模型】更强的 ChatGLM3-6B 来了,开源可商用

【大模型】更强的 ChatGLM3-6B 来了&#xff0c;开源可商用 简介ChatGLM3-6B 环境配置环境搭建安装依赖 代码及模型权重拉取拉取 ChatGLM3-6B拉取 ChatGLM3-6B 模型权重及代码 终端测试网页测试安装 gradio加载模型并启动服务 参考 简介 ChatGLM3-6B ChatGLM3-6B 是 ChatGLM …

Python逐步打造惊艳的折线图

大家好&#xff0c;Matplotlib可以快速轻松地使用现成的函数绘制图表&#xff0c;但是微调步骤需要花费更多精力。今天本文将介绍如何使用Matplotlib绘制吸引人的图表&#xff0c;实现折线图的惊艳变身。 1.数据 为了说明方法&#xff0c;本文使用了包含过去50年各国GDP信息的…

短线买入卖出有哪些交易技巧?

前面两节课&#xff0c;我们认识了短线交易&#xff0c;知道了短线交易常见的买入卖出时机&#xff0c;这节课&#xff0c;我们来讲解一下短线买入卖出的一些交易技巧。话不多时&#xff0c;直接进入重点&#xff01; 一、短线交易要果断 短线波动快&#xff0c;在出现买卖信号…

Redis集群详解

1.1 什么是Redis集群 Redis集群是一种通过将多个Redis节点连接在一起以实现高可用性、数据分片和负载均衡的技术。它允许Redis在不同节点上同时提供服务&#xff0c;提高整体性能和可靠性。根据搭建的方式和集群的特性&#xff0c;Redis集群主要有三种模式&#xff1a;主从复制…

Vue基础知识点梳理

在Vue中&#xff0c;被用来响应地更新HTML属性的指令是v-model页面挂载成功之后会触发哪一个钩子函数mounted挂载之后会进行页面的渲染v-on是动作元素不属于条件渲染指令 在Vue中&#xff0c;下列关于Vue实例对象说法不正确的是&#xff08;&#xff09;。A.Vue实例对象是通过n…

Spring Cloud NetFlix

文章目录 Spring Cloud1 介绍2 Eureka&#xff08;服务注册与发现&#xff09;2.1 介绍2.2 服务注册与发现示例2.2.1 Eureka Server&#xff1a;springcloud-eureka2.2.2 Eureka Client&#xff1a;springcloud-provider2.2.3 Eureka Client&#xff1a;springcloud-consumer 2…

木马病毒是怎么进入服务器的,要如何防范

木马病毒通常是基于计算机网络&#xff0c;基于客户端和服务端的通信、监控程序。名称来源于公元前十二世纪希腊和特洛伊之间的一场战争。能够在计算机管理员未发觉的情况下开放系统权限、泄漏用户信息、甚至窃取整个计算机管理使用权限&#xff0c;隐匿性高。 木马病毒的入侵方…

开关电源的电感选择和布局布线

开关电源&#xff08;SMPS&#xff0c; Switched-Mode Power Supply&#xff09;是一种非常高效的电源变换器&#xff0c;其理论值更是接近100%&#xff0c;种类繁多。按拓扑结构分&#xff0c;有Boost、Buck、Boost-Buck、Charge-pump等&#xff1b;按开关控制方式分&#xff…

c语言:整数与浮点数在内存中的存储方式

整数在内存中的存储&#xff1a; 在计算机内存中&#xff0c;整数通常以二进制形式存储。计算机使用一定数量的比特&#xff08;bit&#xff09;来表示整数&#xff0c;比如32位或64位。在存储整数时&#xff0c;计算机使用补码形式来表示负数&#xff0c;而使用原码形式来表示…

如何创建一个vue工程

1.打开vue安装网址&#xff1a;安装 | Vue CLI (vuejs.org) 2.创建一个项目文件夹 3.复制地址 4.打开cmd&#xff0c;进入这个地址 5.复制粘贴vue网页的安装命令 npm install -g vue/cli 6.创建vue工程 vue create vue这里可以通过上下键来进行选择。选最后一个选项按回车。 …

企业网盘在医疗行业资料管理中的应用与优势

随着企业网盘的广泛应用&#xff0c;医疗行业正逐渐实现资料安全存储和智能化管理。海量应用的推动下&#xff0c;医院管理正朝着线上化、智能化发展迈进。然而&#xff0c;医疗行业仍面临着诸多挑战。 医疗行业的痛点在于病例、档案、药品资料繁多且保存周期长。这些资料的整理…

L1-009:N个数求和

目录 ⭐题目描述⭐ ⭐分析 ⭐程序代码 运行结果 ⭐文案分享⭐ ⭐题目描述⭐ 本题的要求很简单&#xff0c;就是求N个数字的和。麻烦的是&#xff0c;这些数字是以有理数分子/分母的形式给出的&#xff0c;你输出的和也必须是有理数的形式。 输入格式&#xff1a; 输入第一行给出…

XIAO ESP32S3之SenseCraft 模型助手部署

sipeed教程&#xff1a;SenseCraft 模型助手部署 | Seeed Studio Wiki 一、安装ESP-IDF 鉴于我的电脑之前安装过esp-idf v4.3版本&#xff0c;而ESP32-S3需要v4.4及以上版本才支持&#xff0c;所以将esp-idf更新到最新5.1版本。 1、启动mingw32.exe应用 2、进入esp-idf目录 …

前端小记--2.element-ui中级联选择器cascader如何默认展开下拉框

最近做项目时&#xff0c;遇到一个需求&#xff1a;在一个排班表中&#xff0c;展示人员的值班情况&#xff0c;点击单元格&#xff0c;弹出下拉框&#xff0c;修改人员排班信息。 由于下拉框选择内容是树状结构&#xff0c;这里使用了element-ui中级联组件cascader&#xff0c…

ganache部署智能合约报错VM Exception while processing transaction: invalid opcode

这是因为编译的字节码不正确&#xff0c;ganache和remix编译时需要选择相同的evm version 如下图所示&#xff1a; remix: ganache: 确保两者都选择london或者其他evm&#xff0c;只要确保EVM一致就可以正确编译并部署&#xff0c; 不会再出现VM Exception while processing…

Wireshark使用详解

wireshark简介 wireshark是捕获机器上的某一块网卡的网络包&#xff0c;当你的机器上有多块网卡的时候&#xff0c;你需要选择一个网卡。   wireshark能获取HTTP&#xff0c;也能获取HTTPS&#xff0c;但是不能解密HTTPS&#xff0c;所以wireshark看不懂HTTPS中的内容&#…