注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

风轻扬

活着就是为了追求幸福

 
 
 

日志

 
 
关于我

关注互联网应用架构、分布式与海量数据处理技术、云计算、数据库技术

网易考拉推荐

VirtualBox应用入门  

2007-06-05 13:09:09|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
VirtualBox为类似于VMWare的虚拟化软件,经评测性能比VMWare好不少,只不过稳定性稍差(主要是涉及某些系统加密功能不支持)。最近几天玩了一下,感觉挺不错。一些基本的用法记录如下。这些用法都在我的机器上经过实验。我的Host是Ubuntu 7.04,Guest安装过Ubuntu 7.04和Windows XP。

一、安装与创建虚拟机
在Debian/Ubuntu下安装只需用以下命令:
sudo apt-get install virtualbox
其它系统可到VirtualBox下载安装包安装。

创建虚拟机启动"应用程序->系统工具->InnoTek VirtualBox",选择"New",根据提示一步步操作即可。与VMWare不同的是VirtualBox只能使用虚拟硬盘,不能直接使用物理硬盘。

在"CD/DVD-ROM"中选择光驱并插入安装盘或安装盘ISO文件,启动虚拟机即可安装Guest操作系统。鼠标和键盘被虚拟机截获时可用右CTRL退出。

1.1、安装Guest Additions
Guest Additions为安装在Guest操作系统中的软件,有消除鼠标键盘被截获问题、改善Guest显示效果和性能、在Host/Guest间共享文件等功能。

为安装Guest Additions,先选择"Devices->Mount CD/DVD-ROM/CD/DVD-ROM Image...",选择VBoxGuestAdditions.iso,或选择"Devices->Install Guest Additions..."。若Guest为Windows,会自动运行安装程序或进入到光盘安装,若Guest为Linux,进入到Guest的 CDROM所在目录(/media/cdrom),运行:
sudo sh ./VBoxLinuxAdditions.run
即可安装。安装成功后重启Guest。

由于Linux Guest Additions安装时会创建一些Linux内核模块,因此每台Guest的内核升级后都需要按照上面的步骤重新安装Guest Additions或运行以下命令:
sudo /etc/init.d/vboxdrv setup
二、配置
2.1、网络
NAT模式
默认使用NAT模式上网,安装后立即可用。NAT模式只允许从Guest向外发出连接请求,因此一般在Guest中上网没有问题,但无法在Guest中开网络服务,因此也不能从外部(包括Host)通过SSH连接到Guest。

可配置端口映射,使得在NAT模式下能够从外部主动连接到Guest。配置一个TCP端口映射通常需要运行以下三条命令:
VBoxManage setextradata 虚拟机名 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/端口映射规则名称/UDP" 0
VBoxManage setextradata 虚拟机名 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/端口映射规则名称/GuestPort" GUEST端口
VBoxManage setextradata 虚拟机名 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/端口映射规则名称/HostPort" HOST端口
这样即可为指定的虚拟机建立一个指定名称的端口映射规则,建立此规则后连接到Host的"HOST端口"时即相当于连接到Guest的"GUEST 端口"。如为名为Ubuntu的虚拟机建立一个名为ssh的端口映射规则,使得能从名部用ssh登陆到虚拟机中,可用如下命令:
VBoxManage setextradata Ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/UDP" 0
VBoxManage setextradata Ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22
VBoxManage setextradata Ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" 2222
这样即在在Host中使用"ssh -p 2222 user@localhost"登陆到Guest。

Host Interface模式: Route/TAP
使用Host Interface模式并使用Linux的IP转发功能和TAP,可为Host和Guest建立一个子网实现二者之间的方便互访。

首先要打开Linux内核转发功能
sudo su
echo 1 > /proc/sys/net/ipv4/ip_forward
利用iptables完成NAT功能
iptables -t nat -A POSTROUTING -j MASQUERADE
建立TAP虚拟网络设备
chmod 0666 /dev/net/tun
tunctl -t tap0 -u <你的用户名>
ifconfig tap0 up
ifconfig tap0 10.10.10.1 netmask 255.255.255.0
即新建一个名为tap0的虚拟网卡,设置Host的IP为10.10.10.1(也可以用其它地址)。如果没有用过TAP需要先安装Linux用户态工具包
sudo apt-get install uml-utilities
修改VirtualBox虚拟机配置,在"Network"中将其中一个Adapter设置为"Host Interface","Interface Name"输入tap0。然后启动Guest,将对应的网卡设置为静态获取IP地址如下:
IP: 10.10.10.xxx
Netmask: 255.255.255.0
Gateway: 10.10.10.1
这样配置好后在Guest中可访问Host于10.10.10.1,在Host中访问Guest于10.10.10.xxx。

由于使用上述设置后Guest与Host将属于10.10.10.这同一子网,相互访问非常方便,但Guest不会自动检测到DNS服务器。因此在Guest中通过上述虚拟网卡上互联网不太方便。为方便可保留原NAT网络,即新加一个Adapter设置为上述TAP虚拟网卡。

2.2、声音
在虚拟机Settings里选择"Audio->Enable Audio",Host Audio Driver一般选"ALSA Audio Driver"

2.3、软盘
点击虚拟机窗口状态栏上的软盘图标,选择连接到软驱或软盘镜像文件即可。

2.4、USB
一定要先以root用户启动VirtualBox。可以在命令行里运行
sudo VirtualBox
在虚拟机Settings中选择"USB->Enable USB Controller",启动Guest后点击状态栏上的USB图标加载对应的USB硬盘(一般是名为"USB TO IDE"的那个)。需要注意的是如果Host正在用这个USB盘则VirtualBox会立马将该盘从Host中umount,不会等数据完全写出。

2.5、共享文件
共享文件主要有两种方法,一是使用VirtualBox提供的文件共享功能,二是使用通用的samba。

使用VirtualBox提供的文件共享功能
要先安装Guest Additions软件才可用此功能。首先使用VBoxManage工具增加要共享的目录。使用命令格式如下:
VBoxManage sharedfolder add 虚拟机名 -name 共享名 -hostpath 要共享的目录
在Windows中访问共享目录类似于访问远程共享文件,地址输入"\\vboxsvr\共享名"即可。

在Linux中访问共享目录使用如下命令:
mount -t vboxsf 共享名 目录
使用samba
首先要设置好网络,默认的NAT模块一般不行,可使用前文所说的TAP模式。设置好网络后即可按标准的samba方式共享和访问文件。

  评论这张
 
阅读(4821)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017