Ubuntu 11.04 Server安裝配置OpenNebula 3.0

來源:互聯網
上載者:User

OpenNebula於10月3日發布3.0版本。這兩天終於有時間測試了一把。

[管理節點]

全新安裝的Ubuntu 11.04 Server作業系統,安裝的時候同時安裝OpenSSH Server和LAMP Server。管理節點的內網IP為192.168.1.1。

首先建立cloud組和oneadmin使用者:

sudo mkdir -p /srv/cloud/sudo groupadd -g 10000 cloudsudo useradd -u 10000 -g cloud -m oneadmin -d /srv/cloud/one -s /bin/bashsudo passwd oneadminsudo chown -R oneadmin:cloud /srv/cloud/su -l oneadminssh-keygencat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keysecho “StrictHostKeyChecking no” > ~/.ssh/configexit

安裝配置NFS服務:

sudo apt-get install nfs-kernel-serversudo pico /etc/exports

增加一行內容:

/srv/cloud  *(rw,fsid=0,nohide,sync,root_squash,no_subtree_check)

啟動NFS服務:

sudo /etc/init.d/nfs-kernel-server start

安裝OpenNebula所依賴的軟體:

sudo apt-get install libsqlite3-dev libxmlrpc-c3-dev g++ ruby libopenssl-ruby libssl-dev ruby-devsudo apt-get install libxml2-dev libmysqlclient-dev libmysql++-dev libsqlite3-ruby libexpat1-devsudo apt-get install rake rubygems libxml-parser-ruby1.8 libxslt1-dev genisoimage sconssudo apt-get install mysql-serversudo gem install nokogirisudo gem install rakesudo gem install  xmlparser

建立MySQL資料庫:

mysql -u root -pCREATE USER ‘oneadmin’@'localhost’ IDENTIFIED BY ‘oneadmin’;CREATE DATABASE opennebula;GRANT ALL PRIVILEGES ON opennebula.* TO ‘oneadmin’ IDENTIFIED BY ‘oneadmin’;quit;

下載並安裝OpenNebula前端軟體:

su -l oneadminwget http://dev.opennebula.org/attachments/download/478/opennebula-3.0.0.tar.gztar -zxvf opennebula-3.0.0.tar.gzcd opennebula-3.0.0scons sqlite=no mysql=yes./install.sh -u oneadmin -g cloud -d /srv/cloud/one

編輯~/.bash_profile,設定一些環境變數

export ONE_LOCATION=/srv/cloud/oneexport ONE_AUTH=$ONE_LOCATION/.one/one_authexport ONE_XMLRPC=http://localhost:2633/RPC2export PATH=$ONE_LOCATION/bin:/usr/local/bin:/var/lib/gems/1.8/bin/:$PATH

執行.bash_profile,使得這些環境變數生效:

source ~/.bash_profile

編輯~/.one/one_auth,設定OpenNebula的使用者名稱和密碼:

mkdir ~/.oneecho “oneadmin:YOUR_PASSWORD” > ~/.one/one_authchmod 640 ~/.one/one_auth

編輯~/etc/oned.conf,設定OpenNebula所使用的資料庫參數:

# DB = [ backend = "sqlite" ]# Sample configuration for MySQL
DB = [ backend = "mysql",
server = "localhost",
port = 0,
user = "oneadmin",
passwd = "oneadmin",
db_name = "opennebula" ]

啟動OpenNebula服務:

one start

[計算節點]

全新安裝的Ubuntu 11.04 Server作業系統,安裝的時候同時安裝OpenSSH Sever和Virtualization。計算節點的內網IP為192.168.1.2。

首先安裝虛擬化支援:

重要說明,如果在計算節點上沒有安裝ubuntu-vm-builder和ruby這兩個軟體包,用onehost create命令可以添加該計算節點,但是其狀態會顯示為err。)

sudo apt-get install qemu-kvm libvirt-bin bridge-utils ubuntu-vm-builder ruby

安裝NFS用戶端:

sudo apt-get install nfs-common

編輯/etc/fstab,配置NFS用戶端:假定OpenNebula管理節點的IP是192.168.166.100)

19.2.166.100:/srv/cloud /srv/cloud nfs defaults 0 0

建立NFS目錄並掛載NFS檔案系統:

sudo mkdir -p /srv/cloudsudo mount /srv/cloud

建立cloud組和oneadmin使用者:

sudo groupadd -g 10000 cloudsudo useradd -u 10000 -g cloud -m oneadmin -s /bin/bashsudo usermod -d /srv/cloud/one oneadminsudo passwd oneadminsudo chown oneadmin:cloud /srv/cloud/

