您的位置:首页 > 运维架构 > Linux

在CentOS 5.5上安装Opennebula [源码安装]

2011-07-18 00:29 751 查看
Opennubula有两个部分:front-end和cluster-node。front-end安装Opennebula,用来监控安装在cluster-node上的虚拟机,虚拟机镜像以及cluster-node的状态等。cluster-node安装虚拟机并负责运行虚拟机(kvm,xen,vmware,本文使用kvm)。front-end和cluster-node是一对多的关系。
本文除非特别说明,否则都是说front-end。
本文使用Opennebula版本2.2.0

1. 安装依赖包
#cd /etc/yum.repos.d/
#wget http://centos.karan.org/kbsingh-CentOS-Extras.repo #wget http://centos.karan.org/kbsingh-CentOS-Misc.repo 编辑 kbsingh-CentOS-Extras.repo文件,将它的测试库打开
其文件如下:
[kbs-CentOS-Testing]
name=CentOS.Karan.Org-EL$releasever - Testing
gpgcheck=0
gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt
enabled=1 (将这个选项由0变为1)
baseurl=http://centos.karan.org/el$releasever/extras/testing/$basearch/RPMS/
更新库:
#yum clean all
#yum makecache
#yum -y install glibc glibc-common glibc-devel cpp glibc-headers kernel-headers libgomp libstdc++-devel nscd gcc-c++ rpm-build yum-utils pkgconfig
#yum -y install libxml2 libxml2-devel expat expat-devel libxslt libxslt-devel openssl openssl-devel curl curl-devel
#yum -y install ruby ruby-libs ruby-devel ruby-irb ruby-docs ruby-rdoc ruby-ri rubygems cmake

2. 编译sqlite3源代码(版本3.6.17,没试过其他版本)
#wget http://www.sqlite.org/sqlite-amalgamation-3.6.17.tar.gz #tar xvzf /tmp/sqlite-amalgamation-3.6.17.tar.gz
#cd sqlite-3.6.17/
#./configure
#make
#make install

3. 安装xmlrpc-c(如果通过yum安装过xmlrpc*,请先卸载)
#wget http://centos.karan.org/el5/extras/testing/SRPMS/xmlrpc-c-1.06.18-1.el5.kb.src.rpm #rpmbuild --rebuild xmlrpc-c-1.06.18-1.el5.kb.src.rpm
#yum -y --nogpgcheck localinstall /usr/src/redhat/RPMS/x86_64/xmlrpc-c-*.rpm

4. 安装scons
#wget http://prdownloads.sourceforge.net/scons/scons-2.0.1-1.noarch.rpm #yum -y --nogpgcheck localinstall scons-2.0.1-1.noarch.rpm

5. 安装ruby(后续步骤用到。yum中没有的高版本。只能再装一个
#wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.tar.gz #tar zxvf ruby-1.9.1-p0.tar.gz
#cd ruby-1.9.1-p0
#./configure
#make
#make install

6. 安装gems
#gem install nokogiri rake xmlparser
官网要求建立一个oneadmin的帐号,可惜后面会出现一系列权限问题,建议直接用root安装

7. 安装Opennebula
#mkdir -p /srv/cloud/one
#mkidr -p /srv/cloud/images
下载Opennebula最新版本,解压,并cd到源代码目录
#scons
# ./install.sh -u root -g root -d /srv/cloud/one

8. 配置环境
vim ~/.bashrc,在最后面添加
export ONE_LOCATION=/srv/cloud/one
export ONE_AUTH=$HOME/.one/one_auth
export ONE_XMLRPC=http://localhost:2633/RPC2
export PATH=/srv/cloud/one/bin:$PATH
修改完成后source ~/。bashrc使配置生效

9. 添加opennebula用户
#mkdir ~/。one
vim ~/.one/one_auth,在里面添加 用户名:密码,例如
cloud:cloudpassword

10. 修改Opennebula配置文件
#vi /srv/cloud/one/etc/oned.conf 将SCRIPTS_REMOTE_DIR=/srv/cloud/one/var

11. 启动opennebula
one start

12. 启动NFS服务
允许cluster-node挂载/srv/cloud
#yum install nfs
#vim /etc/exports,在文件最后添加如下
/srv/cloud *(rw,sync,no_root_squash)
#exportfs -a
#/etc/rc.d/init.d/nfs restart

13.在cluster-node上安装kvm
#yum groupinstall kvm
#reboot
(启动后可以通过lsmod|grep kvm查看是否有启动kvm模块)

14.在cluster-node上 安装ruby(后续步骤用到。yum中没有的高版本。只能再装一个)
#wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.tar.gz #tar zxvf ruby-1.9.1-p0.tar.gz
#cd ruby-1.9.1-p0
#./configure
#make
#make install

15. 在cluster-node上挂载nfs
#mount -t nfs front-end:/srv/cloud /srv/cloud (front-end替换为front-end服务器的域名或IP)
开机自动挂载
#vi /etc/fstab 在文件最后添加上
front-end:/srv/cloud /srv/cloud nfs defaults 0 0

16. 在cluster-node上建立网桥
为了让front-end主机能够连上虚拟机,需要在cluster-node上建立网桥
#brctl addbr virbr0 (如果kvm安装的时候帮你建立了该网桥,则会提示该网桥已经存在)
i#fconfig eth0 0.0.0.0 up
#brctl addif virbr0 eth0
#ifconfig virbr0 <old_eth0_ip_address>
(这些操作要在cluster-node主机前运行,用远程连接会掉)

到此,所有配置完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: