简介:面向虚拟化运维人员与实验室环境搭建者的 VMware ESXi 7.0 离线安装与驱动包,适合在无法稳定联网或需要手动补齐存储、网卡等驱动组件的场景中使用。压缩包共 75 个文件,以 72 个 VIB 驱动包为主,另含 2 个 XML 元数据文件和 1 个嵌套 ZIP 包,整体约 344.44MB;VIB 覆盖 pvscsi、ne1000、i40en、lsi-mr3、nvme 相关插件等常见设备驱动,XML 便于核对组件信息,ZIP 则保留配套归档。已有 5622 人学习下载,说明其在 ESXi 7.0 离线部署与驱动补装场景中具有一定参考价值。读者可从中获取完整的离线包结构,用于实验环境安装、驱动版本比对、硬件兼容性排查及 VIB 组件整理,也可作为学习 ESXi 7.0 驱动组成与离线维护思路的素材。
1. 拿到 ESXi 7.0.0 镜像先别急着装:三个前置判断
机房里的典型翻车往往发生在前十分钟:把 VMware ESXi 7.0.0 的压缩包解出 ISO,用写盘工具做进 U 盘,插到一台闲置服务器上开机,自检过去、安装跑完、重启……然后屏幕停在 "No bootable device",或者系统起来了但一块网卡都没认出来。ESXi 7.0 这一版在引导盘分区布局上做了调整,硬件兼容列表也比 6.7 时代收得更紧,动手前不做判断,后面大概率要重装。
这份资源是一套完整的 ESXi 7.0.0 安装介质包,解决的事情很具体:把一台裸金属服务器变成能被 vCenter 接管、能跑虚拟机的宿主机。它适合手上有真实设备、要搭实验池或小型生产集群的运维和集成人员;如果你只是想在一台笔记本上点两下看界面,用嵌套虚拟化起个虚拟机就够了,不必碰裸机安装。
2. 从 ISO 到能进安装界面:介质、校验与引导参数
安装介质这一步最容易被人跳过,但它决定了后面所有排查的起点。一份从网络上下载的几百兆压缩包,传输过程中损坏一两个字节,表现可能是解压直接报错,也可能是解压成功但安装到一半卡死、报出看不懂的模块加载失败。更麻烦的情况是镜像完整、写盘工具却把 ISO 当普通文件系统"解压"进 U 盘,引导记录没写对,服务器 BIOS 根本不认这个盘。
2.1 校验与写盘:先把「下载坏了」这个可能性排除
拿到压缩包的第一件事不是解压,是对摘要。发布方通常会提供 SHA256 值,Windows 和 Linux 下各有一条命令能算,算完逐字符比对,别看前八位觉得像就放过。
# Linux / macOS:对压缩包本身做校验 sha256sum VMware-ESXi-7.0.0.zip # Windows PowerShell 等价写法 # Get-FileHash .\VMware-ESXi-7.0.0.zip -Algorithm SHA256这一步的逻辑很简单:校验的是压缩包,不是解压后的 ISO。有人先解压再校验 ISO,结果发现对不上,回头怀疑压缩包坏了,其实是解压工具在中途出的错。先锁死压缩包,再解压,再对一次 ISO 的大小写进记录,链条才闭合。
写盘环节有个必须记住的边界:ESXi 的 ISO 是混合引导镜像,写盘工具必须走"DD 镜像模式"或"原始写入",不能走"ISO 模式""解压复制"。常见做法是用 Rufus 时在弹出对话框里选"以 DD 镜像模式写入",或者直接用 balenaEtcher 这类只做原始写入的工具。写完 U 盘的可用容量会显示成几百兆甚至更小,这是正常的,不是写坏了。
提示:写盘完成后不要在 Windows 里"格式化"或"修复"这个 U 盘,一旦动了文件系统,引导扇区就废了,只能重写。
2.2 引导参数怎么填:systemMediaSize 是个转折点
7.0 相比 6.x 最大的暗坑在引导盘。老版本的 bootbank 只有 250MB,剩下的空间另开 scratch 分区;7.0 改成了 bootbank 加一个叫 ESX-OSData 的卷,这个卷承担了日志、配置备份、vmware 工具包缓存等一堆职责。安装器默认会按磁盘容量去算 ESX-OSData 的大小,算法是:磁盘小于 128GB 时全给,128GB 到某个上限之间取 128GB,再大就继续放大。问题出在小盘上——用 16GB 的 U 盘或老式 SD 卡安装,ESX-OSData 被压到 1GB 出头,跑几天日志一涨就满,主机开始报只读文件系统,各种服务随机挂。
解决办法是在安装器引导菜单里改一个参数。机器从 U 盘或 ISO 启动后,会停在引导菜单,光标停在 "ESXi-7.0.0-xxxxx-standard Installer" 这一行时按Shift + O,屏幕底部会出现一行可编辑的引导命令,在末尾追加参数:
# 在引导命令行末尾追加(用空格和前面的参数隔开) systemMediaSize=small # 可选值:min(约4GB) / small(32GB) / default(128GB) / max(用满整盘) # 32GB 以内的引导盘用 min,32GB~128GB 用 small,大容量盘保持 default参数说明:systemMediaSize控制的是 ESX-OSData 卷的期望大小,不是硬性分配,实际值还会受磁盘剩余空间约束。32GB 的 SSD 上写small,安装器会尽量给到 32GB 再扣掉 bootbank 部分;写default则可能因为空间不够直接拒绝安装。我一般把这条规则写成一句话贴在装机单上:引导盘 ≥128GB 用默认,32~128GB 用 small,小于 32GB 干脆换盘。
同一个引导命令行还能干另一件事——挂 kickstart 做无人值守安装。多台机器批量部署时,把应答文件放 TFTP 或 HTTP 上,引导参数里加ks=http://10.0.0.50/ks/esxi70.cfg,装机就变成开机、等待、收工三步。应答文件的关键段落长这样:
# ks.cfg 片段:网络、root 密码、引导盘 vmaccepteula install --firstdisk=local --overwritevmfs rootpw --iscrypted $6$xxxxxxxxxxxxxxxx$yyyyyyyyyyyyyyyyyyyyyyyyyyyy network --bootproto=static --ip=10.0.0.11 --netmask=255.255.255.0 \ --gateway=10.0.0.1 --nameserver=10.0.0.2 --hostname=esxi01.lab.local reboot这里的--firstdisk=local表示挑第一块本地盘做安装目标,--overwritevmfs会清掉盘上已有的 VMFS 卷,多路径环境下务必确认参数指向的是系统盘而不是数据盘,否则一次误装就是一片数据存储被抹。rootpw --iscrypted后面跟的是密码哈希,不是明文,生成方式在任意 Linux 上用openssl passwd -6就行。
2.3 安装交互流程里真正要决定的四件事
跳过引导参数走交互安装的话,整个向导只问四类问题,但每一类都值得停两秒。
第一是目标磁盘。列表里会同时出现本地 RAID 卷、SAN LUN、USB 设备,选错的后果是数据被覆盖。判断依据看设备大小和路径,Local标记的不一定就是本地盘,某些 HBA 直通的盘也会被标成本地。第二是键盘布局,默认美式即可,选错会影响控制台里输特殊字符。第三是 root 密码,7.0 的复杂度要求是至少 8 位、包含大写、小写、数字、特殊字符中的三类,密码里别带$、!这类在 shell 里会被解释的字符,后面写脚本连主机时会让你怀疑人生。第四是确认页,会明确写出将被覆盖的分区和即将创建的 ESX-OSData 大小,这一屏是最后的后悔药,看清楚再按 F11。
安装完成后提示移除介质并重启,重启时把 BIOS 引导顺序改回本地盘。有些服务器在 UEFI 模式下会把刚装好的 ESXi 引导项排在 U 盘之后,U 盘不拔就又会进安装器,看起来像"装完进不去系统",其实是引导顺序没调。
3. 首次开机配置:管理网络、主机名与时间基线
系统起来后直接落在 DCUI 黄灰界面,很多人第一反应是按 F2 进去把 IP 一填就完事,然后远程连上去发现一堆黄色告警。首次配置的重点不是"能连上",而是把网络、名字解析、时间这三条基线一次定死,后面接 vCenter、加域、配证书都靠它们。
3.1 DCUI 里只做四件事
DCUI 是物理 console 上的配置入口,SSH 起来之后它就没什么用了,所以第一次进去把关键项一次性配完。
按 F2 登录(用户名 root,密码是安装时设的),进 "Configure Management Network",需要动的是四处:Network Adapters 里勾选承载管理流量的物理网卡,多余的全部取消勾选,避免管理地址漂移到另一块口上;VLAN 里填管理网 VLAN ID,如果交换机侧是 access 口就留空;IPv4 Configuration 选第三项 Set static,填 IP、掩码、网关;DNS Configuration 里填主备 DNS 和主机名 FQDN。配完按 Esc,提示是否重启管理网络,选 Y。
这里有个容易被忽略的点:主机名必须填完整 FQDN,比如esxi01.lab.local,不能只写esxi01。7.0 在生成主机证书时用的是这个 FQDN,短名字会导致证书里的 CN 和实际访问地址不匹配,后面 vCenter 添加主机时会报证书验证失败,报错信息里还看不出是名字的问题。
配完退回主界面,用另一台机器 ping 一下管理地址,通了过去再动别的。不通的话按 F2 进 "Test Management Network",它会同时测网关、DNS 和解析,一眼看出卡在哪一层。
3.2 用 esxcli 把网络配置固化
DCUI 能配的东西有限,真正把网络配完整要靠 esxcli。SSH 需要先在 DCUI 的 "Troubleshooting Options" 里打开,7.0 默认关闭,这是安全基线的一部分,别嫌麻烦。
第一组命令确认现状,别急着改:
# 查看物理网卡、vmkernel 适配器、虚拟交换机 esxcli network nic list esxcli network ip interface list esxcli network vswitch standard list # 查看 vmk0 的地址与路由 esxcli network ip route ipv4 listnic list里的 Link Status 是判断网卡是否被识别的第一手证据,Up 且 Speed 显示 10000 才算正常,显示 Down 的要么没插线,要么模块不兼容。interface list里通常只有 vmk0,它是管理口,也是默认网关的出口。
第二组是改配置。改管理地址有断连风险,建议在 console 上做或者接受会话掉线:
# 修改 vmk0 的静态地址(-t static 必须显式给,否则可能被 DHCP 覆盖) esxcli network ip interface ipv4 set -i vmk0 -t static \ -I 10.0.0.11 -N 255.255.255.0 -G 10.0.0.1 # 主机名与 DNS 搜索域 esxcli system hostname set -f esxi01.lab.local esxcli network ip dns search add -d lab.local # 新增一个 vSwitch 和对应的 vmkernel 适配器(用于 vMotion 或 iSCSI) esxcli network vswitch standard add -v vSwitch1 esxcli network vswitch standard uplink add -v vSwitch1 -u vmnic1 esxcli network ip interface add -i vmk1 -p "vMotion" esxcli network ip interface ipv4 set -i vmk1 -t static -I 10.0.1.11 -N 255.255.255.0参数说明:-i指定 vmkernel 适配器名,-p是它绑定的端口组名,端口组会在interface add时自动创建到 vSwitch0 上,如果想把 vmk1 放到 vSwitch1,得先用esxcli network vswitch standard portgroup add -p "vMotion" -v vSwitch1手工建端口组,再绑适配器。这个顺序反了会报找不到端口组,报错文本很模糊,我第一次撞上时查了半小时。
多网卡做负载均衡的场景,还要注意 vSwitch 的 teaming 策略。默认是"基于源虚拟端口 ID"的负载均衡,跨物理交换机做双上行时如果两端没配好 LACP,表现是丢包和间歇性断连,排查时 ping 通、SSH 卡顿、vCenter 频繁失联,很费时间。物理交换机侧是 access 独立口就保留默认,做了链路聚合才去改成 IP Hash,并且两边必须同时改。
3.3 DNS、NTP 与证书的前后顺序
这三样有严格的先后依赖,顺序错了会连环报错。
DNS 必须先通。反查记录同样要建,即 IP 能解析回 FQDN。很多环境只做了正向记录,vCenter 添加主机时 PTR 查不到,走的是一段静默重试,最后报"无法验证主机证书",看上去像证书问题,实际是 DNS。验收方法是 SSH 里敲nslookup 10.0.0.11,返回的必须是esxi01.lab.local。
时间同步第二。ESXi 默认用 NTP,但防火墙里 NTP 客户端规则是关闭的,所以配完服务器很可能一直不同步:
# 指定 NTP 服务器并启用 esxcli system ntp set -s pool.ntp.org --enabled true esxcli system ntp set -s 10.0.0.2 --enabled true # 内网有 NTP 源时优先内网 # 放行 NTP 客户端出站规则 esxcli network firewall ruleset set -e true -r ntpClient esxcli network firewall ruleset allowedip add -r ntpClient -i 10.0.0.0/24 # 立即校时并查看偏差 ntpdate -q 10.0.0.2 ntpq -pntpq -p输出里 remote 前面带*的才是当前同步源,全是+或者空表说明没同步上,先查防火墙规则再看 DNS。时间偏差超过 5 分钟,vCenter 添加主机时会因为证书有效期判断异常而失败,加 AD 域也会直接拒绝,这类问题在日志里表现为一句含糊的"认证失败"。
证书第三。7.0 装完自带自签名证书,有效期很长但 CN 是安装时填的 FQDN。如果主机名中途改过,证书不会自动重签,得手工重新生成:
# 重新生成主机自签名证书(会重启 hostd 和 vpxa,虚拟机会继续运行) /sbin/generate-certificates /etc/init.d/hostd restart /etc/init.d/vpxa restart重启期间 vCenter 会短暂失联,属于预期行为。生产环境更常见的做法是让主机先以自签名证书加入 vCenter,再由 vCenter 的证书机构统一换发,这样集群内主机证书互信,少一堆手工操作。
4. 把主机调成能上生产:存储、防火墙与批量操作
到这一步主机能连、能登录,但离"能上生产"还差几件事:数据盘要挂成 VMFS,日志要送到远端,日常开关机和快照要能批量执行。这三块用命令行做比在界面上点要快,也更容易固化成脚本。
4.1 存储识别与 VMFS 数据盘挂载
先说识别。FC 或 iSCSI 环境里主机启动后不一定立刻看到 LUN,需要主动扫描:
# 查看当前识别到的存储设备 esxcli storage core device list # 全量重扫所有适配器(HBA、iSCSI、NVMe) esxcli storage core adapter rescan --all # 只重扫某一块 HBA esxcli storage core adapter rescan -a vmhba2 # 查看已有的 VMFS 文件系统 esxcli storage filesystem listdevice list输出里每个设备有一行Is Local、Is SSD、Is USB,这行信息决定了它能不能用作数据存储。显示Is USB: true的设备不要往上建 VMFS,USB 通道的稳定性撑不住生产 IO,短时间跑测试可以,长时间会出现设备超时后整卷变只读。
扫到裸盘后建 VMFS6 数据存储。7.0 只支持 VMFS6,别照着旧文档敲 vmfs5:
# 先列出设备的具体分区路径,naa. 开头的才是稳定标识 esxcli storage core device partition list -d naa.60060160xxxx # 创建 VMFS6 数据存储,-C 建卷,-S 是数据存储名,-b 块大小(1M 适合大文件) vmkfstools -C vmfs6 -S DS01 -b 1M /vmfs/devices/disks/naa.60060160xxxx:1参数说明:-b 1M是文件块大小,虚拟机磁盘多为大文件,1M 块比默认 1M 之外的选择更省元数据;-S名字建议带机房或用途缩写,多主机多存储时名字重复会让 vCenter 挂载报冲突。设备路径末尾的:1表示第一分区,漏掉会提示"设备已被使用"。
挂载已有 VMFS 和新建是两条路。从别的阵列迁过来的 LUN 上已经有 VMFS 签名,重扫后会自动挂上,不需要也不应该重新创建。判断方法看filesystem list里是否已经列出该卷,如果列出了但状态是"未挂载",用esxcli storage filesystem mount -l <卷名>。
4.2 防火墙规则与远端日志
ESXi 的防火墙默认只放行管理必需的端口,出站方向卡得比入站更严。这造成一个很常见的现象:主机本地一切正常,就是 syslog 服务器收不到日志、SNMP 监控看不到数据、备份软件连不上。
# 列出所有规则集及其启用状态 esxcli network firewall ruleset list # 放行 syslog 出站,并限定只允许日志服务器网段 esxcli network firewall ruleset set -e true -r syslog esxcli network firewall ruleset allowedip add -r syslog -i 10.0.0.50 # 配置远端日志主机并重载服务 esxcli system syslog config set --loghost='udp://10.0.0.50:514' esxcli system syslog config set --default-rotate=8 --default-size=4096 esxcli system syslog reload # 验证:本地发一条测试日志,远端应该能看到 logger "esxi01 syslog test"allowedip这个参数值得单独说:规则集启用后默认对所有源放行,加上 allowedip 白名单后只有名单内的地址能通信,这是把"能用"变成"能过审计"的一步。多网段环境要逐个add -i,别指望通配符,ESXi 只认 CIDR。
日志落盘策略同样重要。ESX-OSData 卷再大也有上限,默认轮转是 8 个文件、每个 4MB,中小环境够用;如果主机上有大量虚拟机在做快照或存储告警,日志涨得很快,建议把轮转数提到 10 以上,同时确保远端日志真的在收。判断远端是否在收,不用登日志服务器,本地看/var/log/vmsyslogd.log有没有连接失败的记录就够。
4.3 vim-cmd 与 PowerCLI 的日常批量
SSH 登进去做单机操作,vim-cmd够用;要管多台主机或多台虚拟机,PowerCLI 更顺手。
vim-cmd 的常用命令按对象分三类。查虚拟机、开关机、打快照:
# 列出所有虚拟机,第一列是 vmid,后面依次是 datastore 路径、名称、电源状态 vim-cmd vmsvc/getallvms # 开关机与重置 vim-cmd vmsvc/power.on 12 vim-cmd vmsvc/power.off 12 vim-cmd vmsvc/power.reset 12 # 创建快照:参数依次是 vmid、快照名、描述、是否含内存、是否静默 vim-cmd vmsvc/snapshot.create 12 before_patch "patch 前快照" 1 1 # 删除全部快照(会合并磁盘,磁盘越大越慢) vim-cmd vmsvc/snapshot.removeall 12 # 查电源状态和 IP vim-cmd vmsvc/get.summary 12 | grep -E "powerState|ipAddress"snapshot.create的第四、五个参数容易记反:1 1表示同时保存内存状态并尝试静默文件系统,适合打补丁前的回滚点;0 0只做磁盘快照,速度快但恢复时相当于断电重启,数据库类虚拟机不要这么干。快照不是备份,链一长(超过 3 层)性能下降非常明显,removeall合并大磁盘时可能跑几十分钟,期间该虚拟机 IO 受影响。
维护模式切换也是 vim-cmd 的活:
# 进入维护模式,-t 0 表示不等待(默认会等虚拟机迁完或关机) vim-cmd hostsvc/maintenance_mode_enter # 查看当前是否在维护模式,返回 true/false vim-cmd hostsvc/hostsummary | grep -i maintenance多主机场景改用 PowerCLI,一次连一批:
# 连接 ESXi 主机(凭据从环境变量读,别写死在脚本里) $pass = ConvertTo-SecureString $env:ESXI_PASS -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential("root", $pass) Connect-VIServer -Server 10.0.0.11,10.0.0.12 -Credential $cred # 批量输出每台主机的 vmkernel 地址与版本 Get-VMHost | ForEach-Object { $h = $_ Get-VMHostNetworkAdapter -VMHost $h -VMKernel | Select-Object @{n='Host';e={$h.Name}}, Name, IP, PortGroup } # 批量把主机置入维护模式(DRS 打开时会自动迁虚拟机) Get-VMHost -Name 10.0.0.11 | Set-VMHost -State Maintenance Disconnect-VIServer -Confirm:$falsePowerCLI 的坑在版本,7.0 环境要用 12.x 以上的 PowerCLI,低版本连上去后部分 cmdlet 会静默返回空结果,不报错也不生效,比报错更难查。装完先Get-Module VMware.PowerCLI -ListAvailable看一眼版本号。
5. 避坑实录:ESXi 7.0 部署里最容易翻车的五个点
下面五条都是装机现场真实出现过的,按"现象 → 原因 → 解决"写,能对上一条就少折腾半天。
5.1 装完重启进不去系统,卡在引导菜单
现象:安装流程显示成功,提示重启,重启后回到安装器或者报No bootable device。
原因多半有两个。一是引导顺序没改,BIOS 里 U 盘或光驱还排在本地盘之前,介质没拔就一直在进入安装引导。二是引导盘选错了:机器上同时有 RAID 卡挂的系统和一块本地 NVMe,安装器默认目标不一定是你要的那块,装到了不会被 BIOS 引导的设备上。
解决:进 BIOS 把本地盘调到第一引导项,确认安装目标磁盘的型号和容量,安装确认页会显示目标设备名,对着服务器的槽位标签核一遍再按 F11。已经装错的,重新安装在磁盘选择页手工指定。
5.2 系统能起来但网卡全丢,一块都不认
现象:安装过程正常,DCUI 里 "Configure Management Network" 进去发现没有可选的网络适配器,或者只有一块,实际机器上是四口。
原因:7.0 精简了部分老网卡的驱动,把 e1000/e1000e 系列的部分型号移出了默认镜像,改为需要单独加载的组件。服务器主板集成的老式千兆口命中概率不低,尤其是几年前的白牌机。
解决:先查硬件兼容列表确认网卡型号在不在支持范围,不在就得换网卡。如果型号在列表里但仍不识别,用 Image Builder 做一份带对应驱动的自定义镜像:
# PowerCLI 里给官方 ISO 加第三方驱动 VIB Add-EsxSoftwareDepot .\VMware-ESXi-7.0.0.zip Add-EsxSoftwareDepot .\net-driver-vib.zip $base = Get-EsxImageProfile -Name "ESXi-7.0.0-*standard*" $custom = New-EsxImageProfile -CloneProfile $base -Name "ESXi70-Custom" -Vendor "lab" Add-EsxSoftwarePackage -ImageProfile $custom -SoftwarePackage "net-xxx-driver" Export-EsxImageProfile -ImageProfile $custom -ExportToIso -FilePath .\ESXi70-Custom.isoCloneProfile是基于官方 profile 派生,保留全部原有组件,只多一个驱动。ExportToIso出来的镜像可以直接走前面的写盘流程。这套做法的前提是有驱动的 VIB 包,来源得跟硬件厂商要,别从不明渠道抓。
5.3 日志卷满了,主机各种服务随机报错
现象:跑了一两周后,vCenter 显示主机告警一堆,SSH 进去df -h看到/vmfs/volumes/xxxx使用率 100%,/var/log写不进去,hostd 挂了,界面连不上。
原因:引导盘容量太小,ESX-OSData 卷被压到一个很小的值,日志轮转不过来。7.0 之前也有这个问题,但 7.0 的新布局让日志和配置都集中在同一个卷上,撑爆的后果更集中。
解决:短期清理/var/log下的大文件并调小轮转;长期只能换引导盘重装,或者在安装时就用systemMediaSize参数控制好大小。检查当前卷大小的命令是df -h和esxcli storage filesystem list,前者看使用率,后者看卷类型和容量,两边的数字要能对上。
5.4 vCenter 添加主机失败,报证书或连接错误
现象:主机单独访问正常,vCenter 添加主机时进度条走到一半失败,提示无法验证证书或连接超时。
原因排查按顺序走:先确认时间偏差,date -u和标准时间差超过 5 分钟基本就是它;再确认 DNS 正反查都能解析出 FQDN;最后看主机名有没有中途改过导致证书 CN 不匹配。这三条里时间问题占一半以上,因为 NTP 规则默认没放行,很多人配了服务器但没开防火墙。
解决:按 3.3 的顺序把 DNS 正反查、NTP 同步、generate-certificates重签证书走一遍,重启 hostd 和 vpxa 后再添加。如果主机已经在 vCenter 里但状态是"断开",先esxcli network firewall ruleset set -e true -r vpxHeartbeats检查心跳规则。
5.5 快照链没管住,数据存储被写满
现象:某台虚拟机某天突然 IO 极慢,数据存储容量以肉眼可见速度下降,查下来这台机器上挂了七八个快照。
原因:快照文件是增量磁盘,虚拟机写入时先写增量再合并,链越长每次写要穿透的层数越多,性能成倍下降;同时增量文件只增不减,直到removeall才合并回主盘。手工打快照做"备份"的习惯是主要诱因。
解决:vim-cmd vmsvc/snapshot.get <vmid>可以看到当前快照列表,超过两层就该处理。合并前先确认数据存储剩余空间大于最大增量文件的两倍,否则合并过程中空间耗尽会把虚拟机搞坏。真正需要回滚点的场景,用备份软件做镜像级备份,别指望快照。
6. 上线前的验收清单与两个进阶操作
主机配完不等于能交付。交付前的验收我固定走一遍清单,全是只读命令,跑完心里有底:
| 检查项 | 命令 | 期望结果 |
|---|---|---|
| 版本与构建号 | esxcli system version get | 7.0.0 及对应 build,与介质一致 |
| 硬件平台 | esxcli hardware platform get | 型号与资产台账匹配 |
| 物理网卡 | esxcli network nic list | 全部 Up,速率符合预期 |
| 管理口连通 | vmkping -I vmk0 10.0.0.1 | 网关可达,无丢包 |
| 存储设备 | esxcli storage core device list | 数据盘状态 on,无 permanent error |
| NTP 同步 | ntpq -p | 至少一个源前带* |
| 防火墙 | esxcli network firewall ruleset list | 只放行必要规则集 |
| 日志出站 | tail /var/log/vmsyslogd.log | 无连接失败记录 |
前六项是基线,后两项是运维可用性。清单跑完再做一次全量日志收集,vm-support会在/var/tmp下生成一个压缩包,里面包含所有日志和配置快照,日后出问题有对照:
# 生成支持包,耗时约一到三分钟,期间不影响虚拟机 vm-support # 查看生成的文件 ls -lh /var/tmp/esx-*.tgz进阶操作里有两个真正省事的。一是用主机配置文件固化配置,把上面这些手工步骤变成模板,新机器装完直接套用,减少人肉差异;二是把升级路径提前规划好,7.0 的小版本升级用 depot zip 离线做,命令是esxcli software profile update -p <profile> -d /vmfs/volumes/DS01/update/xxx.zip,执行前必须先esxcli system maintenanceMode set -e true,执行后重启。升级包里 profile 名要对,esxcli software sources profile list -d <zip>能列出来,抄错一个字符就会报找不到 profile。
我自己的习惯是:任何一台主机在交付前,必须把上面那张表从头到尾跑一遍,并把vm-support的包连同装机记录一起归档。曾经因为跳过 NTP 检查,一台机器上线两周后证书过期,整片集群的 vMotion 全部失败,排查花了一整天,而问题本可以在五分钟内被发现。从那以后这张验收表就成了硬性动作,不管工期多赶都不省。希望这些能帮到你,装机这件事,稳比快重要。
本文还有配套的精品资源,点击获取