<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xml:lang="ru">
<id>atom.xml</id>
<title>undefined</title>
<link rel="alternate" href="https://vitastor.io/blog/" type="text/html" />
<link rel="self" href="https://vitastor.io/atom.xml" type="application/atom+xml" />
<updated>2026-05-31T10:07:36.420Z</updated>
<rights type="html">Copyright (c) 2019+, Виталий Филиппов</rights>

<entry>
<id>blog/2026-05-31-v3.0.13.html</id>
<title>Выпущена версия Vitastor 3.0.13</title>
<link rel="alternate" href="https://vitastor.io/blog/2026-05-31-v3.0.13.html" type="text/html" />
<author>
  <name>Виталий Филиппов</name>
  <uri>index.html#/13</uri>
</author>
<published>2026-05-31T12:00:00Z</published>
<updated>2026-05-31T12:00:00Z</updated>
<content type="html"><ul>
<li>Исправления нового хранилища:
<ul>
<li>Исправлена логика нескольких повторных откатов</li>
<li>Исправлено падение при компактизации полностью откаченного объекта</li>
<li>Исправлено возможное слияние цепочек разных объектов при загрузке с postpone_load</li>
<li>Исправлен импорт блочных контрольных сумм в vitastor-disk write-meta</li>
<li>Исправлен расчёт контрольной суммы заголовка в vitastor-disk write-meta</li>
</ul>
</li>
<li>Исправлена старого хранилища:
<ul>
<li>Исправлен возможный пропуск ожидания пакетного fsync частью корутин</li>
</ul>
</li>
<li>Улучшен тест ENOSPC, исправлено возможное падение при ENOSPC</li>
<li>На всякий случай добавлен fsync при записи суперблока в vitastor-disk prepare</li>
<li>Исправлено возможное падение OSD при включённых pg_locks и ошибке их проверки в sec_read_bmp</li>
<li>Исправлена инициализация VitastorFS при включённых local_reads</li>
</ul>
<h2 id="%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" tabindex="-1">Ссылки <a class="header-anchor" href="#%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Git: <a href="https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.13" target="_blank">https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.13</a></li>
<li>Инструкции по установке: <a href="https://vitastor.io/en/docs/installation/packages.html" target="_blank">https://vitastor.io/en/docs/installation/packages.html</a></li>
</ul>
</content>
</entry>

<entry>
<id>blog/2026-05-17-v3.0.12.html</id>
<title>Выпущена версия Vitastor 3.0.12</title>
<link rel="alternate" href="https://vitastor.io/blog/2026-05-17-v3.0.12.html" type="text/html" />
<author>
  <name>Виталий Филиппов</name>
  <uri>index.html#/13</uri>
