CentOS下怎么安装并配置OpenNebula
今天小编给大家分享一下CentOS下怎么安装并配置OpenNebula的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
OpenNebula 是一款为云计算而打造的开源工具箱。它允许你和 Xen、KVM 或 VMware、ESX 一起建立和管理私有云, 同时还提供 Deltacloud 适配器与 Amazon EC2 相配合来管理混合云。
以下的安装过程在 VPSee 的两台装有 CentOS 5.5 系统的服务器上完成,一台服务器做 OpenNubula 前端(node00),另一台服务器用来做节点(node01),搭建一个最小的 “云”,如果想扩展这个云的话,只需要逐步增加节点(node02, node03, …)就可以了。
增加 CentOS Karan 源:
#cd/etc/yum.repos.d#wgethttp://centos.karan.org/kbsingh-CentOS-Extras.repo#yumupdate
安装 OpenNebula 需要的软件包以及编译 OpenNebula 源代码所需的工具:
#yuminstallgccgcc-c++makeopenssl-develflexbison#yuminstallrubyruby-develruby-docsruby-riruby-irbruby-rdoc#yuminstallrubygems#geminstallnokogirirakexmlparser#yuminstallscons#yuminstallxmlrpc-cxmlrpc-c-devel
CentOS 自带的 sqlite 版本不行,需要下载和编译 sqlite 3.6.17 版本:
#wgethttp://www.sqlite.org/sqlite-amalgamation-3.6.17.tar.gz#tarxvzfsqlite-amalgamation-3.6.17.tar.gz#cdsqlite-3.6.17/#./configure;make;makeinstall
下载和编译 opennebula 2.0.1 源码包后,解压、编译和安装:
#tarzxvfopennebula-2.0.1.tar.gz#cdopennebula-2.0.1#scons#./install.sh-d/srv/cloud/one#ls/srv/cloud/one/binetcincludelibsharevar
启动 OpenNebula 前需要配置 ONE_AUTH 环境变量,这个环境变量从 $HOME/.one/one_auth 这个文件读取,所以要先创建 one_auth 这个文件后再启动 one(OpenNebula 服务程序):
#cd/root/#mkdir.one#cd.one/#echo"oneadmin:password">one_auth#onestart
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"]...#onestop#onestart
安装和配置节点(Compute Node)
需要在每个 node 上都安装 Xen 或 KVM 的虚拟环境,具体请参考:在 CentOS 上安装和配置 Xen 和 在 CentOS 上安装和配置 KVM,还需要 ruby 运行环境:
#yuminstallruby交换sshKey因为OpenNebulaFront和Nodes之间是通过SSH通讯的,所以front和nodes之间要设置成SSH无密码登录避免front运行node上脚本或克隆镜像的时候输入密码,首先在front和nodes上配置sshd:#vi/etc/ssh/sshd_configRSAAuthenticationyesPubkeyAuthenticationyes#/etc/init.d/sshdrestart在front(node00)上创建key后拷贝到node(node01):#ssh-keygen-trsa#ssh-copy-id-i~/.ssh/id_rsa.pubnode01在1个node(node01)上创建key后拷贝到front(node00):#ssh-keygen-trsa#ssh-copy-id-i~/.ssh/id_rsa.pubnode00onehostfront和每个node都能无密码ssh沟通后,就可以在front上onehostcreate命令来逐个加入node,并用onehostlist来查看是否创建成功:#onehostcreatenode01im_xenvmm_xentm_ssh#onehostlistIDNAMECLUSTERRVMTCPUFCPUACPUTMEMFMEMstat1node01default04004004003.8G383Mon
如果执行 onehost create 报错,查看 oned.log 日志发现 sudo: sorry, you must have a tty to run sudo 字样,原因则是 OpenNebula 需要远程 ssh/sudo 执行命令,而 CentOS 的 sudo 选项 requiretty 是默认打开的,ssh 需要一个 tty 才能执行,所以远程 sudo 就会出错:
#onehostcreatenode01im_xenvmm_xentm_ssh#tail/var/log/one/oned.logTueFeb2211:08:582011[InM][I]:commandexecutionfail:'if[-x"/var/tmp/one/im/run_probes"];then/var/tmp/one/im/run_probesxen172.16.39.111;elseexit42;fi'TueFeb2211:08:582011[InM][I]:STDERRfollows.TueFeb2211:08:582011[InM][I]:sudo:sorry,youmusthaveattytorunsudoTueFeb2211:08:582011[InM][I]:Errorexecutingxen.rb...
解决办法就是关闭(注释掉) requiretty 这行:
#chmod600/etc/sudoers#vi/etc/sudoers#Defaultsrequiretty
因为 VPSee 的这两台服务器使用了 HTTP 代理上网,所以 OpenNebula 读取了系统的 http_proxy 环境变量,在 sched.log 日志里发现了 HTTP response 错误,这时候需要关闭 http_proxy:
#cat/var/log/one/sched.logTueFeb2214:27:392011[host][E]:Exceptionraised:UnabletotransportXMLtoserverandgetXMLresponseback.HTTPresponse:504TueFeb2214:27:392011[POOL][E]:CouldnotretrievepoolinfofromONE#unsethttp_proxyonevnet创建和编辑虚拟网络配置文件,然后创建一个OpenNebula虚拟网络:#vismall_network.netNAME="Smallnetwork"TYPE=FIXEDBRIDGE=br0LEASES=[ip="192.168.0.5"]LEASES=[IP="192.168.0.6"]LEASES=[IP="192.168.0.7"]#onevnetcreatesmall_network.net#onevnetlistIDUSERNAMETYPEBRIDGEP#LEASES0oneadminSmallnetworkFixedbr0N0onevm
创建和编辑虚拟机的启动配置文件,这里的 centos.5.5.x86.img 可以从 http://stacklet.com/ 下载(收费)或者自己利用 Xen 工具创建一个:
#wgethttp://stacklet.com/sites/default/files/centos/centos.5.5.x86.img.tar.bz2#tarjxvfcentos.5.5.x86.img.tar.bz2#mvcentos.5.5.x86.img/srv/cloud/one/var/images/#vicentos.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"]用onevmcreate命令启动上面的VM配置文件,就会在node01上创建一个虚拟机,用onevmlist查看会看到prol状态,表示正在创建过程中,创建完毕后状态会变成runn:#onevmcreatecentos.one#onevmlistIDUSERNAMESTATCPUMEMhostnametime1oneadmincentosprol00Knode010000:09:09#onevmlistIDUSERNAMESTATCPUMEMHOSTNAMETIME1oneadmincentosrunn00Knode010000:22:17
就这样,我们在 node00 (front) 和 node01 (node) 这两台服务器上部署了一个最小的云,并且在 node01 上运行了一个基于 Xen 的虚拟机实例。
以上就是“CentOS下怎么安装并配置OpenNebula”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。