1. VirtualBox概述与环境规划
VirtualBox是一个开源的桌面虚拟化软件,允许用户在单个物理计算机上运行多个操作系统。VirtualBox是开发、测试和演示的理想工具,适用于个人和小型团队。更多学习教程www.fgedu.net.cn
1.1 VirtualBox版本说明
VirtualBox目前主要版本为7.x系列,本教程以VirtualBox 7.0.0为例进行详细讲解。VirtualBox 7.x版本相比之前版本在性能、稳定性和功能方面都有显著提升,支持更多的虚拟化特性。
$ vboxmanage –version
7.0.0r153978
# 查看系统版本
$ cat /etc/os-release
NAME=”Oracle Linux Server”
VERSION=”8.9″
ID=”ol”
PRETTY_NAME=”Oracle Linux Server 8.9″
# 查看内核版本
$ uname -r
5.4.17-2136.302.7.2.el8uek.x86_64
1.2 环境规划
本次安装环境规划如下:
– 操作系统:Oracle Linux Server 8.9
– CPU:Intel Core i7-10700K
– 内存:32GB
– 磁盘:512GB SSD + 2TB HDD
– 网络:千兆以太网
VirtualBox版本:7.0.0
虚拟机配置:
– 操作系统:Ubuntu 22.04 LTS
– CPU:4核
– 内存:8GB
– 磁盘:100GB
– 网络:NAT
2. 硬件环境要求
VirtualBox作为桌面虚拟化软件,对硬件资源要求根据虚拟机数量和配置而定。学习交流加群风哥微信: itpux-com
2.1 物理主机环境要求
– CPU:至少4核,支持Intel VT-x或AMD-V虚拟化技术
– 内存:至少8GB,建议16GB以上
– 磁盘:至少50GB可用空间,建议使用SSD
– 网络:千兆以太网
# 检查CPU虚拟化支持
# lscpu | grep -E “(vmx|svm)”
# 检查内存
# free -h
total used free shared buff/cache available
Mem: 32G 8.4G 23.1G 512M 512M 23.4G
Swap: 8G 0B 8G
# 检查磁盘空间
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 512G 100G 412G 20% /
/dev/sdb1 2TB 500G 1.5T 25% /data
3. 操作系统环境准备
在安装VirtualBox之前,需要对操作系统进行必要的配置和优化。
3.1 操作系统版本检查
# cat /etc/os-release
NAME=”Oracle Linux Server”
VERSION=”8.9″
ID=”ol”
PRETTY_NAME=”Oracle Linux Server 8.9″
# 检查内核版本
# uname -r
5.4.17-2136.302.7.2.el8uek.x86_64
# 检查SELinux状态
# getenforce
Enforcing
# 检查防火墙状态
# systemctl status firewalld
● firewalld.service – firewalld – dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running)
3.2 依赖服务安装
# dnf install -y wget curl tar gzip gcc kernel-devel kernel-headers
# 关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld
# 关闭SELinux
# setenforce 0
# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config
# 安装内核开发包
# dnf install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r)
# 重启系统
# reboot
4. VirtualBox安装配置
完成环境准备后,开始安装VirtualBox。
4.1 安装VirtualBox
# wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo
# mv virtualbox.repo /etc/yum.repos.d/
# 安装VirtualBox
# dnf install -y VirtualBox-7.0
# 安装VirtualBox扩展包
# wget https://download.virtualbox.org/virtualbox/7.0.0/Oracle_VM_VirtualBox_Extension_Pack-7.0.0.vbox-extpack
# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.0.vbox-extpack
# 验证安装
# vboxmanage –version
7.0.0r153978
4.2 初始化VirtualBox
# virtualbox
# 完成初始化向导
# 1. 接受许可协议
# 2. 配置用户体验设置
# 3. 完成初始化
# 验证VirtualBox启动
# vboxmanage –version
5. VirtualBox配置优化
为了提高VirtualBox的性能和稳定性,需要进行一些配置优化。
5.1 基本配置优化
# vi ~/.config/VirtualBox/VirtualBox.xml
# 配置虚拟机存储路径
# 配置主机内存
# 打开VirtualBox -> 文件 -> 首选项 -> 常规
# 调整虚拟机内存使用限制
# 配置主机处理器
# 打开VirtualBox -> 文件 -> 首选项 -> 常规
# 调整虚拟机处理器使用限制
5.2 网络配置
# 打开VirtualBox -> 文件 -> 首选项 -> 网络
# 配置NAT网络
# 1. 点击 “NAT网络” 标签
# 2. 点击 “+” 添加NAT网络
# 3. 配置网络名称:NatNetwork
# 4. 配置子网IP:192.168.100.0
# 5. 配置子网掩码:255.255.255.0
# 6. 点击 “确定”
# 配置仅主机网络
# 1. 点击 “仅主机网络” 标签
# 2. 点击 “+” 添加仅主机网络
# 3. 配置网络名称:HostOnlyNetwork
# 4. 点击 “确定”
6. 虚拟机配置
VirtualBox允许用户创建和配置虚拟机,以运行不同的操作系统。
6.1 创建虚拟机
# virtualbox
# 创建虚拟机
# 1. 点击 “新建”
# 2. 输入虚拟机名称:ubuntu2204
# 3. 选择类型:Linux
# 4. 选择版本:Ubuntu (64-bit)
# 5. 点击 “下一步”
# 6. 配置内存大小:8GB
# 7. 点击 “下一步”
# 8. 选择 “创建虚拟硬盘”
# 9. 点击 “下一步”
# 10. 选择 “VDI (VirtualBox磁盘映像)”
# 11. 点击 “下一步”
# 12. 选择 “动态分配”
# 13. 点击 “下一步”
# 14. 配置磁盘大小:100GB
# 15. 点击 “创建”
# 启动虚拟机
# 1. 选择创建的虚拟机
# 2. 点击 “启动”
# 3. 选择Ubuntu 22.04 LTS ISO文件
# 4. 按照提示完成Ubuntu安装
6.2 配置虚拟机
# 1. 选择创建的虚拟机
# 2. 点击 “设置”
# 配置硬件
# 1. 内存:8GB
# 2. 处理器:4核
# 3. 网络适配器:NAT
# 4. 硬盘:100GB
# 5. 点击 “确定”
# 配置虚拟机选项
# 1. 点击 “选项” 标签
# 2. 配置电源选项
# 3. 配置共享文件夹
# 4. 点击 “确定”
7. 网络配置
VirtualBox支持多种网络连接模式,包括NAT、桥接和仅主机模式。
7.1 NAT网络配置
# 打开VirtualBox -> 文件 -> 首选项 -> 网络
# 配置NAT设置
# 1. 选择创建的NAT网络
# 2. 点击 “编辑”
# 3. 配置网关IP:192.168.100.1
# 4. 配置端口转发
# 5. 点击 “确定”
# 验证NAT网络
# 在虚拟机中执行
$ ip addr
$ ping -c 4 google.com
7.2 桥接网络配置
# 1. 选择虚拟机
# 2. 点击 “设置”
# 3. 选择 “网络”
# 4. 选择 “桥接网卡”
# 5. 选择主机网卡
# 6. 点击 “确定”
# 验证桥接网络
# 在虚拟机中执行
$ ip addr
$ ping -c 4 google.com
8. 存储配置
VirtualBox支持多种存储选项,包括虚拟磁盘和共享文件夹。
8.1 虚拟磁盘配置
# 1. 选择虚拟机
# 2. 点击 “设置”
# 3. 选择 “存储”
# 4. 点击 “控制器:SATA” 下的 “添加硬磁盘”
# 5. 选择 “创建新的虚拟磁盘”
# 6. 点击 “下一步”
# 7. 选择 “VDI (VirtualBox磁盘映像)”
# 8. 点击 “下一步”
# 9. 选择 “动态分配”
# 10. 点击 “下一步”
# 11. 配置磁盘大小:50GB
# 12. 点击 “创建”
# 扩展虚拟磁盘
# 1. 关闭虚拟机
# 2. 执行命令
# vboxmanage modifyhd “~/VirtualBox VMs/ubuntu2204/ubuntu2204.vdi” –resize 153600
8.2 共享文件夹配置
# 1. 选择虚拟机
# 2. 点击 “设置”
# 3. 选择 “共享文件夹”
# 4. 点击 “+”
# 5. 浏览并选择主机上的共享文件夹
# 6. 输入共享名称:share
# 7. 选择 “自动挂载”
# 8. 点击 “确定”
# 访问共享文件夹
# 在虚拟机中执行
$ cd /media/sf_share
$ ls -la
9. 性能优化
在生产环境中,需要对VirtualBox进行性能优化以提高虚拟机运行效率。from:www.itpux.com
9.1 内存优化
# 1. 选择虚拟机
# 2. 点击 “设置”
# 3. 调整内存大小:8GB
# 4. 点击 “确定”
# 配置主机内存
# 打开VirtualBox -> 文件 -> 首选项 -> 常规
# 调整虚拟机内存使用限制:75%
9.2 处理器优化
# 1. 选择虚拟机
# 2. 点击 “设置”
# 3. 调整处理器数量:4核
# 4. 点击 “确定”
# 配置主机处理器
# 打开VirtualBox -> 文件 -> 首选项 -> 常规
# 调整虚拟机处理器使用限制:75%
9.3 磁盘优化
# 1. 选择虚拟机
# 2. 点击 “设置”
# 3. 选择 “存储”
# 4. 选择虚拟磁盘
# 5. 点击 “属性”
# 6. 选择 “预分配全部空间”
# 7. 点击 “确定”
# 整理虚拟磁盘
# 1. 关闭虚拟机
# 2. 执行命令
# vboxmanage modifyhd “~/VirtualBox VMs/ubuntu2204/ubuntu2204.vdi” –compact
10. 升级迁移
本节介绍VirtualBox的版本升级和虚拟机迁移方法。
10.1 VirtualBox版本升级
# 1. 选择虚拟机
# 2. 点击 “文件” -> “导出设备”
# 3. 选择导出位置
# 4. 点击 “保存”
# 升级VirtualBox
# dnf update -y VirtualBox-7.0
# 验证升级
# vboxmanage –version
7.0.10r158379
10.2 虚拟机迁移
# 1. 选择虚拟机
# 2. 点击 “文件” -> “导出设备”
# 3. 选择导出位置
# 4. 点击 “保存”
# 导入虚拟机
# 1. 打开VirtualBox
# 2. 点击 “文件” -> “导入设备”
# 3. 浏览并选择OVF文件
# 4. 点击 “打开”
# 5. 按照提示完成导入
# 验证迁移
# 启动导入的虚拟机
# 检查虚拟机功能
11. 备份恢复
本节介绍VirtualBox的备份和恢复方法。
11.1 虚拟机备份
# vi ~/scripts/backup_vm.sh
#!/bin/bash
BACKUP_DIR=”~/backups”
DATE=$(date +%Y%m%d)
# 创建备份目录
mkdir -p $BACKUP_DIR
# 导出虚拟机
vboxmanage export ubuntu2204 -o $BACKUP_DIR/ubuntu2204-$DATE.ovf
# 清理旧备份(保留7天)
find $BACKUP_DIR -type f -mtime +7 -exec rm -f {} \;
# 添加执行权限
# chmod +x ~/scripts/backup_vm.sh
# 添加定时任务
# crontab -e
0 0 * * * ~/scripts/backup_vm.sh
11.2 虚拟机恢复
# 1. 选择虚拟机
# 2. 点击 “关闭” -> “关闭电源”
# 清理现有虚拟机
# vboxmanage unregistervm ubuntu2204 –delete
# 恢复虚拟机
# vboxmanage import ~/backups/ubuntu2204-20230405.ovf
# 启动虚拟机
# 1. 选择恢复的虚拟机
# 2. 点击 “启动”
# 验证恢复
# 检查虚拟机功能
11.3 虚拟机监控
# vi ~/scripts/monitor_vm.sh
#!/bin/bash
LOG_FILE=”~/logs/vm_monitor.log”
ALERT_EMAIL=”admin@fgedu.net.cn”
# 创建日志目录
mkdir -p ~/logs
check_vm_status() {
echo “$(date): Checking VM status…” >> $LOG_FILE
vm_status=$(vboxmanage list runningvms | grep ubuntu2204)
if [ -z “$vm_status” ]; then
echo “$(date): VM ubuntu2204 is not running” >> $LOG_FILE
echo “VM ubuntu2204 is not running” | mail -s “VM Alert” $ALERT_EMAIL
vboxmanage startvm ubuntu2204 –type headless
else
echo “$(date): VM ubuntu2204 is running” >> $LOG_FILE
fi
}
check_host_resources() {
echo “$(date): Checking host resources…” >> $LOG_FILE
memory_usage=$(free -m | grep Mem | awk ‘{print $3/$2 * 100}’)
cpu_usage=$(top -bn1 | grep “Cpu(s)” | awk ‘{print $2 + $4}’)
disk_usage=$(df -h / | tail -1 | awk ‘{print $5}’ | sed ‘s/%//’)
if [ $(echo “$memory_usage > 90” | bc) -eq 1 ]; then
echo “$(date): Memory usage warning: $memory_usage%” >> $LOG_FILE
echo “Memory usage warning: $memory_usage%” | mail -s “Host Alert” $ALERT_EMAIL
fi
if [ $(echo “$cpu_usage > 90” | bc) -eq 1 ]; then
echo “$(date): CPU usage warning: $cpu_usage%” >> $LOG_FILE
echo “CPU usage warning: $cpu_usage%” | mail -s “Host Alert” $ALERT_EMAIL
fi
if [ $disk_usage -gt 90 ]; then
echo “$(date): Disk usage warning: $disk_usage%” >> $LOG_FILE
echo “Disk usage warning: $disk_usage%” | mail -s “Host Alert” $ALERT_EMAIL
fi
}
main() {
check_vm_status
check_host_resources
}
main
# 添加执行权限
# chmod +x ~/scripts/monitor_vm.sh
# 添加定时任务
# crontab -e
*/15 * * * * ~/scripts/monitor_vm.sh
通过以上步骤,VirtualBox安装配置、性能优化、升级迁移、备份恢复等内容已全部完成。VirtualBox作为开源桌面虚拟化软件,能够高效地运行多个操作系统,是开发、测试和演示的理想工具。
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
