接着上篇,既然硬件性能大幅度提升了,那么这个配置的性能是肯定有很多富余的,所以开始折腾,给自己开个虚拟机玩玩。

本文所列的做法已经在物理机上通过并正在运行,写这篇文章我是边写边干,在另一个配置不错的VPS上面进行的。

 

2018.06更新:

下面内容太繁琐,而且容易出错

 

==============================从这开始忽视

 

在/etc/apt/sources.list里面加上一行:

# Debian 8 "Jessie"
deb http://ftp.debian.org/debian jessie-backports main contrib

 

更新一下软件库:

apt-get update

 

安装系统头文件和virtualbox:

apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,')
apt-get -t jessie-backports install virtualbox

 

下载并且安装扩展包:

wget https://download.virtualbox.org/virtualbox/5.1.36/Oracle_VM_VirtualBox_Extension_Pack-5.1.36.vbox-extpack
vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.36.vbox-extpack

这里有个小坑,因为5.1和5.2都是目前主线版本,而这个源里用的是5.1,所以我装了5.2的扩展包以后发觉不对,需要用下面这个命令先删掉5.2的才能再装5.1:

vboxmanage extpack uninstall 'Oracle VM VirtualBox Extension Pack'

 

==============================忽视到这里结束

 

VirtualBox安装的最简便方法:

 

1,官方下载自己系统对应的安装包,地址:https://www.virtualbox.org/wiki/Linux_Downloads

2,安装下载的包,ubuntu和debian为 dpkg -i 文件名

3,正常情况下,上一步并不会成功完成,因为缺少系统内核对应的头文件,安装步骤:

1,自动补全一些依赖的库和软件:
apt-get -f install
2,安装系统内核对应的头文件,在前面步骤的时候会有提示的,一般是linux-image开头的,注意一定要安装带版本号的那个

4,再次执行第2步。

5,因为远程管理必须要用扩展包,所以下载安装:

wget https://download.virtualbox.org/virtualbox/5.2.12/Oracle_VM_VirtualBox_Extension_Pack-5.2.12.vbox-extpack
vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.12.vbox-extpack

 

 

 

 

创建并且设置虚拟机的各项属性:

#创建,不多说
VBoxManage createvm --name "Win2008R2" --ostype Windows2008_64 --register

#下面三行设置远程管理信息
VBoxManage modifyvm "Win2008R2" --vrdeextpack default
VBoxManage modifyvm "Win2008R2" --vrde on
VBoxManage modifyvm "Win2008R2" --vrdeport 12345

#设置内存和启动项顺序
VBoxManage modifyvm "Win2008R2" --memory 1024 --acpi on --boot1 dvd --nic1 nat

#创建一个50G的硬盘文件
VBoxManage createhd --filename "Win2008R2.vdi" --size 51200

#添加存储控制器
VBoxManage storagectl "Win2008R2" --name "IDE Controller" --add ide --controller PIIX4

#把硬盘和ISO文件挂载上来
VBoxManage storageattach "Win2008R2" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium "Win2008R2.vdi"
VBoxManage storageattach "Win2008R2" --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /root/z/cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd.iso

#添加网卡,并且设置为桥接模式
VBoxManage modifyvm Win2008R2 --nic1 hostif --nictype1 82540EM --cableconnected1 on

#启动
VBoxManage startvm Win2008R2 --type headless

 

简要说明,有可能需要更改的是:虚拟机的名称Win2008R2 、硬盘大小 50G、内存大小 1024M、ISO文件路径和远程管理的端口12345,当虚拟机启动以后呢,用远程桌面连上这个12345端口,其效果和VNC是一样的:

 

但是这里还有个小坑,因为新装的系统,默认是没开远程桌面的,而我们连上远程管理以后呢,Ctrl+Alt+Del组合键又会被我们自己的计算机拦截,所以这个登录界面有点难受,需要先点我圈中的那个按钮,然后选中这一项:


然后依次(不是同时)按下Ctrl、Alt和Del就可以登录了。

 

登陆以后依然有个小坑,这个远程管理和VNC有相同的问题,鼠标定位不准,这就考验基础知识了,后面写篇文章单独说这个事,总之本文慢慢点就是了。第一时间要开远程桌面,然后返回宿主机操作:

 

首先要设置一下转发虚拟机的网络数据:

ifconfig eth0:0 172.16.0.1 netmask 255.255.255.0
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
/sbin/iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j MASQUERADE
/sbin/iptables -A FORWARD -p tcp --syn -s 172.16.0.0/24 -j TCPMSS --set-mss 1300

 

我给服务器的内网IP是172.16.0.1,虚拟机是172.16.0.2 。

至此,虚拟机就可以连上网络了。

 

但是我们无法直接连到虚拟机的远程桌面,可以用iptables转一下,我是用的haproxy,便于管理:

listen rdpmyself
bind 0.0.0.0:3389
mode tcp
balance roundrobin
server rdp1 172.16.0.2:3389

 

完事了,可以直接连上去爽一下了。

关机和重启的命令:

VBoxManage controlvm Win2008R2 poweroff
VBoxManage controlvm Win2008R2 restart

 

修改CPU数量:

#改为2个cpu
VBoxManage modifyvm "Win2008R2"  --cpus 2

 

 

边写边干,但最终我这个大号的云服务器没成功,有些设备挂不上来,有些VPS应该是可以的。virtualbox的性能确实有点捉急,主观感受么,比kvm还是有差距的,但就我这个硬件情况来讲,虚拟机的性能也远胜于linode和vultr的cpu了,而且硬盘空间也够大,虽然不是ssd但也很痛快了,毕竟是独享的服务器,多虚拟几个出来也应该强于买到的vps。

起初想法很简单的,我觉得当年用这样硬件配置的个人电脑,装个vmware什么的都很常见,那么作为服务器应该也一样可行,呵呵。而且有点尴尬的是,我这有些程序和操作是必须要在Win上面搞的,而为了这些事情单独搞个工作台什么的很不划算,也没必要。

另一方面,个人建议,能在宿主机上面运行的程序就尽可能不要放在虚拟机上去,虚拟化是一定有性能损耗的,性能是一定不如物理机的。

 

补充:

一般来说,桥接到的网卡是不会自动探测的,所以启动的时候会报错,需要手工指定:

#用这个确定一下是不是没有桥接网卡的问题
VBoxManage showvminfo Win2008R2 -details -machinereadable
#指定桥接到宿主机的eth0:
VBoxManage modifyvm Win2008R2 --bridgeadapter1 eth0

 

作者 听涛

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注