Немного полезных заметок по Proxmox

Так-как я все же решился перенести заметки со старого блога на xWiki сюда, то объединим старые заметки по Proxmox в одну кучу. Часть было написано на этапе внедрения кластера и CEPH, часть просто небольшие заметки на тему украшательства.

Использование логического тома как хранилища для OSD

# ceph auth get client.bootstrap-osd > /var/lib/ceph/bootstrap-osd/ceph.keyring
# ceph-volume lvm create --data pve/ceph
# ceph-volume lvm list
# ceph-volume lvm activate --all

Использование сертификата Let’s encrypt вместо типового (самоподписанного)

Устанавливаем необходимые пакеты

# apt-get install python3-certbot nginx python3-certbot-nginx

 Обязательно добавляем DNS-запись для хоста который мы будем использовать

Получаем ssl-сертификат в ручном режиме

# certbot certonly --nginx -d srv-prod-pve-01.interlan.xyz

Добавляем в crontab раз в месяц обновление сертификатов

52 6    1 * *   root    certbot renew

Устанавливаем полученный сертификат для хоста Proxmox

Скрипт установки сертификата

#!/bin/sh

cat /etc/letsencrypt/live/srv-prod-pve-01.interlan.xyz/fullchain*.pem > /etc/pve/nodes/srv-prod-pve-01/pve-ssl.pem
cat /etc/letsencrypt/live/srv-prod-pve-01.interlan.xyz/privkey*.pem > /etc/pve/nodes/srv-prod-pve-01/pve-ssl.key
service pveproxy restart

exit 0

Аналогично добавляем в crontab обновление сертификатов в проксмоксе после обновления летс-енкриптовых

527    1 * *   root    /opt/scripts/update-ssl.sh

Теперь можем ходить в web-интерфейс проксмокс без предупреждений, что этот сайт подделка

Ошибка при обновлении без подписки (Enterprise repository needs valid subscription)

Описание проблемы

В типовой установке без активированной коммерческих подписок невозможно обновить Proxmox, так как доступ к репозитарию заблокирован. Это приводит к ежедневным ошибкам, которые несколько подбешивают (мне для тестов коммерческий саппорт не нужен).

В консоли это соответственно выглядит следующим образом.

# apt-get update
Hit:1 http://security.debian.org bullseye-security InRelease                                                        
Hit:2 http://ftp.ru.debian.org/debian bullseye InRelease                                                            
Get:3 http://ftp.ru.debian.org/debian bullseye-updates InRelease [44,1 kB]
Err:4 https://enterprise.proxmox.com/debian/pve bullseye InRelease                                                                              
  401  Unauthorized [IP: 212.224.123.70 443]
Reading package lists... Done                                                                                                                   
E: Failed to fetch https://enterprise.proxmox.com/debian/pve/dists/bullseye/InRelease  401  Unauthorized [IP: 212.224.123.70 443]
E: The repository 'https://enterprise.proxmox.com/debian/pve bullseye InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Решение проблемы

Удаляем коммерческий репозитарий:

# rm /etc/apt/sources.list.d/pve-enterprise.list

Приводим список репозитариев в файле /etc/apt/sources.list к виду:

deb http://ftp.debian.org/debian bullseye main contrib
deb http://ftp.debian.org/debian bullseye-updates main contrib
# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
# security updates
deb http://security.debian.org/debian-security bullseye-security main contrib

Обновляем репозитарии и систему:

# apt-get update
# apt-get upgrade

Разблокировка виртуальной машины (TASK ERROR: VM is locked (clone))

В консоли хоста выполните команду:

# qm unlock 107

Где 107 в моем случае это идентификатор заблокированной машины.

Сообщение “A newer version was installed but old version still running” в CEPH

Перезагружать узел целиком, это так-себе идея и вам необходимо перезапустить только необходимые сервисы на проблемных узлах которые вам подсказывает графический интерфейс.

Первым делом запрашиваем названия сервисов на проблемных узлах.

# systemctl | grep ceph-
...
  ceph-mds@sms-pve-02.service                                                              loaded active     running   Ceph metadata server daemon
  ceph-mgr@sms-pve-02.service                                                              loaded active     running   Ceph cluster manager daemon
  ceph-mon@sms-pve-02.service                                                              loaded active     running   Ceph cluster monitor daemon

...

Перезапускаем сервисы (им необходимо отправить именно restart)

# systemctl restart ceph-mds@sms-pve-02.service
# systemctl restart ceph-mgr@sms-pve-02.service
# systemctl restart ceph-mon@sms-pve-02.service

Проверяем, что все позеленело.

Удаление хранилища local-lvm и создание раздела для ceph

Удаление раздела в GUI

  1. Datacenter > Storage.
  2. Выбираем local-lvm.
  3. Нажимаем удалить и подтверждаем.

Удаляем том pve-data:

# lvremove /dev/mapper/pve-data

Устранение дублирования IP-адресов при клонировании виртуальной машины

Удаляем текущий уникальный идентификатор виртуальной машины

# rm /etc/machine-id

Генерируем новый уникальный идентификатор

# systemd-machine-id-setup

Устранение ошибки NO_PUBKEY 0D9A1950E2EF0603

# sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0D9A1950E2EF0603
# apt-get update

Устранение ошибки “unable to find VM” при резервном копировании

Правим в консоли файл /etc/pve/jobs.cfg:

vzdump: backup-36d495b0-326f
        schedule 21:40
        compress gzip
        enabled 1
        mailnotification always
        mailto tech@smsfinance.ru
        mode snapshot
        prune-backups keep-last=3,keep-monthly=1
        storage backup-nfs
        vmid 104,111,113,116,114,102,110

 Изменения через corosync автоматически распространяются на все узлы кластера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *