關於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的安裝、配置及基本使用就介紹到這。。。。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章