OpenStack手动制作CentOS 7 KVM镜像
在前面讲解KVM的时候,我们已经学习了如何制作KVM镜像,那么制作OpenStack使用的镜像和KVM是有一些区别的。
1. 下载CentOS 7官方ISO安装镜像
这里使用国内阿里云的镜像源进行下载:http://mirrors.aliyun.com/centos
http://mirrors.aliyun.com/cent ... 1.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 ... h.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
OpenStack手动制作CentOS 7 KVM镜像的更多相关文章
- OpenStack制作Windows 2008 KVM镜像
1.下载驱动程序 [root@linux-node1 ~]# cd /usr/local/src [root@linux-node1 src]# wget https://launchpad.net/ ...
- 手动制作openstack CentOS 镜像
https://docs.openstack.org/image-guide/centos-image.html This example shows you how to install a Cen ...
- #openstack centos6 centos7 kvm镜像制作
#openstack centos6 centos7 kvm 镜像制作 openstack windows 2008镜像 制作 http://www.cnblogs.com/elvi/p/800129 ...
- OpenStack镜像制作-CentOS
云平台中镜像还是很重要的,提供各种定制化的镜像使得用户体验更好. 最开始玩OpenStack的时候用的是安装文档中提到的cirros,其密码cubswin:) 刚开始感觉很怪,现在已经可以随手打出.p ...
- OpenStack Nova 制作 Windows 镜像
OpenStack Nova 制作 Windows 镜像 windows虚拟机ubuntuimage防火墙云计算 本贴转自http://www.vpsee.com 上次 VPSee 给 OpenS ...
- 制作kvm镜像、格式转换
2018-12-25 制作kvm镜像(以centos 7 为例) 执行创建虚拟机命令 virt-install --name centos7_kvm --memory --vcpus= --disk ...
- 手动制作Docker镜像
手动制作 Docker 镜像 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器(用来用去感觉 Windows 的 Docker 出各种问题,比如使用 ...
- 制作linux云主机镜像
目录 制作linux云主机镜像 1.物理机环境准备 2.安装kvm虚拟机 3.操作虚拟机 4.在物理机上处理镜像 5.拷贝制作好的raw格式的镜像 6.发布镜像到云平台 制作linux云主机镜像 1. ...
- KVM镜像管理利器-guestfish使用详解
原文 http://xiaoli110.blog.51cto.com/1724/1568307 KVM镜像管理利器-guestfish使用详解 本文介绍以下内容: 1. 虚拟机镜像挂载及w2k8 ...
随机推荐
- VC6.0显示行号的插件
VC6.0显示行号的插件,很好很强大的显行号插件,使用VC编程的朋友再也不用烦恼VC6.0没有行号的编程环境了. VC显示行号插件使用说明:1. 如果你的VC安装在C盘,请拷贝文件VC6LineNum ...
- Local Authentication Using Challenge Response with Yubikey for CentOS 7
Connect Yubikey ,then initialize YubiKey slot 2: ykpersonalize -2 -ochal-resp -ochal-hmac -ohmac-lt ...
- jquery发送json请求,给springmvc接收
js var obj = { 'name':name, 'desc':desc, 'scheduleStartTime':scheduleStartTime, 'scheduleEndTime':sc ...
- [ Python -1 ] 简易购物车程序
练习: 1. 要求用户输入总资产,例如:2000 2. 显示商品列表,让用户根据序号选择商品,加入购物车 3. 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功. goods = [{' ...
- win 7 浏览器被篡改小插曲
今天下班回家,打开台式机发现IE,火狐都被篡改了.作为运维都会有点强迫症.这是个桌面系统,实在是没兴趣捣鼓.但是还是没办法,经常要用.等我下次有空了,直接换linux好了. 于是开始排查问题吧: 1. ...
- Log4Net的WinForm使用
一.Log4Net的WinForm使用 1.首先使用nuget 添加log4Net 到WinForm项目中 log4j每个符号的具体含义:%d %5p %c{1}:%L - %m%n log4j.pr ...
- 字节、字、bit、byte的关系[转]
字 word 字节 byte 位 bit 字长是指字的长度 1字=2字节(1 word = 2 byte) 1字节=8位(1 byte = 8bit) 一个字的字长为16 一个字节的字长是8 bps ...
- 【SQL】服务器环境下的SQL
一.大型数据库的三层体系结构 web服务器:比如在淘宝页面上,输入“牛肉干”,就是web服务器来处理,提交给应用服务器. 应用服务器:在获取到“牛肉干”这个请求后,应用服务器决定如何汇集结果,并进行相 ...
- tcpdump 学习(3):MySQL Query
在MySQL线上环境我们一般只打开了binary log,slow log,有时我们需要查看general log呢?因为该log记录所有的请求,打开该日志肯定给磁盘造成很大压力,IO能力有所下降,所 ...
- java callable future futuretask
Runnbale封装一个异步运行的任务,可以把它想象成一个没有任何参数和返回值的异步方法.Callable和Runnable相似,但是它有返回值.Callable接口是参数化的类型,只有一个方法cal ...