2017-7-8 OpenStack手工+oz自动制作CentOS 7.3镜像

制作镜像是我一直想实践的,openstack制作镜像很大程度就是kvm制作镜像,区别就是虚拟机下载了cloud-init、cloud-utils、rootfs,我整理了下工作笔记,方便以后快速部署。最好选择物理机来做,不然VNC连接的时候太卡

前情提要:KVM机器就是控制节点,CPU是瓶颈问题,内存不是重点。

1、安装kvm基础软件包
[[email protected] ~]# modprobe kvm
[[email protected] ~]# egrep "(vmx|svm)" /proc/cpuinfo ##保证服务器或VMWARE支持硬件虚拟化!
[[email protected] ~]# yum install qemu-kvm qemu-img –y
[[email protected] ~]# ln -s /usr/libexec/qemu-kvm /usr/lib/qemu-kvm //如果不做这步,无法直接使用其命令
在windows客户端安装vnc viewer软件,避免安装图形化Linux服务器会更好点。http://www.33lc.com/soft/40006.html
///////////////////////////
[[email protected] ~]# yum install tigervnc vnc* -y //如果上一步做了,接下来的3步都不需要做,这步骤耗时太多
[[email protected] ~]# yum install xorg* gnome* glx* -y //非常耗时,但是它的确能从字符界面转换为图形界面
[[email protected] ~]# reboot
[[email protected] ~]# startx
///////////////////////////

2、制作镜像,安装系统
[[email protected] ~]# df -Th ##确保自己有足够的磁盘空间,否则可能徒劳无功
[[email protected] ~]# mkdir openstack_image && cd openstack_image
下载centos7镜像,改名为centos7.iso
[[email protected] ~]# wget http://mirrors.aliyun.com/centos/7.3.1611/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso
[[email protected] ~]# qemu-img create -f qcow2 centos7.qcow2 15G
[[email protected] ~]# /usr/libexec/qemu-kvm -m 1024 -cdrom centos7.iso -drive file=centos7.qcow2 -boot menu=on --nographic -vnc :3

PC的vncviewer客户端填入【10.20.0.201:3】,此IP地址是KVM机器的IP,而不是新创建的虚拟机的IP
【注意】:安装centos 7系统:不需要swap分区,也不需要boot分区,全部磁盘空间分配给根分区,采用XFS格式,而不用LVM

3、后续配置。
参考文档:http://blog.csdn.net/xiegh2014/article/details/53248403
[[email protected] ~]# yum install virt-install -y //使用virsh命令管理虚拟机非常方便
[[email protected] ~]# virsh list
(1)安装ACPI服务,能让宿主机对虚拟机进行开关机等电源管理操作
[[email protected] ~]# yum install acpid
(2)安装linux rootfs resize,使得实例启动时可以自动扩展根分区
[[email protected] ~]# yum install git parted cloud-utils -y
[[email protected] ~]# git clone https://github.com/flegmatik/linux-rootfs-resize.git
[[email protected] ~]# cd linux-rootfs-resize
[[email protected] ~]# ./install
(3)安装cloud-init,给虚拟机注入密钥登录、主机名、用户名
[[email protected] ~]# yum install cloud-init -y
[[email protected] ~]# vim /etc/cloud/cloud.cfg
在cloud_init_modules 下面增加:
- resolv-conf
(4)再次运行系统,观察现象
[[email protected] ~]# /usr/libexec/qemu-kvm -m 1024 -cdrom centos7.iso -drive file=centos7.qcow2 -boot menu=on --nographic -vnc :3

4、上传镜像到控制节点的glance组件中
[[email protected] ~]# source admin-openrc.sh
[[email protected] ~]# openstack image create "centos7" --file centos7.qcow2 --disk-format qcow2 --container-format bare --public
[[email protected] ~]# openstack image list

+++++++++++++++++++++++
报错:
1、qemu连上后,进入引导菜单后无反应。
未解决:猜测我使用VMWARE性能太差,最好使用一台任意物理机器,生成好centos7.qcow2,再rsync到控制节点上。
+++++++++++++++++++++++++

=========================oz自动制作Linux操作系统镜像======================

