Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    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 Виртуальная Среда
    Есть способ научить Proxmox автоматически перезапускать ВМ после сбоя?

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Есть способ научить Proxmox автоматически перезапускать ВМ после сбоя?, Proxmox Виртуальная Среда
     
    yonoss
    Guest
    #1
    0
    03.10.2023 02:38:00
    Привет! Есть ли способ настроить Proxmox так, чтобы он автоматически перезапускал VM после сбоя? Что-то вроде "Автоматически запускать VM при загрузке", но для срабатывания перезапуска VM в случае её сбоя/вылета. По умолчанию, если VM падает, Proxmox её не перезапускает. Мне приходится заходить в консоль и запускать её вручную, что не подходит для рабочей среды. Спасибо!
     
     
     
    wishy
    Guest
    #2
    0
    01.12.2024 23:49:00
    Предполагаю, что и так будет. Это домашний сервер, я не особо хочу платить за электроэнергию для трёх нод, поэтому просто делаю одну ноду разумно избыточной, имею резервные копии и запасное оборудование, если основная нода выйдет из строя.
     
     
     
    wishy
    Guest
    #3
    0
    28.03.2024 23:49:00
    У меня сегодня проблемы с питанием – из-за сильного ветра оно работает нестабильно, и несмотря на ИБП, гости неожиданно завершались по одному во время различных проблем с питанием. Временные метки совпадают с тем, когда срабатывал ИБП. Странно, что под ESXi такой проблемы не было (хотя я рад, что от него избавился). В общем, написал этот скрипт и минимально его протестировал. Настроил его как cron job, чтобы он запускался каждые 10 минут. Скрипт перезапускает по одному серверу в остановленном состоянии.

    Bash: #!/bin/bash

    stopped_count=$(/usr/sbin/qm list | grep stopped | wc -l)

    # Проверяем, больше ли количество строк чем 0
    if [ $stopped_count -gt 0 ]; then
       # Серверы остановились
       #echo "Oh Dear.."
       # Ищем в qm list остановленные ВМ, если есть, awk числа, сортируем случайно, и выбираем первую случайную запись
       first_failed_guest=$(/usr/sbin/qm list | grep stopped | awk '{print $1}' | sort -R | head -1)
       # Отправляем qm list по электронной почте, указывая, какой гость будет перезапущен
       /usr/sbin/qm list | mail -s "Guest Stopped, restarting $first_failed_guest" your@email.here
       # На самом деле запускаем выбранного гостя
       /usr/sbin/qm start $first_failed_guest
    fi
     
     
     
    zombie-man
    Guest
    #4
    0
    01.12.2024 23:23:00
    wishy, просто из любопытства — почему встроенной функции HA оказалось недостаточно?
     
     
     
    LnxBil
    Guest
    #5
    0
    03.12.2024 21:58:00
    HA означает много разных вещей, но и просто "поддерживать VM в рабочем состоянии" можно реализовать на одном узле с помощью HA. Если VM выключится (например, выключение питания), она автоматически запустится. Кроме того, всё, что было написано в этой теме, всё ещё верно. Если VM упадет (например, паника ядра), она перезапустится изнутри. Если вы используете сторожевой таймер (watchdog) и VM зависнет, она перезапустится. Всё остальное, что здесь не работает, нужно мониторить извне.
     
     
     
    waynej
    Guest
    #6
    0
    14.02.2025 11:09:00
    Прошу прощения, что поднимаю старую тему. Просто выкладываю это сюда на всякий случай, если кому-то пригодится. Я написал подобный скрипт. Скрипт запускается, если время безотказной работы хоста больше 10 минут, чтобы не пытаться запускать ВМ, если хост только что перезагрузился. Проверяет ВМ с установленной опцией "Запускать при загрузке", проверяет статус и пытается запустить, если ВМ выключена. Bash: #!/bin/bash

    if [ $(cut -d '.' -f1 /proc/uptime) -gt 600 ]
    then
     for node in `pvesh get /nodes --output-format json | jq ".[].node" | cut -f 2 -d \"`
     do
       for vmid in `pvesh get /nodes/$node/qemu --output-format json | jq ".[].vmid"`
       do
         if [ "$(pvesh get /nodes/$node/qemu/$vmid/config --output-format json | jq ".onboot")" == "1" ]
         then
           if [ "$(/usr/sbin/qm status $vmid)" == "status: stopped" ]; then
             /usr/sbin/qm start $vmid
           fi
         fi
       done
     done
    fi Работает на одном узле. Не думаю, что будет работать, если их больше одного. Полагаю, что "qm" работает только для ВМ на узле, на котором он запущен. Похоже, что LRM может выполнить ту же работу на одном узле, но не хотел тестировать на рабочей системе. Кто-нибудь использовал LRM на одном узле, чтобы поддерживать ВМ в рабочем состоянии?
     
     
     
    elmarconi
    Guest
    #7
    0
    14.02.2025 11:25:00
    Single node: https://forum.proxmox.com/threads/i6300esb-watchdog-in-windows-help-needed.37990/
     
     
     
    ivenae
    Guest
    #8
    0
    14.02.2025 11:32:00
    И ещё один: Код: #!/bin/bash
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/local/bin/"

    HOSTS="10.173.245.51"
    COUNT=1

    pingtest(){
     for myHost in "$@"
     do
       ping -c "$COUNT" "$myHost" && return 1
     done
     return 0
    }

    if pingtest $HOSTS
    then
     pkill kvm
     qm start 100
     echo "$(date) RESTARTED" >> /root/restart.log
    fi Машина иногда зависала между 1:00 и 2:00, и я не мог найти причину. В процессе анализа я использовал этот скрипт, чтобы предотвратить дальнейшие последствия (нерабочее окружение клиента). После внедрения скрипта ошибка больше не возникала. Через 6 месяцев я удалил скрипт, и проблема вернулась, поэтому я вернул его на место. Я до сих пор не знаю, что здесь происходит. Скрипт запускается через cron: */5 * * * * /root/pingtest.sh > /dev/null
     
     
     
    ness1602
    Guest
    #9
    0
    14.02.2025 11:50:00
    Ну вот, почему просто не перезагружать его каждую ночь в 1?
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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