文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

CentOS下怎么安装并配置OpenNebula

2023-06-28 01:40

关注

今天小编给大家分享一下CentOS下怎么安装并配置OpenNebula的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

OpenNebula 是一款为云计算而打造的开源工具箱。它允许你和 Xen、KVM 或 VMware、ESX 一起建立和管理私有云, 同时还提供 Deltacloud 适配器与 Amazon EC2 相配合来管理混合云。

CentOS下怎么安装并配置OpenNebula

以下的安装过程在 VPSee 的两台装有 CentOS 5.5 系统的服务器上完成,一台服务器做 OpenNubula 前端(node00),另一台服务器用来做节点(node01),搭建一个最小的 “云”,如果想扩展这个云的话,只需要逐步增加节点(node02, node03, …)就可以了。

增加 CentOS Karan 源:

# cd /etc/yum.repos.d# wget http://centos.karan.org/kbsingh-CentOS-Extras.repo# yum update

安装 OpenNebula 需要的软件包以及编译 OpenNebula 源代码所需的工具:

# yum install gcc gcc-c++ make openssl-devel flex bison# yum install ruby ruby-devel ruby-docs ruby-ri ruby-irb ruby-rdoc# yum install rubygems# gem install nokogiri rake xmlparser# yum install scons# yum install xmlrpc-c xmlrpc-c-devel

CentOS 自带的 sqlite 版本不行,需要下载和编译 sqlite 3.6.17 版本:

# wget http://www.sqlite.org/sqlite-amalgamation-3.6.17.tar.gz# tar xvzf sqlite-amalgamation-3.6.17.tar.gz# cd sqlite-3.6.17/# ./configure; make; make install

下载和编译 opennebula 2.0.1 源码包后,解压、编译和安装:

# tar zxvf opennebula-2.0.1.tar.gz# cd opennebula-2.0.1# scons# ./install.sh -d /srv/cloud/one# ls /srv/cloud/one/bin etc include lib share var

启动 OpenNebula 前需要配置 ONE_AUTH 环境变量,这个环境变量从 $HOME/.one/one_auth 这个文件读取,所以要先创建 one_auth 这个文件后再启动 one(OpenNebula 服务程序):

# cd /root/# mkdir .one# cd .one/# echo "oneadmin:password" > one_auth# one start

OpenNebula 支持 KVM, Xen 和 VMware 三种虚拟技术,我们还需要告诉 OpenNebula 我们想用哪种,并重启 one 以便配置生效:

# vi /etc/one/oned.conf...IM_MAD = [name = "im_xen",executable = "one_im_ssh",arguments = "xen" ]VM_MAD = [name = "vmm_xen",executable = "one_vmm_ssh",arguments = "xen",default = "vmm_ssh/vmm_ssh_xen.conf",type = "xen" ]...# one stop# one start

安装和配置节点(Compute Node)

需要在每个 node 上都安装 Xen 或 KVM 的虚拟环境,具体请参考:在 CentOS 上安装和配置 Xen 和 在 CentOS 上安装和配置 KVM,还需要 ruby 运行环境:

# yum install ruby交换 ssh Key因为 OpenNebula Front 和 Nodes 之间是通过 SSH 通讯的,所以 front 和 nodes 之间要设置成 SSH 无密码登录避免 front 运行 node 上脚本或克隆镜像的时候输入密码,首先在 front 和 nodes 上配置 sshd:# vi /etc/ssh/sshd_configRSAAuthentication yesPubkeyAuthentication yes# /etc/init.d/sshd restart在 front (node00) 上创建 key 后拷贝到 node (node01):# ssh-keygen -t rsa# ssh-copy-id -i ~/.ssh/id_rsa.pub node01在1个 node (node01) 上创建 key 后拷贝到 front (node00):# ssh-keygen -t rsa# ssh-copy-id -i ~/.ssh/id_rsa.pub node00onehostfront 和 每个 node 都能无密码 ssh 沟通后,就可以在 front 上 onehost create 命令来逐个加入 node,并用 onehost list 来查看是否创建成功:# onehost create node01 im_xen vmm_xen tm_ssh# onehost listID NAME CLUSTER RVM TCPU FCPU ACPU TMEM FMEM stat1 node01 default 0 400 400 400 3.8G 383M on

