虚位以待(AD)
虚位以待(AD)
首页 > 操作系统 > RedHat/Centos > 利用oz制作RHEL系统镜像

利用oz制作RHEL系统镜像
类别:RedHat/Centos   作者:码皇   来源:互联网   点击:

以前研究openstack,比较烦的就是制作镜像和网络这块。网络: Havana版本之前的网络这块功能比较差,配置也相对复杂些,再加上自身基础不好,所以理解起来相当困难。不过好在Havana版本中网络这块有了很大的改善
以前研究openstack,比较烦的就是制作镜像和网络这块。

网络: Havana版本之前的网络这块功能比较差,配置也相对复杂些,再加上自身基础不好,所以理解起来相当困难。不过好在Havana版本中网络这块有了很大的改善,配置和界面都很友善。据说UOS的界面很华丽,期待……

制作镜像:之前制作镜像都是采用”先装一次系统,做成模板,然后通过glance上传“这个土方法,而且还要制作Rhel5/6、Centos5/6、Ubuntu、Windows Server 2003/2008等各种系统的模板,相对麻烦。

 

最近在研究H版的openstack过程中,发现以前制作镜像的方法不好使,老是获取不到分配的IP。无奈之下只好尝试通过别的方法制作镜像,于是就发现了oz这个工具,突然发现制作镜像是如此easy。

下面以制作RHEL 6.3镜像为例:

  • 首先,安装oz工具:

yum install -y oz libguestfs-tools

  • 其次,创建一个TDL文件 6.3.tdl:

<template>
<name>rhel63_x86_64</name>
<description>RedHat 6.3 x86_64 template</description>
<os>
<name>RHEL-6</name>
<version>3</version>
<arch>x86_64</arch>
<rootpw>rootpasswd</rootpw>
<install type=’iso’>
<iso>file:///u01/rhel-server-6.3-x86_64-dvd.iso</iso>
</install>
</os>
<commands>
<command name=’console’>
sed -i ‘s/ rhgb//g’ /boot/grub/grub.conf
sed -i ‘s/ quiet//g’ /boot/grub/grub.conf
</command>
<command name=’update’>
sed -i ‘/^HWADDR/d’ /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i ‘/^UUID/d’ /etc/sysconfig/network-scripts/ifcfg-eth0
echo -n > /etc/udev/rules.d/70-persistent-net.rules
echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules
sed -i ‘/^SELINUX=/s/enforcing/disabled/’ /etc/selinux/config
</command>
</commands>
</template>

  • 通过oz-install生成镜像(镜像会生成在/var/lib/libvirt/images/目录下)

oz-install -u -d3 6.3.tdl

  • 最后,通过glance上传镜像

glance add name=RHEL-6.3 is_public=true container_format=bare disk_format=raw < /var/lib/libvirt/images/rhel63_x86_64.dsk

 

其它系统TDL模板文件:

RHEL5.8:

<template>
<name>rhel58_x86_64</name>
<description>RedHat 5.8 x86_64 template</description>
<os>
<name>RHEL-5</name>
<version>U8</version>
<arch>x86_64</arch>
<rootpw>rootpasswd</rootpw>
<install type=’iso’>
<iso>file:///u01/rhel-server-5.8-x86_64-dvd.iso</iso>
</install>
</os>
<commands>
<command name=’update’>
sed -i ‘/^HWADDR/d’ /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i ‘/^SELINUX=/s/enforcing/disabled/’ /etc/selinux/config
</command>
</commands>
</template>

 RHEL6.4:

<template>
<name>rhel64_x86_64</name>
<description>RedHat 6.4 x86_64 template</description>
<os>
<name>RHEL-6</name>
<version>4</version>
<arch>x86_64</arch>
<rootpw>rootpasswd</rootpw>
<install type=’url’>
<url>http://rhn.uoregon.edu/pub/isos/full/RHEL-6.4/x86_64/</url>
</install>
</os>
<commands>
<command name=’console’>
sed -i ‘s/ rhgb//g’ /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>
<command name=’update’>
sed -i ‘/^HWADDR/d’ /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i ‘/^UUID/d’ /etc/sysconfig/network-scripts/ifcfg-eth0
echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules
sed -i ‘/^SELINUX=/s/enforcing/disabled/’ /etc/selinux/config
</command>
</commands>
</template>

参考文章:
https://access.redhat.com/site/documentation/en-US/Red_Hat_OpenStack/3/html/Installation_and_Configuration_Guide/Building_a_Custom_Disk_Image.html
https://github.com/rackerjoe/oz-image-build

 

相关热词搜索: 利用 制作 RHEL