Версия 6.5.0 (6.5.0-7684)#
Дата выхода: 3 декабря 2024 г.
Обзор#
В этом выпуске Кибер Инфраструктура представляет ряд новых передовых технологий и улучшений, таких как S3 Chunked Upload для AWS Signature Version 4 ("подпись объектов по частям"), поддержка тегов для конфигураций жизненного цикла объекта, новый пользовательский интерфейс хранилища S3, значительное улучшение производительности хранилища S3 на смешанных профилях нагрузки, ускорение избыточного кодирования и вычисления контрольных сумм для основного распределенного хранилища, автоконфигурация дисков основного распределенного хранилища, копирование дисковых конфигураций с узла на узел, подключение внешних СХД к вычислительному кластеру по протоколу Fibre Channel.
Также в этом выпуске внедрен процесс безопасной разработки для компонентов хранилища S3 и основного распределенного хранилища, подразумевающий исправление всех проблем в выпуске, найденных при помощи AddressSanitizer, ThreadSanitizer и AFL++.
Что нового#
Основное распределенное хранилище
Реализована возможность автоматической конфигурации дисков при добавлении узлов в кластер. Для автоконфигурации можно использовать профили "С полной утилизацией", "По уровням" и "С кэшем". При выборе профиля "С кэшем" всем SSD-дискам назначается роль "Кэш", а всем шпиндельным дискам назначается роль "Хранилище" (если на узле есть только диски SSD (в том числе NVMe), то дискам SSD NVMe назначается роль "Кэш", а остальным дискам SSD — роль "Хранилище"). При выборе профиля "По уровням" все виды дисков распределяются по отдельным уровням. При выборе профиля "С полной утилизацией" сначала применяется профиль "С кэшем", а затем для оставшихся дисков применяется профиль "По уровням".
Добавлена возможность копирования конфигурации дисков с существующих узлов кластера на новые. Теперь достаточно создать конфигурацию только для первого узла (вручную или автоматически), а на остальные узлы можно скопировать конфигурацию в одно действие.
Ускорены избыточное кодирование и вычисление контрольных сумм на процессорах с поддержкой AVX2 или AVX-512. В зависимости от модели процессора, используемой схемы избыточности и количества узлов прирост производительности может различаться в пределах от 15 % до 55 %.
Реализовано автоопределение типа диска (SSD или HDD), находящегося за аппаратным RAID или являющегося диском ВМ, по замеру его IOPS (скорректировать автоопределение можно при помощи опций загрузки ядра 'ssds=sdb hdds=sda,sdc').
Обновлена поддержка зонированных дисков (Host-managed SMR).
Добавлена панель в Grafana для мониторинга процесса перекодирования данных при избыточном кодировании.
Добавлена панель в Grafana для мониторинга трафика RDMA.
Обновлены версии GCC с 4.8.5 до 12.2, Nasm с 2.15.03 до 2.16.03.
Объектное хранилище
Обновлен пользовательский интерфейс. Добавлена возможность выбирать количество сервисов OS/NS/ACC/CFGD/GW при создании кластера. Реализованы возможности смены схемы избыточного кодирования кластера и отслеживания прогресса перекодирования.
Реализован функционал Chunked Upload для AWS Signature Version 4 (STREAMING-AWS4-HMAC-SHA256-PAYLOAD). Теперь возможна поточная загрузка больших объектов с "подписью по частям".
Увеличена производительность сервиса GW до двух с половиной раз в результате эффективной реализации поточной передачи данных, использования новых алгоритмов вычисления контрольных сумм для объектов и блоков, нового кэша сервиса ACC, композитного обновления и новой версии компилятора с поддержкой векторных оптимизаций.
Реализована возможность использования тегов в правилах конфигурации жизненного цикла объекта.
Реализована операция CopyObject, позволяющая изменять класс хранения объекта.
Реализовано шифрование ключей пользователей в репозиториях сервисов NS.
Ускорено развертывание большого количества сервисов OS/NS.
Реализован кэш сервиса ACC, ускоряющий работу с политиками корзин и конфигурациями жизненного цикла объекта.
Реализована новая архитектура сервиса управления конфигурациями жизненного цикла объекта, основанная на протоколе gRPC. За счет этого увеличена производительность при большом количестве корзин и упрощена настройка сервиса.
Увеличен до 10 ТБ предел автоматического разделения сервисов. Автоматическое разделение выключено по умолчанию. Предполагается выбор целевого размера кластера при его создании.
Реализовано состояние REMOVING для сервисов NS и ACC. В случае с сервисом NS произойдет удаление данных старого сервиса NS при переходе в это состояние после разделения.
Реализовано резервное копирование индексной таблицы сервиса OS, использующего нестандартные классы хранения.
Реализован компактинг сервисов NS.
Выполнено полное композитное обновление: обновлены версии GRPC с 1.18 до 1.65, Protobuf с 3.6 до 25.4, GOLANG с 1.17 до 1.22, GCC с 4.8.5 до 12.2.
Служба вычислений
Добавлена возможность использовать протокол Fibre Channel для подключения внешних СХД к вычислительному кластеру.
Добавлена панель в Grafana для подробного мониторинга состояния вычислительного кластера.
Обновлены версии Docker с 18.09.9 до 19.03.15, RabbitMQ с 3.8.35 до 3.9.29, Vcmmd с 8.0.96 до 9.1.5.
Панель управления
Добавлена панель в Grafana для мониторинга состояния бэкенда панели управления и кластера PostgreSQL.
Добавлен установщик офлайн-обновлений.
Обновлены версии Grafana с 6.7 до 10.3, Prometheus с 2.21 до 2.53, PostgreSQL с 11.6 до 11.22.
Блочное хранилище
Выполнено композитное обновление: обновлены версии GOLANG с 1.17 до 1.22, GCC с 4.8.5 до 12.2.
Совместимость с оборудованием
Улучшена поддержка сетевых устройств Intel:
E810-C, E810-XXV, E822-C, E822-L, E823-C, E823-L;
82598, 82599, X520, X540, x550, X552, X553;
I710, X710, XL710, X722, XXV710, V710.
Улучшена поддержка сетевых устройств Broadcom NetXtreme-C/E/S:
200GB Adapters N1200G, P1200G, P2200G;
100/50/40Gb Adapters N150G, N2100G, P2100G, N1100G, M150P, P150P;
25/10Gb Adapters N425G, P425G, M225P, N225P, P225P, M125P, M210P, M210TP, N210P, N210TP, P210P, P210TP;
1Gb Adapters BCM5719-4P, BCM5720-2P, N41T;
Ethernet Controller ICs BCM57508, BCM57504, BCM57502, BCM57414, BCM57412, BCM57417, BCM57416, BCM5720, BCM5719.
Исправленные проблемы#
Основное распределенное хранилище
[CPS05-4970] Размер доступного пространства в мониторинге может отображаться некорректно.
[CPS05-4464] Низкопроизводительный режим работы карт Mellanox по умолчанию.
[CPS05-3405] Не удаляются разделы с дисков последнего освобождаемого узла кластера, что блокирует функциональность пространств имен NVMe.
[CPS05-3716] Тип диска (SSD или HDD) определяется неправильно, если диск расположен за аппаратным RAID или является виртуальным.
[CPS05-5271] Не работает сканирование уровней в балансировщике уровней, если в кластере всего один уровень.
[CPS05-5179] Недостаточный период ожидания для разборки кластера из более 10 узлов.
[CPS05-4974] Ошибочное значение параметра fs.file-max.
Объектное хранилище
[CPS05-5333] Ошибка 'Connection timed out' в сервисе GW при наличии на узле более одного экземпляра сервиса GW.
[CPS05-4670] Сбой номера нестандартного класса хранения у сервиса OS при разделении.
[CPS05-4247] Проблема с размером метаданных корзины и нарушения работы сервиса ACC.
[CPS05-4056] Неправильный расчёт времени удаления версий в конфигурации жизненного цикла объекта.
[CPS05-4709] Балансировка сервисов ACC при возврате узла в кластер приводит к простою работы части корзин.
[CPS05-4978] Аварийное завершение работы при очистке мусора во время разделения сервиса OS.
[CPS05-4740] Не работает удаление квот.
[CPS05-4738] Не работает квота пропускной способности.
[CPS05-4883] Конфигурация жизненного цикла объекта удаленной корзины применяется к новой корзине с таким же именем.
[CPS05-3997] Удаляются все объекты, если в конфигурации жизненного цикла объекта не задан параметр Prefix.
[CPS05-4717] Повреждение состояния при повторном разделении сервисов OS.
[CPS05-5171] Не назначается тег пустому объекту.
[CPS05-5127] Отсутствует заголовок x-amz-delete-marker.
[CPS05-4846] Запрещено разделение сервиса NS, если нет корзин и пользователей.
[CPS05-4707] Не работает репликация правил политики корзины и конфигурации жизненного цикла объекта при георепликации тома.
[CPS05-4467] Утечка памяти в парсере запросов сервиса GW.
[CPS05-3406] Use-after-free в обработчике запросов сервиса GW.
[CPS05-4764] DDOS-уязвимость в сервисе GW.
[CPS05-3593] Исправлены утечки памяти, возникающие при обработке запросов к службе GW.
Служба вычислений
[CPS05-3433] Удаление службы вычислений может не произойти с первого раза при включенной функции DPDK.
[CPS05-4700] Аварийное завершение процесса виртуальной машины в режиме эмуляции ЦП Nehalem.
[CPS05-4874] Дублирование сообщения об успешной установке сервиса балансировки нагрузки.
[CPS05-4872] Некорректные сообщения о создании вычислительного кластера при установке сервиса балансировки.
[CPS05-4772] При наведении курсора мыши на название ISO-файла не появляется полное название.
[CPS05-4648] Ошибка в консоли браузера при переходе внутри раздела "Балансировщики нагрузки" панели самообслуживания.
[CPS05-5013] Сообщение об успешном/неудачном создании ВМ не показывается, если обновить страницу в процессе создания.
[CPS05-5010] Внешнее хранилище не удаляется из списка автоматически, если в процессе удаления страница была обновлена.
[CPS05-4047] Сообщение о создании/удалении внешнего хранилища показывается несколько раз в некоторых случаях.
[CPS05-4245] Ошибка в консоли браузера при итерации по cpu_features.
[CPS05-4613] На странице добавления участников в пул балансировки длинные имена ВМ неразличимы.
[CPS05-1399] Невозможно создать балансировщик нагрузки с введённым вручную IP-адресом.
[CPS05-4253] При добавлении SSH-ключа в меню создания ВМ не происходит нормализация имени ключа.
[CPS05-4275] Некорректное отображение лимитов проекта во вкладке меню "Лимиты".
[CPS05-4143] Невозможно создать том из моментального снимка тома, расположенного во внешней СХД.
[CPS05-2770] Появляется панель с кнопкой "Удалить" после добавления порта в пустой маршрутизатор.
[CPS05-4146] После отправки тестовой ловушки SNMP кнопка "Сохранить" блокируется и сохранить изменения невозможно.
[CPS05-4166] Не помещается длинное имя образа в поле "Образ".
[CPS05-508] Открытая VNC-консоль становится пустой после некоторых операций (например, миграции) с ВМ.
Панель управления
[CPS05-4947] Списки узлов кластера не отсортированы в естественном порядке.
[CPS05-5208] Не выбирается зона отказа "Узел" при одном узле в кластере.
[CPS05-4960] Освобождение цели iSCSI не работает на вкладке "Серверы".
[CPS05-4769] Лишнее уведомление об освобождении при ответе сервера об ошибке.
[CPS05-4773] Зонированные Host-managed и Drive-managed SMR-диски отображаются в панели одинаково.
[CPS05-370] В списке внешних S3-хранилищ для ABGW присутствуют неподдерживаемые.
[CPS05-3307] График миграций томов сужается примерно до 30 % по ширине после нескольких переключений на него и обратно на странице текущих нагрузок.
Исправленные уязвимости
QEMU/KVM: CVE-2024-7409.
Консоль администратора: CVE-2021-3156.
Ядро ОС: CVE-2024-26602, CVE-2022-42896, CVE-2023-4921, CVE-2023-45871, CVE-2023-38409, CVE-2024-1086, CVE-2023-42753.
Известные проблемы, планируемые к исправлению
[CPS05-3133] Балансировщик уровней хранилища может принимать невыполнимые решения в кластере с переполненными зонами отказа.
[CPS05-3209] Балансировщик уровней хранилища не увеличивает отказоустойчивость при увеличении количества узлов кластера.
[CPS05-3360] Балансировщик уровней хранилища не может оптимизировать схему избыточного кодирования для томов ВМ.
[CPS05-3362] Живые миграции невозможны на узлах кластера с включенной функцией DPDK, при этом функционал DRS не применим к таким узлам.
[CPS05-3220] Функционал быстрой DPDK-сети поддерживает только сетевые адаптеры Intel.
[CPS05-3365] В эксклюзивном ACL кластера iSCSI можно задать только один IQN инициатора.
[CPS05-3364] При настройке производительности NVMe для дисков без поддержки нескольких пространств имен не возникает ошибки.
[CPS05-3259] При восстановлении из резервной копии панели управления не восстанавливается кластер NFS.
[CPS05-5320] Объекты с тегами не геореплицируются в S3.
[CPS05-5305] Объекты, которые были удалены в геореплике кластера, не геореплицируются.
[CPS05-5224] Не запущен vstorage-disks-monitor на некоторых узлах кластера.
Получение версии
Продукт Кибер Инфраструктура версии 6.0 можно обновить до версии 6.5 в разделе Настройки → Обновить. Для завершения обновления требуется перезагрузка. Обновленные узлы будут перезагружаться автоматически, один за другим. Во время перезагрузки служба хранения данных и панель администрирования могут оказаться недоступными на конфигурациях кластера, где не предусмотрено избыточности служб или данных.