如果执行 onehost create 报错,查看 oned.log 日志发现 sudo: sorry, you must have a tty to run sudo 字样,原因则是 OpenNebula 需要远程 ssh/sudo 执行命令,而 CentOS 的 sudo 选项 requiretty 是默认打开的,ssh 需要一个 tty 才能执行,所以远程 sudo 就会出错:

# onehost create node01 im_xen vmm_xen tm_ssh# tail /var/log/one/oned.logTue Feb 22 11:08:58 2011 [InM][I]: command execution fail: 'if [ -x "/var/tmp/one/im/run_probes" ]; then /var/tmp/one/im/run_probes xen 172.16.39.111; else exit 42; fi'Tue Feb 22 11:08:58 2011 [InM][I]: STDERR follows.Tue Feb 22 11:08:58 2011 [InM][I]: sudo: sorry, you must have a tty to run sudoTue Feb 22 11:08:58 2011 [InM][I]: Error executing xen.rb...

解决办法就是关闭(注释掉) requiretty 这行:

# chmod 600 /etc/sudoers# vi /etc/sudoers#Defaults requiretty

因为 VPSee 的这两台服务器使用了 HTTP 代理上网,所以 OpenNebula 读取了系统的 http_proxy 环境变量,在 sched.log 日志里发现了 HTTP response 错误,这时候需要关闭 http_proxy:

# cat /var/log/one/sched.logTue Feb 22 14:27:39 2011 [host][E]: Exception raised: Unable to transport XML to server and get XML response back. HTTP response: 504Tue Feb 22 14:27:39 2011 [POOL][E]: Could not retrieve pool info from ONE# unset http_proxyonevnet创建和编辑虚拟网络配置文件,然后创建一个 OpenNebula 虚拟网络:# vi small_network.netNAME = "Small network"TYPE = FIXEDBRIDGE = br0LEASES = [ ip="192.168.0.5"]LEASES = [ IP="192.168.0.6"]LEASES = [ IP="192.168.0.7"]# onevnet create small_network.net# onevnet listID USER NAME TYPE BRIDGE P #LEASES0 oneadmin Small network Fixed br0 N 0onevm

创建和编辑虚拟机的启动配置文件,这里的 centos.5.5.x86.img 可以从 http://stacklet.com/ 下载(收费)或者自己利用 Xen 工具创建一个:

# wget http://stacklet.com/sites/default/files/centos/centos.5.5.x86.img.tar.bz2# tar jxvf centos.5.5.x86.img.tar.bz2# mv centos.5.5.x86.img /srv/cloud/one/var/images/# vi centos.oneNAME = centosCPU = 1MEMORY = 256DISK = [source = "/srv/cloud/one/var/images/centos.5.5.x86.img",target = "sda1",clone = "yes",readonly = "no" ]NIC = [ MAC = "00:16:3E:00:02:64", bridge = xenbr0 ]OS = [ bootloader = "/usr/bin/pygrub" ]用 onevm create 命令启动上面的 VM 配置文件,就会在 node01 上创建一个虚拟机,用 onevm list 查看会看到 prol 状态,表示正在创建过程中,创建完毕后状态会变成 runn:# onevm create centos.one# onevm listID USER NAME STAT CPU MEM hostname time1 oneadmin centos prol 0 0K node01 00 00:09:09# onevm listID USER NAME STAT CPU MEM HOSTNAME TIME1 oneadmin centos runn 0 0K node01 00 00:22:17

就这样,我们在 node00 (front) 和 node01 (node) 这两台服务器上部署了一个最小的云,并且在 node01 上运行了一个基于 Xen 的虚拟机实例。

以上就是“CentOS下怎么安装并配置OpenNebula”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