VirtualBox
VirtualBox 是一款免费开源虚拟机软件。
使用者可以在VirtualBox上安装并且执行Solaris、Windows、DOS、Linux、OS/2 Warp、BSD等系统作为客户端操作系统。
- HomePage: https://www.virtualbox.org/
- Manual:https://www.virtualbox.org/manual/
- Docs:https://www.virtualbox.org/wiki/Documentation
- Download:https://www.virtualbox.org/wiki/Downloads
使用方法和技巧
01 - 为CentOS虚拟机安装VirtualBox增强功能
安装步骤:启动虚拟机,在开机界面中单击设备
菜单下的安装增强功能
,然后系统会加载增强功能所在的虚拟光盘,进入相应目录点击可执行文件或运行安装脚本,根据提示完成安装,最后重启虚拟机。
示例:
启动CentOS虚拟机,点击“菜单 -> 设备 -> 安装增强功能”。
vboxadd的映像文件将会被挂载到虚拟机,在桌面也可以看到,它包含了安装 VirtualBox 客户端增强功能的组件,目录类似 “/media/VBOXADDITIONS_5.1.4_110228/”。
Root权限进入到对应目录执行sh ./VBoxLinuxAdditions.run
命令,然后重启CentOS虚拟机,就可以使用增强功能了。
如果安装出现错误,根据提示查看相关日志。
一般情况下,解决的办法:将内核更新到最新版本,并安装它的头文件和来源,然后重启系统,再次尝试安装vboxadd。
yum update kernel
yum install gcc
yum install kernel-devel
02 - 确认VirtualBox增强功能是否安装成功
- Check the log file `/var/log/VBoxGuestAdditions.log for details.
- 执行
ls -la /opt | grep -i vbox
确认是否有对应版本的/VBoxGuestAdditions目录。
03 - 卸载增强工具(VirtualBox Guest Additions)
安装增强工具虽然一定程度上增加了易用性,避免鼠标不便(可以无缝切换)等问题,但在实际使用中往往出现莫名其妙的问题,甚至影响虚拟机性能,如果没有切实的使用需求,不建议安装。
以Linux为例:挂载镜像之后,到对应目录执行sudo ./VBoxLinuxAddtions.run uninstall
即可。
04 - 提升VirtualBox虚拟机性能的几种方法
确认CPU硬件虚拟化功能已开启
在BIOS中将虚拟化技术的选项从disabled改为enabled。
一般来说,英特尔CPU的虚拟化技术选项名称含有“virtualization technology”的字段。
选择虚拟机并点击设置按钮,选择系统
选项页面的硬件加速
标签,根据实际需求设置。
优化虚拟机设置(内存、显存、存储)
---》点击虚拟机的设置按钮
---》在系统
选项页面,根据实际需求设置内存大小
---》在显示
选项页面, 根据实际需求设置将显存大小
---》在储存
选项页面, 选中左侧存储介质
栏中控制器: SATA
选项, 然后勾选右侧 使用主机输入输出(I/O)缓存
选项
---》如果虚拟机镜像存放在固态硬盘中,可以选中控制器: SATA
选项下的子选项, 并勾选右侧的固态驱动器
选项
---》保存设置,重新运行虚拟机
05 - VirtualBox的网络模式
未指定 – Not attached
含义:类似虚拟机中有网卡,但是没有插网线;
目的:用于“告诉”虚拟机,网络断开了。
网络地址转换NAT – Network Address Translation (NAT)
虚拟机没有独立IP(不存在与真实的网络中)。
文件共享有限制。
虚拟机可以访主机问和外部网络,但主机和外部网络无法访问到虚拟机。
可用于网页浏览,下载,查看邮件等。
桥接网卡 – Bridged networking
虚拟机有独立的IP(在网络连接方面,就像一个真实的计算机)。
文件共享无限制。
虚拟机可以访主机问和外部网络,但主机和外部网络也可以访问到虚拟机。
内部网络 – Internal networking
虚拟机有独立的IP。
属于同一主机Host中的虚拟机之间可互相访问。
仅主机(Host-Only)适配器 – Host-only networking
虚拟机有独立的IP。
此模式可以在主机物理网卡不存在的情况下,创建一个包换主机和虚拟机的虚拟网络。
主机Host和虚拟机之间可互相访问。不能访问外部网络。
机制:virtualbox内部会创建类似于loopback的虚拟网络接口,从而建立虚拟机和主机之间的通讯连接。
06 - CentOS在Host-Only模式下实现SSH登录
VirtualBox - 全局设定 - 网络 - 仅主机(Host-Only)网络 - 主机虚拟网络界面
IPv4地址:192.168.16.1
IPv4网络掩码:255.255.255.0
其余选项保持默认设置
VirtualBox - 全局设定 - 网络 - 仅主机(Host-Only)网络 - DHCP服务器
不启用服务器
设置虚拟机Host-Only网卡参数
[root@www network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@www network-scripts]# cat ifcfg-eth0
# Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
#BOOTPROTO=dhcp
BOOTPROTO=static
IPADDR=192.168.16.101
NETMASK=255.255.255.0
GATEWAY=192.168.16.1
BROADCAST=192.168.16.255
ONBOOT=yes
HWADDR=08:00:00:00:00:11
[root@www network-scripts]#
[root@www network-scripts]# ping 192.168.16.1
PING 192.168.16.1 (192.168.16.1) 56(84) bytes of data.
64 bytes from 192.168.16.1: icmp_seq=1 ttl=128 time=0.416 ms
--- 192.168.16.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.416/0.416/0.416/0.000 ms
[root@www network-scripts]#
虚拟机的SSH服务配置启动后,就直接SSH登录虚拟机(这里是192.168.16.101)。
07 - CentOS在NAT模式下实现SSH登录
Note:需要同时启用Host-Only模式。
VirtualBox - 全局设定 - 网络 - NAT网络
添加一个新的NAT网络,并设置如下参数:
网络名称:NatNetwork
网络CIDR:10.0.0.2/24
网络选项:支持DHCP
VirtualBox - 全局设定 - 网络 - NAT网络 - 名称(这里是NatNetwork)- 端口转发 - 端口转发规则 - IPv4
名称:Rule1
协议:TCP
主机:192.168.16.1 #--- Host-Only模式下的网关IP地址
主机端口:12345 #--- 自定义的端口
子系统IP:10.0.2.4 #---- 虚拟机NAT网卡的IP地址
子系统端口:22 #--- 虚拟机SSH服务端口
虚拟机的SSH服务配置启动后,直接SSH登录虚拟机(这里是192.168.16.1:12345)。
问题处理
01 - 虚拟机启动时报错“不能为虚拟电脑......打开一个新任务.”
问题现象:
处理方法:
按照如下链接操作后,重启对应的网卡即可。
https://blog.csdn.net/lh11077/article/details/51979663