Version 13 (modified by rock, 15 years ago) (diff) |
---|
實作二: Xen 虛擬化叢集安裝操作
【前言】
- 安裝前的小叮嚀
- 建議修改兩台機器的主機名稱
- 第1台電腦
$ sudo gedit /etc/hostname
node01
$ sudo hostname -F /etc/hostname
- 第2台電腦
$ sudo gedit /etc/hostname
node02
$ sudo hostname -F /etc/hostname
- 第1台電腦
- node01 和 node02 都已安裝好 Xen (若 node02 還沒可以參考實作一的 Step 1 ~ 3)
- ONE 只需安裝在 node01 即可 (node01 及為 OpenNEbula Server)
- node01 為 ONE Server 和 NFS Server
- 網路架構採用 Bridge
- 共享的 Storage 採用 NFS (才能做 Migrate 和 Live Migrate )
- 建議修改兩台機器的主機名稱
【Step 1: 安裝需要的套件】
- node01 和 node02 須安裝相關套件
$ sudo aptitude install ruby sqlite3 libsqlite3-0 libsqlite3-dev libsqlite3-ruby libxmlrpc-c3 libxmlrpc-c3-dev scons g++ flex bison
【Step 2: 下載並安裝One】
- 在node01 上執行 (ONE 只需安裝在 node01 上)
- 下載 source code
$ wget http://opennebula.org/files/one-1.2.1.tar.gz $ tar zxvf one-1.2.1.tar.gz $ cd one-1.2.1
- 修改 source code 的 src/vmm/XenDriver.cc
$ sudo gedit src/vmm/XenDriver.cc
237 << "'file:" << vm->get_remote_dir() << "/disk." << i << ","
- 編譯和安裝 OpenNEbula
$ scons $ sudo ./install.sh
【Step 3: 編輯 ONE 設定檔】
- 在 node01 上編輯,將 160~164 行註解掉,打開 169~173 行
$ sudo mkdir /home/one $ cd /home/one
$ vim etc/oned.conf
23 VM_POLLING_INTERVAL = 1 160 #TM_MAD = [ 161 #name = "tm_ssh", 162 #executable = "one_tm", 163 #arguments = "tm_ssh/tm_ssh.conf", 164 #default = "tm_ssh/tm_ssh.conf" ] 169 TM_MAD = [ 170 name = "tm_nfs", 171 executable = "one_tm", 172 arguments = "tm_ssh/tm_nfs.conf", 173 default = "tm_ssh/tm_nfs.conf" ]
【Step 4: 啟動 ONE】
- 啟動 ONE 前的小叮嚀
- 確認 node01 和 node02 已執行 xend start
- 兩台都可讓 root 自動登入
- 只需在 node01 啟動 ONE 即可
- 在 node01 上執行
$ one start
【Step 5: 新增 node01 和 node02 到 ONE Pool】
- 在 node01 上執行
$ onehost add node01 im_xen vmm_xen tm_nfs $ onehost add node02 im_xen vmm_xen tm_nfs $ sudo onehost list
【Step 6: 使用 ONE 來開啟 VM】
- 在 node01 上執行
- 編輯 xen01 的設定檔
$ vim /home/domains/xen01.one
NAME = xen01 CPU = 1 MEMORY = 156 OS = [ kernel = /boot/vmlinuz-2.6.28, initrd = /boot/initrd.img-2.6.28, root = sda2] DISK = [ source = /home/domains/xen01/disk.img, clone = no, target = sda2, readonly = no] DISK = [ type = swap, size = 128, target = "sda1", readonly = "no" ] NIC=[IP="192.X.X.X", MAC="XX:XX:XX:XX:XX:XX"]
- 使用 ONE 來開啟 xen01
$ sudo onevm create xen01.one $ sudo onevm deploy xen01 node02 $ sudo onevm list
- 練習:請在開啟一個虛擬機器名為 xen02
- 法一:複製 xen01 的 image,再修改參數
- 法二:使用 xen-create-image 指令