Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    API – Получить ID поколения ВМ

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    API – Получить ID поколения ВМ, Proxmox Виртуальная Среда
     
    ksl28
    Guest
    #1
    0
    28.05.2025 13:32:00
    Привет! Мне нужно сопоставить все наши ВМ на нескольких установках Proxmox и узнать vmgenid для виртуальной машины. Учитывая, что VMID 100 может существовать во всех наших кластерах, я не могу на него полагаться как на уникальный идентификатор в моем случае. Пока я перебираю каждую ВМ и получаю vmgenid здесь - https://pve.proxmox.com/pve-docs/api-viewer/#/nodes/ {node}/qemu/{vmid}/config. Я надеялся получить ID быстрее — например, одним вызовом API.

    1. Возможно ли сделать один API-запрос для узла PVE в кластере и получить vmgenid, вместо того, чтобы перебирать каждый хост?
    2. Действительно ли vmgenid уникален — или он изменится, если будет сделан снимок? Я понимаю, что если кто-то удалит ВМ и восстановит ее, он, возможно, изменится — и это нормально. Главное, чтобы он не менялся в течение всей жизни ВМ.
     
     
     
    bbgeek17
    Guest
    #2
    0
    28.05.2025 15:49:00
    Вам нужно будет перебрать каждую ВМ. Альтернативно, можно использовать grep/awk/sed в /etc/pve/. Если это разовое упражнение, то shell-поиск может быть более эффективным. Да, код, генерирующий их, использует функции, на которые можно положиться в плане уникальности. Можно также начать указывать свои собственные vmgenid, которые будут централизованно управляться для обеспечения уникальности. (man qm) Еще один вариант – настроить диапазоны ID ВМ так, чтобы они не пересекались в ваших кластерах. Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
     
     
     
    ksl28
    Guest
    #3
    0
    28.05.2025 16:57:00
    Отличный ответ, показывает много разных подходов. Можно ли сделать запрос на добавление функции (если да, то как?), чтобы vmgenid был включен в ответ о ресурсах кластера?
     
     
     
    bbgeek17
    Guest
    #4
    0
    28.05.2025 18:11:00
    Да, конечно, вы можете подать FR. Вот статья, в которой описаны ваши варианты: https://www.proxmox.com/en/about/open-source/developers. Тем не менее, вам сейчас необходим vmgenid. Кому-то другому может понадобиться другое поле. Вы можете посмотреть, как поле ресурса может раздуться. Большая часть этой информации, даже внутри PVE, должна собираться через несколько API-запросов. Так что сложно представить, что стабильный API будет изменен, чтобы помочь чему-то, что можно сделать через клиентский API.

    Лучший Blockbridge: ультра низкая задержка на основе NVME-хранилища для Proxmox - https://www.blockbridge.com/proxmox
     
     
     
    ksl28
    Guest
    #5
    0
    28.05.2025 18:24:00
    Совершенно логично, если честно - но попробовать стоит. Только что проверил восстановление с Veeam (новая опция размещения) и увидел, что ID не меняется. Похоже на баг Veeam, но не уверен, может ли это повлиять на Proxmox VMs - вдруг у двух VMs окажется один и тот же ID?
     
     
     
    bbgeek17
    Guest
    #6
    0
    28.05.2025 19:55:00
    Основываясь на описании ниже, vmgenid — это серийный номер, который используется ОС (в некоторых случаях некоторыми ОС) для отслеживания, изменился ли базовое оборудование/состояние. PVE не использует его как гипервизор. Помните, это просто случайный UUID без какой-либо "секретной" информации, встроенной в него. Код: Устройство VM generation ID (vmgenid) предоставляет гостевой ОС 128-битное целочисленное значение идентификатора. Это позволяет уведомить гостевую операционную систему, когда виртуальная машина запускается с другой конфигурацией (например, выполнение снимка или создание из шаблона). Гостевая операционная система обнаруживает изменение и затем может отреагировать соответствующим образом, например, пометить свои копии распределенных баз данных как "грязные", переинициализировать свой генератор случайных чисел и т. д.
    Обратите внимание, что автоматическое создание работает только при выполнении через API/CLI методы создания или обновления, но не при ручном редактировании файла конфигурации. Поэтому может быть желательно иметь одинаковый vmgenid после восстановления из резервной копии, поскольку ОС/Приложения могут зависеть от него. Думаю, вы преувеличиваете цель этого поля, пытаясь использовать его в качестве механизма отслеживания виртуальных машин в кластерах PVE. Централизованное управление (через комментарий, тег, имя и т. д.) всегда даст лучшие результаты.

    Удачи, Blockbridge: Ультра низкая задержка, полностью NVMe, совместно используемое хранилище для Proxmox - https://www.blockbridge.com/proxmox
     
     
     
    ksl28
    Guest
    #7
    0
    30.05.2025 08:16:00
    Спасибо за ответ. Я ищу значение, которое всегда уникально во всех моих кластерах Proxmox. Я изначально создал решение на основе комбинации VMID и названия кластера PVE, но это привело к слишком большому количеству связей в базе данных, что затрудняло его нормальную работу. В общем, мне нужна именно такая функциональность: https://support.hornetsecurity.com/hc/en-us/articles/19688383111569-Find-the-UUID-of-a-VMware-VM. Хотелось бы использовать vmgenid вместо этого – всё ещё считаю это жизнеспособным решением, но нужно учитывать, что при восстановлении оно может быть не уникальным.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры