Proxmox - Аварийные ситуации и пути решения проблем
Материал из support.qbpro.ru
В этой статье будет отражаться опыт решения тех или иных проблем в эксплуатации гипервизоров Proxmox.
ТИП | НАЗНАЧЕНИЕ | ПУТЬ |
---|---|---|
Каталог | Конфигурация Proxmox | /etc/pve/ |
Каталог | Конфигурации Файрволлов (firewoll) в том числе и хостовой Ноды Proxmox | /etc/pve/firewall/ |
Каталог | Конфигурации нод | /etc/pve/nodes/nodename |
Файл | Конфигурации контейнеров LXC в ноде | /etc/pve/nodes/nodename/lxc/id_lxc.conf |
Файл | Конфигурации виртуальных машин VM в ноде | /etc/pve/nodes/nodename/qemu-server/id_vm.conf |
Файл | Конфигурация Нод в кластере (corosync) | /etc/pve/corosync.conf |
Файл | Конфигурация НОСИТЕЛЕЙ зарегистрированных в НОДАХ в кластере (storage) | /etc/pve/storage.cfg |
Файл | Конфигурация пользователей в Кластере или Ноде | /etc/pve/user.cfg |
База Sqlite | Конфигурация Кластера с нодами или без них если не поднят HA | /var/lib/pve-cluster/config.db |
Каталог | Конфигурации FireWoll текущей ноды | /var/lib/pve-firewall |
Удаление вышедшей из строя ноды из кластера
- Для начала удалим ее из кластера, для этого с любой другой ноды в консоли выполняем команду:
pvecm delnode "Имя_Ноды"
- Проверяем список нод:
pvecm nodes
Если в ответ получаем ошибку:
cluster not ready - no quorum?
- Значит у вас в кластере всего меньше 3 нод осталось, в этом случае у вас не будет возможности выполнить бэкап, запустить или остановить виртуальные машины. Проблема решается следующей командой:
pvecm e 1
- На оставшихся нодах кластера необходимо проверить и удалить папку с названием выбывшей ноды из /etc/pve/nodes:
rm /etc/pve/nodes/"Имя_Ноды"
- Необходимо удалить строчку с ключом выбывшей ноды из файла /etc/pve/priv/authorized_keys:
nano /etc/pve/priv/authorized_keys
в самом конце строки вы увидите имя ноды, эту строчку и удаляйте. CTRL+O, CTRL+X - сохранить и выйти
- Чтобы нода пропала из списка узлов кластера, перезагрузим службу:
systemctl restart pve-cluster
Удаление ноды из кластера с локальным содержимым в виде виртуальных машин для последующей автономной работы.
- Для начала удалим ее из кластера, для этого с любой другой ноды в консоли выполняем команду:
pvecm delnode "Имя_Ноды"
- На выбывающей ноде останавливаем службы:
systemctl stop pve-cluster systemctl stop corosync
- Из-за ошибок в кластере pmxcfs может становиться недоступной, при этом будут возникать ошибки при попытке доступа к каталогу /etc/pve.
Для получения доступа к /etc/pve выполним команду:
pmxcfs -l
- Удаляем конфиг старого кластера и содержимое папки:
rm /etc/pve/corosync.conf rm -r /etc/corosync/* killall pmxcfs
- Запускаем службу кластера:
systemctl start pve-cluster
- Проверяем и убеждаемся, что от прежнего кластера не осталось и следа, виртуальные машины на месте.
Теперь, нужно удалить следы присутствия старой ноды в кластере.
Проверяем список нод:
pvecm nodes
- Если в ответ получаем ошибку:
cluster not ready - no quorum?
- Значит у вас в кластере всего 2 ноды осталось, в этом случае у вас не будет возможности выполнить бэкап, запустить или остановить виртуальные машины. Проблема решается следующей командой:
pvecm e 1
- На оставшихся нодах кластера необходимо проверить и удалить папку с названием выбывшей ноды из /etc/pve/nodes:
rm /etc/pve/nodes/"Имя_Ноды"
- Необходимо удалить строчку с ключом выбывшей ноды из файла /etc/pve/priv/authorized_keys:
nano /etc/pve/priv/authorized_keys
в самом конце строки вы увидите имя ноды, эту строчку и удаляйте.
CTRL+O, CTRL+X - сохранить и выйти
Чтобы нода пропала из списка узлов кластера, перезагрузим службу:
systemctl restart pve-cluster
- На этом пока все, материал по мере возникновения проблем будет дописываться.
Вывод последней ноды из кластера с сохранением полной работоспособности и виртуальных машин
Делается всё быстро и на ходу.
- Останавливаем службы:
systemctl stop pve-cluster systemctl stop corosync
- Удаляем конфиг старого кластера и содержимое папки:
rm /etc/pve/corosync.conf rm -r /etc/corosync/* killall pmxcfs
- Запускаем службу кластера:
systemctl start pve-cluster
Обновляем web страничку и убеждаемся, что кластера как не бывало, машинки все на месте и работают.
При установке Proxmox из Debian с RAID1 не запускается Kernel-Pve
- Проверяем в /etc/mdadm/mdadm.conf - что md0 только один и он root раздел!
- Правим /etc/default/grub:
echo 'GRUB_PRELOAD_MODULES="raid dmraid"' >> /etc/default/grub echo 'GRUB_TERMINAL=console' >> /etc/default/grub
- Принудительно при загрузке GRUB грузим модули RAID
echo raid1 >> /etc/modules echo raid1 >> /etc/initramfs-tools/modules
- Обновляем настройки Grub:
update-grub update-initramfs -u
- Перегружаем сервер...