Если взять виртуальную машину на ESX(i), то после установки на нее VMware tools в соответствующем каталоге появляются пара потенциально интересных команд:
Можно получить хелп по каждому из подпараметров:
Ну и, наконец, получить какую-то информацию:
Интересная команда с неожиданным результатом – я пытаюсь запросить объем памяти, занятый баллоном, и мне сообщают что сейчас этот объем = 0 МГц.
Вторая интересная утилита - vmtoolsd.exe
ее можно применить вот так:
сначала на ESX или ESXi присвоить значение произвольному атрибуту. Например, создадим переменную с именем хоста, на котором работает эта ВМ. Команда выглядит примерно так:
здесь vmware-cmd – спецкоманда для работы с ВМ. Запускаем ее или в Service Console для ESX, или в vMA для ESX(i).
setguestinfo - это специальный нужный нам сейчас параметр для создания переменной.
hypervisor.hostname – переменная, название которой мы придумали сами.
esx1.vm4.ru – значение переменной.
Можно этот код сделать более правильным – значение переменной заносить не фиксированным, а в зависимости от сервера, на котором команда выполняется:
Так вот, теперь значение этой переменной можно получить внутри ВМ, командой вот такой:
См. скриншоты:
задаем переменную, снаружи:
Получаем значение, внутри:
По мотивам How to extract host information from within a VM?
C:\Program Files\VMware\VMware Tools>VMwareToolboxCmd.exe help Usage: VMwareToolboxCmd.exe <command> [options] [subcommand] Type 'VMwareToolboxCmd.exe help <command>' for help on a specific command. Type 'VMwareToolboxCmd.exe -v' to see the Vmware Tools version. Use '-q' option to suppress stdout output. Most commands take a subcommand. Available commands: device disk script stat timesync For additional information please visit http://www.vmware.com/support/ |
Можно получить хелп по каждому из подпараметров:
C:\Program Files\VMware\VMware Tools>VMwareToolboxCmd.exe help stat stat: print useful guest and host information Usage: VMwareToolboxCmd.exe stat <subcommand> Subcommands: hosttime: print the host time speed: print the CPU speed in MHz ESX guests only subcommands: sessionid: print the current session id balloon: print memory ballooning information swap: print memory swapping information memlimit: print memory limit information memres: print memory reservation information cpures: print CPU reservation information cpulimit: print CPU limit information |
Ну и, наконец, получить какую-то информацию:
C:\Program Files\VMware\VMware Tools>VMwareToolboxCmd.exe stat balloon 0 MHz |
Интересная команда с неожиданным результатом – я пытаюсь запросить объем памяти, занятый баллоном, и мне сообщают что сейчас этот объем = 0 МГц.
Вторая интересная утилита - vmtoolsd.exe
ее можно применить вот так:
сначала на ESX или ESXi присвоить значение произвольному атрибуту. Например, создадим переменную с именем хоста, на котором работает эта ВМ. Команда выглядит примерно так:
vmware-cmd /vmfs/volumes/iSCSI_LUN_1_main/File_Server_Win2008_1/File_Server_Win2008.vmx setguestinfo hypervisor.hostname esx1.vm4.ru |
здесь vmware-cmd – спецкоманда для работы с ВМ. Запускаем ее или в Service Console для ESX, или в vMA для ESX(i).
setguestinfo - это специальный нужный нам сейчас параметр для создания переменной.
hypervisor.hostname – переменная, название которой мы придумали сами.
esx1.vm4.ru – значение переменной.
Можно этот код сделать более правильным – значение переменной заносить не фиксированным, а в зависимости от сервера, на котором команда выполняется:
vmware-cmd /vmfs/volumes/iSCSI_LUN_1_main/File_Server_Win2008_1/File_Server_Win2008.vmx setguestinfo hypervisor.hostname $(hostname) |
Так вот, теперь значение этой переменной можно получить внутри ВМ, командой вот такой:
C:\Program Files\VMware\VMware Tools>vmtoolsd.exe --cmd "info-get guestinfo.hypervisor.hostname" |
См. скриншоты:
задаем переменную, снаружи:
Получаем значение, внутри:
По мотивам How to extract host information from within a VM?
0 коммент.:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.