本課程轉(zhuǎn)至實驗樓項目課大賽5分鐘模擬“透明計算”,若需轉(zhuǎn)載請注明出處
透明計算相信大家都聽說過,不知道的可自行百度。本實驗課是一個科普實驗,實驗中可以學習到虛擬機及遠程桌面基本概念,并自己動手搭建一個模擬透明計算的教學演示環(huán)境。
注意事項
- 本課只是模擬透明計算的演示效果,形似而已,絕非實現(xiàn)透明計算,畢竟我并不清楚透明計算的具體的技術原理。實驗中選用的技術只是用來快速搭建一個通過瀏覽器訪問的遠程桌面,與透明計算沒有任何關聯(lián)。
-
5分鐘是敲命令和環(huán)境配置的時間,不含文檔閱讀時間及受實驗樓網(wǎng)絡影響的軟件下載和虛擬機啟動時間。 - 本課主要步驟參考愛鳥同學的“15分鐘實現(xiàn)透明計算”,感謝愛鳥同學貢獻了這么一篇詳盡透徹的文章。
實驗原理
用虛擬化技術(QEMU)啟動一個Linux虛擬機(Tiny Core Linux),然后啟動一個web服務(Guacamole)連接虛擬機的VNC桌面,最后達到用戶可以通過瀏覽器訪問虛擬機桌面的效果。
參考資料
本課程參考文章及用到的技術:
1. 安裝需要的軟件
在實驗樓的桌面點擊Xfce 終端,開始我們的學習旅程。
在打開的命令行窗口中輸入下面的命令,因為用到了sudo,會提示你輸入密碼,實驗樓的默認用戶是shiyanlou,密碼是shiyanlou。
# 更新軟件倉庫
shiyanlou:~/$ sudo apt-get update
[sudo] password for shiyanlou: 此處輸入shiyanlou
# 安裝guacamole,libvncserver及qemu,其中會詢問是否重啟tomcat,選擇Yes即可
shiyanlou:~/$ sudo apt-get install guacamole-tomcat libvncserver-dev qemu qemu-kvm
# 安裝guacamole到tomcat6
shiyanlou:~/$ sudo mkdir /usr/share/tomcat6/.guacamole
shiyanlou:~/$ sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/.guacamole/
2. 下載虛擬機磁盤鏡像
因為要啟動虛擬機,所以我們需要一個虛擬機磁盤。實驗樓環(huán)境啟動大的Linux或Windows鏡像時間會比較久,我們選擇Tiny Core Linux,當然也可以選擇ttylinux等其他的小型系統(tǒng)。
下載鏈接:http://www.tinycorelinux.net/6.x/x86/release/TinyCore-current.iso
注意:如果覺得輸入鏈接麻煩,可以直接點擊桌面上方的剪刀,拷貝到實驗環(huán)境。
在剛才的Xfce終端中輸入下列命令:
# 下載TinyCore最新版ISO鏡像,下載時間受實驗樓的網(wǎng)絡影響
shiyanlou:~/$ wget http://www.tinycorelinux.net/6.x/x86/release/TinyCore-current.iso
3. 啟動虛擬機
shiyanlou:~/$ sudo qemu-system-x86_64 -hda TinyCore-current.iso -boot d -no-acpi -vnc :10
這個時候命令會卡住,不用擔心,虛擬機已經(jīng)啟動了,打開另外一個Xfce 終端繼續(xù)下面的命令吧。
命令執(zhí)行截圖:
4. 配置guacamole
編輯guacamole的文件,讓這個web服務后臺去連接虛擬機的VNC桌面。
編輯命令:
你如果對vim的使用不熟練,可以將命令中的vim替換為gedit,類似windows上的記事本。
shiyanlou:~/$ sudo vim /etc/guacamole/user-mapping.xml
把下面這段文字:
<!--
<authorize username="USERNAME" password="PASSWORD">
<protocol>vnc</protocol>
<param name="hostname">localhost</param>
<param name="port">5900</param>
<param name="password">VNCPASS</param>
</authorize>
-->
第一行的``刪掉,即去掉了注釋。
再把這段文字改為下面的內(nèi)容:
<authorize username="touming" password="touming">
<protocol>vnc</protocol>
<param name="hostname">localhost</param>
<param name="port">5910</param>
<param name="password">VNCPASS</param>
</authorize>
編輯完成后的內(nèi)容:
vim編輯完成后,需要按ESC鍵,再輸入:wq保存文件。
5. 啟動服務
# 重啟guacamole后臺服務及tomcat
shiyanlou:~/$ sudo service guacd restart
shiyanlou:~/$ sudo service tomcat6 restart
6. 測試
雙擊桌面上的Firefox瀏覽器,在瀏覽器中輸入鏈接http://localhost:8080/guacamole,即可訪問guacamole的頁面,在頁面中輸入用戶名touming及密碼touming登錄(第4步設置的用戶名及密碼)。
登錄后點擊DEFAULT即可進入我們剛剛創(chuàng)建的虛擬機桌面,如果你動作快的話現(xiàn)在可以看到TinyCore的啟動畫面,點進Web桌面敲下回車系統(tǒng)正式加載啟動。
耐心等待1-2分鐘,就可以看到TinyCore的桌面在瀏覽器中顯示出來,恭喜你,你已經(jīng)成功完成了本實驗!
登錄后的界面:
瀏覽器里的TinyCore桌面:
7. 后記
或許你還有疑問,我們一一解答:
手機可以訪問嗎?
只要你的瀏覽器支持HTML5,不分手機和PC??梢渣c擊實驗樓桌面上方的共享桌面按鈕,在手機瀏覽器上打開其中任意一個鏈接即可體驗。
是否可以運行Windows?
理論上可以,但實驗樓的環(huán)境不夠好,建議在自己的電腦上用KVM虛擬化技術嘗試。
虛擬機的遠程管理怎么實現(xiàn)?
可以使用libvirt API開發(fā)對虛擬機的遠程管理組件,例如開關機重啟等。
自己的電腦上如何搭建?
首先裝個Ubuntu 14.04操作系統(tǒng),剩下的完全按照本實驗操作就可以了。
順便提一句,實驗樓應該也是虛擬機,這個實驗算是在虛擬機里又虛擬了一層,不過誰知道實驗樓環(huán)境外面又有多少層,你可能是在虛擬機里的虛擬機里跑虛擬機,像不像盜夢空間...
想要體驗的小伙伴請請戳5分鐘模擬“透明計算”,前往體驗