При вводе физического сервера в Maintence mode одна ВМ не захотела мигрировать. Выдавала Another task is already progress. Стало интересно, решил разобраться.
Попробовал выключить ВМ, получил такую же ошибку
Какое то задание не закончилось и тормозит все остальные задачи. Погуглив, нашел интересную статью от VMware. Включаем ssh на хосте и подключаемся к нему. Вначале посмотрим VMid ВМ с зависшей задачей
1) ~ # vim-cmd /vmsvc/getallvms (вывод не весь)
Vmid Name
39 250_Users_Media-webexmedia2
2) VMid = 39. Проверяем какие задачи запущены
# vim-cmd vmsvc/get.tasklist 39
(ManagedObjectReference) [
‘vim.Task:haTask-39-vim.VirtualMachine.upgradeTools-186997358’,
‘vim.Task:haTask-39-vim.VirtualMachine.shutdownGuest-187191311’,
‘vim.Task:haTask-39-vim.VirtualMachine.shutdownGuest-187191335’,
‘vim.Task:haTask-39-vim.VirtualMachine.powerOff-187191347’,
‘vim.Task:haTask-39-vim.VirtualMachine.shutdownGuest-187191369’
]
Первая задача haTask-39-vim.VirtualMachine.upgradeTools-186997358 — обновление VMware Tools. Коллега признался, что пытался неделю назад обновить VMware Tools, но что-то не получилось, и он не стал разбираться с этой проблемой.
3) Смотрим, что у нас есть в командах
# vim-cmd vmsvc/
Commands available under vmsvc/:
acquiremksticket get.snapshotinfo
acquireticket get.spaceNeededForConsolidation
connect get.summary
convert.toTemplate get.tasklist
convert.toVm getallvms
createdummyvm gethostconstraints
destroy login
device.connection logout
device.connusbdev message
device.disconnusbdev power.getstate
device.diskadd power.hibernate
device.diskaddexisting power.off
device.diskremove power.on
device.getdevices power.reboot
device.toolsSyncSet power.reset
device.vmiadd power.shutdown
device.vmiremove power.suspend
devices.createnic power.suspendResume
disconnect queryftcompat
get.capability reload
get.config setscreenres
get.config.cpuidmask snapshot.create
get.configoption snapshot.dumpoption
get.datastores snapshot.get
get.disabledmethods snapshot.remove
get.environment snapshot.removeall
get.filelayout snapshot.revert
get.filelayoutex snapshot.setoption
get.guest tools.cancelinstall
get.guestheartbeatStatus tools.install
get.managedentitystatus tools.upgrade
get.networks unregister
get.runtime upgrade
4) Нам подходит tools.cancelinstall. Ее и применяем
~ # vim-cmd vmsvc/get.tasklist 39
(ManagedObjectReference) [
‘vim.Task:haTask-39-vim.VirtualMachine.powerOff-187191347’,
‘vim.Task:haTask-39-vim.VirtualMachine.shutdownGuest-187191369’,
‘vim.Task:haTask-39-vim.VirtualMachine.powerOff-187191448’,
‘vim.Task:haTask-39-vim.VirtualMachine.powerOff-187191467’,
‘vim.Task:haTask-39-vim.VirtualMachine.upgradeTools-186997358’,
‘vim.Task:haTask-39-vim.VirtualMachine.unmountToolsInstaller-187191533’
]
После этого ВМ смигрировалась, хост вошел в Maintenance mode. ВМ можно было выключить и т.д. Задача решена.
4) Нам подходит tools.cancelinstall. Ее и применяем
в смысле применяем?
vim-cmd vmsvc/tools.cancelinstall 39