Версия пакета, в которой обнаружена ошибка: ceph-deploy-2.1.0-alt3.noarch, ceph-19.2.7-alt1.x86_64 Стенд: 3 виртуальные машины ALT Server (Sisyphus, x86_64), в /etc/hosts прописаны ceph-hosta, ceph-hostb, ceph-hostc, с первого узла настроен ssh-доступ root по ключу на все три узла. Шаги для воспроизведения: 1. На всех узлах: # apt-get install ceph ceph-deploy ceph-common 2. На первом узле: # ceph-deploy new ceph-hosta ceph-hostb ceph-hostc # ceph-deploy mon create-initial Ожидаемый результат: Мониторы созданы, ключи администратора собраны (gatherkeys), команда ceph-deploy mon create-initial завершается успешно (exit 0), кластер развёрнут — так происходит с ceph 19.2.3. Реальный результат: Мониторы создаются и формируют кворум, но этап gatherkeys завершается ошибкой, ceph-deploy mon create-initial возвращает exit 1: [ceph_deploy.mon][INFO ] all initial monitors are running and have formed quorum [ceph-hosta][INFO ] Running command: /usr/bin/ceph --connect-timeout=25 --cluster=ceph --name mon. --keyring=/var/lib/ceph/mon/ceph-ceph-hosta/keyring auth get client.admin [ceph-hosta][ERROR ] "ceph auth get-or-create for keytype admin returned 13 monclient(hunting): handle_auth_bad_method failed to auth with my available methods: (13) Permission denied [ceph_deploy.gatherkeys][ERROR ] Failed to connect to host:ceph-hosta, ceph-hostb, ceph-hostc [ceph_deploy][ERROR ] RuntimeError: Failed to connect any mon Дополнительная информация: Причина — несовместимость формата ключа, который генерирует ceph-deploy, с политикой шифров ceph 19.2.7: - ceph-deploy 2.1.0 генерирует ключ монитора самостоятельно, кодом Python (ceph_deploy/new.py, функция generate_auth_key), жёстко зашивая тип шифра CEPH_CRYPTO_AES (type=1). Проверка содержимого ceph.mon.keyring после ceph-deploy new: cipher type = 1. - Начиная с ceph 19.2.7 (апстрим-коммит b5aabec1b710 "auth/cephx: switch default cipher to AES256KRB5") ceph-authtool по умолчанию создаёт ключи AES256KRB5 (type=2), а кластер включает политику auth_allowed_ciphers = только aes256k (incompat-фича кворума "cephx auth aes256k"). Проверка на стенде: ceph-authtool --create-keyring /tmp/k --gen-key -n mon. --cap mon 'allow *' создаёт ключ cipher type = 2; mon_status показывает auth_allowed_ciphers: ['aes256k'], кворум [0, 1, 2] есть. - Аутентификация сущности mon. с ключом устаревшего типа отклоняется мониторами, в журнале ceph-mon: mon.ceph-hosta@2(peon).auth v2 stopping due to failed auth ((13) Permission denied)
Created attachment 22859 [details] Полный вывод ceph-deploy mon create-initial (exit 1)
Created attachment 22860 [details] Журнал ceph-deploy
ceph-deploy-2.1.0-alt4 -> sisyphus: Thu Nov 05 2026 Alexey Shabalin <shaba@altlinux> 2.1.0-alt4 - monitor keys are now generated with the AES256KRB5 (aes256k) cipher: freshly created ceph >= 19.2.6/19.2.7 clusters accept aes256k only, and "mon create-initial" failed at gatherkeys with legacy type 1 keys (Closes: #61331)