close
Warning:
Can't synchronize with repository "(default)" (Unsupported version control system "svn": /usr/lib/python2.7/dist-packages/libsvn/_delta.so: failed to map segment from shared object: Cannot allocate memory). Look in the Trac log for more information.
- Timestamp:
-
Oct 28, 2009, 1:04:58 AM (16 years ago)
- Author:
-
rider
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
|
v39
|
v40
|
|
| 27 | 27 | }}} |
| 28 | 28 | ---- |
| 29 | | = 【Step 1: 在 Dom0 上安裝 VMGL 】 = |
| 30 | | * 安裝環境所需套件. |
| | 29 | = 【Step 1: 在 pcXXX 上安裝 VMGL 】 = |
| | 30 | * @pcXXX - 安裝環境所需套件. |
| 31 | 31 | {{{ |
| 32 | 32 | $ sudo apt-get install build-essential firefox flashplugin-nonfree htop libao2 libasound2 libmikmod2 mesa-common-dev libglu1-mesa-dev mesa-utils libxmu-headers libxmu6 libxmu-dev zlib1g-dev libjpeg62 libjpeg62-dev xutils-dev libxext6 libxext-dev rxvt lwm tightvncserver xauth xvfb xfonts-100dpi xfonts-75dpi culmus xfonts-scalable xfonts-base |
| 33 | 33 | }}} |
| 34 | | * 下載VMGL. |
| | 34 | * @pcXXX - 下載VMGL. |
| 35 | 35 | {{{ |
| 36 | 36 | $ wget http://www.cs.toronto.edu/~andreslc/software/vmgl-0.1.tar.bz2 |
| … |
… |
|
| 38 | 38 | $ cd ./vmgl.hg/tightvnc/ |
| 39 | 39 | }}} |
| 40 | | * Patch for AMD64_Machine. |
| | 40 | * @pcXXX - Patch for AMD64_Machine. |
| 41 | 41 | {{{ |
| 42 | 42 | $ wget --no-check-certificate https://trac.nchc.org.tw/grid/raw-attachment/wiki/Xen_GPU_cluster/tightvnc-1.2.9-amd64support.patch |
| 43 | 43 | $ patch -p0 < ../tightvnc/tightvnc-1.2.9-amd64support.patch |
| 44 | 44 | }}} |
| 45 | | * 設定編譯器路徑. |
| | 45 | * @pcXXX - 設定編譯器路徑. |
| 46 | 46 | {{{ |
| 47 | 47 | $ sudo ln -sf /usr/bin/make /usr/bin/gmake |
| 48 | 48 | }}} |
| 49 | | * 編譯. |
| | 49 | * @pcXXX - 編譯. |
| 50 | 50 | {{{ |
| 51 | 51 | $ cd .. |
| 52 | 52 | ~/vmgl/vmgl.hg$ make |
| 53 | 53 | }}} |
| 54 | | * 安裝於 Dom0(host) 端上. |
| | 54 | * @pcXXX - 安裝於 Dom0(host) 端上. |
| 55 | 55 | {{{ |
| 56 | 56 | ~/vmgl/vmgl.hg$ sudo make install-host |
| 57 | 57 | }}} |
| 58 | 58 | ---- |
| 59 | | = 【Step 2: 建構一台 VMGL VM (vg01) 】 = |
| 60 | | * 設定你的虛擬機器. |
| | 59 | = 【Step 2:在 pcXXX 上建構一台 VMGL VM (vg01) 】 = |
| | 60 | * @pcXXX - 設定你的虛擬機器. |
| 61 | 61 | {{{ |
| 62 | 62 | $ sudo gedit /etc/xen-tools/xen-tools.conf |
| … |
… |
|
| 76 | 76 | 215 mirror = http://free.nchc.org.tw/debian |
| 77 | 77 | }}} |
| 78 | | * 產生你的虛擬機器. |
| | 78 | * @pcXXX - 產生你的虛擬機器. |
| 79 | 79 | {{{ |
| 80 | 80 | $ sudo xen-create-image --hostname=vg01 --ip=192.168.100.X --mac=00:16:XX:XX:XX:XX --force |
| … |
… |
|
| 116 | 116 | ---- |
| 117 | 117 | = 【Step 4: 在 DomU(vg01) 上安裝 VMGL 】 = |
| 118 | | * @Dom0 在 Dom0 上啟動虛擬機器 vg01 並登入. |
| | 118 | * @vg01 - 在 Dom0 上啟動虛擬機器 vg01 並登入. |
| 119 | 119 | {{{ |
| 120 | 120 | $ cd /home/domains |
| 121 | 121 | $ sudo xm create -c vg01.cfg |
| 122 | 122 | }}} |
| 123 | | * @DomU 先用 root 免密碼登入 vg01, 然後新增使用者 clouder. |
| | 123 | * @vg01 - 先用 root 免密碼登入 vg01, 然後新增使用者 clouder. |
| 124 | 124 | {{{ |
| 125 | 125 | $ adduser clouder |
| … |
… |
|
| 144 | 144 | Is the information correct? [Y/n] y |
| 145 | 145 | }}} |
| 146 | | * @DomU 先登出 "root" 並且改用使用者 "clouder" 登入,接著安裝環境所需套件. |
| | 146 | * @vg01 - 先登出 "root" 並且改用使用者 "clouder" 登入,接著安裝環境所需套件. |
| 147 | 147 | {{{ |
| 148 | 148 | $ logout |
| 149 | 149 | $ sudo apt-get install build-essential gcc-4.1 htop mozilla-plugin-vlc libao2 libasound2 libmikmod2 mesa-common-dev libglu1-mesa-dev mesa-utils libxmu-headers libxmu6 libxmu-dev zlib1g-dev libjpeg62 libjpeg62-dev xutils-dev libxaw7 libxaw7-dev libxext6 libxext-dev rxvt lwm vlc vlc-plugin-alsa tightvncserver udev ntpdate xauth xvfb xfonts-100dpi xfonts-75dpi culmus xfonts-scalable xfonts-base lxde openbox-themes gnome-settings-daemon gnome-settings-daemon-dev gnome-icon-theme wget |
| 150 | 150 | }}} |
| 151 | | * @DomU 重新啟動虛擬機器. |
| | 151 | * @vg01 - 重新啟動虛擬機器. |
| 152 | 152 | {{{ |
| 153 | 153 | $ sudo reboot |
| … |
… |
|
| 164 | 164 | lxde -> Lightweight X11 Desktop Environment |
| 165 | 165 | }}} |
| 166 | | * @DomU 下載VMGL. |
| | 166 | * @vg01 - 下載VMGL. |
| 167 | 167 | {{{ |
| 168 | 168 | $ mkdir vmgl |
| … |
… |
|
| 173 | 173 | ~/vmgl$ cd ./vmgl.hg/tightvnc/ |
| 174 | 174 | }}} |
| 175 | | * @DomU Patch for AMD64_Machine. |
| | 175 | * @vg01 - Patch for AMD64_Machine. |
| 176 | 176 | {{{ |
| 177 | 177 | ~/vmgl/vmgl.hg/tightvnc$ patch -p0 < ../../tightvnc-1.2.9-amd64support.patch |
| 178 | 178 | ~/vmgl$ cd .. |
| 179 | 179 | }}} |
| 180 | | * @DomU 設定編譯器路徑. |
| | 180 | * @vg01 - 設定編譯器路徑. |
| 181 | 181 | {{{ |
| 182 | 182 | ~/vmgl$ sudo ln -sf /usr/bin/make /usr/bin/gmake |
| 183 | 183 | }}} |
| 184 | | * @DomU 先檢查 gcc 編譯器版本,並且選擇以下兩種變更方法. |
| | 184 | * @vg01 - 先檢查 gcc 編譯器版本,並且選擇以下兩種變更方法. |
| 185 | 185 | {{{ |
| 186 | 186 | $ gcc -v |
| 187 | 187 | }}} |
| 188 | | * 方法一: @DomU 建立 gcc 連結. |
| | 188 | * 方法一: @vg01 - 建立 gcc 連結. |
| 189 | 189 | {{{ |
| 190 | 190 | $ sudo ln -sf /usr/bin/gcc-4.1 /usr/bin/gcc |
| 191 | 191 | }}} |
| 192 | | * 方法二: @DomU 更換預設 gcc 版本,從 gcc-4.2 換成 gcc-4.1. |
| | 192 | * 方法二: @vg01 - 更換預設 gcc 版本,從 gcc-4.2 換成 gcc-4.1. |
| 193 | 193 | {{{ |
| 194 | 194 | $ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.1 1 |
| … |
… |
|
| 208 | 208 | Using '/usr/bin/gcc-4.1' to provide 'gcc'. |
| 209 | 209 | }}} |
| 210 | | * @DomU 確認 gcc 編譯器 版本. |
| | 210 | * @vg01 - 確認 gcc 編譯器 版本. |
| 211 | 211 | {{{ |
| 212 | 212 | $ gcc -v |
| … |
… |
|
| 220 | 220 | gcc version 4.1.3 20080308 (prerelease) (Ubuntu 4.1.2-21ubuntu1) |
| 221 | 221 | }}} |
| 222 | | * @DomU 建立安裝所需基本目錄. |
| | 222 | * @vg01 - 建立安裝所需基本目錄. |
| 223 | 223 | {{{ |
| 224 | 224 | ~/vmgl/vmgl.hg$ sudo mkdir -p /usr/lib/xorg/modules/extensions |
| 225 | 225 | }}} |
| 226 | | * @DomU 編譯. |
| | 226 | * @vg01 - 編譯. |
| 227 | 227 | {{{ |
| 228 | 228 | ~/vmgl/vmgl.hg$ make |
| 229 | 229 | }}} |
| 230 | | * @DomU 安裝於 DomU(vg01) 端上. |
| | 230 | * @vg01 - 安裝於 DomU(vg01) 端上. |
| 231 | 231 | {{{ |
| 232 | 232 | ~/vmgl/vmgl.hg$ sudo make install-guest |
| … |
… |
|
| 234 | 234 | ---- |
| 235 | 235 | = 【Step 5: VMGL 使用說明: 在Dom0 上的設定】 = |
| 236 | | * @Dom0 將 X-Windows 桌面 export 出來. |
| | 236 | * @pcXXX - 將 X-Windows 桌面 export 出來. |
| 237 | 237 | {{{ |
| 238 | 238 | $ export DISPLAY=:0 |
| 239 | 239 | }}} |
| 240 | | * @Dom0 啟動 VLGL stub-daemon. |
| | 240 | * @pcXXX - 啟動 VLGL stub-daemon. |
| 241 | 241 | {{{ |
| 242 | 242 | $ stub-daemon |
| 243 | 243 | }}} |
| 244 | | * @Dom0 檢查 stub-daemon 所對應的 port(7000) 有無開啟. |
| | 244 | * @pcXXX - 檢查 stub-daemon 所對應的 port(7000) 有無開啟. |
| 245 | 245 | {{{ |
| 246 | 246 | $ netstat -tunlp |
| … |
… |
|
| 259 | 259 | ---- |
| 260 | 260 | = 【Step 6: VMGL 使用說明: 在DomU 上的設定】 = |
| 261 | | * @DomU 設定 DomU 上的字型路徑對應. |
| | 261 | * @vg01 - 設定 DomU 上的字型路徑對應. |
| 262 | 262 | {{{ |
| 263 | 263 | $ sudo mkdir -p /usr/X11R6/lib/X11/ |
| … |
… |
|
| 272 | 272 | /usr/share/fonts/X11 (系統預設路徑) |
| 273 | 273 | }}} |
| 274 | | * @DomU 確認 rgb.txt 存在於相對應路徑. |
| | 274 | * @vg01 - 確認 rgb.txt 存在於相對應路徑. |
| 275 | 275 | {{{ |
| 276 | 276 | $ sudo ln -sf /usr/share/X11/rgb.txt /usr/X11R6/lib/X11/rgb.txt |
| 277 | 277 | $ cat /usr/X11R6/lib/X11/rgb.txt |
| 278 | 278 | }}} |
| 279 | | * @DomU 切換為超級使用者. |
| | 279 | * @vg01 - 切換為超級使用者. |
| 280 | 280 | {{{ |
| 281 | 281 | $ sudo su - |
| 282 | 282 | }}} |
| 283 | | * @DomU 設定 DomU 上的 VMGL 環境變數. |
| | 283 | * @vg01 - 設定 vg01 上的 VMGL 環境變數. |
| 284 | 284 | {{{ |
| 285 | 285 | $ cat >> /etc/profile << EOF |
| 286 | 286 | }}} |
| 287 | | * @DomU 逐一貼上以下設定. |
| | 287 | * @vg01 - 逐一貼上以下設定. |
| 288 | 288 | {{{ |
| 289 | 289 | #!sh |
| … |
… |
|
| 294 | 294 | EOF |
| 295 | 295 | }}} |
| 296 | | * @DomU 設定 DomU 上的 X forwarding. |
| | 296 | * @vg01 - 設定 DomU 上的 X forwarding. |
| 297 | 297 | {{{ |
| 298 | 298 | $ echo "X11Forwarding yes" >> /etc/ssh/sshd_config |
| … |
… |
|
| 301 | 301 | $ cat >> /etc/ssh/ssh_config << EOF |
| 302 | 302 | }}} |
| 303 | | * 逐一貼上以下設定. |
| | 303 | * @vg01 - 逐一貼上以下設定. |
| 304 | 304 | {{{ |
| 305 | 305 | #!sh |
| … |
… |
|
| 308 | 308 | EOF |
| 309 | 309 | }}} |
| 310 | | * 返回使用者 "clouder". |
| | 310 | * @vg01 -返回使用者 "clouder". |
| 311 | 311 | {{{ |
| 312 | 312 | $ exit |
| 313 | 313 | }}} |
| 314 | | * 使環境變數生效. |
| | 314 | * @vg01 - 使環境變數生效. |
| 315 | 315 | {{{ |
| 316 | 316 | $ source /etc/profile |
| 317 | 317 | }}} |
| 318 | | * 重新啟動 DomU 上的 SSH Service. |
| | 318 | * @vg01 - 重新啟動 DomU 上的 SSH Service. |
| 319 | 319 | {{{ |
| 320 | 320 | $ sudo /etc/init.d/ssh restart |
| … |
… |
|
| 323 | 323 | = 【Step 7: 在 Dom0 上 透過 X forwarding 登入 DomU 】 = |
| 324 | 324 | * 使用 X forwarding 的方式登入 DomU. |
| 325 | | * @Dom0 Using X forwarding. |
| | 325 | * @pcXXX - Using X forwarding. |
| 326 | 326 | {{{ |
| 327 | 327 | $ ssh -X vg01 |
| 328 | 328 | }}} |
| 329 | | * @DomU 檢查 direct rendering 有無起來. |
| | 329 | * @vg01 - 檢查 direct rendering 有無起來. |
| 330 | 330 | {{{ |
| 331 | 331 | $ glxinfo |
| … |
… |
|
| 414 | 414 | # Note: please do not run stub-daemon with "root" |
| 415 | 415 | }}} |
| 416 | | * @DomU 上的 glxgears 效能測試. |
| | 416 | * @vg01 - 上的 glxgears 效能測試. |
| 417 | 417 | {{{ |
| 418 | 418 | $ glxgears |
| … |
… |
|
| 428 | 428 | ---- |
| 429 | 429 | = 【Step 8: 相關應用案例: VNC為例 】 = |
| 430 | | * @DomU 設定VNC passwd. |
| | 430 | * @vg01 - 設定VNC passwd. |
| 431 | 431 | {{{ |
| 432 | 432 | $ vncpasswd |
| … |
… |
|
| 439 | 439 | Would you like to enter a view-only password (y/n)? n |
| 440 | 440 | }}} |
| 441 | | * @DomU 先啟動一次 VNC server 來產生 vnc 相關設定檔. |
| | 441 | * @vg01 - 先啟動一次 VNC server 來產生 vnc 相關設定檔. |
| 442 | 442 | {{{ |
| 443 | 443 | $ vncserver |
| … |
… |
|
| 451 | 451 | Log file is /home/clouder/.vnc/vg01:1.log |
| 452 | 452 | }}} |
| 453 | | * @DomU VNC 設定檔產生完成後即可先關閉該 VNC server. |
| | 453 | * @vg01 - VNC 設定檔產生完成後即可先關閉該 VNC server. |
| 454 | 454 | {{{ |
| 455 | 455 | $ vncserver -kill :1 |
| 456 | 456 | }}} |
| 457 | | * @DomU 修改 VNC 設定檔 xstartup,使得虛擬機器預設桌面使用 LXDE 來啟動. |
| | 457 | * @vg01 - 修改 VNC 設定檔 xstartup,使得虛擬機器預設桌面使用 LXDE 來啟動. |
| 458 | 458 | {{{ |
| 459 | 459 | $ cd |
| 460 | 460 | $ echo "startlxde &" >> .vnc/xstartup |
| 461 | 461 | }}} |
| 462 | | * @DomU 啟動一台 VNC server 並設定解析度. |
| | 462 | * @vg01 - 啟動一台 VNC server 並設定解析度. |
| 463 | 463 | {{{ |
| 464 | 464 | $ vncserver -geometry 1024x768 -depth 24 :1 |
| 465 | 465 | }}} |
| 466 | | * @Dom0 安裝 VNC viewer. |
| | 466 | * @pcXXX - 安裝 VNC viewer. |
| 467 | 467 | {{{ |
| 468 | 468 | $ sudo apt-get install xtightvncviewer |
| 469 | 469 | }}} |
| 470 | | * @Dom0 執行 VNC viewer,來連結到由 DomU 所產生的虛擬桌面. |
| | 470 | * @pcXXX - 執行 VNC viewer,來連結到由 DomU 所產生的虛擬桌面. |
| 471 | 471 | {{{ |
| 472 | 472 | $ vncviewer vg01:1 |
| 473 | 473 | }}} |
| 474 | | * @DomU Kill 掉 VNC server 的方法. |
| | 474 | * @vg01 - Kill 掉 VNC server 的方法. |
| 475 | 475 | {{{ |
| 476 | 476 | $ vncserver -kill :1 |