|   | 1 | [[PageOutline]] | 
                  
                          |   | 2 | {{{ | 
                  
                          |   | 3 | #!html | 
                  
                          |   | 4 | <h1 style="text-align: center; color: blue">實作三: Xen 虛擬化叢集安裝操作</h1> | 
                  
                          |   | 5 | }}} | 
                  
                          |   | 6 | ---- | 
                  
                          |   | 7 | = 【前言】 = | 
                  
                          |   | 8 |  * '''''安裝前的小叮嚀__''''' | 
                  
                          |   | 9 |    * ONE 只需安裝在 '''''node01''''' 即可 (ONE 的指令都在 node01 上執行) | 
                  
                          |   | 10 |    * node01 為 '''''ONE Server''''' 和 '''''NFS Server''''' | 
                  
                          |   | 11 |    * 此練習不用考慮'''''網路架構和IP分配''''' (網路架構採用 Bridge 和 IP 交由 DRBL Server 動態分配) | 
                  
                          |   | 12 |    * 共享的 Storagr 採用 '''''NFS''''' (才能做 Migrate 和 Live Migrate ) | 
                  
                          |   | 13 | ---- | 
                  
                          |   | 14 | = 【Step 1: 安裝需要的套件】 =  | 
                  
                          |   | 15 | {{{ | 
                  
                          |   | 16 | $ sudo aptitude install ruby sqlite3 libsqlite3-0 libsqlite3-dev libsqlite3-ruby libxmlrpc-c3 libxmlrpc-c3-dev scons g++ flex bison | 
                  
                          |   | 17 | }}} | 
                  
                          |   | 18 | ---- | 
                  
                          |   | 19 | = 【Step 2: 下載並安裝One】 = | 
                  
                          |   | 20 | {{{ | 
                  
                          |   | 21 | ### 在node01 上執行 (ONE 只需安裝在 node01 上) ### | 
                  
                          |   | 22 | $ wget http://opennebula.org/files/one-1.2.0.tar.gz | 
                  
                          |   | 23 | $ tar zxvf one-1.2.0.tar.gz | 
                  
                          |   | 24 | $ cd one-1.2.0 | 
                  
                          |   | 25 | $ scons | 
                  
                          |   | 26 | $ sudo mkdir /home/one  | 
                  
                          |   | 27 |  | 
                  
                          |   | 28 | ### 配置 ONE 環境變數 ### | 
                  
                          |   | 29 | $ vim ~/.profile | 
                  
                          |   | 30 | export ONE_LOCATION=/home/one | 
                  
                          |   | 31 | export ONE_XMLRPC=http://localhost:2633/RPC2 | 
                  
                          |   | 32 | export PATH=$PATH:$ONE_LOCATION/bin | 
                  
                          |   | 33 | $ source ~/.profile | 
                  
                          |   | 34 |  | 
                  
                          |   | 35 | $ sudo ./install.sh -d /home/one | 
                  
                          |   | 36 | }}} | 
                  
                          |   | 37 | ---- | 
                  
                          |   | 38 | = 【Step 3: 編輯 ONE 設定檔】 =  | 
                  
                          |   | 39 | {{{ | 
                  
                          |   | 40 | ### 在 node01 上編輯,將 160~164 行註解掉,打開 169~173 行 ### | 
                  
                          |   | 41 | $ cd /home/one | 
                  
                          |   | 42 | $ vim etc/oned.conf | 
                  
                          |   | 43 | 23 VM_POLLING_INTERVAL      = 1 | 
                  
                          |   | 44 | 160 #TM_MAD = [ | 
                  
                          |   | 45 | 161 #name       = "tm_ssh", | 
                  
                          |   | 46 | 162 #executable = "one_tm", | 
                  
                          |   | 47 | 163 #arguments  = "tm_ssh/tm_ssh.conf", | 
                  
                          |   | 48 | 164 #default    = "tm_ssh/tm_ssh.conf" ] | 
                  
                          |   | 49 |  | 
                  
                          |   | 50 | 169 TM_MAD = [ | 
                  
                          |   | 51 | 170 name       = "tm_nfs", | 
                  
                          |   | 52 | 171 executable = "one_tm", | 
                  
                          |   | 53 | 172 arguments  = "tm_ssh/tm_nfs.conf", | 
                  
                          |   | 54 | 173 default    = "tm_ssh/tm_nfs.conf" ] | 
                  
                          |   | 55 | }}} | 
                  
                          |   | 56 | ---- | 
                  
                          |   | 57 | = 【Step 4: 啟動 ONE】 = | 
                  
                          |   | 58 |    * 啟動 ONE 前的小叮嚀 | 
                  
                          |   | 59 |      * 確認 node01 和 node02 已執行 xend start | 
                  
                          |   | 60 |      * 兩台都可讓 root 自動登入 | 
                  
                          |   | 61 |      * 只需在 node01 啟動 ONE 即可 | 
                  
                          |   | 62 | {{{ | 
                  
                          |   | 63 | ### 在 node01 上執行 ### | 
                  
                          |   | 64 | $ one start | 
                  
                          |   | 65 | }}} | 
                  
                          |   | 66 | ---- | 
                  
                          |   | 67 | = 【Step 5: 新增 node01 和 node02 到 ONE Pool】 = | 
                  
                          |   | 68 | {{{ | 
                  
                          |   | 69 | ### 在 node01 上執行 ### | 
                  
                          |   | 70 | $ onehost add node01 im_xen vmm_xen tm_nfs | 
                  
                          |   | 71 | $ onehost add node02 im_xen vmm_xen tm_nfs | 
                  
                          |   | 72 |  | 
                  
                          |   | 73 | $ sudo onehost list | 
                  
                          |   | 74 | }}} | 
                  
                          |   | 75 | ---- | 
                  
                          |   | 76 | = 【Step 6: 使用 ONE 來開啟 VM】 = | 
                  
                          |   | 77 | {{{ | 
                  
                          |   | 78 | ### 在 node01 上執行 ### | 
                  
                          |   | 79 | ### 編輯 xen01 的設定檔 ### | 
                  
                          |   | 80 | $ vim /home/domains/xen01.one | 
                  
                          |   | 81 | NAME   = xen01 | 
                  
                          |   | 82 | CPU    = 1 | 
                  
                          |   | 83 | MEMORY = 156 | 
                  
                          |   | 84 | OS = [ kernel     = /boot/vmlinuz-2.6.22.9-rock, | 
                  
                          |   | 85 |        initrd     = /boot/initrd.img-2.6.22.9-rock, | 
                  
                          |   | 86 |        root       = sda2, | 
                  
                          |   | 87 |        kernel_cmd = "ro xencons=tty console=tty1"] | 
                  
                          |   | 88 | DISK = [ source   = /home/domains/xen01/disk.img, | 
                  
                          |   | 89 |          clone    = no, | 
                  
                          |   | 90 |          target   = sda2, | 
                  
                          |   | 91 |          readonly = no] | 
                  
                          |   | 92 | DISK = [  type     = swap, | 
                  
                          |   | 93 |           size     = 512, | 
                  
                          |   | 94 |           target   = "sda1", | 
                  
                          |   | 95 |           readonly = "no" ] | 
                  
                          |   | 96 | NIC = [mac=""] | 
                  
                          |   | 97 |  | 
                  
                          |   | 98 | ### 使用 ONE 來開啟 xen01 ### | 
                  
                          |   | 99 | $ sudo onevm create xen01.one  | 
                  
                          |   | 100 | $ sudo onevm deploy xen01 node02 | 
                  
                          |   | 101 |  | 
                  
                          |   | 102 | $ sudo onevm list | 
                  
                          |   | 103 | }}} | 
                  
                          |   | 104 |  * 練習:請在開啟一個虛擬機器名為 xen02 | 
                  
                          |   | 105 |    * 法一:複製 xen01 的 image,再修改參數 | 
                  
                          |   | 106 |    * 法二:使用 xen-create-image 指令 |