尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

在VMware ESXi上部署CentOS:从零搭建企业级虚拟化服务器

在VMware ESXi上部署CentOS:从零搭建企业级虚拟化服务器 1. 项目概述为什么要在ESXi上安装CentOS如果你手头有一台闲置的服务器或者正在为公司搭建内部测试环境那么将物理服务器虚拟化然后在上面运行多个独立的操作系统几乎是现代IT基础设施管理的标准操作。VMware ESXi作为一款业界领先的裸机虚拟化管理程序Hypervisor因其稳定、高效和相对友好的管理界面成为了很多从个人极客到企业IT部门的首选。而CentOS作为曾经最受企业欢迎的、免费的、开源的Red Hat Enterprise LinuxRHEL下游发行版以其出色的稳定性和长期支持一直是服务器操作系统领域的常青树。将这两者结合——在ESXi上安装CentOS虚拟机你得到的是一套极其经典且可靠的服务器虚拟化解决方案。这个组合能用来做什么太多了。你可以用它来搭建一个内部的Web服务器比如运行Nginx或Apache、数据库服务器如MySQL、PostgreSQL、文件共享服务器Samba或NFS、持续集成/持续部署CI/CD环境如Jenkins、GitLab Runner甚至是作为学习Linux系统管理、网络服务配置和容器技术Docker, Kubernetes的绝佳沙盒。尽管CentOS Stream已取代了传统的CentOS Linux但CentOS 7仍在其生命周期内且其庞大的用户基数和成熟的生态使得掌握这套部署流程依然具有很高的实用价值。接下来我将以一个拥有十多年运维经验的从业者视角带你从零开始拆解在ESXi上安装CentOS的每一个核心环节、背后的原理以及那些只有踩过坑才知道的实操细节。2. 环境准备与规划磨刀不误砍柴工在真正点击“安装”按钮之前充分的规划和准备能避免你后续80%的麻烦。这个阶段的核心是理清硬件资源、网络拓扑和存储布局。2.1 ESXi主机的基础检查与配置首先确保你的ESXi主机已经正确安装并运行。你可以通过服务器的IPMI或直接连接显示器访问ESXi的Direct Console User Interface (DCUI)来查看基本状态比如管理IP地址、主机名和存储设备识别情况。更常见的操作是通过另一台电脑的浏览器访问ESXi的Web管理界面通常是https://ESXi主机IP。登录后你需要关注几个关键点存储空间在“存储”选项卡中确认你的数据存储Datastore有足够的剩余空间来容纳新的虚拟机及其虚拟磁盘。一个基础的CentOS 7 Minimal安装大约需要10GB但为了后续安装软件和存放数据我通常建议分配至少40GB。网络配置在“网络”选项卡中查看虚拟交换机vSwitch和端口组的配置。默认会有一个名为“VM Network”的端口组它通常关联着你的物理网卡并为虚拟机提供网络连接。理解你的网络环境是使用DHCP自动获取IP还是需要为CentOS配置静态IP这决定了你后续在安装过程中如何配置网络。资源池如果你的环境复杂可能涉及资源池Resource Pool和文件夹来管理虚拟机。对于个人或简单环境直接创建在根目录下即可。注意在安装ESXi时最好为它分配一个静态IP地址而不是依赖DHCP。这能确保管理地址稳定避免因IP变更导致无法访问Web界面。如果已经用了DHCP且忘记了IP可以回到DCUI界面查看或重置。2.2 CentOS镜像的选择与下载选择合适的CentOS镜像至关重要。对于服务器环境我强烈推荐使用Minimal ISO版本。这个版本只包含运行系统最基础的包没有图形界面体积小安全性高并且强迫你通过命令行管理服务器这是学习Linux的最佳方式。CentOS 7 vs CentOS Stream如果你的需求是追求极致的稳定用于生产或长期运行的测试环境CentOS 7.9仍然是目前更稳妥的选择因为它有明确的生命周期支持截至2024年6月。如果你想紧跟RHEL的最新特性为未来迁移到RHEL 9做准备可以选择CentOS Stream 8或9。但请注意Stream的更新节奏更快可能不如传统CentOS Linux稳定。下载源务必从官方或可信的镜像站下载例如国内的阿里云镜像、清华大学镜像站。这能确保镜像的完整性和安全性。你可以搜索“CentOS 7.9 Minimal ISO 下载”来找到链接。校验下载完成后养成校验SHA256或MD5值的习惯确保文件在传输过程中没有损坏。这在安装大型系统时能避免很多离奇的错误。2.3 虚拟机的逻辑设计在创建虚拟机之前先在脑子里或纸上画个草图虚拟机名称起一个有意义的名字如centos7-web-01或centos-stream9-db。良好的命名规范是高效管理的基础。硬件规格CPU根据负载预估。一个轻量级的测试环境1个CPU插槽2个核心通常足够。对于可能运行数据库或编译任务的环境可以考虑2个插槽每个2核心。内存CentOS Minimal在 idle 状态下内存占用很小但要为运行的服务预留空间。2GB是起步价4GB会更从容。如果计划运行Java应用或内存数据库则需要更多。硬盘如前所述建议40GB起。选择“Thin Provision”精简置备这意味着ESXi最初只分配虚拟机实际使用的空间而不是一次性占用40GB能更高效地利用存储。网络适配器类型选择“VMXNET 3”。这是VMware提供的半虚拟化网卡驱动性能远优于模拟的E1000网卡能提供更低的CPU占用和更高的吞吐量。CD/DVD驱动器用于挂载刚才下载的CentOS ISO镜像文件。其他通常不需要添加USB控制器、声卡等设备。3. 创建与配置CentOS虚拟机规划好后我们开始在ESXi的Web客户端中进行实操。3.1 在ESXi中创建新虚拟机登录ESXi Web客户端导航到“虚拟机”选项卡点击“创建/注册虚拟机”。选择“创建新虚拟机”点击“下一页”。名称和客户机操作系统输入你规划好的虚拟机名称如centos7-test。客户机操作系统系列选择“Linux”。客户机操作系统版本根据你下载的镜像选择。如果是CentOS 7选择“CentOS 7 (64位)”。对于CentOS Stream 8/9选择对应的版本或最接近的“其他Linux 5.x内核 64位”。这个选择主要影响VMware Tools的默认兼容性和一些预设配置即使选得不完全精确通常也能正常工作。选择存储选择你之前检查过的、有足够空间的数据存储。自定义设置这是核心步骤。CPU按规划设置核心数。内存设置为2048 MB (2GB) 或 4096 MB (4GB)。硬盘大小设为40 GB。关键点来了将“磁盘置备”从“厚置备延迟置零”改为“精简置备”。这样能立即创建虚拟机而不会立刻占满40GB物理空间。CD/DVD驱动器在“数据存储ISO文件”下点击“浏览”上传你下载的CentOS Minimal ISO镜像文件然后选中它。并确保“连接”选项是勾选的默认就是。网络适配器将其类型从“E1000”改为“VMXNET 3”。在完成配置前点击“虚拟机选项”选项卡找到“引导选项”。强烈建议将“固件”从“BIOS”改为“EFI”。EFI是更现代的引导方式支持更大的硬盘和更安全的启动如Secure Boot是未来的趋势。虽然CentOS 7对EFI支持已经很完善但如果你后续需要安装Windows 11等新系统EFI是必须的。检查所有配置无误后点击“完成”。虚拟机会被创建并自动开机。3.2 从ISO镜像启动并开始安装虚拟机创建后会自动开机并从连接的ISO镜像启动。你会看到CentOS的安装引导界面。选择安装模式通常第一个选项“Install CentOS 7”就是图形化安装界面对于Minimal ISO实际上是一个基于字符的TUI界面并非完整的GUI。直接按回车。选择语言虽然服务器环境推荐使用英文English - United States以减少可能出现的编码问题但为了方便我们可以选择“中文” - “简体中文”。注意这里选择的是安装过程的界面语言不是系统最终的语言。进入安装信息摘要这是CentOS安装的核心配置页面。所有带警告标志的项都必须配置。3.3 关键安装配置详解3.3.1 本地化与软件选择日期和时间点击进入在地图上选择你所在的区域如Asia/Shanghai并确保时间正确。可以打开网络时间协议NTP同步并添加一个国内的NTP服务器如ntp.aliyun.com。键盘保持默认。语言支持可以添加“中文”支持但基础系统语言建议保持英文。安装源因为我们已经通过ISO启动这里会自动检测到“本地介质”无需更改。软件选择这是Minimal安装的关键。点击进入后你只会看到一个选项“最小安装”。没错就选它。它的描述是“基本功能”。我们就是要一个干净的系统所有需要的软件后续通过yum命令按需安装。不要勾选任何带图形界面的环境如GNOME、KDE。3.3.2 系统配置核心安装目的地点击进入你会看到我们在ESXi中创建的40GB虚拟磁盘。直接点击它即可。在“其他存储选项”下我推荐选择“自动配置分区”让安装程序自动创建/boot,swap,/等分区。对于新手和大多数通用场景这足够了。如果你想手动分区例如为/home或/var单独分配空间可以选择“我要配置分区”但这需要一定的Linux分区知识。KDUMP这是一个内核崩溃转储机制用于调试。对于资源紧张的测试机可以取消勾选“启用kdump”它能释放一部分内存默认约为160MB给系统使用。网络和主机名非常重要点击进入你会看到你的网卡可能是ens192或eth0具体取决于内核版本和驱动。首先在顶部输入主机名例如centos7.localdomain。找到你的网卡点击右侧的开关将其从“OFF”变为“ON”。这样网卡就会启动并尝试通过DHCP获取IP。如果您的网络环境需要静态IP生产环境通常需要在网卡开启后点击右下角的“配置...”。在“IPv4设置”选项卡中将方法从“自动(DHCP)”改为“手动”。点击“添加”依次输入地址如192.168.1.100、子网掩码如255.255.255.0、网关如192.168.1.1。在“DNS服务器”框内输入DNS如223.5.5.5阿里云DNS和8.8.8.8谷歌DNS可选。配置完成后点击“保存”。3.3.3 安全与root密码安全策略对于学习环境可以先不配置。ROOT密码设置一个强壮的root密码。如果密码过于简单安装程序会提示你需要点击两次“完成”来确认。务必牢记此密码。3.4 完成安装与首次启动所有带警告标志的项都配置完成后右下角的“开始安装”按钮会变为可用。点击它安装程序就会开始格式化磁盘、安装软件包。这个过程需要几分钟到十几分钟取决于你的磁盘速度。安装完成后点击“重启”。系统会重启并提示你拔出安装介质在我们的虚拟环境中就是需要断开ISO镜像的连接。实操心得在ESXi Web客户端中在虚拟机重启的过程中快速点击“操作” - “编辑设置” - 找到CD/DVD驱动器将“连接”的勾去掉或者将“数据存储ISO文件”清空。这样可以确保虚拟机从硬盘启动而不是再次进入安装界面。重启后你会看到CentOS的命令行登录提示符。用root和你设置的密码登录。恭喜一个最精简的CentOS服务器已经运行在ESXi之上了4. 安装后的必须配置与优化刚安装好的系统只是一个毛坯房我们需要进行一些基本的装修和加固才能安全、高效地使用。4.1 网络与SSH访问配置如果安装时没有配置静态IP系统会通过DHCP获取一个IP。你可以用ip addr命令查看获取到的IP地址。为了后续通过SSH远程管理这比在ESXi控制台里操作方便得多我们需要确保网络稳定。配置静态IP如果之前未配# 编辑网络配置文件网卡名可能是ens192、eth0等请用ip addr查看 vi /etc/sysconfig/network-scripts/ifcfg-ens192修改或确保以下关键参数BOOTPROTOstatic # 改为static ONBOOTyes # 确保是yes开机自启 IPADDR192.168.1.100 # 你的静态IP NETMASK255.255.255.0 # 子网掩码 GATEWAY192.168.1.1 # 网关 DNS1223.5.5.5 # 主DNS DNS28.8.8.8 # 备DNS保存退出按Esc输入:wq回车。然后重启网络服务systemctl restart network。开启并配置SSH CentOS Minimal默认已安装并开启了SSH服务。检查状态systemctl status sshd。如果状态是active (running)说明服务已启动。安全加固编辑SSH配置文件/etc/ssh/sshd_config。建议修改Port 22为其他端口如Port 2222可以减少被自动化脚本扫描攻击的风险。将PermitRootLogin yes改为PermitRootLogin no禁止root直接登录提升安全性先确保你已创建普通用户并配置了sudo权限。将PasswordAuthentication yes改为PasswordAuthentication no并设置PubkeyAuthentication yes强制使用密钥对登录这是最安全的方式。 修改后重启SSH服务systemctl restart sshd。4.2 系统更新与基础工具安装更新系统首先更新整个系统到最新版本这能修复已知的安全漏洞。yum update -y这个过程会下载并安装所有更新需要一些时间。安装常用工具Minimal系统缺少很多方便的工具按需安装。yum install -y wget curl vim net-tools bash-completion epel-releasewget/curl下载工具。vim比默认vi更强大的文本编辑器。net-tools包含ifconfig,netstat等传统网络工具虽然ip命令是未来但很多脚本仍依赖它们。bash-completion提供命令自动补全功能。epel-release安装EPELExtra Packages for Enterprise Linux仓库源它提供了大量CentOS官方仓库中没有的额外软件包。4.3 安装VMware ToolsOpen VM Tools这是至关重要的一步。VMware Tools在Linux上通常是开源版本的Open VM Tools提供了一系列驱动和实用程序能显著提升虚拟机的性能和可管理性。它包括显卡驱动改善控制台显示体验。内存气球驱动帮助ESXi主机更高效地回收和分配内存。时间同步使虚拟机时钟与ESXi主机同步避免时钟漂移。优雅关机/重启允许从ESXi界面正常关闭虚拟机而不是强制断电。在CentOS 7及更高版本上安装Open VM Tools非常简单yum install -y open-vm-tools # 如果是需要图形界面支持虽然我们是最小化安装但先装上无害可以安装 yum install -y open-vm-tools-desktop安装完成后重启虚拟机reboot。重启后在ESXi的虚拟机摘要页面你会看到“VMware Tools”状态显示为“正常”或者版本号而不是“未安装”。5. 磁盘扩容与日常管理技巧虚拟机的一大优势就是资源可以弹性调整。下面介绍两个最常见的后期操作。5.1 扩展虚拟磁盘容量假设我们当初分配的40GB磁盘不够用了现在需要扩展到60GB。在ESXi中扩容虚拟磁盘首先关闭CentOS虚拟机。在ESXi Web客户端右键虚拟机 - “编辑设置”。找到硬盘将大小从40GB改为60GB。点击“保存”。注意这只是在虚拟层面对虚拟机“承诺”了更大的磁盘空间操作系统内部还无法使用新增的空间。在CentOS中扩展分区和文件系统启动CentOS虚拟机并登录。使用lsblk命令查看磁盘情况。你会看到类似sda的磁盘其大小已变为60G但其下的分区如sda2和逻辑卷可能还是旧的大小。我们假设系统使用的是LVM逻辑卷管理这是CentOS默认安装的分区方式。使用fdisk或parted工具来扩展分区表但这个过程有风险。更安全简单的方法是直接扩展物理卷和逻辑卷。首先检查物理卷pvdisplay。你会看到/dev/sda2或类似这个物理卷。扩展物理卷以占用所有可用空间pvresize /dev/sda2。检查逻辑卷组vgdisplay。找到VG Name通常是centos。检查逻辑卷lvdisplay。找到你要扩展的LV Path通常是/dev/centos/root根分区。将卷组中的所有空闲空间都分配给根逻辑卷lvextend -l 100%FREE /dev/centos/root。最后扩展文件系统假设是xfsxfs_growfs /dev/centos/root。如果是ext4文件系统命令是resize2fs /dev/centos/root。完成后使用df -h命令查看根分区的大小应该已经变为扩容后的容量了。5.2 快照与备份策略快照是虚拟化环境中一个强大的“后悔药”功能。它可以在某个时间点保存虚拟机的完整状态磁盘、内存、配置在系统更新、配置变更前创建一个快照如果操作失败可以快速回滚。创建快照在ESXi中右键虚拟机 - “快照” - “拍摄快照”。建议在描述中写明快照原因如“Before installing Nginx”。恢复快照如果出现问题可以回到“快照” - “恢复到”选择之前的快照。重要警告快照不是备份快照会占用大量存储空间并且长期保留快照会严重影响虚拟机性能。它只应用于短期的、可回滚的操作。对于长期备份应该使用专门的备份软件或将虚拟机关机后将其文件.vmx, .vmdk等从数据存储中复制出来。6. 常见问题与故障排查实录即使按照步骤操作也可能会遇到一些问题。这里记录几个我遇到过的典型问题及其解决方法。6.1 安装后无法联网症状ping不通网关ip addr显示网卡没有获取到IP地址。排查检查ESXi虚拟机的网络适配器是否连接到了正确的端口组如VM Network。在CentOS中检查网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens192中的ONBOOT是否等于yes。检查网络服务状态systemctl status network。如果失败可以尝试重启服务systemctl restart network。查看更详细的网络日志journalctl -u network.service --no-pager -f。一个常见坑如果安装时网络配置界面是灰色的无法打开。这通常是因为安装程序没有检测到网卡驱动。确保在创建虚拟机时网络适配器类型选择了VMXNET 3而不是E1000。VMXNET 3是半虚拟化驱动性能更好且被现代Linux内核原生支持。6.2 SSH连接失败症状使用Xshell、PuTTY等工具无法连接提示“连接被拒绝”或“连接超时”。排查连接被拒绝说明目标端口没有服务监听。首先在CentOS内确认SSH服务是否运行systemctl status sshd。如果没运行启动它systemctl start sshd。检查防火墙是否放行了SSH端口默认22firewall-cmd --list-all。如果没有添加规则firewall-cmd --permanent --add-servicessh然后firewall-cmd --reload。如果你修改了SSH端口连接时也要指定新端口。连接超时说明网络不通。按照6.1的步骤排查网络问题。同时检查ESXi主机的物理网络连接以及客户端电脑和ESXi/CentOS虚拟机是否在同一个网段。6.3 系统时间不准症状date命令显示的时间与真实时间相差很大或者逐渐漂移。解决确保已安装open-vm-tools它提供了与ESXi主机的时间同步功能。同时配置系统的NTP服务作为冗余。安装NTP服务yum install -y ntp。启动并启用NTP服务systemctl start ntpdsystemctl enable ntpd。可以编辑/etc/ntp.conf添加国内的NTP服务器如server ntp.aliyun.com iburst。使用timedatectl命令可以查看和设置时间同步状态。6.4 yum update 失败或缓慢症状执行yum update时速度极慢或者提示“Could not retrieve mirrorlist”。解决这通常是默认的CentOS官方镜像在国外网络访问不畅导致的。备份原repo文件mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup。使用国内镜像源例如使用阿里云的镜像。curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo如果是CentOS 8 Stream需下载对应的repo文件清理并重建缓存yum clean all yum makecache。再次执行yum update -y速度应该会大幅提升。在ESXi上部署CentOS就像为你的数字世界打下了一根坚实的地基。这个过程本身并不复杂但其中涉及的每一个选择——从虚拟硬件的配置、系统镜像的选取、分区的规划到安装后的安全加固和性能优化——都体现着系统管理员对稳定性、安全性和可维护性的理解。这套组合的经典之处在于它用相对简单的步骤为你提供了一个高度可控、资源隔离、易于备份和迁移的Linux服务器环境。无论是用于承载关键业务还是作为技术学习的试验田它都能出色地完成任务。我个人的习惯是每部署一台新的虚拟机都会将上述的“安装后必须配置”写成脚本实现自动化初始化这能极大地提升效率并减少人为错误。希望这份详尽的拆解能帮助你不仅完成安装更能理解每一步背后的意义从而真正驾驭你的虚拟化环境。
返回列表