</author>
<published>2026-05-17T12:00:00Z</published>
<updated>2026-05-17T12:00:00Z</updated>
<content type="html"><h2 id="%D0%B2%D0%B0%D0%B6%D0%BD%D1%8B%D0%B5-%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-(%D0%BA%D1%80%D0%BE%D0%BC%D0%B5-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B0)" tabindex="-1">Важные исправления (кроме нового хранилища) <a class="header-anchor" href="#%D0%B2%D0%B0%D0%B6%D0%BD%D1%8B%D0%B5-%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-(%D0%BA%D1%80%D0%BE%D0%BC%D0%B5-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B0)" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Исправлено возможное использование освобождённой памяти в OSD при ошибках
начального коммита/отката объектов в EC пулах.</li>
<li>Исправлено возможное освобождение некорректного указателя в OSD при ошибках
чтения из цепочек снапшотов/клонов в EC пулах.</li>
<li>Исправлена возможно некорректная обработка команд commit/rollback в EC пулах
во время изменения числа PG пула.</li>
<li>Инвертирован параметр включения fsync в ublk драйвере (fsync не включался
на пулах без immediate_commit).</li>
<li>В отладочных целях добавлена команда raw-ls для поиска версий объектов в кластере с
помощью операций листингов.</li>
</ul>
<h2 id="%D0%B2-%D0%BD%D0%BE%D0%B2%D0%BE%D0%BC-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B5" tabindex="-1">В новом хранилище <a class="header-anchor" href="#%D0%B2-%D0%BD%D0%BE%D0%B2%D0%BE%D0%BC-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B5" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Ускорен запуск путём использования сортировки по LSN только для объектов с большим числом
промежуточных версий.</li>
<li>Пока не ясна судьба редкой ошибки запуска с сообщением “double claimed block”, наблюдаемой
несколькими пользователями при запуске OSD с новым хранилищем, добавлен обходной манёвр для
её исправления - опция skip_double_claim. На сохранность данных опция не влияет.</li>
<li>Исправлена некорректная перепроверка мелких записей при запуске, в теории возможно приводящая
к появлению дубликатов мелких записей на OSD.</li>
<li>Исправлена работа fsync для дисков с writeback кэшем (без конденсаторов):
<ul>
<li>Исправлена некорректная семантика повторных fsync (следующий не блокировался предыдущим)</li>
<li>Добавлен fsync при копировании мелких записей из буфера на устройство данных (каким-то образом исходно забытый)</li>
<li>Добавлен fsync после начальной сборки мусора при запуске OSD</li>
<li>Исправлено некорректное приведение LSN из uint64 к uint32, ломающее fsync при достижении LSN 2^32</li>
</ul>
</li>
<li>Добавлена отсутствующая проверка контрольной суммы заголовка метаданных хранилища при запуске</li>
<li>Исправлено некорректное обновление контрольных сумм объектов при включённом режиме perfect_csum_update=true</li>
<li>Исправлено возможное падение OSD с assertion failed при обработке некорректной команды EC STABILIZE</li>
<li>Исправлен учёт числа активных корутин-компакторов.</li>
<li>Удалён нерабочий код конвертации из нового в старое хранилище.</li>
</ul>
<h2 id="%D0%B1%D0%BE%D0%BB%D0%B5%D0%B5-%D0%BC%D0%B5%D0%BB%D0%BA%D0%B8%D0%B5-%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B" tabindex="-1">Более мелкие исправленные проблемы <a class="header-anchor" href="#%D0%B1%D0%BE%D0%BB%D0%B5%D0%B5-%D0%BC%D0%B5%D0%BB%D0%BA%D0%B8%D0%B5-%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Некорректный учёт статистики операций по локальному OSD в реплика-пулах.</li>
<li>Отсутствие индикации ошибок в коде возврата команды vitastor-disk resize.</li>
<li>Отсутствие сброса списка inconsistent объектов при перезапусках PG.</li>
<li>Теоретически возможные зависания прочих операций на OSD при работе над
полностью повреждёнными объектами (без единой доступной копии), и, возможно,
в каких-то других очень редких ситуациях.</li>
<li>Fsync-и при удалении объектов из пулов без immediate_commit (с дисками с
writeback кэшем), ранее теоретически могущие оставлять мусор при удалении
misplaced объектов.</li>
<li>Возможное падение/повреждение памяти NFS сервера при целенаправленной атаке
на NFS-RDMA.</li>
<li>Потенциальная невозможность записи после обработки ошибок ENOSPC/EIO при
записи в реплика-пулах.</li>
<li>Возможное падение вместо выхода с ошибкой при запуске OSD со старым
хранилищем на диске с повреждёнными данными журнала.</li>
<li>Поверхностное копирование конфигурации PG в мониторе, однако, не приводящее
к фактическим ошибкам.</li>
<li>Некорректная проверка выделенных блоков в QEMU драйвере, однако, только в
неиспользуемой ветке кода (без флага BDRV_WANT_ZERO).</li>
<li>Возможная утечка памяти при ошибках чтения повреждённых (corrupted) объектов.</li>
<li>Возможные некорректные состояния PG при обнаружении повреждённых объектов.</li>
<li>Возможная пометка не всех “плохих” копий объекта при скрабах без контрольных
сумм при большом числе реплик (&gt; 4).</li>
<li>Некорректный расчёт контрольных сумм в старом хранилище при
bitmap_granularity &lt; 4096 (практически неиспользуемая конфигурация).</li>
<li>Теоретически возможное падение OSD в редких случаях при scrub и параллельном
восстановлении объекта.</li>
<li>Теоретически возможное падение OSD при обработке ошибок операции PING.</li>
<li>Немного неоптимальная логика переиспользования RDMA-буфера отправки.</li>
<li>Возможная утечка памяти при отключении уже запущенного scrub через no_scrub.</li>
<li>Возможное повреждение памяти при передаче некорректных буферов клиентом
(например, кодом qemu) при включённом writeback кэше.</li>
<li>Потенциально некорректный поиск повреждённых частей EC-объектов (невозможность
найти “хорошую” комбинацию) в scrub при отключённых контрольных суммах.</li>
<li>Возможное использование лишней памяти на стороне OSD при обработке неудачных
чтений из снапшотов (однако, это не утечка - в том смысле, что при отключении
клиента память освобождалась).</li>
<li>Потенциальное резкое замедление записи при определённых значениях pg epoch
из-за некорректной логики обновления эпохи в etcd.</li>
</ul>
<h2 id="%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" tabindex="-1">Ссылки <a class="header-anchor" href="#%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Git: <a href="https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.11" target="_blank">https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.11</a></li>
<li>Инструкции по установке: <a href="https://vitastor.io/docs/installation/packages.html" target="_blank">https://vitastor.io/docs/installation/packages.html</a></li>
</ul>
</content>
</entry>

