Skip to content

build engine appliance

blkart edited this page May 8, 2015 · 23 revisions

Engine-Appliance制作流程

环境准备

  • 服务器1台

  • 开启CPU虚拟化支持

  • 内存大于等于8G

  • 磁盘可用空间大于等于500G

  • CentOS7系统安装介质

搭建制作环境

  • 安装CentOS系统

  • 配置网络(DNS解析)

  • 配置系统软件源

    # yum -y install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    

    ######注意 此处需要配置CentOS7.1.1503版本YUM源

    # vim /etc/yum.repos.d/centos.repo
    [centos-7.1.1503]
    name=centos-7.1.1503
    baseurl=http://mirror.centos.org/centos/7.1.1503/os/x86_64/
    gpgcheck=0
    
  • 安装系统工具包

    # yum -y install net-tools git
    
  • 安装依赖包

    # yum install -y lorax pykickstart virt-install libguestfs-tools imagefactory oz qemu qemu-system-x86
    

    ######注意

    • libguestfs-tools-c包需要大于等于1.26.10-1版本(CentOS7.1.1503)
    • qemu包需要大于等于2.0.0版本(EPEL7)
  • 设置SELinux模式

    # setenforce 0
    # sed -i "s/^SELINUX.*/SELINUX=permissive/g" /etc/sysconfig/selinux
    

制作Appliance

  • clone项目到本地

    # mkdir /appliance
    # cd /appliance
    # git clone https://github.com/OCselected/ovirt-appliance.git
    # cd ovirt-appliance/engine-appliance
    

    ######注意 此处需要修改下ovirt-engine-appliance.ks文件中的YUM源配置,建议使用本地CentOS7做为安装源(速度较快)

  • 制作Appliance

######注意 制作过程自动化完成,最终生成.ova文件

# make

定制化

  • 软件包相关参数修改

  • 修改软件源

    # vim ovirt-engine-appliance.ks
    url --url=系统安装源URL
    repo --name=YUM源名称 --baseurl=YUM源URL
    
  • 增加软件包

    # vim ovirt-engine-appliance.ks
    %packages --ignoremissing
    ...
    增加的软件包名
    %end
    

    ######注意 此处增加软件包后需要增加一个repo配置,该repo对应的YUM源中要包含所增加的软件包

  • 制作过程虚拟机参数修改

  • 修改磁盘大小

    # vim Makefile
    VM_DISK ?= $(shell expr 10 \* 1024)
    
  • 修改内存大小

    # vim image-tools/anaconda_install
    VM_RAM=${6:-2048}
    
  • 模板参数修改

  • 修改内存大小

    # vim Makefile
    OVA_RAM ?= 4096
    
  • 修改CPU数量

    # vim Makefile
    OVA_CPUS ?= 2
    

######注意 在整个制作流程完成后,如果只修改模板参数,可通过以下命令使用已存在的qcow2磁盘文件制作ova文件。

# cd /ovirt-appliance/engine-appliance/
# export PYTHONPATH="/ovirt-appliance/engine-appliance/imagefactory/"
# if [ -e ovirt-engine-appliance.ova ]; then mv ovirt-engine-appliance.ova{,.bak};fi 
# python scripts/create_ova.py -m 2048 -c 2 ovirt-engine-appliance.qcow2 ovirt-engine-appliance.ova