Вопрос или проблема
Я пытаюсь получить ID снимка, к которому подключено текущее состояние машины. Я зашел на сервер ESXi через SSH.
Вот пример команды vim-cmd vmsvc/snapshot.get <VMID>
:
Получить снимок:
|-ROOT
--Имя снимка : первый
--ID снимка : 1
--Описание снимка : По умолчанию
--Снимок создан : 8.02.2013 16:45:17
--Состояние снимка : выключен
--|-CHILD
----Имя снимка : второй
----ID снимка : 2
----Описание снимка : По умолчанию
----Снимок создан : 8.02.2013 16:46:3
----Состояние снимка : выключен
----|-CHILD
------Имя снимка : третий
------ID снимка : 3
------Описание снимка : По умолчанию
------Снимок создан : 8.02.2013 16:46:38
------Состояние снимка : выключен
----|-CHILD
------Имя снимка : два-два
------ID снимка : 4
------Описание снимка : По умолчанию
------Снимок создан : 8.02.2013 16:57:23
------Состояние снимка : выключен
Как узнать, какой ID снимка зависит от моей текущей запущенной машины.
vim-cmd vmsvc/get.snapshotinfo <VMID>
вернет все дерево снимков. Любопытно, но текущий снимок находится в поле currentSnapshot
. Например:
currentSnapshot="vim.vm.Snapshot:104-snapshot-57",
В этом случае 104 – это ID ВМ, а 57 – это ID снимка.
.
Ответ или решение
Чтобы получить текущее имя снимка виртуальной машины (VM) на гипервизоре VMware ESXi с использованием команды vim-cmd
, следуйте приведенным ниже шагам.
Шаг 1: Подключение к серверу ESXi
Для начала вам необходимо подключиться к вашему серверу ESXi через SSH. Используйте любую SSH-клиентскую программу, такую как PuTTY, или в терминале Linux/Mac выполните команду:
ssh root@<ip-адрес-вашего-esxi>
Шаг 2: Определение идентификатора виртуальной машины (VMID)
Перед выполнением команды vim-cmd
, вам нужно узнать идентификатор вашей виртуальной машины (VMID). Вы можете получить список всех виртуальных машин и их идентификаторов с помощью команды:
vim-cmd vmsvc/getallvms
Эта команда выведет список виртуальных машин с их VMID, что позволит вам выбрать нужную VM.
Шаг 3: Получение информации о снимках
После того, как вы получите VMID вашей виртуальной машины, воспользуйтесь командой для получения информации о снимках:
vim-cmd vmsvc/snapshot.get <VMID>
Эта команда выведет информацию о всех снимках, связанных с виртуальной машиной. В выводе вы увидите дерево снимков, включая их имена, идентификаторы и состояния.
Пример вывода, который вы видели:
Get Snapshot:
|-ROOT
--Snapshot Name : first
--Snapshot Id : 1
--Snapshot State : powered off
--|-CHILD
----Snapshot Name : second
----Snapshot Id : 2
...
Шаг 4: Получение текущего снимка
Ключевой момент в определении текущего снимка заключается в использовании следующей команды:
vim-cmd vmsvc/get.snapshotinfo <VMID>
Эта команда вернет детальную информацию о текущем состоянии снимков виртуальной машины. Обратите внимание на поле currentSnapshot
, которое будет иметь следующий вид:
currentSnapshot="vim.vm.Snapshot:104-snapshot-57",
В этом случае 104
— это идентификатор виртуальной машины, а 57
— это идентификатор снимка, на который та виртуальная машина в данный момент ссылается.
Вывод
Таким образом, чтобы узнать, на какой снимок ссылается ваша работающая виртуальная машина в ESXi, выполните следующие команды:
- Получите VMID вашей машины с помощью
vim-cmd vmsvc/getallvms
. - Затем используйте
vim-cmd vmsvc/get.snapshotinfo <VMID>
, чтобы получить информацию о текущем снимке.
Произведя эти шаги, вы сможете легко определить, какой именно снимок используется вашей виртуальной машиной в данный момент.