本课程转至实验楼项目课大赛5分钟模拟“透明计算”,若需转载请注明出处
透明计算相信大家都听说过,不知道的可自行百度。本实验课是一个科普实验,实验中可以学习到虚拟机及远程桌面基本概念,并自己动手搭建一个模拟透明计算的教学演示环境。
注意事项
- 本课只是模拟透明计算的演示效果,形似而已,绝非实现透明计算,毕竟我并不清楚透明计算的具体的技术原理。实验中选用的技术只是用来快速搭建一个通过浏览器访问的远程桌面,与透明计算没有任何关联。
-
5分钟
是敲命令和环境配置的时间,不含文档阅读时间及受实验楼网络影响的软件下载和虚拟机启动时间。 - 本课主要步骤参考爱鸟同学的“15分钟实现透明计算”,感谢爱鸟同学贡献了这么一篇详尽透彻的文章。
实验原理
用虚拟化技术(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. 下载虚拟机磁盘镜像
因为要启动虚拟机,所以我们需要一个虚拟机磁盘。实验楼环境启动大的Linux或Windows镜像时间会比较久,我们选择Tiny Core Linux,当然也可以选择ttylinux等其他的小型系统。
下载链接:http://www.tinycorelinux.net/6.x/x86/release/TinyCore-current.iso
注意:如果觉得输入链接麻烦,可以直接点击桌面上方的剪刀,拷贝到实验环境。
在刚才的Xfce终端
中输入下列命令:
# 下载TinyCore最新版ISO镜像,下载时间受实验楼的网络影响
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
这个时候命令会卡住,不用担心,虚拟机已经启动了,打开另外一个Xfce 终端
继续下面的命令吧。
命令执行截图:
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>
-->
第一行的``删掉,即去掉了注释。
再把这段文字改为下面的内容:
<authorize username="touming" password="touming">
<protocol>vnc</protocol>
<param name="hostname">localhost</param>
<param name="port">5910</param>
<param name="password">VNCPASS</param>
</authorize>
编辑完成后的内容:
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
即可进入我们刚刚创建的虚拟机桌面,如果你动作快的话现在可以看到TinyCore的启动画面,点进Web桌面敲下回车系统正式加载启动。
耐心等待1-2分钟,就可以看到TinyCore的桌面在浏览器中显示出来,恭喜你,你已经成功完成了本实验!
登录后的界面:
浏览器里的TinyCore桌面:
7. 后记
或许你还有疑问,我们一一解答:
手机可以访问吗?
只要你的浏览器支持HTML5,不分手机和PC。可以点击实验楼桌面上方的共享桌面
按钮,在手机浏览器上打开其中任意一个链接即可体验。
是否可以运行Windows?
理论上可以,但实验楼的环境不够好,建议在自己的电脑上用KVM虚拟化技术尝试。
虚拟机的远程管理怎么实现?
可以使用libvirt API开发对虚拟机的远程管理组件,例如开关机重启等。
自己的电脑上如何搭建?
首先装个Ubuntu 14.04操作系统,剩下的完全按照本实验操作就可以了。
顺便提一句,实验楼应该也是虚拟机,这个实验算是在虚拟机里又虚拟了一层,不过谁知道实验楼环境外面又有多少层,你可能是在虚拟机里的虚拟机里跑虚拟机,像不像盗梦空间
...
想要体验的小伙伴请请戳5分钟模拟“透明计算”,前往体验