大多数 ESXi 指南都描述在已经设置过一次的服务器上执行此操作,但我是第一次在这些机器上安装 ESXi。
如何正确地将这些网卡驱动程序纳入安装过程?
我的印象是,我可能需要配置一个包含这些驱动程序的自定义安装包(并使用 PowerCLI 来执行此操作)——如果是这样,我该如何最好地执行此操作?
我正在编写一个 powercli 脚本来循环遍历我们环境中的每个数据存储并回收精简配置的 LUN 上的空间。环境中的所有 LUN 都是 Dell Equal Logic。
vCenter 版本: 5.5.0_1750787
ESXi 版本: Dell 5.5-1331820(A01)
我遇到的问题是,在脚本中执行 unmap 命令后正好 30 分钟,我收到以下错误:
从 PowerCLI:
Message: An error occurred while communicating with the remote host:
InnerText:
At \\SOMEIP\Share\folder\vmware_unmap_datastore.ps1:96 char:9
+ $RETVAL = $ESXCLI.storage.vmfs.unmap(200, $ds.Name, $null)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CatagoryInfo : OperationsStopped: (:) [], HostCommunication
+ FullyQualifiedErrorId : VMware.VimAutomation.ViCore.Types.V1.ErrorHandling.HostCommunication
Run Code Online (Sandbox Code Playgroud)
来自:ESXi 主机 vpxa.log:
==> vpxa.log <==
2014-06-30T14:39:51.907Z [7265EB70 error 'vpxavpxaVmomi' opID=60e7b2a5-11]
[VpxaClientAdapter::InvokeCommon] Got exception while invoking executeSoap
on vmodl.reflect.ManagedMethodExecuter:ha-managed-method-executer:
'Operation timed out', backtrace: …
Run Code Online (Sandbox Code Playgroud) 我偷偷怀疑这可能是一个错误,但我绝对愿意接受我做错事的可能性。
我在 $vm 中有一个 VMware 虚拟机,我正在尝试为它分配一个引导 CD。$vm 已关闭。
记录的方法似乎很简单:
Set-CDDrive -CD (Get-CDDrive -vm $vm) -IsoPath "[datastorename] \whatever.iso" -StartConnected 1
Run Code Online (Sandbox Code Playgroud)
现在,当我启动 VM 时,它会立即尝试 PXEboot。我关闭机器,在 vSphere 客户端中,我编辑虚拟机的属性,转到“CD/DVD 驱动器 1”,并确认“设备状态”在“开机时连接”旁边有一个复选标记。
这是疯狂的事情。当我取消选中该框,然后再次选中它,然后启动 VM,它从 ISO 启动。
我一次又一次地这样做,打开控制台,关闭它,每次,我都可以在 CLI 上设置 StartConnected 标志,GUI 反映设置,但只有在我手动标记复选框后,它才真正做到从 ISO 启动。
是否有我忽略在 PowerCLI 中执行的步骤以使此设置“采用”?
我正在尝试验证我正在处理的每台服务器中的文件系统分区是否正确对齐。我有以下脚本,当我尝试运行时,将根据我使用的 if 语句(其中一个被注释掉)声明所有虚拟服务器已对齐或未对齐:
$myArr = @()
$vms = get-vm | where {$_.PowerState -eq "PoweredOn" -and $_.Guest.OSFullName -match "Microsoft Windows*" } | sort name
foreach($vm in $vms){
$wmi = get-wmiobject -class "win32_DiskPartition" -namespace "root\CIMV2" -ComputerName $vm
foreach ($partition in $wmi){
$Details = "" | Select-Object VMName, Partition, Status
#if (($partition.startingoffset % 65536) -isnot [decimal]){
if ($partition.startingoffSet -eq "65536"){
$Details.VMName = $partition.SystemName
$Details.Partition = $partition.Name
$Details.Status = "Partition aligned"
}
else{
$Details.VMName = $partition.SystemName
$Details.Partition = $partition.Name
$Details.Status = "Partition not aligned" …
Run Code Online (Sandbox Code Playgroud) 我们环境中的 ESXi 最近更新添加了一项功能“使用 VMRC 打开”。
这在浏览器之外起作用,并且由于访问在浏览器内部运行的控制台的方法在我的 Chrome 中已经好几个月不起作用了,因此删除依赖项是一个值得欢迎的变化。
有没有办法从 PowerCLI 打开控制台应用程序?我有v5.8。我研究过Open-VMConsoleWindow,但它似乎旨在打开浏览器窗口。
是否可以以某种方式启动此应用程序,而无需在 vSphere Web 客户端中进行操作?
我正在尝试运行容量报告,当我Get-HardDisk
在 PowerCLI 中运行cmdlet 时,它为 CapacityKB 返回的值是已配置的空间。例如,假设我已经精简配置了一个 200GB 的磁盘,目前正在使用 30GB,它返回 200GB 的值。
有什么办法可以获得其他价值吗?我需要知道 vmdk 文件在 LUN 上实际使用了多少磁盘空间。我的 PowerCLI 版本是 5.0.1。
我有一个脚本将虚拟机从一个数据存储移动到另一个。我还有其他逻辑来保护存储后端和结构免于过度订阅并等待在特定时间提交新请求(业务要求)。我只移动数据存储而不是主机。我在 Move-VM 周围有一个 try catch 块,因为我想处理故障。我运行脚本的前两三次只发生了一些错误,并且按我的预期进行了处理。最近 5 次移动返回错误,但虚拟机移动请求成功,如我在 vCenter 中看到的任务所示。这项工作也顺利完成。Move-VM 没有使用 RunAsync 开关。什么会导致 Move-VM 返回错误但成功提交移动请求。
$VMs = Get-VM -Name $ComputerName
$CurrentDataStores = Get-Datastore
foreach ($VM in $VMs){
foreach ($store in $CurrentDataStores){
if ($store.name -eq "$Datastore"){
$rawDatastore = $store
}
if ($store.id -Match $VM.DatastoreIdList){
$VMDatastore = $store.name
}
}
if ($VMDatastore -eq "$Datastore"){
Write-Output "$VM : is already on requested Datastore"
}
else{
try {
Move-VM -VM $VM -Datastore $rawDatastore -ErrorAction Stop
}
catch {
Write-OutPut "$VM : Unable to move …
Run Code Online (Sandbox Code Playgroud) powershell vmware-esx vmware-vcenter vmware-vsphere powercli
是否可以使用 PowerCLI 在没有 vCenter Server 的情况下在 VMware ESXi 6.7 Standard 中创建虚拟机的即时克隆?
我正在尝试获取 VMHost 操作系统信息,但找不到所需的脚本。我累了:-
Get-VMHost
Run Code Online (Sandbox Code Playgroud)
它返回大量有关 VMHost 的信息,但缺少操作系统信息。谁能建议我如何获取操作系统信息?
powercli ×9
powershell ×5
vmware-esxi ×5
hypervisor ×1
installation ×1
pxe-boot ×1
timeout ×1
vmware-esx ×1