久综合色-久综合网-玖草影视-玖草资源在线-亚洲黄色片子-亚洲黄色片在线观看

Hello! 歡迎來到小浪云!


在CentOS上安裝和配置OpenNebula入門實例


avatar
小浪云 2024-12-12 155

在CentOS上安裝和配置OpenNebula入門實例

為了更好理解這三種不同的云,我們可以拿 Google 來舉例,剛好這家公司提供了三種形式的云服務,首先看 SaaS,Google Gmail/Docs/Gtalk/Maps 這些 Apps 都運行在 Google 云上,所以他們為普通用戶提供了 “軟件即服務”;Google 同時提供面向開發人員的 AppEngine,可以讓開發人員在他們的平臺(Platform)上使用 Python, Java 等語言和他們提供的 API 開發軟件和服務,所以他們為開發人員提供了 “平臺即服務”;Google 自己內部構建了基于 GFS, BigTable, mapreduce 之上的龐大基礎云設施,為自己內部人員提供了 “基礎架構即服務”,這就是三種不同類型的云。

OpenNebula 是一套開源的云計算基礎管理工具,用來方便管理員在數據中心統一部署、創建、分配和管理大量的虛擬機,企業數據中心可以利用這套工具搭建自己的私有云,為自己內部提供 IaaS 服務,類似的開源產品還有 Eucalyptus, openQRM 等。以下的安裝過程在 VPSee 的兩臺裝有 centos 5.5 系統的服務器上完成,一臺服務器做 OpenNubula 前端(node00),另一臺服務器用來做節點(node01),搭建一個最小的 “云”,如果想擴展這個云的話,只需要逐步增加節點(node02, node03, …)就可以了。如果對其他類似的開源云計算平臺感興趣的話可以看看:在 Ubuntu 上安裝和配置 openstack Nova.

安裝和配置前端(Front-End)

增加 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_config RSAAuthentication yes PubkeyAuthentication 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 node00 onehost front 和 每個 node 都能無密碼 ssh 溝通后,就可以在 front 上 onehost create 命令來逐個加入 node,并用 onehost list 來查看是否創建成功:  # onehost create node01 im_xen vmm_xen tm_ssh  # onehost list ID NAME CLUSTER RVM TCPU FCPU ACPU TMEM FMEM stat 1 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.log Tue 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 sudo Tue 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.log Tue Feb 22 14:27:39 2011 [host][E]: Exception raised: Unable to transport XML to server and get XML response back. HTTP response: 504 Tue Feb 22 14:27:39 2011 [POOL][E]: Could not retrieve pool info from ONE  # unset http_proxy onevnet  創建和編輯虛擬網絡配置文件,然后創建一個 OpenNebula 虛擬網絡:  # vi small_network.net NAME = "Small network" TYPE = FIXED  BRIDGE = br0 LEASES = [ ip="192.168.0.5"] LEASES = [ IP="192.168.0.6"] LEASES = [ IP="192.168.0.7"]  # onevnet create small_network.net  # onevnet list ID USER NAME TYPE BRIDGE P #LEASES 0 oneadmin Small network Fixed br0 N 0 onevm 

創建和編輯虛擬機的啟動配置文件,這里的 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.one NAME = centos CPU = 1 MEMORY = 256  DISK = [ 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 list ID USER NAME STAT CPU MEM hostname time 1 oneadmin centos prol 0 0K node01 00 00:09:09  # onevm list ID USER NAME STAT CPU MEM HOSTNAME TIME 1 oneadmin centos runn 0 0K node01 00 00:22:17 

就這樣,我們在 node00 (front) 和 node01 (node) 這兩臺服務器上部署了一個最小的云,并且在 node01 上運行了一個基于 Xen 的虛擬機實例。

相關閱讀

主站蜘蛛池模板: 欧美片欧美日韩国产综合片 | 日本特黄特色免费大片 | 国产高清精品自在线看 | 精品一区二区三区免费观看 | 全部免费的毛片视频观看 | 波多野在线播放 | 国产伦码精品一区二区 | 在线观看自拍视频 | 波多野结衣在线观看高清免费资源 | 国产欧美一区二区三区沐欲 | 三级中文字幕永久在线视频 | 性高湖久久久久久久久aaaaa | 久久久国产一区二区三区 | 黄色三级视频在线播放 | 国美女福利视频午夜精品 | 毛片高清一区二区三区 | 国产在线手机视频 | 一级片视频在线 | 国产精品反差婊在线观看 | 在线看片欧美 | 免费观看久久 | 亚洲91 | 不卡一区二区在线观看 | 99re这里只有精品99 | 99热久久国产精品免费看 | 亚洲成人综合在线 | 国产人成精品综合欧美成人 | 欧美日韩国产亚洲综合不卡 | 免费成年人在线观看视频 | a毛片免费播放全部完整 | 亚洲成a人片在线观看中文 亚洲成a人片在线观看中文!!! | 天堂男人在线 | 伊人成人在线视频 | 亚洲一区二区三区香蕉 | 亚洲国产成人久久一区www | 国产亚洲一区在线 | 亚洲视频在线观看 | 成人网18免费下 | 日韩久久久精品中文字幕 | 欧美私人网站 | 呦女精品 |