Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    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 Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Проблемы с ограждением., Proxmox Виртуальная Среда
     
    mike15301
    Guest
    #1
    0
    13.05.2024 23:06:00
    У меня возникли проблемы с Proxmox: кажется, он "фенсит" и перезагружает один из моих нодов, когда не должен.

    Вот моя конфигурация: 2 виртуальных хоста Proxmox (8.1.10) с HA/corosync, 1 Ubuntu (22.04 LTS) в качестве сервер хранения данных (qdevice). Все платы - Supermicro, а сетевой кластер (и Ceph, но он работает нормально) находится на отдельной линии 40GbE.

    Когда я мигрирую все ВМ на vhost1 и выключаю vhost2 для обслуживания, vhost1 перезагружается через некоторое время (возможно, меньше чем через 30 секунд после отключения vhost2). Я думаю, что это Proxmox теряет кворум и "фенсит" vhost1. В каком журнале я должен искать, чтобы убедиться в этом?

    Пока vhost2 выключен и после перезапуска vhost1, я не могу запускать какие-либо ВМ на vhost1 из-за отсутствия кворума. Кажется, что qdevice не предоставляет третьего голоса для кворума, но, насколько я могу судить, все настроено правильно.

    ```
    root@VHOST1:~# pvecm s
    Cluster information
    -------------------
    Name:             homelab
    Config Version:   4
    Transport:        knet
    Secure auth:      on

    Quorum information
    ------------------
    Date:             Mon May 13 16:57:21 2024
    Quorum provider:  corosync_votequorum
    Nodes:            2
    Node ID:          0x00000001
    Ring ID:          1.10e9
    Quorate:          Yes

    Votequorum information
    ----------------------
    Expected votes:   3
    Highest expected: 3
    Total votes:      3
    Quorum:           2
    Flags:            Quorate Qdevice

    Membership information
    ----------------------
       Nodeid      Votes    Qdevice Name
    0x00000001          1    A,V,NMW 172.16.0.1 (local)
    0x00000002          1    A,V,NMW 172.16.0.2
    0x00000000          1            Qdevice
    ```

    ```
    root@VHOST1:~# cat /etc/pve/corosync.conf
    logging {
     debug: off
     to_syslog: yes
    }

    nodelist {
     node {
       name: VHOST1
       nodeid: 1
       quorum_votes: 1
       ring0_addr: 172.16.0.1
     }
     node {
       name: VHOST2
       nodeid: 2
       quorum_votes: 1
       ring0_addr: 172.16.0.2
     }
    }

    quorum {
     device {
       model: net
       net {
         algorithm: ffsplit
         host: 172.16.0.3
         tls: on
       }
       votes: 1
     }
     provider: corosync_votequorum
    }

    totem {
     cluster_name: homelab
     config_version: 4
     interface {
       linknumber: 0
     }
     ip_version: ipv4-6
     link_mode: passive
     secauth: on
     version: 2
    }
    ```

    Не знаю, указывают ли эти сообщения из сервиса qnetd на проблему:

    ```
    root@storage1:/mnt/raid/storage# service corosync-qnetd status
    ● corosync-qnetd.service - Corosync Qdevice Network daemon
        Loaded: loaded (/lib/systemd/system/corosync-qnetd.service; enabled; vendor preset: enabled)
        Active: active (running) since Wed 2024-04-24 03:44:42 EDT; 2 weeks 5 days ago
          Docs: man:corosync-qnetd
      Main PID: 3636 (corosync-qnetd)
         Tasks: 1 (limit: 154400)
        Memory: 8.9M
           CPU: 1min 15.283s
        CGroup: /system.slice/corosync-qnetd.service
                └─3636 /usr/bin/corosync-qnetd -f

    May 12 10:05:30 storage1 corosync-qnetd[3636]: Client ::ffff:172.16.0.2:41242 doesn't sent any message during 12000ms. Disconnecting
    May 12 14:05:24 storage1 corosync-qnetd[3636]: Client ::ffff:172.16.0.2:34990 doesn't sent any message during 12000ms. Disconnecting
    May 12 18:05:23 storage1 corosync-qnetd[3636]: Client ::ffff:172.16.0.2:34028 doesn't sent any message during 12000ms. Disconnecting
    May 12 19:57:21 storage1 corosync-qnetd[3636]: Client ::ffff:172.16.0.1:57120 doesn't sent any message during 12000ms. Disconnecting
    May 12 19:57:22 storage1 corosync-qnetd[3636]: Client ::ffff:172.16.0.2:40022 doesn't sent any message during 12000ms. Disconnecting
    May 13 00:01:13 storage1 corosync-qnetd[3636]: Client ::ffff:172.16.0.2:40406 doesn't sent any message during 12000ms. Disconnecting
    May 13 00:55:12 storage1 corosync-qnetd[3636]: Client ::ffff:172.16.0.1:46806 doesn't sent any message during 12000ms. Disconnecting
    May 13 02:27:59 storage1 corosync-qnetd[3636]: Client ::ffff:172.16.0.1:53194 doesn't sent any message during 12000ms. Disconnecting
    May 13 02:35:44 storage1 corosync-qnetd[3636]: Client ::ffff:172.16.0.2:55096 doesn't sent any message during 12000ms. Disconnecting
    May 13 02:39:34 storage1 corosync-qnetd[3636]: Client ::ffff:172.16.0.2:44588 doesn't sent any message during 12000ms. Disconnecting
     
     
     
    mike15301
    Guest
    #2
    0
    01.06.2024 03:59:00
    Пересматриваю это, так как проблемы все еще возникают. К положительным новостям: похоже, обновление прошивки Mellanox card могло решить эту проблему, и с тех пор она больше не давала сбои. Я также внес некоторые изменения: corosync теперь работает в 10G сети, общей с VM, так как там, как мне кажется, меньше трафика. Также установил PVE на свою машину для работы, в качестве dual boot ubuntu/PVE... эта машина обычно выключена или загружена в Ubuntu. Я хотел иметь эту машину как резервный PVE сервер на случай, если мне придется отключать всю стойку. Поэтому она присоединена к кластеру, но я настроил ее так, чтобы она не участвовала в голосовании. Думаю, я все настроил правильно, но по какой-то причине у меня очень повторяющиеся проблемы. Если я перенесу все VM на vhost2 и выключу vhost1, vhost2 теряет кворум, затем сам себя отключает и перезагружается. Это произошло 3 раза подряд в тестах, каждый раз с одними и теми же симптомами: перед выключением vhost1, ожидаемое и максимальное количество голосов показывают 3, как и положено, общее количество голосов 3, кворум 2. После выключения vhost1, ожидаемое, максимальное и кворум остаются прежними, но общее количество падает до 1 – как будто qnet устройство не предоставляет голос.

    Код:
    root@VHOST2:~# pvecm status
    Cluster information
    -------------------
    Name:             homelab
    Config Version:   5
    Transport:        knet
    Secure auth:      on

    Quorum information
    ------------------
    Date:             Fri May 31 13:11:30 2024
    Quorum provider:  corosync_votequorum
    Nodes:            2
    Node ID:          0x00000002
    Ring ID:          1.1616
    Quorate:          Yes

    Votequorum information
    ----------------------
    Expected votes:   3
    Highest expected: 3
    Total votes:      3
    Quorum:           2
    Flags:            Quorate Qdevice

    Membership information
    ----------------------
       Nodeid      Votes    Qdevice Name
    0x00000001          1         NR 192.168.1.10
    0x00000002          1    A,V,NMW 192.168.1.20 (local)
    0x00000000          1            Qdevice

    root@VHOST2:~# pvecm status
    Cluster information
    -------------------
    Name:             homelab
    Config Version:   5
    Transport:        knet
    Secure auth:      on

    Quorum information
    ------------------
    Date:             Fri May 31 13:11:32 2024
    Quorum provider:  corosync_votequorum
    Nodes:            1
    Node ID:          0x00000002
    Ring ID:          2.161a
    Quorate:          No

    Votequorum information
    ----------------------
    Expected votes:   3
    Highest expected: 3
    Total votes:      1
    Quorum:           2 Activity blocked
    Flags:            Qdevice

    Membership information
    ----------------------
       Nodeid      Votes    Qdevice Name
    0x00000002          1   A,NV,NMW 192.168.1.20 (local)
    0x00000000          0            Qdevice (votes 1)

    Заметил вот эту последнюю строку, где qdevice показывает 0 голосов, но указывает голоса 1 в скобках.

    Вот новая конфигурация corosync с резервной машиной, которая не участвует в голосовании – я сделал это так, потому что эта машина предназначена только для резерва, а не для кластера как такового, но похоже, нет другого способа live migrate, если она не включена в кластер:

    Код:
    root@VHOST2:~# cat /etc/pve/corosync.conf
    logging {
     debug: off
     to_syslog: yes
    }

    nodelist {
     node {
       name: VHOST1
       nodeid: 1
       quorum_votes: 1
       ring0_addr: 192.168.1.10
     }
     node {
       name: VHOST2
       nodeid: 2
       quorum_votes: 1
       ring0_addr: 192.168.1.20
     }
     node {
       name: VHOST-backup
       nodeid: 3
       quorum_votes: 0
       ring0_addr: 192.168.1.40
     }
    }

    quorum {
     device {
       model: net
       net {
         algorithm: ffsplit
         host: 192.168.1.30
         tls: on
       }
       votes: 1
     }
     provider: corosync_votequorum
     expected_votes: 3
    }

    totem {
     cluster_name: homelab
     config_version: 5
     interface {
       linknumber: 0
     }
     ip_version: ipv4-6
     link_mode: passive
     secauth: on
     version: 2
    }

    Если это неправильный способ сделать это, пожалуйста, дайте знать, как я должен был настроить это вместо этого. Я исхожу из долгой истории RHEL/CentOS и RHev/oVirt и OpenStack, поэтому внутренности PVE немного отличаются, хотя corosync нет. Но переход на PVE дома был из-за заманчивой перспективы live migration с поддержкой vgpu (неофициально поддерживается, но подтверждено работающим с некоторыми оговорками), и хотя у нас много RHEL лицензий на работе, они не применимы к моим игрушкам дома.
     
     
     
    mike15301
    Guest
    #3
    0
    06.06.2024 06:11:00
    Вот логи системы с vhost2, когда я выключил vhost1:

    Jun 05 19:43:56 VHOST2 pve-ha-crm[2535]: node 'VHOST1': состояние изменилось с 'online' на 'maintenance'
    Jun 05 19:44:01 VHOST2 corosync[2278]: [CFG ] Узел 1 был выключен администратором
    Jun 05 19:44:01 VHOST2 pmxcfs[2133]: [dcdb] notice: участники: 2/2133
    Jun 05 19:44:01 VHOST2 pmxcfs[2133]: [status] notice: участники: 2/2133
    Jun 05 19:44:02 VHOST2 corosync[2278]: [QUORUM] Синхронизировано участников[1]: 2
    Jun 05 19:44:02 VHOST2 corosync[2278]: [QUORUM] Ушло участников[1]: 1
    Jun 05 19:44:02 VHOST2 corosync[2278]: [VOTEQ ] жду опроса устройства кворума Qdevice (но максимум 30000 мс)
    Jun 05 19:44:02 VHOST2 corosync[2278]: [TOTEM ] Сформировано новое членство (2.1627). Ушли участники: 1
    Jun 05 19:44:02 VHOST2 corosync[2278]: [QUORUM] Этот узел находится в не-главной компоненте и НЕ будет предоставлять какие-либо сервисы.
    Jun 05 19:44:02 VHOST2 corosync[2278]: [QUORUM] Участники[1]: 2
    Jun 05 19:44:02 VHOST2 corosync[2278]: [MAIN ] Завершена синхронизация сервисов, готов предоставлять сервис.
    Jun 05 19:44:02 VHOST2 pmxcfs[2133]: [status] notice: узел потерял кворум
    Jun 05 19:44:02 VHOST2 corosync[2278]: [KNET ] link: host: 1 link: 0 down
    Jun 05 19:44:02 VHOST2 corosync[2278]: [KNET ] host: host: 1 (passive) best link: 0 (pri: 1)
    Jun 05 19:44:02 VHOST2 corosync[2278]: [KNET ] host: host: 1 не имеет активных линков
    Jun 05 19:44:06 VHOST2 pvestatd[2427]: время обновления статуса (5.831 секунды)
    Jun 05 19:44:06 VHOST2 pve-ha-crm[2535]: потерян лок 'ha_manager_lock - cfs lock update failed - Permission denied
    Jun 05 19:44:09 VHOST2 pve-ha-lrm[2817]: потерян лок 'ha_agent_VHOST2_lock - cfs lock update failed - Permission denied
    Jun 05 19:44:11 VHOST2 pve-ha-crm[2535]: изменение статуса master => lost_manager_lock
    Jun 05 19:44:11 VHOST2 pve-ha-crm[2535]: сторожевой гость закрыт (отключено)
    Jun 05 19:44:11 VHOST2 pve-ha-crm[2535]: изменение статуса lost_manager_lock => wait_for_quorum
    Jun 05 19:44:14 VHOST2 pve-ha-lrm[2817]: изменение статуса active => lost_agent_lock
    Jun 05 19:44:14 VHOST2 pvescheduler[3799257]: задачи: cfs-lock 'file-jobs_cfg' ошибка: нет кворума!
    Jun 05 19:44:14 VHOST2 pvescheduler[3799256]: репликация: cfs-lock 'file-replication_cfg' ошибка: нет кворума!
    Jun 05 19:44:18 VHOST2 pvestatd[2427]: время обновления статуса (8.599 секунды)
    Jun 05 19:44:28 VHOST2 pvestatd[2427]: время обновления статуса (7.841 секунды)
    -- Загрузка a2330e858355432ca2ade3cc47de8b76 --
     
     
     
    gfngfn256
    Guest
    #4
    0
    06.06.2024 06:35:00
    Заметил такую штуку, может и не в тему, а может и ерунда! Ты спрашиваешь: На каком хосте находится этот виртуальный роутер? Как это влияет на сеть, когда выключается его хост?
     
     
     
    mike15301
    Guest
    #5
    0
    07.06.2024 22:28:00
    Маршрутизатор может быть на любом из хостов. Я использую физический корпоративный управляемый коммутатор - порты 1-16 находятся в vlan1 (uplink от кабельного модема), порты 17-32 - в vlan2 (uplink от 5G модема), 33-48 - в vlan10 (локальная 10G lan), а 49-52 - в vlan40 (40g кластерная сеть). У обоих хост-серверов есть два встроенных 1G ethernet, подключенных к vlan1 и vlan2 на коммутаторе, а маршрутизатор получает 3 виртуальные сетевые карты: одну на vlan1, одну на vlan2 и третью на vlan10. Поэтому маршрутизатор может свободно переключаться между хостами, а также между резервным хостом, и маршрутизатор всегда будет иметь 2 WAN и 1 LAN. Разумеется, корпоративный коммутатор – это единственная точка отказа во всем этом, и в идеале мне бы нужна вторая с LCAP и резервными ссылками, но это проблема на будущее, mike. В общем, маршрутизатор нужен только для WAN-доступа. Если маршрутизатор или хосты не работают, корпоративный коммутатор остается в рабочем состоянии, и как локальная сеть, так и кластерная сеть остаются активными. Имена хостов отображаются в /etc/hosts на физических хостах в соответствии с инструкциями pve, поэтому DNS от маршрутизатора не имеет значения.
     
     
     
    mike15301
    Guest
    #6
    0
    01.06.2024 04:05:00
    И раз уж, скорее всего, спросят, причина, по которой есть резервный хост, чтобы некоторые вещи продолжали работать, если вдруг я выключу весь шкаф, — это практически только пара небольших ВМ с внешними сервисами и, самое главное, мой роутер. Не хотелось бы возвращаться к временам, когда роутер работал на отдельном устройстве, когда он так счастлив быть виртуализированным, бедняга...
     
     
     
    fiona
    Guest
    #7
    0
    03.06.2024 10:51:00
    QDevice не зарегистрирован (NR) для первого узла. После этого QDevice переходит из состояния V = vote в NV = not vote. Работает ли связь с QDevice в момент, когда узел1 недоступен? Что говорят логи? Не уверен, что неактивный третий узел не портит ситуацию. Как минимум, документация говорит о количестве (активных) узлов, а не узлов с голосами: https://manpages.debian.org/testing/corosync-qdevice/corosync-qdevice.8.en.html#ffsplit
     
     
     
    mike15301
    Guest
    #8
    0
    06.06.2024 01:44:00
    Не должно быть никакой причины, чтобы связь между qdevice и vhost2 перестала работать, когда node 1 недоступен, ведь каждая машина подключена к коммутатору через свой собственный канал связи. Видимо, проблема в V to NV, но почему он переключается? Вывод статуса показывает число узлов как "2", поэтому я подозреваю, что резервный узел без голоса не считается узлом. Но, если читать мануал, который ты прислал, там сказано: "Для использования этого алгоритма необходимо установить количество голосов на узел равным 1 (по умолчанию), и количество голосов у qdevice также должно быть 1. Это достигается установкой ключа quorum.device.votes в файле corosync.conf равным 1." – так что я не уверен, означает ли это, что узел с 0 голосов вызовет сбой ffsplit. Я ничего не делал, чтобы vhost1 отображался как NR, поэтому не знаю, почему так происходит. Сейчас проверяю, всё выглядит нормально:

    Код: Информация о членстве
    ----------------------
       Nodeid      Votes    Qdevice Name
    0x00000001          1    A,V,NMW 192.168.1.10
    0x00000002          1    A,V,NMW 192.168.1.20 (local)
    0x00000000          1            Qdevice

    Я ничего не трогал в конфигурациях или сервисах с прошлой недели, когда проводил тестирование. Сейчас перенесу всё на vhost2 и выключу vhost1 и посмотрю, что произойдет...
     
     
     
    mike15301
    Guest
    #9
    0
    06.06.2024 02:09:00
    Как только я выключаю vhost1, он меняется на NR в pvecm status. После выключения vhost1 он исчезает из списка участников, а vhost2 переходит в состояние NV для qdevice.

    Код: Каждые 1.0с: pvecm status
    VHOST2: Wed Jun 5 19:44:38 2024

    Информация о кластере
    -------------------
    Имя:             homelab
    Версия конфигурации:   5
    Транспорт:        knet
    Безопасная аутентификация:      on

    Информация о кворуме
    ------------------
    Дата:             Wed Jun 5 19:44:39 2024
    Поставщик кворума:  corosync_votequorum
    Узлы:            1
    Идентификатор узла:          0x00000002
    Идентификатор кольца:          2.1627
    Кворум:          Нет

    Информация о голосовании
    ----------------------
    Ожидаемые голоса:   3
    Наибольшее ожидаемое: 3
    Всего голосов:      1
    Кворум:           2 Деятельность заблокирована
    Флаги:            Qdevice

    Информация об участниках
    ----------------------
       Nodeid    Голоса    Qdevice Имя
    0x00000002          1   A,NV,NMW 192.168.1.20 (local)
    0x00000000          0            Qdevice (голоса 1) В это время я в другом терминале пингую qdevice, и он продолжает отвечать на пинг до тех пор, пока vhost2 не вынесет себя и не перезагрузится.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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