編輯/etc/libvirt/libvirtd.conf配置libvirt,將操作許可權授予給cloud組:

unix_sock_group = “cloud”

編輯/etc/libvirt/qemu.conf配置libvirt,設定VNC:

vnc_listen = “0.0.0.0″

重啟libvirt:

sudo service libvirt-bin restartsudo chown :cloud /var/run/libvirt/libvirt-sock

編輯/etc/network/interface,根據實際的網路狀況配置橋接器。在這裡我們使用eth1串連到一個私人的內網,使用192.168.1.*的內網IP。

auto eth1iface eth1 inet manualauto br1iface br1 inet staticaddress 192.168.1.2netmask 255.255.255.0network 192.168.1.0broadcast 192.168.1.255bridge_ports eth1bridge_stp offbridge_fd 0bridge_maxwait 0

[管理節點]

添加計算節點假定計算節點的IP是192.168.1.2):

onehost create 192.168.1.2 im_kvm vmm_kvm tm_shared

查看計算節點是否添加成功:

onehost list

這時候應該可以看到192.168.1.2出現在計算節點列表裡面。如果計算節點配置正確的話,它的狀態STAT)應該顯示為“on”。如果計算節點的狀態顯示為“err”,說明計算節點沒有配置好。這時候可以做三個檢查:1)在管理節點上是否可以用無Cipher 模式SSH登入到計算節點,2)計算節點是否已經安裝好ubuntu-vm-builder和ruby,和3)在計算節點上oneadmin使用者是否有許可權控制KVM。

成功添加計算節點之後,我們下載一個預先配置好的VM進行測試。

mkdir ~/one-templatescd ~/one-templateswget http://dev.opennebula.org/attachments/download/170/ttylinux.tar.gztar xzf ttylinux.tar.gz

編輯small_network.net,定義一個網路:

NAME = “Small Network”TYPE = FIXEDBRIDGE = br1
LEASES = [ IP="192.168.1.5"]LEASES = [ IP="192.168.1.6"]LEASES = [ IP="192.168.1.7"]LEASES = [ IP="192.168.1.8"]LEASES = [ IP="192.168.1.9"]LEASES = [ IP="192.168.1.10"]LEASES = [ IP="192.168.1.11"]LEASES = [ IP="192.168.1.12"]LEASES = [ IP="192.168.1.13"]LEASES = [ IP="192.168.1.14"]LEASES = [ IP="192.168.1.15"]

將如上所定義的網路添加到系統:

onevnet create small_network.net

列出系統上所有的網路剛剛建立的Small Network 的ID可能是0):

onevnet list

編輯ttylinux.one,修改虛擬機器參數:

NAME   = ttylinuxCPU    = 0.1MEMORY = 64DISK   = [source   = "/srv/cloud/one/one-templates/ttylinux.img",target   = "hda",readonly = "no" ]NIC    = [ NETWORK_ID = 0]GRAPHICS = [ TYPE = "VNC"]FEATURES=[ acpi="no" ]

在系統中建立該虛擬機器:

onevm create ttylinux.one

列出系統上所有的虛擬機器剛剛建立的虛擬機器的ID可能是0):

onevm list

如上命令列出了系統上所有虛擬機器的狀態,包括運行這些虛擬機器的計算節點。如果需要瞭解某個虛擬機器的詳細狀況,可以使用onevm show VM_ID命令,例如:

onevm show 0

這個命令會列出ID為0的虛擬機器的所有相關資訊,包括運行該虛擬機器的計算節點,VNC連接埠號碼等等。找到這個連接埠號碼假定為5900),就可以通過VNC用戶端串連到該虛擬機器的控制台,例如:

vncviewer 192.168.1.2:5900[SunStone]

SunStone是OpenNebula的管理介面,可以同時為雲管理員和終端使用者提供服務。要啟用SunStone,需要在管理節點上執行如下操作:

sudo apt-get install rails thinsudo gem install json sinatra thinsudo gem install sequel sinatra-sequelsudo ln -s /usr/bin/rackup1.8 /usr/bin/rackup

啟動SunStone服務:

su -l oneadmin./bin/sunstone-server start

在var/sunstone.log裡面找到SunStone所使用的連接埠號碼我這裡看到的是9869),然後通過瀏覽器訪問SunStone假定管理節點的IP是192.168.1.1):

http://192.168.1.1:9869/

原文:http://www.qyjohn.net/?p=1581 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.