<entry>
<id>blog/2026-05-09-v3.0.11.html</id>
<title>Выпущена версия Vitastor 3.0.11</title>
<link rel="alternate" href="https://vitastor.io/blog/2026-05-09-v3.0.11.html" type="text/html" />
<author>
  <name>Виталий Филиппов</name>
  <uri>index.html#/13</uri>
</author>
<published>2026-05-09T12:00:00Z</published>
<updated>2026-05-09T12:00:00Z</updated>
<content type="html"><p>Единственное исправление:</p>
<ul>
<li>Исправлено отсутствие обработки ошибок чтения битмапов во время чтений из EC образов
со снимками или клонированных образов, потенциально приводящее к некорректным чтениям
(чтениям нулей) при перезапусках OSD / переподнятии PG</li>
</ul>
<p>⚠️ Внимание - если баг вас затрагивает, лучше обновляться с приостановкой i/o клиентов</p>
<h2 id="%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" tabindex="-1">Ссылки <a class="header-anchor" href="#%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Git: <a href="https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.11" target="_blank">https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.11</a></li>
<li>Инструкции по установке: <a href="https://vitastor.io/docs/installation/packages.html" target="_blank">https://vitastor.io/docs/installation/packages.html</a></li>
</ul>
</content>
</entry>

<entry>
<id>blog/2026-04-27-v3.0.10.html</id>
<title>Выпущена версия Vitastor 3.0.10</title>
<link rel="alternate" href="https://vitastor.io/blog/2026-04-27-v3.0.10.html" type="text/html" />
<author>
  <name>Виталий Филиппов</name>
  <uri>index.html#/13</uri>
</author>
<published>2026-04-27T12:00:00Z</published>
<updated>2026-04-27T12:00:00Z</updated>
<content type="html"><p>Важные исправления (новое хранилище):</p>
<ul>
<li>Исправлена ошибка запуска OSD с сообщением “write metadata failed at offset xxx: Invalid argument”
(исправлено выравнивание буферов при начальной сборке мусора)</li>
<li>Отменена правка из 3.0.4 - записи метаданных, помеченные флагом “мусор” на диске, теперь
снова не пропускаются при старте. В норме это не влечёт никаких изменений, однако это
исправляет потенциальную невозможность запуска OSD, изначально работавших на версиях
3.0.0-3.0.2 и потом обновлённых до 3.0.9, т.к. в старых версиях записи могли пометиться
мусором слишком рано и после этого записаться на диск.</li>
</ul>
<p>Другие изменения:</p>
<ul>
<li>Добавлен автовыбор единственного RDMA-устройства, если в системе оно только одно</li>
<li>Откачена одна правка из 3.0.9 - ошибки с использованием освобождённой памяти не было :)
(ошибка была связана только с нестабильной разрабатываемой версией)</li>
<li>Исправлена работа опции <code>vitastor-nfs --trace</code></li>
<li>Исправлено лишнее залипание на 1 секунду в процессе выполнения <code>vitastor-cli rm-data</code></li>
<li>Исправлен сброс статистики инодов для удалённых пулов</li>
<li>Исправлена 1 печать на stdout в коде клиента</li>
</ul>
<h2 id="%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" tabindex="-1">Ссылки <a class="header-anchor" href="#%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Git: <a href="https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.10" target="_blank">https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.10</a></li>
<li>Инструкции по установке: <a href="https://vitastor.io/docs/installation/packages.html" target="_blank">https://vitastor.io/docs/installation/packages.html</a></li>
</ul>
</content>
</entry>

<entry>
<id>blog/2026-04-04-v3.0.9.html</id>
<title>Выпущена версия Vitastor 3.0.9</title>
<link rel="alternate" href="https://vitastor.io/blog/2026-04-04-v3.0.9.html" type="text/html" />
<author>
  <name>Виталий Филиппов</name>
  <uri>index.html#/13</uri>
