分类: 虚拟化
2011-12-12 10:28:40
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
#wget
编辑 kbsingh-CentOS-Extras.repo文件,将它的测试库打开
其文件如下:
[kbs-CentOS-Testing]
name=CentOS.Karan.Org-EL$releasever - Testing
gpgcheck=0
gpgkey=
enabled=1 (将这个选项由0变为1)
baseurl=
更新库:
#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
# ruby ruby-libs ruby-devel ruby-irb ruby-docs ruby-rdoc
ruby-ri rubygems cmake
2. 编译sqlite3源代码(版本3.6.17,没试过其他版本)
#wget
#tar xvzf /tmp/sqlite-amalgamation-3.6.17.tar.gz
#cd sqlite-3.6.17/
#./configure
#make
#make install
3. 安装(如果通过yum安装过xmlrpc*,请先卸载)
#wget
#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
#yum install xmlrpc-c-devel
如有报错:libxmlrpc_cpp.so.3
#yum install xmlrpc-c-apps
4. 安装scons
#wget
#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.3-p0.tar.gz
#tar zxvf ruby-1.9.3-p0.tar.gz
#cd ruby-1.9.3-p0
#./configure
#make
#make install
6. 安装gems
#gem install nokogiri rake xmlparser
官网要求建立一个oneadmin的帐号,可惜后面会出现一系列权限问题,建议直接用root安装
7. 安装Opennebula
#rpm –ivh opennebula-3.1.0-1.x86_64.rpm
8. 配置环境
,在最后面添加
修改完成后使配置生效
9. 添加opennebula用户
vim ~/.one/one_auth,在里面添加 用户名:密码,例如
cloud:cloudpassword
10. 启动opennebula
one start
11. 启动NFS服务
允许cluster-node挂载/usr/lib/one/cloud
#yum install nfs
#vim /etc/exports,在文件最后添加如下
/usr/lib/one *(rw,sync,no_root_squash)
#exportfs -a
#/etc/rc.d/init.d/nfs restart
12.在cluster-node上安装kvm
#yum groupinstall kvm
#reboot
(启动后可以通过lsmod|grep kvm查看是否有启动kvm模块)
13.在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
14. 在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
15. 在cluster-node上建立网桥
为了让front-end主机能够连上虚拟机,需要在cluster-node上建立网桥
#brctl addbr virbr0 (如果kvm安装的时候帮你建立了该网桥,则会提示该网桥已经存在)
i#fconfig eth0 0.0.0.0 up
#brctl addif virbr0 eth0
#ifconfig virbr0
(这些操作要在cluster-node主机前运行,用远程连接会掉)