文档章节

基于KVM的Openstack镜像模版制作

Inchin
 Inchin
发布于 2017/08/24 15:52
字数 983
阅读 115
收藏 0

1.   环境准备

Ø  ISO准备

根据需要制作的Openstack镜像,下载所需的ISO文件。此处以安装制作CentOS7.2为例。

已准备好iso文件:CentOS-7-x86_64-Minimal-1511.iso

 

Ø  宿主机准备

²  查看宿主机的cpu是否支持KVM

grep -E -o '(vmx|svm)' --color=auto /proc/cpuinfo

vmx表示CPU支持Intel VT 技术,svm代表CPU支持AMD-v技术

²  安装libvirt虚拟化管理工具

# yum -y install virt-manager virt-viewer libvirt libvirt-python python-virtinst virt-install

# service libvirtd start   

# chkconfig libvirtd on

 

宿主机(建议直接使用已安装部署Openstack计算节点的物理机,例子以172.16.70.1为例)环境安装centos7.2操作系统,已经安装virt-install、kvm、qemu-img等工具;上传CentOS-7-x86_64-Minimal-1511.iso至目录/usr/local/src

2.   镜像制作

Ø  创建虚拟机磁盘镜像

在宿主机上执行命令创建虚拟机磁盘文件

# qemu-img create -f qcow2 /tmp/CentOS-7.20-x86_64.qcow2 40G

 

Ø  从ISO启动虚拟机

virt-install --virt-type kvm --name CentOS-7.20-x86_64 \

--ram 2048 --disk /tmp/CentOS-7.20-x86_64.qcow2,format=qcow2 \

--graphics vnc,listen=0.0.0.0 --noautoconsole \

--os-type=linux --os-variant=rhel7 \

--network bridge=br71 \

--cdrom=/usr/local/src/CentOS-7-x86_64-Minimal-1511.iso

例子宿主机***.**.**.**已有网桥bridge br71。如果不使用网桥,标红处可用如下行替换

--network network=default \

 

Ø  虚拟机操作系统安装

使用tightVNC客户端工具连接虚拟机。连接完成后正常情况下将可以打开虚拟机的安装界面,按照正常的操作系统安装方法完成虚拟机操作系统的安装。安装过程省略,注意在进行磁盘分区的时候可以使用默认的LVM,也可以自定义分区结构。针对虚拟机的建议是只分配一个根分区/,不创建其它分配和swap分区。安装成功后,点击reboot,注意并不会重启,需要我们手动启动:

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

使用tightVNC客户端连接虚拟机,IP地址为虚拟机所在宿主机的外网地址,端口为虚拟机监听的端口,端口号可使用如下命令查询:

# netstat -anoplt|grep -i `ps -ef|grep -v grep|grep CentOS-7.20-x86_64|awk '{print $2}'`

连接后即可进入虚拟机

配置虚拟机网络,使虚拟机能够接入具体的yum源。

 

 

Ø  安装 ACPI 服务

启动后,你可能需要手动配置你的虚拟机的网络。为了让虚拟化层能重启和关闭虚拟机,必须在虚拟机内安装并运行 acpid 服务。

在 CentOS虚拟机内运行以下命令安装 ACPI 服务并配置为系统启动时自动启动。

# yum install acpid

# systemctl enable acpid

 

Ø  清除MAC地址相关信息

操作系统会在/etc/sysconfig/network-scripts/ifcfg-eth0 和

/etc/udev/rules.d/70-persistent-net.rules 这类文件记录下网卡MAC地址,但是,虚拟机的网卡MAC地址在每次虚拟机创建的时候都会不同,因此这些信息必须从配置文件删除掉。

 

Ø  其它标准化操作

可以把所有虚拟机都需要进行的设置在镜像这一级全部设置完毕。例如:比如关闭SElinux、firewalld、postfix。以及设置内网DNS,安装相关的Agent等。

 

Ø  收尾工作

关闭虚拟机。如果以后不在需要该虚拟机也可以直接删除。建议是保留,方便后期进行虚拟机镜像的定制。

 

Ø  建议安装工具

