OZ制作OpenStack镜像
用OZ制作Openstack的镜像,RHEL6.4系统。
安装oz
yum -y install oz
配置Oz,默认Oz是使用raw格式,我们使用qcow2格式
vim /etc/oz/oz.cfg
[paths] output_dir = /var/lib/libvirt/p_w_picpaths data_dir = /var/lib/oz screenshot_dir = /var/lib/oz/screenshots [libvirt] uri = qemu:///system #p_w_picpath_type = raw p_w_picpath_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内置了各个操作系统的自动化安装模板,路径在/usr/lib/python2.6/site-packages/oz/auto
建立TDL模板文件,及修改RHEL6.auto文件
RHEL6.tdl:
<template> <name>RHEL6.4</name> <os> <name>RHEL-6</name> <version>4</version> <arch>x86_64</arch> <install type='iso'> <iso>file:///home/rhel-server-6.4-x86_64-dvd.iso</iso> </install> <rootpw>root</rootpw> </os> <description>RHEL 6.4 x86_64</description> <repositories> <repository name='repo1'> <url>http://http://mirrors.yun-idc.com/epel/6/x86_64</url> <signed>no</signed> </repository> <repository name='repo2'> <url>http://ftp.sjtu.edu.cn/centos/6/os/x86_64</url> <signed>no</signed> </repository> <repository name='repo3'> <url>http://mirrors.kernel.org/centos/6/os/x86_64</url> <signed>no</signed> </repository> <repository name='repo4'> <url>http://mirrors.kernel.org/centos/6/updates/x86_64</url> <signed>no</signed> </repository> <repository name='repo5'> <url>http://mirrors.kernel.org/fedora-epel/6/x86_64</url> <signed>no</signed> </repository> <repository name='repo6'> <url>http://repos.fedorapeople.org/repos/openstack/cloud-init/epel-6</url> <signed>no</signed> </repository> </repositories> <packages> <package name='epel-release'/> <package name='cloud-utils'/> <package name='cloud-init'/> <package name='vnc'/> <package name='vnc-server'/> </packages> <commands> <command name='post'> sed -i '/^HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth0 echo "NOZEROCONF=yes" >> /etc/sysconfig/network echo "dns-nameservers 192.168.244.1" >> /etc/sysconfig/network echo "nameserver 8.8.8.8" >> /etc/resolv.conf echo -n > /etc/udev/rules.d/70-persistent-net.rules echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules sed -i 's/disable_root: 1/disable_root: 0/g' /etc/cloud/cloud.cfg sed -i 's/ssh_pwauth: 0/ssh_pwauth: 1/g' /etc/cloud/cloud.cfg sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config service sshd restart iptables -A INPUT -p tcp --dport 5000:6000 -j ACCEPT </command> </commands> </template>
RHEL6.auto:
install text key --skip keyboard us lang en_US.UTF-8 skipx network --device eth0 --bootproto dhcp rootpw %ROOTPW% firewall --disabled authconfig --enableshadow --enablemd5 selinux --permissive timezone --utc America/New_York bootloader --location=mbr --append="console=tty0 console=ttyS0,115200" zerombr yes clearpart --all part /boot --fstype ext4 --size=200 part pv.2 --size=1 --grow volgroup VolGroup00 --pesize=32768 pv.2 logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536 logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow reboot %packages @base %post
默认只安装base包,可以自定配置如下:
. . . reboot %packages --ignoremissing @base @basic-desktop @chinese-support @desktop-platform @desktop-platform-devel @development @general-desktop @graphical-admin-tools @input-methods @internet-browser @java-platform @gnome-desktop @network-tools @remote-desktop-clients @server-platform @server-platform-devel @x11 %post
通过oz-install生成镜像
oz-install -d3 -u RHEL6.tdl
镜像创建完后,会保存在 /var/lib/libvirt/p_w_picpaths ,对p_w_picpath进行压缩
qemu-img convert -c /var/lib/libvirt/p_w_picpaths/RHEL6.4.qcow2 -O qcow2 /root/RHEL6.4.qcow2
然后就可以使用建好的镜像了。
转载于:https://blog.51cto.com/cdtech/1407261