制作镜像
兼容红帽 OpenStack 的镜像
新创一台虚拟机
开启虚拟化引擎 Intel VT-x/EP T 或 AMD-V/RVI(V)
网络选择NAT,安装为GUI
[root@local ~]# mount /dev/cdrom /mnt
[root@local ~]# rm -rf /etc/yum.repos.d/*
[root@local ~]# vim /etc/yum.repos.d/local.repo
[abc]
name=abc
baseurl=file:///mnt
gpgcheck=0
[root@local ~]# yum repolist all
[root@local ~]# yum -y groupinstall "Virtualization*"
[root@local ~]# yum -y install libguestfs-tools-c.x86_64 #qcow2封装工具
#创建KVM虚拟机
[root@local ~]# mkdir /iso
[root@local ~]# ls /iso #上传镜像
Centos-7.6.1810-x86_64-DVD.iso
[root@local ~]# cd /disk
[root@local ~]# qemu-img create -f qcow2 centos 20g
[root@local ~]# virt-install \
--name centos \
--memory 2048 \
--vcpus 1 \
--disk path=/disk/centos \
--location /iso/Centos-7.6.1810-x86_64-DVD.iso \
--network network=default
# 安装界面NETWORK点开Configure
# Generl里的Automatically connect勾上 重启后,网卡自动开启
配置KVM虚拟机
在刚刚创建好的KVM虚拟机里操作
[root@kvm ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
#只保留以下部分
TYPE=Ethernet
BOOTPROTO=dhcp
DEVICE=eth0
ONBOOT=yes
#安装包,可以获取到用户的自定义数据(用户名密码等)
[root@kvm ~]# yum install -y cloud-utils-growpart cloud-init
[root@kvm ~]# vi /etc/cloud/cloud.cfg
#cloud_init_modules 下面最后一行添加内容
- resolv-conf
[root@kvm ~]# vi /etc/sysconfig/network #避免EC2元数据服务出错
NOZEROCONF=yes
[root@kvm ~]# vi /etc/default/grub #日志在dashboard中出现
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
[root@kvm ~]# grub2-mkconfig -o /boot/grub2/grub.cfg #执行加载引导向内容
[root@kvm ~]# init0 #关闭kvm虚拟机
创建QCOW2镜像
在虚拟机里操作
OpenStack发放实例就可以选择这个镜像
[root@local ~]# virsh list --all
[root@local ~]# virt-sysprep -d centos #清理个性化数据
[root@local ~]# virsh domblklist centos #查看centos实例磁盘文件
[root@local ~]# virt-sparsify --compress /var/lib/libvirt/images/centos7.qcow2 /iso/cloud.qcow2
#压缩创建镜像
设置root初始密码
在OpenStack里的控制节点和计算节点
#控制节点
[root@controller ~]# vi /etc/openstack-dashboard/local_settings
#修改以下内容
'can_set_password':True,
[root@controller ~]# vi /etc/nova/nova.conf
#修改以下内容
inject_password=true
[root@controller ~]# source keystonerc_admin
[root@controller ~(keystone_admin)]# systemctl restart openstack-nova-compute.service
[root@controller ~(keystone_admin)]# systemctl restart httpd.service
#计算节点
[root@compute ~]# vi /etc/nova/nova.conf
#修改以下内容
inject_password=true
[root@compute ~]# source keystonerc_admin
[root@compute ~(keystone_admin)]# systemctl restart openstack-nova-compute.service
标签:--,root,kvm,local,etc,vi,镜像,制作
From: https://www.cnblogs.com/wengfy/p/17514025.html