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的安装、配置及基本使用就介绍到这。。。。