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

创建实例,成功登录

相关推荐
太空的旅行者4 小时前
告别双系统——WSL2+UBUNTU在WIN上畅游LINUX
linux·运维·ubuntu
人工智能训练师6 小时前
Ubuntu22.04如何安装新版本的Node.js和npm
linux·运维·前端·人工智能·ubuntu·npm·node.js
xqlily11 小时前
Linux操作系统之Ubuntu
linux·运维·ubuntu
风_峰12 小时前
Petalinux相关配置——ZYNQ通过eMMC启动
嵌入式硬件·ubuntu·fpga开发
风_峰12 小时前
【ZYNQ开发篇】Petalinux和电脑端的静态ip地址配置
网络·嵌入式硬件·tcp/ip·ubuntu·fpga开发
感哥13 小时前
OpenStack Cinder 创建卷
openstack
感哥14 小时前
OpenStack Cinder 架构
openstack
半梦半醒*14 小时前
正则表达式
linux·运维·开发语言·正则表达式·centos·运维开发
感哥15 小时前
OpenStack Nova Scheduler 计算节点选择机制
openstack
烦躁的大鼻嘎18 小时前
【Linux】深入Linux多线程架构与高性能编程
linux·运维·服务器·开发语言·c++·ubuntu