用virtualbox搭建私有云计算平台
| 2013-06-24 07:14 收藏: 1
virtualBox是一个非常好用的虚拟机软件,而且还跨平台,以前用过的都是桌面版,现在有一台ubuntu server,没有安装图形界面,google了一下,果然可以。效果和ec2或者linode vps差不多。再加上一个控制面板,估计就差不多了。
安装
ubuntu server 下安装的话,可以下载最新版 https://www.virtualbox.org/wiki/Linux_Downloads。然后安装就可以了。出现问题及时google。现在各种教程太多了。
然后安装扩展Oracle VM VirtualBox Extension Pack
vboxmanage install extpack xxx.vbox-extpack
下面开始从ubuntu-13.04-server-amd64.iso镜像创建一个虚拟机
#创建一个虚拟机
vboxmanage createvm --name ubuntu1304 --ostype Ubuntu_64 --register
#编辑一下基本配置
vboxmanage modifyvm ubuntu1304 --memory 512 --cpus 1 --acpi on --bioslogoimagepath /home/zenith/logo.bmp --boot1 dvd
#创建一个虚拟硬盘
vboxmanage createhd --filename /home/zenith/ubuntu1304.vdi --size 20000
#创建一个storagectl,来挂载硬盘和光盘
vboxmanage storagectl ubuntu1304 --name "IDE Controller" --add ide --bootable on
#挂载硬盘
vboxmanage storageattach ubuntu1304 --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/zenith/ubuntu1304.vdi
#挂载光盘
vboxmanage storageattach ubuntu1304 --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /home/zenith/ubuntu-13.04-server-amd64.iso
#开启虚拟机。通过远程桌面连接安装系统
VBoxHeadless -s ubuntu1 -e TCP/Ports=9001
#安装完成以后。删除光驱
vboxmanage storageattach ubuntu1304 --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium none
#端口映射
vboxmanage modifyvm ubuntu1304 --natpf1 guestssh,tcp,,2000,,22
#删除端口映射
vboxmanage modifyvm ubuntu1304 --natpf1 delete guestssh
#克隆
vboxmanage clonevm ubuntu1304 --name ubuntu1 --register
这样就可以了。对于克隆的linux虚拟机,启动的时候,连不上网。需要更改/etc/udev/rules.d/70-persistent-net.rules文件。把eth0那一行删了。然后把eth1改成eth0.重启即可。可能是因为虚拟机clone,mac地址换了,所以ubuntu linux识别出一个新网卡的原因。
vboxmanage命令比较强大。当然,可以直接编辑.vbox文件,但是正如看到的,vbox头部已经说明了:
** DO NOT EDIT THIS FILE.
** If you make changes to this file while any VirtualBox related application
** is running, your changes will be overwritten later, without taking effect.
** Use VBoxManage or the VirtualBox Manager GUI to make changes.
一开始觉得vboxmange命令太麻烦了,走一遍就熟悉了。当然,官方文档是最好的参考:http://www.virtualbox.org/manual/ch08.html。不知道这个文档是否有中文版,有时间的话,可以抽空翻译一个。
在google code上发现一个用php写的virtualBox GUI的东西:https://code.google.com/p/phpvirtualbox/。还没试用,看着不错。不错既然有ssh控制宿主机了。gui也无所谓了。
现在运行的是安装好一个系统,然后保存着,需要的话,直接vmclone出来一个新的,使用。很方便,跟ec2或者linode vps效果差不多。
FAQ
安装完系统,如何移除虚拟机光驱?
vboxmanage showvminfo xp1
找到光驱的位置,比如IDE Controller (0, 1):
vboxmanage storageattach "windows xp" --storagectl "IDE Controller" --port 1 --device 0 --medium none
vboxheadless -s 启动以后,用远程桌面链接,感觉鼠标不同步,怎么解决?
没有安装扩展包。先去官网下载对应操作系统的扩展包,比如 VBoxGuestAdditions_4.2.12.iso,然后挂载,进入客户机,安装,重启。
如何更改客户机BIOS启动logo?
vboxmange确实提供了这个设置。搜索bioslogoimagepath。
远程桌面连接,黏贴板不同步
vmboxmange设置:
[--clipboard disabled|hosttoguest|guesttohost|bidirectional]