OpenStack手动制作CentOS 7 KVM镜像

简介: 在前面讲解KVM的时候,我们已经学习了如何制作KVM镜像,那么制作OpenStack使用的镜像和KVM是有一些区别的。
+关注继续查看

在前面讲解KVM的时候,我们已经学习了如何制作KVM镜像,那么制作OpenStack使用的镜像和KVM是有一些区别的。

1.下载CentOS 7官方ISO安装镜像
这里使用国内阿里云的镜像源进行下载:
http://mirrors.aliyun.com/centos
http://mirrors.aliyun.com/centos/7.2.1511/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso

2.创建虚拟机磁盘镜像

[root@linux-node1 src]# qemu-img create -f qcow2 /tmp/CentOS-7-x86_64.qcow2 10G
Formatting '/tmp/CentOS-7-x86_64.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 lazy_refcounts=off

3.开始手动安装虚拟机

[root@linux-node1 ~]# virt-install --virt-type kvm --name CentOS-7-x86_64 \
--ram 2048 --disk /tmp/CentOS-7-x86_64.qcow2,format=qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=rhel7 \
--cdrom=/usr/local/src/CentOS-7-x86_64-DVD-1511.iso
如果需要使用已经存在的桥接网卡,可以使用--network bridge=brq-name来使用。

4.安装过程省略,注意在进行磁盘分区的时候可以使用默认的LVM,也可以自定义分区结构。针对虚拟机的建议是只分配一个根分区/,不创建其它分配和swap分区。安装成功后,点击reboot,注意并不会重启,需要我们手动启动:

[root@backup ~]# yum list | grep virt
[root@backup ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     CentOS-7-x86_64                shut off

[root@backup ~]# virsh start CentOS-7-x86_64
Domain CentOS-7-x86_64 started
  virsh start CentOS-7-x86_64

启动完毕后,我们再连接到虚拟机上。

5.安装 ACPI 服务
启动后,你可能需要手动配置你的虚拟机的网络。为了让虚拟化层能重启和关闭虚拟机,必须在虚拟机内安装并运行 acpid 服务。
在 CentOS虚拟机内运行以下命令安装 ACPI 服务并配置为系统启动时自动启动。

# yum install acpid
# systemctl enable acpid

6.配置获取metadata
虚拟机在启动的时候需要和元数据服务交互以便完成几个任务,例如,虚拟机必须获取ssh公钥以及运行用户数据脚本。确保虚拟机能完成这些任务,使用以下几个方法之一:
?安装从 Ubuntu cloud-init 移植过来的cloud-init RPM包,这也是推荐的方法。
?修改 /etc/rc.local 文件从元数据服务获取信息。
使用 cloud-init 获取公钥
cloud-init 包自动从元数据服务获取公钥并保存到账户,你可以在 CentOS虚拟机添加 EPEL 安装源来安装 cloud-init 包。

# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
# yum install cloud-init

7.清除MAC地址相关信息:
操作系统会在/etc/sysconfig/network-scripts/ifcfg-eth0 和
/etc/udev/rules.d/70-persistent-net.rules 这类文件记录下网卡MAC地址,但是,虚拟机的网卡MAC地址在每次虚拟机创建的时候都会不同,因此这些信息必须从配置文件删除掉。

8.其它标准化操作:
可以把所有虚拟机都需要进行的设置在镜像这一级全部设置完毕。例如:比如关闭SElinux、firewalld、postfix。以及设置内网DNS,安装相关的Agent等。
9.收尾工作
最后,你可以关闭虚拟机了,如果以后不在需要该虚拟机也可以直接删除。建议是保留,方便后期进行虚拟机镜像的定制。
10.上传镜像到Glance

# glance image-create --name "CentOS-7-x86_64" --disk-format qcow2 --container-format bare --file /tmp/CentOS-7-x86_64.qcow2 --visibility public --progress 
相关文章
|
23天前
|
缓存 Linux
修改CentOS默认yum源为国内镜像
修改CentOS默认yum源为国内镜像
118 0
|
2月前
|
Linux
CentOS下载ISO镜像的方法
CentOS 介绍 CentOS,中文意思是社区企业操作系统是Linux发行版之一,是免费的、开源的、可以重新分发的开源操作系统。 CentOS Linux发行版是一个稳定的,可预测的,可管理的和可复现的平台,源于Red Hat Enterprise Linux(RHEL)依照开放源代码(大部分是GPL开源协议)规定释出的源码所编译而成。
458 1
|
5月前
|
存储 NoSQL 关系型数据库
|
7月前
|
Java Linux Shell
Dockerfile自定义镜像、CentOS安装DockerCompose及Docker镜像仓库
Dockerfile自定义镜像、CentOS安装DockerCompose及Docker镜像仓库
341 0
|
7月前
|
安全 Linux
CentOS 6停止更新后,如何更换镜像
CentOS 6停止更新后,如何更换镜像 解决方案
183 0
|
7月前
|
Linux Docker 索引
Docker安装与配置镜像加速(CentOS)
Docker安装与配置镜像加速(CentOS)
324 0
|
10月前
|
缓存 网络协议 Linux
CentOS 7使用ISO镜像配置本地yum源
CentOS 7使用ISO镜像配置本地yum源
2030 0
CentOS 7使用ISO镜像配置本地yum源
|
11月前
|
Linux 数据库 Docker
CentOS 7安装Docker CE镜像报错问题解决
CentOS 7安装Docker CE镜像报错问题: ** 发现 2 个已存在的 RPM 数据库问题, 'yum check' 输出如下: 7:device-mapper-libs-1.02.170-6.el7_9.5.x86_64 是 7:device-mapper-libs-1.02.170-6.el7.x86_64 的副本 7:device-mapper-libs-1.02.170-6.el7_9.5.x86_64 有缺少的需求 device-mapper = ('7', '1.02.170', '6.el7_9.5')
CentOS 7安装Docker CE镜像报错问题解决
|
12月前
|
Linux 开发工具 Docker
Docker | dockerfile构建centos镜像,以及CMD和ENTRYPOINT的区别
Docker | dockerfile构建centos镜像,以及CMD和ENTRYPOINT的区别
172 0
Docker | dockerfile构建centos镜像,以及CMD和ENTRYPOINT的区别
|
12月前
|
Linux Docker 容器
centos 7.9 部署 harbor 镜像仓库实践
centos 7.9 部署 harbor 镜像仓库实践
centos 7.9 部署 harbor 镜像仓库实践
推荐文章
更多