Oz制作CentOS镜像
转自:http://www.chenshake.com/oz-making-centos-mirror/
一直以来,我都是使用Ubuntu的镜像,自己没动手做过镜像。对于Openstack的镜像来说,需要在image里安装cloud init,这样才能注入密钥,网络的设置,也是需要cloud init。
做镜像的步骤,比较繁琐,其实就是一个kvm的image,有什么办法可以简化呢?Oz这个工具,应该可以完全满足你的要求,可以很方便让你定制各种操作系统的image,功能还是很强大的,Oz开发和更新还是非常频繁,非常值得关注的一个软件
目前EPEL源已经有Oz的安装包,更新还是非常及时,和开发同步,并且Redhat也是推荐使用这个工具来创建镜像。由于Oz需要使用网络来自动化创建镜像,所以建议别在Openstack的环境下进行使用,建议采用一台干净的机器来做。
我用下面的配置文件制作的镜像,放到网盘上,大家可以测试一下。
http://yunpan.cn/QiQ6syasRAH7Q 访问密码 90e3
安装
yum -y install oz
装完后,你最好就重启机器,你用ifconfig,可以看到virbr0这个网络,不然你就安装失败。
配置Oz
默认Oz是使用raw格式,我的习惯是使用qcow2格式,
# cat /etc/oz/oz.cfg
[paths]
output_dir = /var/lib/libvirt/images
data_dir = /var/lib/oz
screenshot_dir = /var/lib/oz/screenshots[libvirt]
uri = qemu:///system
#image_type = raw
image_type = qcow2
# type = kvm
# bridge_name = virbr0
# cpus = 1
# memory = 1024[cache]
original_media = yes
modified_media = no
jeos = no[icicle]
safe_generation = no
这个就是Oz的配置文件,我把默认文件格式改成qcow2.
Oz支持的系统
目前EPEL的源,已经更新到最新的版本,支持Centos 6.5。
当前Oz的版本
# rpm -qa | grep oz
oz-0.12.0-1.el6.noarch
创建配置文件
我们需要两个配置文件,centos65.tdl 和centos6.ks
看一个具体的Oz的tdl文件,就全部明白
创建 centos65.tdl 文件
<template><name>centos_65_x86_64</name><description>CentOS 6.5 x86_64 template</description><os><name>CentOS-6</name><version>5</version><arch>x86_64</arch><install type='url'><url>http://172.28.0.1/cobbler/ks_mirror/CentOS6.5-x86_64/</url></install></os><disk><size>10</size></disk>
</template>
做Openstack的镜像的kickstart文件,参考http://repos.fedorapeople.org/repos/openstack/guest-images/
使用我的centos6.ks 文件,才能支持镜像的resize。
oz-install -p -u -d3 -a centos6.ks centos65.tdl
镜像创建完后,会保存在 /var/lib/libvirt/images ,对image进行压缩
qemu-img convert -c /var/lib/libvirt/images/centos_65_x86_64.qcow2 -O qcow2 \
/root/centos_65_x86_64.qcow2
压缩后的镜像大小在300M左右.没压缩前,大概是1.3G。
如果你生成的是raw格式,可以进行转换成qcow2格式
qemu-img convert /var/lib/libvirt/images/centos65_x86_64.dsk -O qcow2 /root/centos65_x86_64.qcow2
参考文章
http://waipeng.wordpress.com/2013/05/20/building-centos-images-for-openstack/
http://docs.openstack.org/grizzly/openstack-image/content/ch_creating_images_automatically.html
http://www.jansipke.nl/creating-a-centos-vm-image-for-openstack/
https://github.com/rackerjoe/oz-image-build
我的centos6.ks 文件。
Oz介绍
Oz内置各个操作系统安装的模板,对于Redhat系列来说,其实就是内置了kickstart脚本,不过这些默认的ks文件,可能无法满足你的需求,那么你可以自己制定自己的ks文件。
Oz内置了各个操作系统的自动化安装模板,/usr/lib/python2.6/site-packages/oz/auto
我的centos6.ks文件
#version=DEVEL
# Firewall configuration
firewall --enabled --service=ssh
repo --name="repo0" --baseurl=http://172.28.0.1/cobbler/ks_mirror/CentOS6.5-x86_64
repo --name="repo1" --baseurl=http://172.28.0.1/cobbler/repo_mirror/Centos6-UPDATES
repo --name="repo2" --baseurl=http://172.28.0.1/cobbler/repo_mirror/epel6-x86_64
# Root password
rootpw --iscrypted --lock $1$2e74e5$wMj25e4rEb4rJxqm7BAnk0
# System authorization information
auth --useshadow --enablemd5
# System keyboard
keyboard us
# System language
lang en_US.UTF-8
# SELinux configuration
selinux --enforcing
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System services
services --disabled="avahi-daemon,iscsi,iscsid,firstboot,kdump" --enabled="network,sshd,rsyslog,tuned"
# System timezone
timezone --isUtc Asia/Chongqing
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --append="console=ttyS0,115200n8 console=tty0" --location=mbr --driveorder="sda" --timeout=1
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
#part / --fstype="ext4" --grow --size=1
part / --fstype ext4 --size=512 --grow%post# make sure firstboot doesn't start
echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstbootcat <<EOL >> /etc/rc.local
if [ ! -d /root/.ssh ] ; thenmkdir -p /root/.sshchmod 0700 /root/.sshrestorecon /root/.ssh
fi
EOLcat <<EOL >> /etc/ssh/sshd_config
UseDNS no
PermitRootLogin without-password
EOL# bz705572
ln -s /boot/grub/grub.conf /etc/grub.conf# bz688608
sed -i 's|\(^PasswordAuthentication \)yes|\1no|' /etc/ssh/sshd_config# allow sudo powers to cloud-user
echo -e 'cloud-user\tALL=(ALL)\tNOPASSWD: ALL' >> /etc/sudoers# bz983611
echo "NOZEROCONF=yes" >> /etc/sysconfig/network# set virtual-guest as default profile for tuned
echo "virtual-guest" > /etc/tune-profiles/active-profile#bz 1011013
# set eth0 to recover from dhcp errors
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="yes"
PEERDNS="yes"
IPV6INIT="no"
PERSISTENT_DHCLIENT="1"
EOF
#bz912801
# prevent udev rules from remapping nics
touch /etc/udev/rules.d/75-persistent-net-generator.rules#setup getty on ttyS0
echo "ttyS0" >> /etc/securetty
cat <<EOF > /etc/init/ttyS0.conf
start on stopped rc RUNLEVEL=[2345]
stop on starting runlevel [016]
respawn
instance /dev/ttyS0
exec /sbin/agetty /dev/ttyS0 115200 vt100-nav
EOF# lock root password
#passwd -d root
#passwd -l root# let's randomise the root password
head -n1 /dev/urandom | md5sum| awk {'print $1'} | passwd --stdin root# clean up installation logs"
yum clean all
rm -rf /var/log/yum.log
rm -rf /var/lib/yum/*
rm -rf /root/install.log
rm -rf /root/install.log.syslog
rm -rf /root/anaconda-ks.cfg
rm -rf /var/log/anaconda*
%end%packages --nobase --excludedocs
wget
vim
cloud-init
cloud-utils
dracut-modules-growroot
%end
说明
安装途径
<install type='url'><url>http://download.fedoraproject.org/pub/fedora/linux/releases/15/Fedora/x86_64/os/</url>
</install>
如果iso在本地,如果是url,就写成http://iso路径 就可以
<install type=’iso’>
<iso>file:///root/rhel-server-6.3-x86_64-dvd.iso</iso>
</install>
</os>
默认磁盘改为10G
<disk><size>10</size></disk>
Oz制作CentOS镜像相关推荐
- 企业私有云应用之使用OZ制作openstack镜像
最近工作忙,好久没写博客,现在正好有空介绍一下我这里使用私有云的经验. 现在分享一下如何使用oz自动化制作openstack镜像,下面有我自己制作centos 6.4 6.5 6.7 7.2与ubun ...
- linux系统制作qcow2,oz制作qcow2镜像
oz是一个方便制作qcow2镜像的工具,利用oz可以很方便的生成可以upload到openstack的镜像! ks.cfg =================================== #p ...
- OZ制作openstack镜像出错问题汇总
1 到900/1200 删除所有/var/lib/oz下的文件夹重建就好了,confilct应该是这个原因 2 到650/1200时出错,,报空间不足,实际上是 tdl文件中的size参数 默认是1G ...
- 制作 docker 镜像
基础环境说明 # cat /etc/redhat-release CentOS release 6.8 (Final) 设置 docker 镜像源# # yum install -y yum-prio ...
- Docker自制CentOS镜像
系统环境:CentOS 7.3 将yum源切换到阿里源 可以直接写成一个脚本 #!/bin/sh mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos ...
- linux 镜像自动安装,制作能自动安装的CentOS镜像文件
FILE=\'/root/packages.txt\' DEST_DIR=\'/root/iso/CentOS\' SRC_DIR=\'/media/cdrom/CentOS\' While rea ...
- 制作openstack镜像win7.qcow2(centos/ubuntu/win镜像分享)
转载请注明:姬子的博客 » 制作openstack镜像win7.qcow2(centos/ubuntu/win镜像分享) 在搭建openstack之后,我们即可使用镜像开启实例.然而centos/ub ...
- 一分钟,制作一个centos镜像
大家好,笔者最近学习docker相关的技术.今天,我们一起制作一个 centos镜像. 记得上大学期间我们学习Linux的时候,我们通常是在Window上安装一个vmvare软件,然后下载一个几个G的 ...
- Docker Review - dockerfile 实战_使用dockerfile制作tomcat镜像
文章目录 Pre Docker 官方镜像 Dockerfile dockerfile制作tomcat镜像 准备软件 编写Dockerfile文件 dockerfile构建镜像 启动镜像 测试访问tom ...
- 简单几步就教会你如何使用 dockerfile 制作 LNMP 镜像,还不赶紧学起来
简单几步就教会你如何使用dockerfile制作LNMP镜像 前言 一.dockerfile撰写php镜像 二.dockerfile撰写mysql镜像 三.dockerfile撰写nginx镜像 四. ...
最新文章
- oracle用户创建及权限设置
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第2章-连通性保持条件下多智能体系统群集运动控制
- horizon服务主要模块_OpenStack组件——Horizon Web界面管理服务
- java实现向有序数组中插入一个元素
- 保存工具条菜单有bug吗?
- python常用包及其用法_Python 使用的部分常用包以及数据分析pandas及工具jupyter使用...
- java从入门到精通一(java开发入门)
- D. Bash and a Tough Math Puzzle(区间gcd+思维)
- 网络速度在线测试软件,在线网速测试(局域网速度测试工具)
- java代码混淆加密_关于Java加壳和代码混淆
- 计算机科学技术技术的发展趋势,计算机科学与技术的发展趋势分析
- 安卓虚拟键盘_干货分享:推荐几款性能不错的安卓模拟器
- php快照劫持代码,php快照劫持跳转代码,php快照劫持源码下载
- VS Code环境下编辑、编译、下载Keil工程代码
- 火狐插件restclient发送post请求
- 用STM32F103完成对SD卡的数据读取
- 项目风险应对策略总结
- Word怎么删除空白页?这3种方法:适用于所有版本Word!
- IDS与IPS工作原理
- Facebook商业模式分析
热门文章
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十五)地图编辑器的初步使用
- 芙蓉姐姐:藕要用光芒四射的才华刺瞎世俗的狗眼!
- 19 C++ 特殊工具与技术
- 当拖延症患者习惯了拖延症,并且开始不惧怕后果时
- 怎样把游戏存进计算机里,怎样把单机游戏存档能从一台电脑转移到另一台 – 手机爱问...
- SEOer必读:不可忽视的SEO思维!
- jupyter notebook无法打开的问题
- C#格式化JSON字符串
- 支持动态调频-AXP228电源管理-技术支持iTOP-4418开发板必备
- 支付宝总裁邵晓锋:应注重电子商务安全软投入