gcc tcpdump lsof parted snmpwalk perl wget createrepo perl-ExtUtils-MakeMaker setuptool bzip2 gzip unzip zip net-snmp python-setuptools python-devel

 

3.   上传镜像至Openstack Glance服务

Ø  上传镜像

镜像拷贝至Openstack的控制节点,执行如下命令:

glance image-create --name "CentOS-7.2-x86_64" --disk-format qcow2 --min-disk 40 --container-format bare --file /tmp/CentOS-7-x86_64.qcow2 --progress

 

参考

【1】OpenStack制作Windows 2008 KVM镜像 https://www.unixhot.com/article/70

【2】制作适用于openstack的Windows server 2008镜像

http://blog.csdn.net/just_young/article/details/40075943

© 著作权归作者所有

共有 人打赏支持
Inchin
粉丝 0
博文 32
码字总数 8499
作品 0
长沙
技术主管
Openstack 自制linux kvm debian6镜像

这篇笔记写了好几个月了,一直没有整理,为了防止以后遗忘,先记录一下 1 参照以前文档搭建一台可以安装kvm虚拟机的机器 http://my.oschina.net/guol/blog/62239 2 建立镜像 kvm-img create...

China_OS
2012/11/04
0
0
如果使用Docker后,还需要OpenStack吗?

Solomon Hykes创立了Docker,没有想到过Docker会人气爆棚,成为仅次于OpenStack的最受欢迎的云开源项目。 然而听说过Docker的朋友很少知道其真正的意义,很多人会被各种概念混淆,甚至把Ope...

架构师技术联盟
09/19
0
0
OpenStack centos版安装(二)

在OpenStack第一天文档翻译后,丁丁努力坚持每晚抽时间翻译OpenStack官方网站提供的安装与部署指南,本文翻译自官方安装与部署指南的前四章内容,前四章内容主要是对OpenStack整体安装步骤以...

蓝狐乐队
2014/04/18
0
0
OpenStack的各个组件作用及关系

一、OpenStack认证服务----->Keystone Keystone为所有的OpenStack组件提供认证和访问策略服务,它依赖自身REST(基于Identity API)系统进行工作,主要对(但不限于)Swift、Glance、Nova等进...

I_BUG
04/28
0
0
Openstack kvm win7镜像制作

Openstack不但能管理linux虚拟机还能管理windows虚拟机,之前做过基于kvm的debian6镜像,今天实战一下win镜像的制作,以win7为例。 母系统环境:ubuntu12.10 server + kvm 下载virtio驱动,因...

China_OS
2012/12/12
0
3

没有更多内容

加载失败,请刷新页面

加载更多

可爱的python测试开发库(python测试开发工具库汇总)

欢迎转载,转载请注明来源: github地址 谢谢点赞 本文地址 相关书籍下载 测试开发 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装。 链接 selenium - web UI自动化测试。 链...

python测试开发人工智能安全
今天
2
0
Shiro | 实现权限验证完整版

写在前面的话 提及权限,就会想到安全,是一个十分棘手的话题。这里只是作为学校Shiro的一个记录,而不是,权限就应该这样设计之类的。 Shiro框架 1、Shiro是基于Apache开源的强大灵活的开源...

冯文议
今天
1
0
linux 系统的运行级别

运行级别 运行级别 | 含义 0 关机 1 单用户模式,可以想象为windows 的安全模式,主要用于修复系统 2 不完全的命令模式,不含NFS服务 3 完全的命令行模式,就是标准的字符界面 4 系统保留 5 ...

Linux学习笔记
今天
2
0
学习设计模式——命令模式

任何模式的出现,都是为了解决一些特定的场景的耦合问题,以达到对修改封闭,对扩展开放的效果。命令模式也不例外: 命令模式是为了解决命令的请求者和命令的实现者之间的耦合关系。 解决了这...

江左煤郎
今天
3
0
字典树收集(非线程安全,后续做线程安全改进)

将500W个单词放进一个数据结构进行存储,然后进行快速比对,判断一个单词是不是这个500W单词之中的;来了一个单词前缀,给出500w个单词中有多少个单词是该前缀. 1、这个需求首先需要设计好数据结...

算法之名
昨天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部