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

创建实例,成功登录

相关推荐
是安迪吖2 分钟前
基于VirtualBox和Ubuntu的虚拟环境搭建
运维·ubuntu·云计算
wdxylb4 分钟前
在远程非桌面版Ubuntu中使用Qt5构建Hello World项目
linux·ubuntu
mysql学习中1 小时前
Linux的环境变量
linux·运维·服务器·tcp/ip·centos
IChen.4 小时前
解决centos 删除文件后但空间没有释放
linux·运维·centos
LYK_HAHA10 小时前
centos常用知识和命令
linux·运维·centos
老齐谈电商10 小时前
开源电商erp系统启航电商ERP系统centos Docker部署
docker·开源·centos
獨枭13 小时前
Ubuntu 通过 Docker 搭建 GitLab
ubuntu·docker·gitlab
害羞的白菜13 小时前
Nginx基础详解5(nginx集群、四七层的负载均衡、Jmeter工具的使用、实验验证集群的性能与单节点的性能)
linux·运维·笔记·jmeter·nginx·centos·负载均衡
程序员南飞16 小时前
ps aux | grep smart_webrtc这条指令代表什么意思
java·linux·ubuntu·webrtc
你疯了抱抱我1 天前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos