为 ESXi 4.x/5.x/6.x/7.x 创建持久暂存位置 (1033696)
Last Updated: 2021/1/8Categories: How toTotal Views: 1Language:SUBSCRIBE
ESXi 采用双 SD 卡方式进行安装,vSAN 的 Cache 和容量盘采用 Pass-Through 的方式进行连接,这种方式是 DELL 推荐的一种方式,同时,我们也可以到 DELL vSAN Ready Node 中也是这样推荐的配置。当然采用 SD 卡安装 ESXi 的话,需要手动指定 LOG 存储的永久位置,不要把主机的日志输出指向 vSAN Datastore,当主机内存大于 512G 时,可采用 SATADOM 的解决方案。
关于日志的 3 个解决方案:
存储在永久存储中(KB1033696)
存储在 Syslog 服务器中(KB2003322)
存储 vRealize Log Insight 服务器中(KB2144909)
关于 DELL 双 SD 卡的解决方案说明:
http://www.dell.com/downloads/global/products/pedge/en/poweredge-idsdm-whitepaper-en.pdf
DELL R730xd vSANReady Node 配置:
此文档是由机器翻译完成。我们会努力提供最佳翻译版本,但本地化的内容可能会更新不及时。有关最新内容,请参见英文版本。如果您发现任何翻译错误,请在 KB 页面底部提供您的反馈。
Learn how VMware Skyline Advisor and Skyline Health Diagnostics work together to provide proactive intelligence and self-service log analysis.- Use Skyline Advisor to avoid issues before they occur across VCF, vSphere, vSAN, NSX, vROps & Horizon. Skyline Findings are based on top KBs, VMSAs/CVEs and design best practices.
- Use Skyline Health Diagnostics to root cause vSphere & vSAN logs when an issue occurs. Skyline Health Diagnostic Findings are based on top KBs and VMSA/CVEs. You can use the Skyline Health Diagnostics tool in online or offline mode.
- If you require additional help from technical support, please use Skyline Advisor to initiate a Log Assist to reduce time to upload logs. TSEs can also initiate logs to reduce effort.
Symptoms
免责声明:本文为 Creating a persistent scratch location for ESXi 7.x/6.x/5.x/4.x 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。
- 运行
esxcli software vib list
命令时,您会看到类似以下内容的错误:Traceback (most recent call last):
File "/usr/lib/vmware/esxcli-software", line 432, in module
setupLogging()
File "/usr/lib/vmware/esxcli-software", line 78, in setupLogging
handler = logging.handlers.SysLogHandler(address='/dev/log')
File "/build/mts/release/bora-504890/bora/build/esx/release/python-
2.6-lib-zip-stage/504890/visor/pylib/python2.6/logging/handlers.py",
line 704, in __init__
File "/build/mts/release/bora-504890/bora/build/esx/release/python-
2.6-lib-zip-stage/504890/visor/pylib/python2.6/logging/handlers.py",
line 719, in _connect_unixsocket
File "string", line 1, in connect
socket.error: [Errno 2] No such file or directory
- 与
esxcli software
或esxupdate
相关的命令不起作用。 - 使用 Update Manager 扫描主机失败并出现以下错误:
General System Error
- 最初,重新引导主机会解决此问题,但几天之后问题又会重新出现。
/var/log/
文件中缺少日志文件或日志文件未更新。- 您无法在受影响的 ESXi 主机上安装 HA 代理。
- ESXi 安装在 SD 卡或 USB 存储器中。
Purpose
本文介绍为 ESXi 创建持久暂存位置的步骤。
VMware 建议 ESXi 具有一个可用于存储临时数据(包括日志、诊断信息和系统交换)的持久暂存位置。(但这不是要求)持久暂存空间能够在可由 ESXi 主机访问的 FAT 16、VMFS 或 NFS 分区上进行置备。
注意事项:暂存空间是在 ESXi 主机的安装或首次引导期间自动配置的,通常不需要手动配置。如果空间足够且目标设备为“本地”设备,则安装期间,ESXi Installable 会在该设备上创建一个 4 GB 的 Fat16 分区。
从 VirtualCenter 2.5 Update 1 开始,只有启用交换的 ESXi 系统才能添加到 HA 群集中。有关详细信息,请参见 ESXi hosts without swap enabled cannot be added to a VMware High Availability Cluster (1004177).
注意:对于 ESXi 7.0 之前的版本,暂存空间是在 ESXi 主机的安装或首次引导期间自动配置的,通常不需要手动配置。如果空间足够且目标设备为“本地”设备,则安装期间,ESXi 安装程序会在该设备上创建一个 4 GB 的 Fat16 分区。
从 ESXi 7.0 开始,基于 VMFS-L 的 ESX-OSData 卷(用于存储日志、coredump 和配置)将替换传统暂存分区。在升级过程中,配置的暂存分区将转换为 ESX-OSData。本文所述的设置仍适用于希望将暂存路径指向其他位置的情况。
Cause
如果持久暂存空间不可用,ESXi 会将此临时数据存储在空间受限的 ramdisk 上。在内存不足的情况下,这可能会出现问题,但不会对 ESXi 操作有严重影响。存储在 ramdisk 上的信息在重新引导后将不再存在,因此诸如日志和核心文件之类的故障排除信息可能会丢失。如果主机上的持久暂存位置配置不正确,则可能会由于空间不足无法更新临时文件和日志文件而引发间歇性问题。
暂存空间是在 ESXi 4.1 U2 和更高版本的主机安装或首次引导期间自动配置的,不需要手动配置。
Resolution
可以使用 vSphere Client、PowerCLI、技术支持模式或在脚本式安装期间手动为 ESXi 主机配置暂存空间。请选择适合您环境的方法。无论选择何种方法,配置都将写入
/etc/vmware/locker.conf
配置文件中,以便在下次引导时使用。更改配置的暂存位置后,必须重新引导 ESXi 主机以使所做的更改生效。在进行更改之前,请先使用 vMotion 迁移 ESXi 主机上的所有虚拟机或关闭它们的电源。有关详细信息,请参见 Rebooting an ESX Server host (1003530)。
配置的暂存位置必须指向可供 ESXi 主机访问的文件系统上的某个目录,如 VMFS 卷。该位置可以是共享磁盘上的目录,也可以是远程磁盘上的目录,只要为 ESXi 主机分配了其自身的单独目录即可。
配置持久暂存位置的方法:
- 使用适用于 ESXi 6.x 和更高版本的 vSphere Client
- 使用适用于 ESXi 6.5 的VMware Host Client
- 使用 PowerCLI 5.1 或更高版本
- 使用技术支持模式
- 使用 kickstart 脚本进行脚本安装期间
注意:不支持在 VSAN 数据存储上配置暂存位置。
可能必须重新引导 ESXi 主机,然后才能完成上述过程。
使用 vSphere Web Client 为 ESXi 6.x 及更高版本配置持久暂存位置。使用 HTML5 客户端时步骤也类似。
- 使用 vSphere Web Client 登录到 vCenter Server。
- 单击主机和群集,然后选择特定主机。
- 单击系统。
- 单击高级系统设置。
- 找到
ScratchConfig.ConfiguredScratchLocation
。 - 单击编辑,并添加指向暂存目录的路径。
- 重新引导主机。
使用 VMware Host Client 为 ESXi 6.5 配置持久暂存位置
- 使用 Host Client 连接到 ESXi 主机。
- 单击存储。
- 右键单击某个数据存储,然后单击浏览。
- 为此 ESXi 主机创建名称唯一的目录。
例如:
.locker-ESXHostname
- 关闭数据存储浏览器。
- 单击管理选项卡。
- 在“系统”下,单击高级系统设置。
ScratchConfig.CurrentScratchLocation 设置将显示暂存分区的当前位置。
- 在 ScratchConfig.ConfiguredScratchLocation 字段中,输入此主机唯一的目录路径。
例如:/vmfs/volumes/DatastoreUUID/.locker-ESXHostname。
- 重新引导主机。
使用 vSphere Client 配置持久暂存位置
要使用 vSphere Client 为 ESXi 配置持久暂存空间,请执行以下操作:- 使用 vSphere Client 连接到 vCenter Server 或 ESXi 主机。
- 在清单中单击 ESXi 主机。
- 单击配置选项卡 > 存储。
- 右键单击某个数据存储,然后单击浏览。
- 为此 ESXi 主机创建名称唯一的目录。
例如:
。locker-ESXHostname
- 关闭数据存储浏览器。
- 单击软件 > 高级设置。
- 选择 ScratchConfig 部分。
- 更改
ScratchConfig.ConfiguredScratchLocation
配置选项,指定该目录的完整路径。
例如:/vmfs/volumes/DatastoreUUID/.locker-ESXHostname
注意:要确定数据存储 UUID,请执行以下操作:- 导航到配置 > 存储。
- 选择该数据存储。
- 查看“数据存储详细信息”下的“位置”。
显示的数据存储 UUID 类似于 /vmfs/volumes/51dda02d-fade5016-8a08-005056171889,其中 51dda02d-fade5016-8a08-005056171889 为 UUID。
- 单击确定。
- 将 ESXi 主机置于维护模式并重新引导,以使配置更改生效。
使用 PowerCLI 5.1 或更高版本配置持久暂存位置
要使用 vSphere PowerCLI 界面为 ESXi 配置持久暂存空间,请执行以下操作:注意:
- 在继续之前,请确保
/tmp/scratch
存在。如果不存在,请使用命令mkdir /tmp/scratch
创建一个。 - 有关 VMware PowerCLI 用法的详细信息,请参见 vSphere PowerCLI documentation。
- 在 PowerCLI 的安装位置打开命令提示符。
- 使用以下命令连接到 ESXi 主机:
connect-viserver esx_hostname_or_IP
- 使用以下命令获取可从该 ESXi 主机访问的数据存储的列表:
Get-Datastore
- 使用以下命令,将数据存储读/写作为 PSDrive 进行挂载:
New-PSDrive -Name "mounteddatastore" -Root \ -PSProvider VimDatastore -Datastore (Get-Datastore "DatastoreName")
- 使用以下命令访问新 PSDrive:
Set-Location mounteddatastore:\
- 使用以下命令为此 ESXi 主机创建名称唯一的目录:
New-Item "DirectoryName" -ItemType directory
例如:New-Item ".locker-ESXHostname" -ItemType directory
- 使用以下命令检查
ScratchConfig.ConfiguredScratchLocation
配置选项的当前值:Get-VMhost | Get-AdvancedSetting -Name "ScratchConfig.ConfiguredScratchLocation"
- 使用以下命令更改
ScratchConfig.ConfiguredScratchLocation
配置选项,指定在步骤 6 中创建的目录的完整路径:Get-VMhost | Get-AdvancedSetting -Name "ScratchConfig.ConfiguredScratchLocation" | Set-AdvancedSetting -Value "/vmfs/volumes/DatastoreName/DirectoryName"
例如:Get-VMhost | Get-AdvancedSetting -Name "ScratchConfig.ConfiguredScratchLocation" | Set-AdvancedSetting -Value "/vmfs/volumes/Datastore1/.locker-ESXHostname"
- 在出现提示时,选择是,修改高级设置。
- 将 ESXi 主机置于维护模式并重新引导,以使配置更改生效。
使用技术支持模式配置持久暂存位置
要在 ESXi 中使用技术支持模式为 ESXi 配置持久暂存空间,请执行以下操作:注意:
- 可以通过本地控制台或 SSH 完成此操作。
.filename
是隐藏文件。要查看隐藏文件,请使用ls -a
命令。
- 打开 ESXi 主机的控制台。有关详细信息,请参见 Using Tech Support Mode in ESXi 4.1, ESXi 5.x, and ESXi 6.x。
- 使用以下命令获取可从该 ESXi 主机访问的数据存储的列表:
ls /vmfs/volumes
- 使用以下命令为此 ESXi 主机创建名称唯一的目录:
mkdir /vmfs/volumes/DatastoreName/DirectoryName
例如:mkdir /vmfs/volumes/Datastore1/.locker-ESXHostname
- 使用以下命令检查
ScratchConfig.ConfiguredScratchLocation
配置选项的当前值:vim-cmd hostsvc/advopt/view ScratchConfig.ConfiguredScratchLocation
例如:(vim.option.OptionValue) [
(vim.option.OptionValue) {
dynamicType = unset,
key = "ScratchConfig.ConfiguredScratchLocation",
value = "/path/to/location",
}
}
- 使用以下命令更改
ScratchConfig.ConfiguredScratchLocation
配置选项,指定在步骤 3 中创建的目录的完整路径:vim-cmd hostsvc/advopt/update ScratchConfig.ConfiguredScratchLocation string /vmfs/volumes/DatastoreName/DirectoryName
例如:/bin/vim-cmd hostsvc/advopt/update ScratchConfig.ConfiguredScratchLocation string /vmfs/volumes/Datastore1/.locker-ESXHostname
- 将 ESXi 主机置于维护模式并重新引导,以使配置更改生效。
在脚本式安装期间使用 kickstart 脚本配置持久暂存位置
您可以通过向您的 kickstart 脚本中添加用于创建目录和更改配置选项的命令,在 kickstart 安装期间为 ESXi 配置持久暂存空间。有关 ESXi 脚本式部署的详细信息,请参见 ESXi Installable and vCenter Server Setup Guide。将以下命令附加到自定义 kickstart 脚本中:
注意:配置的暂存位置会在 ESXi 主机启动期间激活。执行上述命令后,必须进行重新引导。
# Generate a new scratch directory for this host on a Datastore
scratchdirectory=/vmfs/volumes/DatastoreName/.locker-$(hostname 2> /dev/null)-$(esxcfg-info -b 2> /dev/null)
# Create the scratch directory
mkdir -p $scratchdirectory
# Change the advanced configuration option
vim-cmd hostsvc/advopt/update ScratchConfig.ConfiguredScratchLocation string $scratchdirectory
Related Information
有关暂存分区的详细信息,请参见:
- vSphere 6.0 Installation and Setup guide 中的“通过 vSphere Web Client 设置暂存分区”部分
- 您的 ESXi 版本对应的《ESXi 安装指南》中的“配置存储行为”部分
- vSphere Installation and Setup guide 中的“关于暂存分区”部分
如果主机的运行时间超过 24 小时,则在执行上述步骤之后,此设置可能不再有效。在这种情况下,请执行以下步骤:
- 将主机置于“维护模式”并重新引导主机。
- 单击配置选项卡。
- 单击软件。
- 单击高级设置。
- 选择 ScratchConfig 部分。
- 更改
ScratchConfig.ConfiguredScratchLocation
配置选项,将其设置为该目录的完整路径。
例如:/vmfs/volumes/DatastoreName/.locker-ESXHostname
- 单击确定。
- 关闭窗口。
- 单击高级设置重新打开此窗口。
- 选择 ScratchConfig 部分。
- 验证
ScratchConfig.ConfiguredScratchLocation
字段是否包含您在步骤 6 中配置的暂存设置。如果是,则重新引导主机。
现在,主机使用配置的暂存分区。
有关确定是否为磁盘设备的详细信息,请参见 Identifying disks when working with VMware ESX (1014953),并查看
esxcfg-scsidevs -l
命令输出中的 Is Local
标志:
- 如果“本地”为 true,则该存储设备不可在多个 ESXi 主机之间共享。
- 如果“本地”为 false,则该存储设备是远程设备,可能可以在多个 ESXi 主机之间共享。远程设备不会自动用于 ESXi 的暂存。
启动期间,ESXi 会按如下优先顺序选择其中的一个暂存位置:
- 如本文中所述,通过
/etc/vmware/locker.conf
配置选项设置的、在ScratchConfig.ConfiguredScratchLocation
配置文件中配置的位置。 - 本地引导设备上的 Fat16 文件系统,至少 4 GB。
- 本地设备上的 Fat16 文件系统,至少 4 GB。
- 本地设备上
.locker/
目录中的 VMFS 数据存储。 /tmp/scratch/.
处的 ramdisk。
- 将 ESXi 部署在闪存或 SD 设备上,包括 USB 密钥。由于可用的读/写周期可能受限,不会在闪存或 SD 存储设备上创建暂存分区,即使在安装期间连接这些设备也是如此。
- 采用“从 SAN 引导”配置部署 ESXi 或将它部署到 SAS 设备。“从 SAN 引导”或 SAS LUN 被视为“远程”设备,可以在多个 ESXi 主机之间共享。远程设备不能用于暂存,以免多个 ESXi 主机之间发生冲突。
有关在 ESXi 5.x 上配置 syslog 的信息,请参见 Configuring syslog on ESXi 5.x (2003322)。 标签:ScratchConfig,存储,持久,ESXi,配置,主机,暂存 From: https://www.cnblogs.com/TImeroot/p/16728011.html