尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

VMware ESXi 8.0 上安装 CentOS Stream 9 全流程与优化指南

VMware ESXi 8.0 上安装 CentOS Stream 9 全流程与优化指南 1. 项目概述为什么要在ESXi上安装CentOS如果你手头有一台物理服务器或者是一台性能不错的旧电脑想要把它变成一个可以同时运行多个操作系统的“超级电脑”那么VMware ESXi几乎是绕不开的选择。它是一款企业级的Type-1裸机虚拟机监控程序简单说就是直接安装在物理硬件上的一个极简系统它的唯一任务就是管理和分配硬件资源让你能在上面创建和运行多个独立的虚拟机。这比在Windows或Linux上用VMware Workstation、VirtualBox这类桌面虚拟化软件要高效得多资源损耗更小也更稳定。而CentOS作为曾经最受欢迎的、免费的、企业级的Linux发行版以其出色的稳定性和与Red Hat Enterprise LinuxRHEL的二进制兼容性在服务器领域有着庞大的用户基础。虽然CentOS Linux 8已经停止维护CentOS 7也进入了维护尾声但CentOS Stream作为RHEL的上游开发分支以及大量基于RHEL重建的替代品如AlmaLinux、Rocky Linux的涌现使得“CentOS生态”依然活跃。在ESXi上安装一个CentOS或其替代品可以用来搭建Web服务器、数据库、文件服务器、开发测试环境、家庭实验室Homelab等等是学习服务器管理和企业应用部署的绝佳起点。这个组合——ESXi提供坚实的虚拟化地基CentOS提供稳定可靠的服务环境——是很多IT从业者、开发者和技术爱好者的标准配置。接下来我将以一个从零开始的视角带你完整走一遍在ESXi 8.0上安装CentOS Stream 9的全过程并穿插我这些年积累下来的实操心得和避坑指南。2. 前期准备镜像、工具与ESXi环境确认在按下安装按钮之前充分的准备能避免至少80%的后续问题。这一步看似简单但细节决定成败。2.1 获取正确的操作系统镜像首先你需要一个CentOS的安装镜像。鉴于CentOS Linux的传统版本生命周期变化我强烈建议新手从CentOS Stream 9开始或者考虑AlmaLinux 9/Rocky Linux 9。它们的使用体验和命令与CentOS 7/8几乎无异并且能获得更长的支持周期。CentOS Stream 9你可以从官方或镜像站获取。例如访问https://mirrors.stream.centos.org/9-stream/BaseOS/x86_64/iso/下载类似CentOS-Stream-9-latest-x86_64-dvd1.iso这样的DVD镜像。-dvd1.iso包含了大多数常用软件包适合离线或快速安装。AlmaLinux 9/Rocky Linux 9分别从其官网下载过程类似。注意务必确认你下载的是x86_64架构的镜像除非你的服务器是ARM架构。同时推荐下载“DVD”或“Everything”镜像而不是“Minimal”镜像除非你明确需要最小化安装且不介意安装过程中需要网络源。2.2 准备必要的管理工具安装过程需要通过某种方式将镜像上传到ESXi并管理虚拟机。你有两个主要选择VMware Host ClientESXi Web UIESXi 6.7及以上版本自带的基于HTML5的Web管理界面功能已经非常完善可以直接在浏览器中完成大部分操作包括上传ISO文件。这是最直接的方式。你只需要知道ESXi主机的IP地址用浏览器访问https://你的ESXi IP即可。VMware vSphere Client旧版对于ESXi 6.7以前可能需要单独的Windows客户端。现在基本用不到了。第三方工具用于文件上传如果Web界面文件上传较慢或不方便可以使用支持SSH的文件传输工具。但首先需要在ESXi主机上启用SSH服务。启用ESXi SSH在ESXi Web UI的“主机” - “操作” - “服务” - “启用安全Shell(SSH)”。使用SCP命令或WinSCP然后你可以使用scp命令Linux/macOS或WinSCPWindows以root用户登录将ISO文件上传到ESXi的某个数据存储目录例如/vmfs/volumes/datastore1/iso/。我习惯在数据存储里创建一个iso文件夹专门存放安装镜像这样管理起来更清晰。2.3 检查ESXi主机状态登录ESXi Web UI检查以下几点存储空间确保你有足够空间的数据存储Datastore来存放虚拟机文件。在“存储”页面查看。网络确认至少有一个标准交换机vSwitch和端口组Port Group是正常配置的虚拟机将通过它连接网络。通常默认的VM Network即可。资源分配心里对你要创建的虚拟机占用的CPU、内存和磁盘大小有个初步规划。对于学习用的CentOS2核CPU、4GB内存、40GB磁盘是一个不错的起点。3. 创建虚拟机参数配置的学问与避坑指南现在进入核心环节——创建虚拟机。每一步配置都有其意义理解它们能让你在后期少很多麻烦。3.1 新建虚拟机向导在ESXi Web UI中右键点击你的主机或进入“虚拟机”标签页选择“创建/注册虚拟机”。选择创建类型保持默认的“创建新虚拟机”。设置名称和兼容性名称起一个容易识别的名字如centos-stream-9-web。兼容性通常选择ESXi主机当前版本的最新兼容性如“ESXi 8.0 虚拟机”。更高的兼容性意味着可以在未来迁移到更新的ESXi版本但可能无法在旧版本上运行。除非有特殊需求否则选最新的。客户机操作系统系列选择Linux。客户机操作系统版本选择Red Hat Enterprise Linux 9 (64位)。即使你安装的是CentOS Stream 9或AlmaLinux也选这个。ESXi会根据这个选择来优化虚拟硬件配置。3.2 存储与虚拟硬件配置详解这是最关键的部分配置不当会导致性能低下或资源浪费。存储选择一个有足够空间的数据存储。自定义设置CPU2个核心。对于测试或轻量级服务足够。这里“核心数”指的是虚拟插槽Socket和每个插槽的核心数Core。简单应用你可以直接设置“核心数”为2。更精细的控制可以设置插槽和核心例如1个插槽2个核心。内存4096MB (4GB)。这是给虚拟机的专用内存。ESXi支持内存超分但为了稳定初期不建议超分。硬盘1这是系统盘。大小40GB。对于服务器系统盘建议不低于40GB特别是如果你打算在上面运行数据库或日志较多的服务。磁盘置备这里有三个重要选项直接影响性能和空间占用厚置备延迟置零创建时分配全部空间但只做简单初始化擦除旧数据性能较好是最常用的平衡选择。厚置备置零创建时分配并完全用零填充全部空间安全性最高旧数据不可恢复但创建时间最长。精简置备创建时只占用少量元数据空间随着虚拟机写入数据而动态增长。最节省存储空间但性能略有损耗且存在存储超配的风险所有虚拟机用满空间可能超过物理存储容量。对于生产环境或追求性能建议用“厚置备延迟置零”。对于实验环境节省空间可以用“精简置备”。SCSI控制器默认的LSI Logic SAS或VMware Paravirtual都可以。VMware Paravirtual是半虚拟化驱动在ESXi上对Linux性能通常更好推荐选择它。CD/DVD驱动器1这是加载安装镜像的地方。类型选择“数据存储ISO文件”。点击“浏览”找到你之前上传的CentOS Stream 9的ISO文件。务必确保“连接”选项是勾选的否则虚拟机启动时无法从光盘引导。网络适配器1适配器类型默认的VMXNET 3是VMware为高性能虚拟化环境优化的网卡比E1000E等模拟硬件网卡性能好得多强烈推荐。它需要虚拟机内安装VMware Tools或open-vm-tools才能驱动。网络选择你准备好的端口组比如VM Network。其他选项USB控制器、声卡等对于服务器虚拟机通常不需要可以移除以简化配置。配置完成后先不要急着开机。我个人的一个习惯是在完成虚拟机创建后立即为其做一个快照命名为“初始状态”或“安装前”。这样万一安装过程中配置出错可以瞬间回滚到这个干净的状态而不是删除重来。4. 安装CentOS Stream 9图形界面与关键分区方案启动虚拟机打开控制台安装过程正式开始。4.1 启动与初始选择虚拟机会从ISO镜像启动进入CentOS安装引导界面。选择Install CentOS Stream 9直接回车。安装程序会加载到内存中。语言选择选择中文-简体中文但注意为了后续命令操作的统一性我通常会把“系统语言”设置为英文English (United States)而只把“安装界面语言”设为中文方便查看。你可以在安装摘要界面调整。安装信息摘要这是配置的核心界面。你需要设置以下几项键盘保持默认。语言支持如前所述可以添加中文支持但系统语言建议英文。时间和日期点击进入在地图上选择亚洲/上海并确保网络时间NTP已开启且时间服务器可用。这是保证服务器日志时间准确的关键。安装源因为是从本地ISO安装这里会自动检测到无需更改。软件选择这是第一个容易忽略的点。默认是“最小安装”只有一个纯命令行界面。对于新手或者需要图形界面进行操作的情况建议选择带GUI的服务器如果你需要图形桌面环境。服务器这是最常用的选择包含了很多服务器基础软件包但没有桌面。你也可以选择“最小安装”然后在后期用dnf groupinstall “Server with GUI”来安装图形界面。但初次安装时选好更省事。安装目的地这是最重要的部分涉及磁盘分区。4.2 磁盘分区手动配置的稳健之道点击“安装目的地”你会看到之前分配的40GB虚拟磁盘。我强烈建议不要使用自动配置而是选择“自定义”进行手动分区。一个清晰的分区结构有利于系统维护、故障恢复和性能优化。一个经典的服务器分区方案如下以40GB磁盘为例挂载点大小文件系统类型说明/boot1 GiBxfs引导分区存放内核和引导文件。1GB足够。/boot/efi200 MiBEFI系统分区如果虚拟机以UEFI模式引导ESXi 8.0新建虚拟机默认可能是UEFI则需要这个分区。用于存放引导加载程序。swap4 GiBswap交换分区。传统经验是物理内存的1-2倍。但对于拥有足够内存的虚拟机交换分区主要用来休眠和应对极端内存压力。4GB是一个折中值。如果内存很大如16GB以上2GB甚至更小的swap也可以。/剩余所有空间xfs根分区存放系统文件和所有未指定挂载点的数据。操作步骤在手动分区界面点击“”按钮。首先添加/boot挂载点填/boot期望容量填1 GiB。如果界面提示需要EFI分区则添加/boot/efi容量200 MiB。添加swap挂载点留空文件系统选swap容量填4 GiB。最后添加/挂载点填/容量留空表示使用剩余所有空间。确认分区布局无误后点击完成。安装程序会提示你接受更改。重要心得为什么不把/home或/var单独分区对于小型虚拟机简化管理更重要。单独分区/home适合多用户桌面环境方便重装系统保留用户数据。单独分区/var适合日志量巨大的服务如大型网站。在我们这个基础场景下一个大的根分区/更简单灵活。如果磁盘空间很大比如1TB我会考虑单独分一个大的/data分区来存放应用数据。4.3 网络与主机名、root密码与用户创建网络和主机名进入该设置你应该能看到一个网络连接例如ens192对应VMXNET 3网卡。默认可能是“关闭”状态。将开关拨到“打开”位置。这样安装程序就会在安装过程中尝试通过DHCP获取IP地址。如果网络中有DHCP服务器大多数家用路由器都提供你就能立即获得IP并连接网络。你可以在下方手动配置静态IP更推荐用于服务器填写IP地址、网关、DNS等。但为了简化初次安装可以先DHCP进入系统后再改。在底部“主机名”处输入一个你喜欢的主机名如centos9-vm。Root密码设置一个强壮的root管理员密码。请务必记住它。创建用户虽然可以用root操作但基于安全最佳实践应该创建一个普通用户。点击“用户创建”输入用户名如adminuser、全名并设置密码。强烈建议勾选“将此用户设为管理员”这样该用户就可以使用sudo命令来执行需要root权限的操作比直接使用root账户更安全。4.4 开始安装与后续配置所有配置完成后点击右下角的“开始安装”。安装程序会格式化磁盘、安装软件包这需要一些时间。安装完成后点击“重启系统”。重启后虚拟机会再次尝试从光盘启动你可能会看到引导菜单。此时需要在ESXi虚拟机控制台里右键点击虚拟机 - 编辑设置 - CD/DVD驱动器1将“连接”取消勾选或者将ISO文件路径清空。然后再次重启虚拟机它就会从硬盘正常引导了。首次启动你会看到许可协议界面接受即可。然后进入登录界面用你创建的普通用户登录。5. 安装后的首要任务基础优化与必备工具系统装好了但还不能算“好用”。以下几个步骤是让这台CentOS虚拟机变得顺手、安全且易于管理的关键。5.1 网络静态IP配置如果之前用了DHCP对于服务器静态IP是必须的。假设你的网卡名是ens192可以用ip addr命令查看。编辑网络配置文件sudo nmcli connection modify ens192 ipv4.addresses 192.168.1.100/24 sudo nmcli connection modify ens192 ipv4.gateway 192.168.1.1 sudo nmcli connection modify ens192 ipv4.dns 8.8.8.8 sudo nmcli connection modify ens192 ipv4.method manual sudo nmcli connection up ens192将上面的IP、网关、DNS替换成你网络环境中的实际值。/24对应子网掩码255.255.255.0。验证使用ip addr show ens192和ping -c 4 8.8.8.8检查网络是否通畅。注意CentOS 7/Stream 8/9 默认使用NetworkManager管理网络以上是使用nmcli命令的配置方法。它比直接编辑/etc/sysconfig/network-scripts/ifcfg-ens192文件更现代和推荐。5.2 更新系统与安装基础工具首先更新整个系统确保所有软件包都是最新的这包含了安全补丁。sudo dnf update -y更新完成后建议重启一次sudo reboot。然后安装一些必备的工具包sudo dnf install -y epel-release # 安装EPEL扩展仓库提供大量额外软件 sudo dnf install -y vim wget curl net-tools bash-completion htopvim比默认的vi更好用的编辑器。wget/curl下载工具。net-tools包含ifconfig,netstat等传统网络工具虽然ip命令是未来但很多脚本和习惯仍依赖它们。bash-completion命令自动补全增强。htop强大的交互式进程查看器。5.3 安装Open-VM-Tools这是VMware为Linux虚拟机提供的官方工具包替代品开源且由社区维护。它提供了许多关键功能时间同步让虚拟机时间与ESXi主机同步。优雅关机/重启从ESXi界面关机或重启虚拟机时会触发系统内的关机流程而不是硬断电。内存气球驱动帮助ESXi更高效地管理内存。改善的显卡和鼠标驱动对于有GUI的安装。安装非常简单sudo dnf install -y open-vm-tools # 如果安装了图形界面还需要安装桌面组件 sudo dnf install -y open-vm-tools-desktop安装后无需特别配置服务会自动启动。你可以用systemctl status vmtoolsd检查服务状态。5.4 配置SSH安全访问可选但重要如果你打算从外部比如你的笔记本电脑通过SSH连接这台服务器进行一些安全加固是必要的。修改SSH端口非22端口编辑/etc/ssh/sshd_config文件找到#Port 22这一行去掉注释并改成其他端口例如Port 2222。禁止root用户直接登录找到#PermitRootLogin yes改为PermitRootLogin no。使用密钥认证这比密码安全得多。在你的本地电脑生成密钥对ssh-keygen然后将公钥~/.ssh/id_rsa.pub的内容添加到虚拟机的~/.ssh/authorized_keys文件中。每次修改SSH配置后需要重启服务sudo systemctl restart sshd。重要警告在修改SSH端口或禁用root登录前请确保你有一个配置了sudo权限的普通用户并且已经测试可以用该用户和密码成功登录。同时在防火墙中开放你新设置的SSH端口如2222否则你会把自己关在门外。5.5 配置防火墙CentOS Stream 9默认使用firewalld。了解基本操作sudo firewall-cmd --permanent --add-servicehttp # 开放HTTP服务端口80 sudo firewall-cmd --permanent --add-servicehttps # 开放HTTPS服务端口443 sudo firewall-cmd --permanent --add-port2222/tcp # 开放自定义的SSH端口 sudo firewall-cmd --reload # 重载配置使其生效 sudo firewall-cmd --list-all # 查看当前所有规则6. 进阶配置与日常管理技巧基础系统就绪后下面是一些能提升使用体验和运维效率的进阶操作。6.1 利用ESXi快照进行系统备份与回滚这是虚拟化带来的巨大便利。在计划进行重大变更如升级关键软件、修改核心配置之前在ESXi Web UI中为虚拟机关机或至少保持一致性状态然后创建一个快照。创建右键虚拟机 - 快照 - 创建快照。取一个描述性的名字如“升级Nginx前”。回滚如果变更出现问题可以右键虚拟机 - 快照 - 恢复到指定快照。系统会瞬间回到创建快照时的状态。删除确认系统稳定运行一段时间后可以删除旧快照以释放磁盘空间。注意快照不是备份它依赖于原始磁盘文件。如果原始磁盘损坏所有快照都可能失效。对于重要数据仍需独立的备份策略。6.2 调整虚拟机资源配置随着应用需求变化你可能需要调整虚拟机的CPU、内存或磁盘。CPU/内存在虚拟机关机状态下编辑设置即可调整。内存可以热添加需客户机操作系统支持且配置允许但CPU通常需要关机修改。磁盘扩容这是更常见的需求。假设你的40GB磁盘不够用了。在ESXi中关机状态下编辑虚拟机设置找到硬盘增加其容量例如从40GB增加到60GB。启动虚拟机进入系统。使用lsblk命令查看磁盘你会发现/dev/sda或类似的容量变大了但分区表没变。使用sudo growpart /dev/sda 3假设根分区是第3个分区来扩展分区。分区号可以通过lsblk或sudo fdisk -l /dev/sda查看。最后扩展文件系统sudo xfs_growfs /如果是xfs文件系统。对于ext4命令是sudo resize2fs /dev/sda3。6.3 监控虚拟机性能除了在ESXi界面查看虚拟机的CPU、内存使用率在虚拟机内部也可以使用工具监控htop前面已安装直观查看进程和资源。vmstat 2每2秒输出一次系统概览进程、内存、交换区、IO、CPU。dstat功能更强大的综合监控工具需要安装sudo dnf install -y dstat。在ESXi层面你可以配置性能图表观察虚拟机的历史资源使用趋势这对于容量规划和故障排查非常有帮助。7. 常见问题排查与故障解决即使按照步骤操作也可能遇到问题。这里列举几个典型场景。7.1 安装过程中无法找到磁盘现象在“安装目的地”步骤看不到任何磁盘。可能原因与解决SCSI控制器类型不兼容关闭虚拟机编辑设置将SCSI控制器从LSI Logic SAS尝试改为VMware Paravirtual或者反之。这是最常见的原因。磁盘类型问题极少数情况下可能需要将磁盘从SCSI改为SATA控制器。在ESXi中为虚拟机添加新设备 - 硬盘 - 选择SATA控制器。7.2 系统安装后无法从硬盘引导现象重启后卡在黑屏或者又回到了安装界面。解决确认已断开ISO镜像的连接在虚拟机设置中取消CD/DVD驱动器的“连接”。检查虚拟机引导选项。编辑虚拟机设置 - VM选项 - 引导选项。确保“固件”是BIOS或EFI与你安装时的选择一致。如果安装时创建了/boot/efi分区则必须是EFI。不一致会导致无法引导。可以尝试在虚拟机启动时快速按Esc键在ESXi Web控制台里操作进入引导菜单手动选择从硬盘引导。7.3 网络不通ping不通网关或外网现象系统安装后ip addr显示网卡没有获取到IP地址或者有IP但无法ping通网关。排查步骤ip addr show检查网卡是否处于UP状态是否有inet地址。如果没有用sudo nmcli connection up ens192尝试启动连接。nmcli connection show查看所有连接配置确保你的网卡连接是激活的。检查ESXi网络配置确认虚拟机的端口组所在的vSwitch是否正确连接了物理网卡上行链路并且该物理网卡所连的物理网络是通的。检查防火墙初始状态下firewalld应该是运行但默认放行DHCP和SSH的。如果不确定可以暂时关闭防火墙测试sudo systemctl stop firewalld。注意测试后记得重新开启或配置规则。7.4 时间不同步问题现象系统时间与真实时间相差很大。解决确保已安装并运行open-vm-tools它包含时间同步功能。同时启用并配置chronyd服务CentOS 9默认的时间同步服务sudo systemctl enable --now chronyd sudo chronyc sources -v # 查看时间源状态在ESXi主机层面也要确保其时间是正确的通常通过NTP同步。7.5 软件包安装失败如YUM/DNF错误现象运行sudo dnf update或安装软件时出现Failed to download metadata或Cannot prepare internal mirrorlist等错误。可能原因网络问题DNS解析失败。检查/etc/resolv.conf文件中的DNS服务器地址是否正确。可以临时修改为nameserver 8.8.8.8和nameserver 114.114.114.114测试。镜像源问题CentOS的官方源可能在某些网络环境下较慢或不可用。可以考虑更换为国内镜像源如阿里云、腾讯云、清华大学的镜像。备份原repo文件sudo mv /etc/yum.repos.d/CentOS-Stream-AppStream.repo /etc/yum.repos.d/CentOS-Stream-AppStream.repo.backup下载阿里云镜像源以AppStream为例sudo wget -O /etc/yum.repos.d/CentOS-Stream-AppStream.repo https://mirrors.aliyun.com/repo/CentOS-Stream-AppStream.repo运行sudo dnf clean all sudo dnf makecache清除并重建缓存。这个过程涵盖了从规划、安装、配置到基础运维的完整链路。在ESXi上部署CentOS不仅仅是点几下鼠标更是在理解虚拟化、操作系统和网络的基础上构建一个稳定、可控的服务环境。每一次的安装和排错都是对底层知识的一次巩固。当你熟练之后完全可以利用这套方法在单台ESXi主机上快速部署出包含Web服务器、数据库、缓存服务器在内的完整应用栈打造属于你自己的私有云实验室。
返回列表