安装 OpenNebula 基于 Web 的管理控制台

我们一般用 onehost/onevm/onevnet 这些命令行工具来管理 OpenNebula 云计算平台,不过有个项目组开发了 OpenNebula Management Console 管理工具,基于 PHP 和 MySQL,安装和配置也不是很复杂,和配置普通 CMS 系统差不多。上周我们在两台服务器上安装和配置了一个最小的 OpenNebula 云计算平台,我们将在生产环境测试一段时间 OpenNebula,争取能用 OpenNebula 替换我们自己的脚本,并逐步用这个平台来统一管理我们的 Xen 服务器。VPSee 周末试了试这个基于 Web 界面的 OpenNebula 管理工具,界面简单清晰,使用也很方便。这个控制台管理工具(onemc)只能安装在前端(Front-End)服务器上。

安装必备软件包

onemc 是基于 PHP 和 MySQL 的,需要安装一些必要的软件包:

# yum install php php-mysql mysql-server php-curl php-xmlrpc httpd \
php-pear php-devel php-adodb

下载 onemc

下载和解压 onemc-1.0.0.tar.gz 后直接放在 apache 的默认目录里(懒得改 httpd.conf):

# cd /var/www/html
# wget http://dev.opennebula.org/attachments/download/128/onemc-1.0.0.tar.gz
# tar zxvf onemc-1.0.0.tar.gz
# cd onemc

配置数据库

# mysql -uroot -p
Enter password: 
mysql> create database onemc;
mysql> create user 'oneadmin'@'localhost' identified by 'oneadmin';
mysql> grant all privileges on onemc.* to 'oneadmin'@'localhost';
mysql> \q

# mysql -u oneadmin -p onemc < /var/www/html/onemc/include/mysql.sql

配置 onemc

# vi /var/www/html/onemc/include/config.php
...
// vmm: kvm or xen
$vmm = "xen";
...
// ADODB settings
$adodb_type = "mysql";
$adodb_server = "localhost";
$adodb_user = "oneadmin";
$adodb_pass = "oneadmin";
$adodb_name = "onemc";
...

登录

如果系统设置了 http_proxy 环境变量的话一定要先关闭,然后重启 one 和 httpd:

# unset http_proxy
# one stop; one start
# /etc/init.d/httpd restart

打开 http://172.16.39.110/onemc/index.php 页面后就会显示登录信息(172.16.39.110 是 OpenNebula 前端的 IP 地址),用户名和密码是安装和配置 OpenNebula 的时候在 one_auth 中设置的密码(cat "oneadmin:password" > one_auth)。

opennebula management console

评论 (12 Comments)

  1. 昨天看到 Xen cloud platform。http://wiki.xen.org/xenwiki/XCP_Projects

    vpsee,有没有考虑使用 Xen cloud platform?

  2. @陈沙克
    我们的基础架构建立在 xen 上,已经有 n 多服务器在使用 xen,如果要换 xcp 的话要重装所有服务器推倒重来不现实,而且 xcp 只支持 xen,opennebula 还支持 kvm 和 vmware.

  3. @vpsee
    我有些好奇,你们的基础架构的存储是怎么考虑的,n多xen服务器,统一连接一个外置存储还是使用原有物理服务器的存储?

  4. @alfie
    大部分都是外置存储的架构,这样方便维护。

  5. @vpsee
    能把整个外置存储的情况详细介绍一下吗?比如采用的是FC、IP SAN 还是NAS,都用什么品牌的设备?xen中虚拟机的磁盘用的是LVM还是文件?

  6. OpenNebula 在3月28日的版本2.2 的发布中带了SunStone Web管理平台~

  7. vpsee用外置的存储?这样不会导致成本很高吗?
    我看linode,感觉他们都是用服务器内部的存储实现的,不知道是否正确。

    另外还想问一下,OpenNebula ,你生产环境中,可以管理超过20台以上的服务器吗?你估计他大概可以支撑多少台服务器啊。

  8. @陈沙克
    用 OpenNebula 管理超过500台应该不是问题,Clemson University 和 CERN 都已经成功部署超过500台以上的服务器。

  9. 是500台物理的服务器?那上面的vps,怎么都超过5000个?比较牛逼。

  10. 为什么创建镜像后,打开ip/onemc/index.php 登陆完创建新VM的时候,source 一直是none 好像是没读到,还有 之前用xen-tools创建的虚拟机也没看到onemc有显示出来、?

  11. Command execution fail: /srv/cloud/one/var/remotes//im/run_probes vmware
    : [VMWARE] cmd failed [/srv/cloud/one/bin/tty_expect -u oneadmin -p one virsh -c gsx://192.168.0.11/?no_verify=1 –readonly nodeinfo].
    Stderr: failed to connect to the hypervisor
    Fri Jun 24 10:18:04 2011 [InM][I]: oneadmin
    Fri Jun 24 10:18:04 2011 [InM][I]: oneadmin
    Fri Jun 24 10:18:04 2011 [InM][I]: one
    Fri Jun 24 10:18:04 2011 [InM][I]: one
    Fri Jun 24 10:18:04 2011 [InM][I]: . Stdout: ExitCode: 1
    Fri Jun 24 10:18:04 2011 [InM][I]: . Stdout: ExitCode: 1
    Fri Jun 24 10:18:04 2011 [InM][I]: ./vmware.rb:65: private method `split’ called for 1:Fixnum (NoMethodError)
    Fri Jun 24 10:18:04 2011 [InM][I]: ./vmware.rb:65: private method `split’ called for 1:Fixnum (NoMethodError)
    Fri Jun 24 10:18:04 2011 [InM][I]: Error executing vmware.rb
    Fri Jun 24 10:18:04 2011 [InM][I]: Error executing vmware.rb

    这个问题如何解决?谢谢大家给出思路。 QQ:524605436
    Fri Jun 24 10:18:04 2011 [InM][I]: ExitCode: 1
    Fri Jun 24 10:18:04 2011 [InM][I]: ExitCode: 1

  12. @vpsee,你好
    照着文档已经安装成功,但是登陆进去后只能看到节点上虚拟机的状态,无法对其做任何操作,请问有遇到过这个问题嘛?

发表评论