<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Аспро: ЛайтШоп [тема: как определить, на каком узле запущена виртуальная машина]</title>
		<link>http://proxmox.su</link>
		<description>Новое в теме как определить, на каком узле запущена виртуальная машина форума Proxmox Виртуальная Среда на сайте Аспро: ЛайтШоп [proxmox.su]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 26 Apr 2026 05:55:42 +0300</pubDate>
		<item>
			<title>как определить, на каком узле запущена виртуальная машина</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message347641/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina">как определить, на каком узле запущена виртуальная машина</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Я просто говорю, что если VM ID уникален для кластера, я не первый, кто хотел бы, чтобы была удобная функция (я называю это так, потому что, полагаю, она не нужна для работы PVE), чтобы получить ID узла на основе VM ID (или, действительно, получить информацию о VM, не заботясь о том, на каком узле она находится), без всего этого ^^. Я уверен, что есть какая-то веская архитектурная или топологическая причина, почему это невозможно. В любом случае, это имеет смысл. Спасибо за perl-скрипты, это очень полезно! Я против необходимости устанавливать дополнительные вещи, потому что важно держать Proxmox как можно ближе к стандартной установке. Удачи! <br />
			<i>11.10.2023 13:17:00, timdonovan.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message347641/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina</link>
			<guid>http://proxmox.su/forum/messages/forum63/message347641/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina</guid>
			<pubDate>Wed, 11 Oct 2023 13:17:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>как определить, на каком узле запущена виртуальная машина</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message347640/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina">как определить, на каком узле запущена виртуальная машина</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Вы используете "основное" API для получения этой информации... Это довольно ненадежно и, например, не работает, если есть состояние HA, тогда это будет $14 столбец. Если у вас действительно нет возможности или желания устанавливать такой базовый инструмент, как jq, вы всегда можете использовать существующие интерпретаторы, такие как python (выводя все узлы, если есть несколько гостей с одинаковыми именами): Код: pvesh get /cluster/resources -type vm --noborder --output-format json-pretty | python3 -c "import json,sys;j=json.load(sys.stdin);print(next((d['node'] for d in j if d['name']=='YOUR_VM_NAME'), 'Гость не найден'))" Или Perl, просто выводя первого, кого найдет: Код: pvesh get /cluster/resources -type vm --noborder --output-format json | perl -MJSON -ne 'my $j=decode_json($_); for my $res ($j-&gt;@*) { if ($res-&gt;{type} =~ /qemu|lxc/ && $res-&gt;{name} eq "YOUR_VM_NAME") { print $res-&gt;{node}."\n"; last; }}' Или Perl, но получая все узлы для гостей с одинаковым именем: Код: pvesh get /cluster/resources -type vm --noborder --output-format json | perl -MJSON -ne 'my $j=decode_json($_); print "$_-&gt;{node}\n" for grep { $_-&gt;{type} =~ /qemu|lxc/ && $_-&gt;{name} eq "YOUR_VM_NAME" } $j-&gt;@*;' И Python, и Perl являются широко доступными и по умолчанию установлены в Proxmox VE, так как оба имеют встроенные модули JSON, поэтому использовать такой структурированный формат намного лучше, чем парсинг с помощью AWK. Также можно создать небольшой скрипт shell, который облегчит использование: Bash: #!/bin/sh<br /><br />name="$1"<br />if [ -z "$name" ]; then<br /> &nbsp; &nbsp;printf "использование: $0 &lt;имя-гостя&gt;\n"<br /> &nbsp; &nbsp;exit 1<br />fi<br /><br />pvesh get /cluster/resources -type vm --noborder --output-format json \<br /> &nbsp; &nbsp;| NAME="$name" perl -MJSON -ne 'my $j=decode_json($_); print "$_-&gt;{node}\n" for grep { $_-&gt;{type} =~ /qemu|lxc/ && $_-&gt;{name} eq $ENV{"NAME"}} $j-&gt;@*;' Например, сохраните это как /usr/local/bin/find-guest-node на узлах Proxmox VE, сделайте его исполняемым (chmod +x /usr/local/bin/find-guest-node), и затем вы можете использовать find-guest-node "имя vm", чтобы получить узел(и). Единственное, что немного странно, это то, что входной тип "vm" должен называться "гость", так как он включает все наши виртуальные типы гостей. Но у возвратного типа, использующего значение конкретного типа, также есть свои причины, мы имели другие реализации для некоторых типов, такие как CT был openvz давно. И хотя мы всегда поддерживаем как ВМ, так и CT, подлежащая технология может измениться, поэтому "разные" типы позволяют фронтендам решать, как действовать с гостем, так как в зависимости от фактического типа доступны разные функции и так далее. Поэтому ввод требует гостей, что имеет смысл, так как VMID является единым пространством имен для всех гостей, а вывод дает вам конкретный тип; мы не видим здесь проблемы (кроме уже упомянутого, что ввод "vm" должен быть "гость", но просто ломать API для этого кажется слишком сложным для многих проектов, которые зависят от нас...) <br />
			<i>11.10.2023 07:50:00, t.lamprecht.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message347640/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina</link>
			<guid>http://proxmox.su/forum/messages/forum63/message347640/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina</guid>
			<pubDate>Wed, 11 Oct 2023 07:50:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>как определить, на каком узле запущена виртуальная машина</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message347639/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina">как определить, на каком узле запущена виртуальная машина</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Или, если не хотите полагаться на сторонние пакеты, которые не идут в комплекте с Proxmox (jq), чтобы сделать что-то, что действительно должно быть частью основного API... Код: pvesh get /cluster/resources -type vm --noborder | awk '{if($13 == "your_vm_name") print $14}' Саму команду pvesh, похоже, продумали странным образом. Она выводит столбец с названием type, который содержит недопустимые значения для ввода типа. <br />
			<i>10.10.2023 20:52:00, timdonovan.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message347639/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina</link>
			<guid>http://proxmox.su/forum/messages/forum63/message347639/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina</guid>
			<pubDate>Tue, 10 Oct 2023 20:52:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>как определить, на каком узле запущена виртуальная машина</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message347638/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina">как определить, на каком узле запущена виртуальная машина</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Привет, огромное спасибо за эту командную строку =) <br />
			<i>15.01.2023 14:46:00, veni69.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message347638/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina</link>
			<guid>http://proxmox.su/forum/messages/forum63/message347638/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina</guid>
			<pubDate>Sun, 15 Jan 2023 14:46:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>как определить, на каком узле запущена виртуальная машина</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message347637/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina">как определить, на каком узле запущена виртуальная машина</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Вот команда, которая получает имя узла напрямую: Код: pvesh get /cluster/resources --type vm --output-format json | jq -r ' .[] | select(.name == "your_vm_name") | .node' <br />
			<i>14.04.2020 15:17:00, hellfire.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message347637/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina</link>
			<guid>http://proxmox.su/forum/messages/forum63/message347637/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina</guid>
			<pubDate>Tue, 14 Apr 2020 15:17:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>как определить, на каком узле запущена виртуальная машина</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message347636/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina">как определить, на каком узле запущена виртуальная машина</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Привет, возможно ли узнать, на каком узле запущена виртуальная машина в кластере? Если это мастер-узел, всё в порядке, но если виртуалка работает на слейв-узле, она может узнать, что мастер-узел оффлайн, и процесс запустит репликацию образа диска, который не содержит актуальные данные. Я использую кластер с двумя узлами и устройство на Linux с corosync-qnetd для кворума. Репликация происходит рано утром перед работой. Виртуальная машина работает на кастомной Debian 9, оба узла работают на pve 6.0-4. Спасибо за ваш интерес, с уважением. <br />
			<i>07.11.2019 19:46:00, Jerome Duquesnoy.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message347636/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina</link>
			<guid>http://proxmox.su/forum/messages/forum63/message347636/80426-kak-opredelit_-na-kakom-uzle-zapushchena-virtualnaya-mashina</guid>
			<pubDate>Thu, 07 Nov 2019 19:46:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
	</channel>
</rss>
