1. 项目概述
作为一名长期使用虚拟化技术的开发者,我经常需要在本地搭建Linux测试环境。VMware Workstation作为业界领先的虚拟化平台,配合CentOS 7.9这个企业级Linux发行版,能够完美满足开发测试需求。本文将分享我从零开始搭建这个环境的完整过程,包含2023年最新的配置技巧和避坑指南。
2. 环境准备
2.1 硬件与软件需求
建议使用至少16GB内存的PC或笔记本,因为VMware需要分配足够资源给虚拟机。我的测试机配置如下:
- CPU: Intel i7-10700 (8核16线程)
- 内存: 32GB DDR4
- 存储: 512GB NVMe SSD
- 主机系统: Windows 10 Pro 21H2
软件方面需要准备:
- VMware Workstation Pro 17(当前最新稳定版)
- CentOS 7.9 Minimal ISO镜像(约1.2GB)
注意:CentOS 7.9将于2024年6月停止维护,如需长期使用建议考虑CentOS Stream或Rocky Linux等替代方案
2.2 下载与安装VMware
从VMware官网下载Workstation Pro 17安装包(约600MB)。安装过程有几个关键选项需要注意:
- 选择"增强型键盘驱动程序"(提升键盘输入体验)
- 勾选"将VMware Workstation控制台工具添加到系统PATH"(方便命令行操作)
- 安装后建议重启主机系统
安装完成后需要输入许可证密钥。VMware提供30天试用期,足够完成本项目的测试需求。
3. 创建CentOS虚拟机
3.1 新建虚拟机向导
打开VMware Workstation,点击"创建新的虚拟机":
- 选择"自定义(高级)"配置
- 硬件兼容性选择Workstation 17.x
- 选择"稍后安装操作系统"
- 客户机操作系统选择Linux,版本选CentOS 7 64位
- 虚拟机名称建议包含"CentOS 7.9"和日期标识
- 处理器配置:2核(开发测试足够)
- 内存分配:4096MB(根据主机内存调整)
- 网络类型:NAT(最方便的上网方式)
- I/O控制器类型:LSI Logic(兼容性最好)
- 磁盘类型:SCSI
- 创建新虚拟磁盘,容量建议40GB(选择"将虚拟磁盘拆分成多个文件"更灵活)
- 磁盘文件命名保持默认
3.2 虚拟机硬件调整
创建完成后,还需要进行几项关键配置:
- 右键虚拟机 → 设置 → CD/DVD → 使用ISO镜像文件(选择下载的CentOS 7.9镜像)
- 显示 → 指定监视器设置 → 分辨率1920x1080
- 选项 → 高级 → 固件类型选择BIOS(CentOS 7对UEFI支持不如BIOS稳定)
- 添加一个串行端口(方便调试)
4. 安装CentOS 7.9
4.1 启动安装程序
开启虚拟机电源,快速按ESC键进入启动菜单,选择从CD-ROM启动。看到安装界面后:
- 选择"Install CentOS 7"
- 语言选择English(避免中文路径问题)
- 时区选择Asia/Shanghai
- 安装源验证通过后自动进入下一步
4.2 磁盘分区方案
这是最关键也最容易出错的步骤。建议采用以下分区方案:
/boot 1GB (标准分区) swap 4GB (标准分区,与内存等大) / 剩余全部空间 (LVM,便于后期扩容)具体操作:
- 选择"我要配置分区" → 点击"完成"进入手动分区
- 点击"+"添加/boot分区:1GB,文件系统xfs
- 添加swap分区:4GB
- 添加/分区:选择"LVM",容量选择"剩余所有空间"
- 点击"完成"并接受更改
重要提示:如果看到警告"没有定义根文件系统",说明忘记设置挂载点,需要返回检查
4.3 网络与主机名配置
- 打开"网络和主机名"
- 启用以太网连接(会自动获取IP)
- 主机名设置为centos79.localdomain(可自定义)
- 点击"应用"
4.4 软件选择与安装
- 软件选择 → Minimal Install(基础环境,节省资源)
- 勾选"兼容性程序库"和"开发工具"(方便后续开发)
- 开始安装
- 设置root密码(建议复杂密码)
- 创建普通用户(建议与主机用户名一致)
安装过程约10-15分钟(取决于硬件性能),完成后点击"重启"。
5. 初始配置与优化
5.1 首次启动设置
- 接受许可证协议
- 不启用Kdump(开发环境不需要)
- 完成初始化设置
5.2 基础软件安装
登录后首先更新系统:
sudo yum update -y sudo yum install -y epel-release sudo yum install -y vim wget curl net-tools git5.3 VMware Tools安装
这是提升虚拟机性能的关键步骤:
- 在VMware菜单选择 虚拟机 → 安装VMware Tools
- 挂载光盘:
mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom- 解压并安装:
tar -xzvf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/ cd /tmp/vmware-tools-distrib/ sudo ./vmware-install.pl -d- 重启生效
6. 网络配置详解
6.1 NAT网络原理
VMware默认使用NAT模式,相当于虚拟机通过主机"共享上网"。关键配置文件:
- /etc/sysconfig/network-scripts/ifcfg-ens33(主网卡)
- /etc/resolv.conf(DNS配置)
6.2 静态IP配置(可选)
如需固定IP,修改ifcfg-ens33:
BOOTPROTO=static IPADDR=192.168.10.100 NETMASK=255.255.255.0 GATEWAY=192.168.10.2 DNS1=114.114.114.114然后重启网络:
sudo systemctl restart network7. 常见问题解决
7.1 无法联网排查
- 检查VMware虚拟网络编辑器中的NAT设置
- 确认主机服务"VMware NAT Service"正在运行
- 在虚拟机中测试:
ping 192.168.10.2 # 网关 ping 114.114.114.114 # DNS7.2 分辨率调整
如果界面显示不全:
- 安装VMware Tools(见5.3节)
- 修改grub配置:
sudo vim /etc/default/grub # 在GRUB_CMDLINE_LINUX添加 video=hyperv_fb:1920x1080 sudo grub2-mkconfig -o /boot/grub2/grub.cfg7.3 磁盘空间不足
使用LVM分区的优势此时显现:
- 在VMware中扩展虚拟磁盘大小
- 在虚拟机中执行:
sudo fdisk /dev/sda # 创建新分区 sudo pvcreate /dev/sda3 sudo vgextend centos /dev/sda3 sudo lvextend -l +100%FREE /dev/centos/root sudo xfs_growfs /dev/centos/root8. 开发环境配置
8.1 SSH远程连接
- 安装openssh-server:
sudo yum install -y openssh-server sudo systemctl start sshd sudo systemctl enable sshd- 在主机使用Xshell或MobaXterm连接
8.2 防火墙设置
CentOS 7默认使用firewalld:
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload8.3 开发工具链
安装常用开发组件:
sudo yum groupinstall -y "Development Tools" sudo yum install -y java-11-openjdk-devel python3-devel9. 性能优化技巧
9.1 内存分配策略
在.vmx配置文件中添加:
mainMem.useNamedFile = "FALSE" prefvmx.useRecommendedLockedMemSize = "TRUE"9.2 磁盘IO优化
- 使用独立虚拟磁盘存放数据库文件
- 在VMware设置中启用"独立-持久"磁盘模式
- 在CentOS中启用deadline调度器:
echo deadline > /sys/block/sda/queue/scheduler9.3 CPU资源分配
对于多核主机,可以:
- 分配更多虚拟CPU核心
- 设置CPU亲和性:
processor0.use = "TRUE" processor1.use = "TRUE"10. 备份与快照管理
10.1 VMware快照使用
- 关机状态下创建"纯净环境"快照
- 重要操作前创建临时快照
- 避免创建过多快照影响性能
10.2 虚拟机克隆
右键虚拟机 → 管理 → 克隆:
- 创建完整克隆(独立副本)
- 克隆后修改主机名和IP避免冲突
10.3 物理备份方案
- 直接复制整个虚拟机文件夹
- 使用OVF导出标准格式:
文件 → 导出为OVF经过以上步骤,你已经获得了一个高性能、可扩展的CentOS 7.9开发环境。我在实际使用中发现,定期清理yum缓存和日志文件可以保持系统清爽:
sudo yum clean all sudo journalctl --vacuum-time=7d