用VirtualBox搭建私有云计算平台

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命令太麻烦了,走一遍就熟悉了。当然,官方文档是最好的参考:。不知道这个文档是否有中文版,有时间的话,可以抽空翻译一个。

在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]

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/6cbae6aad99feef6e8c111f415160b1d.html