- [管理端] 安裝基本作業系統,這邊是採用Ubuntu 11.10
安裝光碟可以到 http://ftp.twaren.net/ubuntu-cd/ 這邊下載
- 安裝完作業系統,重開機就會出現登入的畫面
- 先使用自己的帳號登入,準備開始安裝Opennebula的套件,這邊是採用tarball的方式安裝
- 開始創建Opennebula所需要的目錄以及使用者跟群組
sudo mkdir -p /srv/cloud/
sudo groupadd -g 10000 cloud
sudo useradd -u 10000 -g cloud -m oneadmin -d /srv/cloud/one -s /bin/bash
sudo passwd oneadmin
sudo chown -R oneadmin:cloud /srv/cloud/
su -l oneadmin
ssh-keygen
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
echo “StrictHostKeyChecking no” > ~/.ssh/config
exit
- 安裝NFS服務,以供之後migration所需 (如果只有單台可跳過)
sudo apt-get install nfs-kernel-server
sudo pico /etc/exports
- 編輯 /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-dev
sudo apt-get install libxml2-dev libmysqlclient-dev libmysql++-dev libsqlite3-ruby libexpat1-dev
sudo apt-get install rake rubygems libxml-parser-ruby1.8 libxslt1-dev genisoimage scons
sudo apt-get install mysql-server
sudo gem install nokogiri
sudo gem install rake
sudo gem install xmlparser
- 建立MySQL資料庫,提供Opennebula使用
mysql -u root -p
CREATE USER ‘oneadmin’@'localhost’ IDENTIFIED BY ‘oneadmin’;
CREATE DATABASE opennebula;
GRANT ALL PRIVILEGES ON opennebula.* TO ‘oneadmin’ IDENTIFIED BY ‘oneadmin’;
quit;
- 以下更換成oneadmin使用者,下載並安裝opennebula
su -l oneadmin
wget http://dev.opennebula.org/attachments/download/478/opennebula-3.0.0.tar.gz
tar -zxvf opennebula-3.0.0.tar.gz
cd opennebula-3.0.0
scons sqlite=no mysql=yes
./install.sh -u oneadmin -g cloud -d /srv/cloud/one
- 編輯 ~/.bash_profile 新增變量,使之後的指令可以順利執行
export ONE_LOCATION=/srv/cloud/one
export ONE_AUTH=$ONE_LOCATION/.one/one_auth
export ONE_XMLRPC=http://localhost:2633/RPC2
export PATH=$ONE_LOCATION/bin:/usr/local/bin:/var/lib/gems/1.8/bin/:$PATH
source ~/.bash_profile
- 編輯 ~/.one/oneauth 設置之後要用的用戶名稱及密碼
mkdir ~/.one
echo “oneadmin:YOUR_PASSWORD” > ~/.one/one_auth
chmod 640 ~/.one/one_auth
- 編輯 ~/etc/oned.conf 更改使用MySQL資料庫
# DB = [ backend = "sqlite" ]
# Sample configuration for MySQL
DB = [ backend = "mysql",
server = "localhost",
port = 0,
user = "oneadmin",
passwd = "oneadmin",
db_name = "opennebula" ]
- 到這邊 Opennebula的管理節點就全部設定完畢,如果你只有一台(管理與計算節點一起),請繼續在這台執行以下的動作
- [計算端] 安裝計算節點的作業系統並登入
- 安裝虛擬化需使用的套件
sudo apt-get install qemu-kvm libvirt-bin bridge-utils ubuntu-vm-builder ruby
- 安裝NFS客戶端 (若只有一台可跳過)
sudo apt-get install nfs-common
- 編輯 /etc/fstab (在這邊我們假設剛剛的NFS伺服器在192.168.1.1)
192.168.1.1:/srv/cloud /srv/cloud nfs defaults 0 0
- 建立NFS目錄以及掛載遠端目錄
sudo mkdir -p /srv/cloud
sudo mount /srv/cloud
- 創建Opennebula要使用的使用者及群組 (單台可跳過此步驟)
sudo groupadd -g 10000 cloud
sudo useradd -u 10000 -g cloud -m oneadmin -s /bin/bash
sudo usermod -d /srv/cloud/one oneadmin
sudo passwd oneadmin
sudo chown oneadmin:cloud /srv/cloud/
- 編輯 /etc/libvirt/libvirtd.conf
unix_sock_group = “cloud”
- 編輯 /etc/libvirt/qemu.conf
vnc_listen = “0.0.0.0″
- 重新啟動libvirt
sudo service libvirt-bin restart
sudo chown :cloud /var/run/libvirt/libvirt-sock
- 編輯 /etc/network/interface,此處需視自己的網路狀況設定
auto eth1
iface eth1 inet manual
auto br1
iface br1 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
bridge_ports eth1
bridge_stp off
bridge_fd 0
bridge_maxwait 0
- [管理端] 再來要把可以執行虛擬機器的節點添加進來,請注意,如果只有一台的話也要把自己添加進來
- 加入計算端
onehost create 192.168.1.2 im_kvm vmm_kvm tm_shared
onehost list
成功的話應該會看到機器已經加進來,狀態(STAT)需要是on
- 加入完之後,下載一個已經配置好的虛擬機器做測試
mkdir ~/one-templates
cd ~/one-templates
wget http://dev.opennebula.org/attachments/download/170/ttylinux.tar.gz
tar xzf ttylinux.tar.gz
- 編輯 ~/one-templates/small_network.txt
NAME = “Small Network”
TYPE = FIXED
BRIDGE = 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"]
- 加入網路定義到Opennebula
onevnet create small_network.net
- 編輯 ttylinux.one
NAME = ttylinux
CPU = 0.1
MEMORY = 64
DISK = [
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
- 可以用這個指令看虛擬機
onevm list
- 詳細資料可以用這個指令看,0是上面list裡面你自己的虛擬機器ID
onevm show 0
- 用 onevm list 找到虛擬機的VNC port (本例為5900),即可以用vncviewer開啟虛擬機畫面
PS. 若遇到ruby的問題(invalid date format in specification: "2011-08-25 00:00:00.000000000Z"
),可以先試試看更新ruby
gem update --system (Ubunt不可用,需要使用apt-get update在執行以下指令)gem install rubygems-update
update_rubygems
資料來源: http://stackoverflow.com/questions/7290575/invalid-date-format-specification-in-gemspec
請問一下只有一台要如何做到migration??
回覆刪除