</author>
<published>2026-04-04T12:00:00Z</published>
<updated>2026-04-04T12:00:00Z</updated>
<content type="html"><ul>
<li>Исправлены некорректные чтения из снапшотов в клиентской библиотеке при повторах
операций (например, при перезапусках OSD во время чтения)</li>
<li><s>Исправлена возможная отправка освобождённой памяти OSD.</s> На самом деле этой
проблемы в выпущенных версиях никогда не существовало, исправление было релевантно
только для нестабильной разрабатываемой ветки. Изменение будет откачено в 3.0.10.</li>
<li>Исправлена сломанная сборка мусора в новом хранилище, приводящая к очень высокому
потреблению памяти</li>
<li>Новое хранилище теперь также делает полную сборку мусора при запуске OSD - это
можно отключить новым параметром gc_on_start</li>
<li>Логгирование при запуске нового хранилища сделано более информативным, также при
log_level &gt; 1 теперь логгируется количество мусорных записей</li>
<li>Исправлено падение OSD при обработке операции чтения битмапа из удалённого объекта
с новым хранилищем</li>
</ul>
<h2 id="%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" tabindex="-1">Ссылки <a class="header-anchor" href="#%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Git: <a href="https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.9" target="_blank">https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.9</a></li>
<li>Инструкции по установке: <a href="https://vitastor.io/docs/installation/packages.html" target="_blank">https://vitastor.io/docs/installation/packages.html</a></li>
</ul>
</content>
</entry>

<entry>
<id>blog/2026-03-29-v3.0.8.html</id>
<title>Выпущена версия Vitastor 3.0.8</title>
<link rel="alternate" href="https://vitastor.io/blog/2026-03-29-v3.0.8.html" type="text/html" />
<author>
  <name>Виталий Филиппов</name>
  <uri>index.html#/13</uri>
</author>
<published>2026-03-29T12:00:00Z</published>
<updated>2026-03-29T12:00:00Z</updated>
<content type="html"><ul>
<li>Переработан код сетевого слоя в части отслеживания сетевых соединений - теперь для их
идентификации используются суррогатные возрастающие ID вместо номеров файловых
дескрипторов, а код очистки соединений переработан. Это сделано в рамках следующей попытки
исправления бага, приводящего к залипанию PG в состоянии peering. История данного бага
до сих пор точно не ясна и в тестах его воспроизвести не удалось, однако по сообщениям
некоторых пользователей он проявляется в версиях, начиная с 3.0.4, при использовании RDMA.
У других пользователей в такой же конфигурации тот же баг, судя по всему, не воспроизводился.</li>
<li>Исправлена мелкая проблема, из-за которой в редких ситуациях OSD могли не сообщить etcd
об изменении состояния PG на has_misplaced в режимах без immediate_commit.</li>
<li>Добавлены пакеты для Ubuntu 26.04 (Resolute Raccoon) и патчи для qemu 10.2 и libvirt 12.0.</li>
</ul>
<p>Примечание: версия 3.0.7 перевыпущена как 3.0.8 из-за исходно некорректной сборки.</p>
<h2 id="%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" tabindex="-1">Ссылки <a class="header-anchor" href="#%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Git: <a href="https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.8" target="_blank">https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.8</a></li>
<li>Инструкции по установке: <a href="https://vitastor.io/docs/installation/packages.html" target="_blank">https://vitastor.io/docs/installation/packages.html</a></li>
</ul>
</content>
</entry>

<entry>
<id>blog/2026-03-22-v3.0.6.html</id>
<title>Выпущена версия Vitastor 3.0.6</title>
<link rel="alternate" href="https://vitastor.io/blog/2026-03-22-v3.0.6.html" type="text/html" />
<author>
  <name>Виталий Филиппов</name>
  <uri>index.html#/13</uri>
</author>
<published>2026-03-22T12:00:00Z</published>
<updated>2026-03-22T12:00:00Z</updated>
<content type="html"><ul>
<li>Исправлен ещё один баг в контрольных суммах в старом хранилище O_o - проверка
контрольных сумм работала некорректно при быстром чтении объекта сразу после
мелкой записи со смещением (когда BIG_WRITE читался из журнала). Мог приводить
к некорректному определению объектов как повреждённых.</li>
<li>Исправлено возможное неработающее освобождение объектов клиентов, переключённых
в RDMA. В искусственных тестах баг воспроизвести не удалось, однако в теории он
мог иногда приводить к зависаниям PG в состояниях peering/stopping при включённом
RDMA.</li>
<li>В Cinder драйвере теперь используется vitastor-cli для изменений образов вместо
прямой работы с etcd.</li>
<li>Исправлена работа опции mon_https_ca.</li>
<li>Исправлен скрипт Docker-сборки <code>install.sh</code>, добавлена инструкция для запуска в Podman.</li>
</ul>
<h2 id="%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" tabindex="-1">Ссылки <a class="header-anchor" href="#%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Git: <a href="https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.6" target="_blank">https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.6</a></li>
<li>Инструкции по установке: <a href="https://vitastor.io/docs/installation/packages.html" target="_blank">https://vitastor.io/docs/installation/packages.html</a></li>
</ul>
</content>
</entry>