自动制作镜像,速度非常慢,如上文所述,centos 7的iso镜像已经被下载到/root/openstack_image/
1、软件包安装
[[email protected] ~]# yum install epel-release -y
[[email protected] ~]# yum install oz libguestfs-tools -y
安装完后应该多出一个虚拟的网络接口virbr0
[[email protected] ~]# ip a
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
link/ether 52:54:00:58:d1:22 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 500
link/ether 52:54:00:58:d1:22 brd ff:ff:ff:ff:ff:ff

[[email protected] ~]# vim /etc/oz/oz.cfg ##oz默认支持raw格式,指明为qcow2
#image_type = raw
image_type = qcow2

[[email protected] ~]# cd openstack_image
[[email protected] ~]# vim centos7-3.tdl
<template>
<name>centos_73_x86_64</name>
<description>CentOS 7.3 x86_64 template</description>
<os>
<name>CentOS-7</name>
<version>7</version>
<arch>x86_64</arch>
<install type=‘iso‘>
<iso>file:///root/openstack_image/centos7.iso</iso>
</install>
</os>
<commands>
<command name=‘console‘>
sed -i ‘s/ rhgb//g‘ /boot/grub/grub.conf ##centos7默认没有/boot/grub/grub.conf
sed -i ‘s/ quiet//g‘ /boot/grub/grub.conf
sed -i ‘s/ console=tty0 / serial=tty0 console=ttyS0,115200n8 /g‘ /boot/grub/grub.conf
</command>
</commands>
<disk>
<size>10</size>
</disk>
</template>

2、编辑ks文件,类似于PXE
[[email protected] ~]# vim centos7-3.ks
install
text
key --skip
keyboard us
lang en_US.UTF-8
skipx
network --device eth0 --bootproto dhcp
rootpw openstack
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
zerombr yes
clearpart --all
part / --fstype xfs --size=10240 --grow
%post
reboot

%packages --nobase --excludedocs
wget
vim
cloud-init
cloud-utils
dracut-modules-growroot
%end
-----------------------------------------

3、制作镜像
[[email protected] openstack_image]# pwd
/root/openstack_image
[[email protected] openstack_image] systemctl start libvirtd
[[email protected] openstack_image]# oz-install -p -u -d3 -a centos7-3.ks centos7-3.tdl
+++++++++++++++++++++++++++
报错:
1、[[email protected] openstack_image]# oz-install -p -u -d3 -a centos7-3.ks centos7-3.tdl
lxml.etree.XMLSyntaxError: AttValue: " or ‘ expected, line 9, column 20
解决:报出语法错误,XML文件,是type后面的iso要加单引号才行,之前没加

2、[[email protected] openstack_image]# oz-install -p -u -d3 -a centos7-3.ks centos7-3.tdl
oz.OzException.OzException: No disk activity in 300 seconds, failing.
未解决:查阅资料发现,这是个普遍错误,停留在选择网卡的选项上,于是我删掉ks文件的--device eth0,结果依旧不行。

+++++++++++++++++++++++++++++++
镜像创建完后,会保存在 /var/lib/libvirt/images,压缩镜像,比例为4:1。
[[email protected] ]# qemu-img convert -c /var/lib/libvirt/images/centos_73_x86_64.qcow2 -O qcow2 /root/openstack_image/centos7-3.qcow2
[[email protected] ]# qemu-img info centos7-3.qcow2

4、上传镜像到控制节点的glance组件中
[[email protected] ~]# source admin-openrc.sh
[[email protected] ~]# openstack image create "centos7" --file /root/openstack_image/centos7-3.qcow2 --disk-format qcow2 --container-format bare --public
[[email protected] ~]# openstack image list

拓展:linux与linux之间互传大文件,均要安装rsync,yum install rsync
[[email protected] openstack_image]# rsync -avz --progress /root/openstack_image/centos7.iso [email protected]:/root/test

时间: 2024-10-09 03:41:22

2017-7-8 OpenStack手工+oz自动制作CentOS 7.3镜像的相关文章

OpenStack手动制作CentOS 7 KVM镜像

在前面讲解KVM的时候,我们已经学习了如何制作KVM镜像,那么制作OpenStack使用的镜像和KVM是有一些区别的. 1.    下载CentOS 7官方ISO安装镜像这里使用国内阿里云的镜像源进行下载:http://mirrors.aliyun.com/centoshttp://mirrors.aliyun.com/cent ... 1.iso 2.    创建虚拟机磁盘镜像 [[email protected] src]# qemu-img create -f qcow2 /tmp/Cen

OpenStack Oz自动化制作centos6.5镜像

