本文写于2021年03月21日,阅读时请注意时效,动笔时VirtualBox的最新版本为6.1.32,本文中使用这一版本。
本文是GPU集群管理、使用指南系列的其中一篇,文中介绍了模拟集群实验的虚拟机设置方法,如果不是集群管理员跳过文中的相关内容即可。
选择VirtualBox的原因
为什么选择VirtualBox,VirtualBox对比VMware、KVM
VMware对Linux虚拟机的字符界面支持很差,比如不能自动调整分辨率,而VirtualBox对Linux虚拟机的字符界面支持比较好
VMware是专有软件(
proprietary software
),不开源且收费,VirtualBox是开源软件,在英文社区看到大家比较推荐,本体是GPLv2的许可,虽然VirtualBox的Extension Pack是VirtualBox使用Oracle自己的Personal Use and Evaluation License,但是我们做实验并不违反这一许可的内容如果使用的是Linux操作系统,还可以选择使用KVM,但是不如VirtualBox直观简单
官方下载内容链接:https://www.virtualbox.org/wiki/Downloads
VirtualBox相关内容的历史版本下载链接:https://download.virtualbox.org/virtualbox
官方文档
VirtualBox的User Manual中提到了很多内容,遇到不懂的东西建议先查文档,在上文链接页面中可以找到。开始菜单的virtualbox文件夹里也有pdf和chm的版本。
VirtualBox和Extension Pack的安装
注意VirtualBox和Extension Pack两者版本必须一致
VirtualBox安装过程全程无难点,选项均保持默认即可,VirtualBox安装好后在全局设定-扩展
中点右侧加号安装Extension Pack。
VirtualBox安装Linux虚拟机的正确设置
最重要的是不要选VMSVGA
全局设置
全局设置均可保持默认。
网络设置中,VirtualBox自带一个地址为10.0.2.0/24
的NAT网络,名叫NatNetwork
,由于我们需要模拟服务器的网络环境,这里需要添加一个NAT网络,接着修改网络名称和网络CIDR如下,用来模拟服务器到互联网的连接:
名称 | CIDR |
---|---|
seg172 | 172.20.137.0/24 |
虚拟机设置
Tip:由于使用虚拟机进行实验的过程中常常需要新建相同配置的虚拟机,所以我们提前新建一个名为debian template
的虚拟机作为模板,配置好以后,将上述虚拟机进行复制可以省去重复新建的时间。
新建
操作系统版本Debian 64bit
,内存1GB,磁盘500GB动态分配,命名为debian template
,如下图
详细设置
虚拟机新建完成后,点开页面上的齿轮修改详细设置,下文文字没有提到的选项均保持默认即可,不明白的设置查User Manual或者搜索一般都可以轻松查到这里不再赘述。
显示(重要)
屏幕选项卡→显存:拉到最大128MB,如果安装图形界面可能需要更大现存,保存设置之后在页面中直接单击128MB,可以选择增加到256MB。
屏幕选项卡→显卡控制器:VBoxVGA或者VBoxSVGA,不要选VMSVGA,否则虚拟机分辨率会被锁定为800*600且虚拟机启动后无法在 视图→虚拟显示屏
中重设分辨率
屏幕选项卡→硬件加速:不选3D加速,否则保存设置后会被自动修改为VMSVGA
其他保持默认
网络
如果只是需要让虚拟机访问Internet,保持默认即可,如果需要从宿主机(host)ssh登录到虚拟机,还需要参照下文启用一个仅主机网络网卡。
为了模拟服务器的多张网卡,我们启用所有网卡,连接方式和界面名称如下,注意是NAT网络
不是网络地址转换(NAT)
。因为NAT网络
中的虚拟机无法从主机直接访问,所以还需要额外添加一个仅主机网络给ssh登录使用。内部网络
的界面名称直接输入即可。
网卡序号 | 连接方式 | 界面名称 | 网络规格 |
---|---|---|---|
1 | NAT网络 | seg172 | 可以访问Internet的LAN |
2 | 内部网络 | seg12 | 交换机内网 |
3 | 内部网络 | seg13 | 交换机内网 |
4 | 仅主机网络 | 无 | ssh登陆使用 |
仅主机网络的适配器信息可以在管理→主机网络管理器
中修改,Windows中使用ipconfig
命令可以查看,宿主机(host)默认为192.168.56.1
,如下:
以太网适配器 VirtualBox Host-Only Network:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::3545:9bdd:f848:a1fd%17
IPv4 地址 . . . . . . . . . . . . : 192.168.56.1
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :
复制虚拟机
模板虚拟机新建完成后,需要复制一定数量的虚拟机供实验使用。复制时选择为所有网卡重新生成MAC地址
,副本类型选择完全复制
即可。
解决问题的思路
最开始用的是VMware,因为VirtualBox看起来很丑,但是VMware对Linux字符界面很不友好,分辨率不能调,用起来难受。刚好当时在研究ArchLinux的过程中看到了英文社区中很多关于虚拟机的观点,大家普遍推荐VirtualBox,因为对Linux友好且开源
在使用VirtualBox的过程中、同时也是研究ArchLinux的过程中接触到了ArcoLinux,ArcoLinux的作者发布了很多关于Linux的教程,本文中的显示设置就是参考了这位大神的设置,文章和视频见参考链接,同时附上了搬运到了B站的视频链接
如果重设屏幕分辨率无效可以使用
控制->重启
重启一下虚拟机,一般分辨率就会生效了
参考链接1:ArcoLinux - How to set virtualbox the correct way – graphics controller
参考链接2:youtube视频 # ArcoLinux : 1275 Virtualbox - correct setup on Jan 2020 - Set the graphics controller correct
参考链接3:bilibili搬运版 # VirtualBox的正确设置 by ArcoLinux
由于bilibili不支持在同一时间出现两条cc字幕,所以会出现很多句子没有字幕的情况