<entry>
<id>blog/2026-03-07-v3.0.5.html</id>
<title>Выпущена версия Vitastor 3.0.5</title>
<link rel="alternate" href="https://vitastor.io/blog/2026-03-07-v3.0.5.html" type="text/html" />
<author>
  <name>Виталий Филиппов</name>
  <uri>index.html#/13</uri>
</author>
<published>2026-03-07T12:00:00Z</published>
<updated>2026-03-07T12:00:00Z</updated>
<content type="html"><p>Одно крайне важное исправление для нового хранилища: метаданные записывались некорректно,
когда размер заполненной области метаданных превышал 4 ГБ, из-за простой и глупой ошибки
переполнения 32-битной целочисленной переменной. 🤦 Это приводило к повреждению метаданных
и отказу OSD стартовать при следующем запуске.</p>
<p>Баг затрагивал только новое хранилище (<code>meta_format=3</code>) и только OSD с размером области метаданных
больше 4 ГБ. Вы можете проверить размер области метаданных своих OSD, проверив <code>data_offset</code>
в выводе команды <code>vitastor-disk read-sb /dev/vitastor/osdXX-data</code> для однодисковых OSD или
с помощью команды <code>blockdev --getsize64 /dev/vitastor/osdXX-meta</code> для гибридных OSD.</p>
<p>Если баг затрагивает вас, рекомендуется:</p>
<ul>
<li>Установить обновлённые пакеты без перезапуска OSD</li>
<li>Перезапустить OSD <strong>по одному</strong></li>
<li>Если при перезапуске OSD начинает идти восстановление “has_degraded” PG - дождаться его
завершения перед перезапуском следующего OSD</li>
<li>Если OSD падает при запуске с ошибкой “double-claimed block” или “metadata is corrupt or
too old” - очистите и пересоздайте его (<code>vitastor-disk purge /dev/vitastor/osdXX-data</code>,
потом заново <code>vitastor-disk prepare</code>) и, опять-таки, дождитесь окончания восстановления
“has_degraded” перед переходом к следующему OSD</li>
</ul>
<h2 id="%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" tabindex="-1">Ссылки <a class="header-anchor" href="#%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Git: <a href="https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.5" target="_blank">https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.5</a></li>
<li>Инструкции по установке: <a href="https://vitastor.io/docs/installation/packages.html" target="_blank">https://vitastor.io/docs/installation/packages.html</a></li>
</ul>
</content>
</entry>

<entry>
<id>blog/2026-03-03-v3.0.4.html</id>
<title>Выпущена версия Vitastor 3.0.4</title>
<link rel="alternate" href="https://vitastor.io/blog/2026-03-03-v3.0.4.html" type="text/html" />
<author>
  <name>Виталий Филиппов</name>
  <uri>index.html#/13</uri>