openstack镜像制作以往都是用传统的KVM, virt-install加载本地iso文件启动系统,继而在系统里配置一些必备的软件和配置,手动繁琐,耗时长.openstack官网推荐几款镜像制作工具,下面简要说明下:https://docs.openstack.org/image-guide/create-images-automatically.html 1.Diskimage-builderhttps://docs.openstack.org/diskimage-builder/late

OpenStack镜像制作-CentOS

云平台中镜像还是很重要的,提供各种定制化的镜像使得用户体验更好. 最开始玩OpenStack的时候用的是安装文档中提到的cirros,其密码cubswin:) 刚开始感觉很怪,现在已经可以随手打出.ps:打的还很熟练:-) 然后慢慢开始想尝试各种镜像,于是乎在网上搜了很多.如下: 官方文档  http://docs.openstack.org/image-guide/content/ch_obtaining_images.html官方文档给的镜像的链接挺多的,包括CirrOS (test) im

【OpenGL】“我叫MT”纯手工3D动画制作之1——基础介绍

最近在家研习面经,温习基础,索性花些时间将本科期间完成的一些学习之作整理出来,分享之余顺便水点经验 其实这个事情起源于一门“计算机图形与动画(Computer Graphics & Animation)”的外方课程,当初的外籍教师Tony教的很认真,对于这门课自己也投入了非常多的时间.言归正传,这里先介绍一些涉及的技术,熟悉的同学请跳过哈~ A.几何物体建模 带阴影的后面我会介绍到的哦~ 加下划线的后面我后面会举栗子的哦~ B.涉及的图形学技术与应用 C.动画技术 参考文献 1.王汝传,张登银,

【OpenGL】“我叫MT”纯手工3D动画制作之2——建立模型

最近在家研习面经,温习基础,索性花些时间将本科期间完成的一些学习之作整理出来,分享之余顺便水点经验 其实这个事情起源于一门“计算机图形与动画(Computer Graphics & Animation)”的外方课程,当初的外籍教师Tony教的很认真,对于这门课自己也投入了非常多的时间.言归正传,这里先介绍一些涉及的技术,熟悉的同学请跳过哈~ D.准备工作 需要的相关库有: • QuickTime 7.7.1 for Windows (主要用于播放动画与配音) • QuickTime SDK (开

2017春 前端自动化(二) 页面自动刷新、sass与css转换的使用、pxToRem直观转换

2017春 前端自动化(二)   页面自动刷新.sass与css转换的使用.pxToRem直观转换 引言: 此文要演示:浏览器页面自动刷新:移动端px与rem的转换,简单直观化:使用sass自动生成css进行编译,而不是借助于考拉工具;  顺便从头来一遍流程-- 建立如上图01所示的目录结构,层次明晰,便于日后管理. 快捷键进入当前文件夹,在此打开dos窗口输入:node -v,显示node版本,说明node之前已经安装好(之前已经介绍安装方法) 之后安装 cnpm,为了日后安装所需的包,速度更

kickstart自动部署centos

kickstart自动部署centos 工作中,我们有时候需要安装几十上百台服务器,这种情况下用u盘或者光驱逐台安装,太花时间与人力,显然不现实,所以应该选择自动化部署操作系统的方式,自动化部署操作系统的工具有很多,这里我用的是kickstart这个工具. kickstart原理: kickStart是一种无人职守安装方式.KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件:在其后的安装过程中(不只局限于生成KickStart安装文

openstack运维实战系列(八)之glance镜像上传

1. 前言 在openstack中,glance负责image,即镜像相关的服务,镜像是一个已经打包好的文件,内置有操作系统和预先部署好的软件.基于image创建虚拟机,在openstack中是以backing file的形式创建的,即新建的虚拟机和镜像文件之间建立一个连接,相关的内容,后续以博客的形式呈现.本文以最简单的镜像上传为例,演示在openstack中制作完镜像之后,如何上传到openstack云环境中. 2. 通过glance操作 获取镜像,查看镜像信息 [[email protec

制作tomcat的docker镜像

制作tomcat的docker镜像 一 commit制作tomcat的docker镜像 1 centos下安装docker yum -y install docker 启动docker systemctl start docker 设置开机启动 systemctl start docker 2 安装centos镜像 查找centos镜像 docker search centos 拉取centos镜像 docker pull centos 查看cenots镜像 docker images 3 进入