关于ImageFactory的探究(2)――Installation & Configuration

    ImageFactory的安装分为两种方式:RPM包安装和源代码安装。我们选择通过源代码安装。

    ImageFactory运行于Linux系统之上,所以安装ImageFactory之前首先要安装一个Linux操作系统,然后在Linux系统上部署ImageFactory。具体步骤如下:

一、基本Linux系统

(1)开启物理服务器CPU虚拟化技术,服务器最低2G内存,建议4G以上内存;

(2)在服务器上安装Linux操作系统,本次安装的发行版本为64位CentOS6.5系统;

(3)配置Linux系统的网络及防火墙,使之能够访问互联网;

(4)配置Linux系统的YUM源:CentOS源+EPEL源

# cd /etc/yum.repos.d/
# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

(5)安装ImageFactory依赖的软件包;

# yum install oz libvirt genisoimage mtools openssh-clients python-oauth2 python-libparted m2crypto pyparted ovirt-engine-sdk euca2ools python-boto python-psphere python-glanceclient python-libxml2

    Note:不同环境下某些依赖库文件可能安装不全,在执行imagefactory命令时,如果提示某些module加载失败,可使用“yum provides "*/module名"”命令查找对应软件包,手动安装即可。

二、安装ImageFactory

(6)使用git命令克隆github上的ImageFactory源代码到本地,通过源代码安装软件;

# git clone git://github.com/aeolusproject/imagefactory.git
# cd imagefactory
# git checkout origin/feature/1.1.5_release        #切换到最新stable版本
# python ./setup.py sdist install
# cd imagefactory_plugins
# python ./setup.py sdist install
# mkdir /etc/imagefactory/plugins.d
# cd /etc/imagefactory/plugins.d
# for PLUGIN in `ls /usr/lib/python2.6/site-packages/imagefactory_plugins | grep -v .py`
do sudo ln -s -v /usr/lib/python2.6/site-packages/imagefactory_plugins/$PLUGIN/$PLUGIN.info ./$PLUGIN.info
done

(7)修改配置文件,打开debug信息(默认0为关闭,修改为1)

# vi /etc/imagefactory/imagefactory.conf
"debug": 1,

(8)删除无效文件

# rm -rf /etc/imagefactory/plugins.d/ovfcommon.info

(9)启动服务,并设置服务随系统启动

# service imagefactoryd start
# chkconfig imagefactoryd on

三、使用ImageFactory

(10)使用ImageFactory为openstack制作镜像文件并上传

    (10.1)准备模板文件rhel6-2.tdl

<template>
    <name>RHEL 6.2 Template</name>
    <os>
        <name>RHEL-6</name>
        <version>2</version>
        <arch>x86_64</arch>
        <install type='url'>
            <url>http://192.168.0.100/rhel-6.2/</url>
        </install>
        <rootpw>abc123</rootpw>
    </os>
</template>

        install type有两种:url或iso。

        此处url所指路径存放了rhel6.2的安装文件(安装光盘挂载到rhel-6.2目录)

    (10.2)制作镜像文件

# imagefactory target_image --template rhel6-2.tdl openstack-kvm

    (10.3)准备provider.json和credentials.xml配置文件

# vi provider.json
{ 
  "glance-host": "192.168.0.200",
  "glance-port": 9292 
}
# vi credentials.xml
<provider_credentials>
  <openstack_credentials>
    <username>admin</username>
    <tenant>admin</tenant>
    <password>abc123</password>
    <strategy>keystone</strategy>
    <auth_url>http://192.168.0.200:5000/v2.0</auth_url>
  </openstack_credentials>
</provider_credentials>

        Note:openstack环境配置方法不再赘述,该环境中openstack环境已经配置完成,openstack manager节点IP地址192.168.0.200,admin tenant的管理员账号密码为admin/abc123。

    (10.4)上传镜像文件

# imagefactory provider_image --id UUID openstack-kvm provider.json credentials.xml

        Note:此处的UUID为(10.2)中制作完成的target_image的UUID。

(11)使用ImageFactory为RedHatEnterpriseVirtualization制作镜像文件并上传

        (11.1)准备模板文件rhel6-2.tdl

<template>
    <name>RHEL 6.2 Template</name>
    <os>
        <name>RHEL-6</name>
        <version>2</version>
        <arch>x86_64</arch>
        <install type='url'>
            <url>http://192.168.0.100/rhel-6.2/</url>
        </install>
        <rootpw>abc123</rootpw>
    </os>
</template>

    (11.2)制作镜像文件

# imagefactory target_image --template rhel6-2.tdl rhevm

    (10.3)准备provider.json和credentials.xml配置文件

# vi provider.json
{
  "api-url":   "https://192.168.0.100:443/api",
  "username":  "admin@internal",        #访问rhevm环境的账号
  "password":  "abc123",                #密码
  "nfs-path":  "/export/export",        #rhevm环境中导出域的nfs共享路径
  "nfs-dir":   "/mnt/rhevm",            #imagefactory主机上的挂载点
  "nfs-host":  "192.168.0.100",         #rhevm环境中导出域的nfs共享主机IP
  "cluster":   "_any_",
  "timeout":   1800
}
# vi credentials.xml
<provider_credentials>
  <rhevm_credentials>
    <username>admin@internal</username>
    <password>abc123</password>
  </rhevm_credentials>
</provider_credentials>

        Note:rhevm环境配置方法不再赘述,该环境中rhevm环境已经配置完成,rhev manager节点IP地址192.168.0.100,管理员账号密码为admin@internal/abc123。

    (10.4)imagefactory需要将制作好的镜像文件上传到rhevm环境中的导出域中,在执行命令上传镜像前,需要将rhevm导出域的nfs共享挂载到imagefactory主机上(该命令在imagefactory主机上执行)

# mkdir /mnt/rhevm
# mount 192.168.0.100:/export/export /mnt/rhevm

    (10.5)上传镜像文件

# imagefactory provider_image --id UUID rhevm provider.json credentials.xml

        Note:此处的UUID为(11.2)中制作完成的target_image的UUID。


OK,关于imagefactory的安装、配置及基本使用就介绍到这。。。。




你可能感兴趣的:(configuration,installation,imagefactory)