Немного полезных заметок по 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 автоматически распространяются на все узлы кластера.

Похожие записи

Настройка SoftEther VPN Bridge

Для объединения нескольких географически распределенных подсетей при помощи SoftEther используется компонент SoftEther VPN Bridge и сегодня мы в краце рассмотрим как настроить объединение несколько виртуальных сетей (LXD хост). Подготовка сети…

NetPlan работа с сетевыми мостами

Netplan — это утилита для декларативной настройки сети в Linux (широко используется в Ubuntu, начиная с 17.04). Она преобразует YAML‑конфигурации в настройки для бэкенд‑систем (networkd или NetworkManager). Основные понятия Подготовка…

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

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

Читать еще статьи

Интеграция DevOps (Gitea+Concourse) стека с FreeIPA

Интеграция DevOps (Gitea+Concourse) стека с FreeIPA

Шпаргалка по основным командам консоли Ubuntu Linux

Шпаргалка по основным командам консоли Ubuntu Linux

Интеграция Grafana и FreeIPA (авторизация при помощи учетных данных IPA-домена)

Интеграция Grafana и FreeIPA (авторизация при помощи учетных данных IPA-домена)

Linux синхронизация времени (Установка настройка и диагностика chrony)

Linux синхронизация времени (Установка настройка и диагностика chrony)

Интеграция Zabbix и FreeIPA (авторизация пользователей домена)

Интеграция Zabbix и FreeIPA (авторизация пользователей домена)

Собираем корпоративный AI-чат: от выбора модели до работающего прототипа

Собираем корпоративный AI-чат: от выбора модели до работающего прототипа