</author>
<published>2026-03-03T12:00:00Z</published>
<updated>2026-03-03T12:00:00Z</updated>
<content type="html"><h2 id="%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B0" tabindex="-1">Исправления нового хранилища <a class="header-anchor" href="#%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B0" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Исправлен возможный в неудачных случаях очень медленный (часовой и более) запуск OSD</li>
<li>Исправлена валидация мусорных записей при запуске, в некоторых случаях мешавшая запуску OSD</li>
<li>Исправлен нерабочий small_write_throttling, приводивший либо к зависаниям, либо к падениям OSD</li>
<li>Исправлена возможная в некоторых ситуациях с EC ошибка “different fact_versions returned from subops”</li>
<li>Добавлена опция для восстановления при повреждении части метаданных: skip_corrupted_meta_entries</li>
<li>По умолчанию отключены записи через намерение (даже 4k) для гибридных OSD для лучшей буферизации записи</li>
</ul>
<h2 id="%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F" tabindex="-1">Другие изменения <a class="header-anchor" href="#%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Операции chmod/chown не работали на новом пустом корневом каталоге VitastorFS</li>
<li>vitastor-dd считал все чтения размером &lt; 32 КБ всегда пустыми</li>
<li>vitastor-disk не давал установить значение csum_block_size, отличное от 32k, для HDD</li>
<li>Исправлено редкое зависание PG в “starting” из-за некорректной установки начальной ревизии слежения за состояниями PG</li>
<li>Исправлено редкое падение OSD с ошибкой “map::at” при отключении клиентов</li>
<li>Исправлено возможное падение OSD при запуске при наличии RDMA, но при ошибке его инициализации</li>
<li>Исправлено, что объект со всеми повреждёнными копиями было невозможно удалить или перезаписать</li>
<li>Запрещено устанавливать размер блока данных OSD меньше, чем 8*bitmap_granularity</li>
<li>Удалена поддержка RDMA ODP (On-Demand Paging)</li>
<li>antietcd обновлён до 1.2.4</li>
<li>Docker-сборка обновлена до Debian Trixie</li>
<li>Добавлены пакеты для AlmaLinux 10</li>
</ul>
<h2 id="%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" tabindex="-1">Ссылки <a class="header-anchor" href="#%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Git: <a href="https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.4" target="_blank">https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.4</a></li>
<li>Инструкции по установке: <a href="https://vitastor.io/docs/installation/packages.html" target="_blank">https://vitastor.io/docs/installation/packages.html</a></li>
</ul>
</content>
</entry>

<entry>
<id>blog/2026-02-08-v3.0.3.html</id>
<title>Выпущена версия Vitastor 3.0.3</title>
<link rel="alternate" href="https://vitastor.io/blog/2026-02-08-v3.0.3.html" type="text/html" />
<author>
  <name>Виталий Филиппов</name>
  <uri>index.html#/13</uri>
</author>
<published>2026-02-08T12:00:00Z</published>
<updated>2026-02-08T12:00:00Z</updated>
<content type="html"><ul>
<li>Исправлена некорректная работа csum_block_size &gt; 0 с атомарными записями в новом хранилище
(в этом случае почти все атомарные записи генерировали некорректные контрольные суммы)</li>
<li>Исправлена случайно возникающая ошибка генерации PG мониторами с сообщением “problem is
infeasible or unbounded” из-за отсутствия ожидания полного чтения вывода lp_solve</li>
<li>Удалена одна из оптимизаций в порционном изменении числа PG, добавленном в 3.0.2,
потенциально приводящая к повреждению состояния OSD в памяти при обработке нескольких
последовательных очень быстрых запросов изменения числа PG</li>
<li>Исправлено разрастание статистики ввода-вывода инодов в OSD с новым хранилищем из-за
нерабочей очистки статистики удалённых инодов.</li>
<li>Улучшено покрытие тестами нового хранилища и исправлено нескольких мелких проблем:
<ul>
<li>Включение/выключение параметра used_for_app на пуле некорректно пересчитывало статистику
занятого места</li>
<li>Проверка корректности метаданных объектов при запуске OSD отвергала некоторые корректные
последовательности событий, из-за чего OSD мог не стартовать</li>
<li>В редких случаях активация PG в EC-пулах могла не проходить с ошибкой -16 (EBUSY) при
запросе стабилизации уже стабильной записи</li>
<li>Теоретически в редких случаях метаданные могли записаться некорректно при нехватке места
во время обработки запроса стабилизации записи</li>
</ul>
</li>
<li>Исправлена ошибка генерации PG мониторами при наличии в дереве хостов с именем, приводимым
к javascript-числу (например, “04e278988710”) :D</li>
<li>Исправлено обрезание вывода <code>vitastor-cli dd</code>, иногда случавшееся при записи в стандартный вывод</li>
<li>Исправлена теоретически возможная утечка объектов соединений при заполнении кольца io_uring</li>
<li>Исправлена утечка объектов соединений RDMA-CM</li>
<li>Исправлены падения при data_block_size &lt; 32KB (вариант настройки бесполезный, но всё же) (#113)</li>
</ul>
<h2 id="%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" tabindex="-1">Ссылки <a class="header-anchor" href="#%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8" aria-hidden="true"><i class="fa fa-link"></i></a></h2>
<ul>
<li>Git: <a href="https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.3" target="_blank">https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v3.0.3</a></li>
<li>Инструкции по установке: <a href="https://vitastor.io/docs/installation/packages.html" target="_blank">https://vitastor.io/docs/installation/packages.html</a></li>
</ul>
</content>
</entry>

</feed>
