ImageFactory的安裝分爲兩種方式:RPM包安裝和源代碼安裝。咱們選擇經過源代碼安裝。python
ImageFactory運行於Linux系統之上,因此安裝ImageFactory以前首先要安裝一個Linux操做系統,而後在Linux系統上部署ImageFactory。具體步驟以下:git
1、基本Linux系統github
(1)開啓物理服務器CPU虛擬化技術,服務器最低2G內存,建議4G以上內存;json
(2)在服務器上安裝Linux操做系統,本次安裝的發行版本爲64位CentOS6.5系統;api
(3)配置Linux系統的網絡及防火牆,使之可以訪問互聯網;bash
(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 genisop_w_picpath mtools openssh-clients python-oauth2 python-libparted m2crypto pyparted ovirt-engine-sdk euca2ools python-boto python-psphere python-glanceclient python-libxml2
Note:不一樣環境下某些依賴庫文件可能安裝不全,在執行p_w_picpathfactory命令時,若是提示某些module加載失敗,可以使用「yum provides "*/module名"」命令查找對應軟件包,手動安裝便可。
ssh
2、安裝ImageFactoryide
(6)使用git命令克隆github上的ImageFactory源代碼到本地,經過源代碼安裝軟件;
# git clone git://github.com/aeolusproject/p_w_picpathfactory.git # cd p_w_picpathfactory # git checkout origin/feature/1.1.5_release #切換到最新stable版本 # python ./setup.py sdist install # cd p_w_picpathfactory_plugins # python ./setup.py sdist install # mkdir /etc/p_w_picpathfactory/plugins.d # cd /etc/p_w_picpathfactory/plugins.d # for PLUGIN in `ls /usr/lib/python2.6/site-packages/p_w_picpathfactory_plugins | grep -v .py` do sudo ln -s -v /usr/lib/python2.6/site-packages/p_w_picpathfactory_plugins/$PLUGIN/$PLUGIN.info ./$PLUGIN.info done
(7)修改配置文件,打開debug信息(默認0爲關閉,修改成1)
# vi /etc/p_w_picpathfactory/p_w_picpathfactory.conf "debug": 1,
(8)刪除無效文件
# rm -rf /etc/p_w_picpathfactory/plugins.d/ovfcommon.info
(9)啓動服務,並設置服務隨系統啓動
# service p_w_picpathfactoryd start # chkconfig p_w_picpathfactoryd on
3、使用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)製做鏡像文件
# p_w_picpathfactory target_p_w_picpath --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)上傳鏡像文件
# p_w_picpathfactory provider_p_w_picpath --id UUID openstack-kvm provider.json credentials.xml
Note:此處的UUID爲(10.2)中製做完成的target_p_w_picpath的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)製做鏡像文件
# p_w_picpathfactory target_p_w_picpath --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", #p_w_picpathfactory主機上的掛載點 "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)p_w_picpathfactory須要將製做好的鏡像文件上傳到rhevm環境中的導出域中,在執行命令上傳鏡像前,須要將rhevm導出域的nfs共享掛載到p_w_picpathfactory主機上(該命令在p_w_picpathfactory主機上執行)
# mkdir /mnt/rhevm # mount 192.168.0.100:/export/export /mnt/rhevm
(10.5)上傳鏡像文件
# p_w_picpathfactory provider_p_w_picpath --id UUID rhevm provider.json credentials.xml
Note:此處的UUID爲(11.2)中製做完成的target_p_w_picpath的UUID。
OK,關於p_w_picpathfactory的安裝、配置及基本使用就介紹到這。。。。