Записи до 22.04.2024

Выпущена версия Vitastor 1.6.1

  • Добавлен флаг noout, который можно установить в /vitastor/config/osd/xx, чтобы не выбрасывать соответствующий OSD из распределения
  • Добавлен расчёт “эффективного” места, занятого деградированными PG, в мониторе
  • Исправлено отсутствие очистки PG удалённых пулов монитором
  • Исправлена некорректная генерация PG для хостов без OSD
  • Исправлено падение монитора при перепроверке первичных OSD, когда в пуле ещё нет PG
  • Исправлено падение монитора при включении несуществующих OSD в node_placement
  • Исправлено потенциально лишнее перемещение данных при удалении OSD, имевших вес 0
  • Удалены лишние ключи из настроек пулов, создаваемых vitastor-cli create-pool
  • Исправлена 32-битная сборка

22.04.2024 Читать далее →

Выпущена версия Vitastor 1.6.0

Иерархические домены отказа, обработка 100% заполнения, nbd-netlink и другое.

09.04.2024 Читать далее →

Выпущена версия Vitastor 1.5.0

Афигеть! Наконец-то я это сделал. После полугода упарывания вашему вниманию наконец представляется VitastorFS - кластерная (read-write-many) файловая система. Монтируется по NFS 3.0 (сервер можно запускать локально или удалённо, можно запускать несколько серверов одновременно), хранит метаданные в собственной не менее упоротой параллельной key-value БД, реализованной поверх блочного слоя Vitastor - “параллельном оптимистичном Б-дереве”, а данные в блочных же томах Vitastor. Некоторых вещей типа дефрагментатора ещё не хватает, но они будут допиливаться после первичного выпуска.

Вторая крупная фича выпуска - это команды управления пулами (create-pool, ls-pools, modify-pool, rm-pool). Также это можно считать знаковым моментом, потому что доработка внесена компанией MIND Software (https://mindsw.io/) - поблагодарим их за вклад в развитие продукта!

16.03.2024 Читать далее →

Выпущена версия Vitastor 1.4.8

  • \r и цветной вывод теперь по умолчанию не будут печататься, если вывод не является терминалом (должно поправить ошибки типа “unexpected job output” в proxmox).
  • Код выхода rm-data сделан неудачным, если часть нужных OSD не доступна - раньше он всё равно возвращал ОК, в итоге, например, csi мог оставить мусор после удаления образа.
  • Добавлена возможность отдельно настраивать или отключать повтор ошибок EIO на клиенте - т.е. чтобы клиент вис на incomplete PG, но не вис на has_incomplete.
  • Добавлена минимальная поддержка Ubuntu Jammy.
  • Добавлено ожидание инициализации уровня хранения перед фактическим запуском логики OSD, чтобы не запускались и потом не таймаутили “неготовые” OSD.
  • Исправлено одно редкое use-after-free.

29.02.2024 Читать далее →

Выпущена версия Vitastor 1.4.7

Исправлена ещё пара багов, выявленных на основе флапов тестов.

  • Нашёлся ещё один очень простой кейс с “BUG: Attempt to overwrite used offset” - при банальном запуске rw=write bs=4k iodepth=16 в тестах. Был в наличии, вероятно, с начала времён 😊. Поправлено, добавлено в тесты.
  • Пара исправлений EC - одно залипание и одно падение (оба были с 1.4.2).
  • Исправил варнинги 32-битной сборки. 32-битная версия не тестировалась, но скорее всего работает и поправить варнинги никогда не вредно.

22.02.2024 Читать далее →

Выпущена версия Vitastor 1.4.6

Непоколебимая стабилизация 1.4.x продолжается 😊))

  • Возвращена половина фикса залипания, ранее внесённая в 1.4.5, а потом потерянная.
  • Исправлено возможное падение OSD с “BUG: Attempt to overwrite used offset” - вероятно, было в наличии уже давно, но стало заметно только после исправления флапающих тестов в CI.
  • И собственно исправлены флапы тестов в CI - тесты впервые прошли без повторных перезапусков.

20.02.2024 Читать далее →

Выпущена версия Vitastor 1.4.5

  • Поправлен баг залипания записи, увы, внесённый в предыдущем 1.4.4
  • Поправлен баг, из-за которого иногда (редко) PG залипали в состоянии “starting” при массовых перезапусках OSD
  • Поправлен баг, из-за которого иногда (тоже редко) OSD или клиенты могли падать с сообщением “map::at” во время отправки пингов другим OSD
  • Прописаны новые дефолтные опции для неконденсаторных SSD (десктопных), поднимающие производительность записи T1Q256 с ~6000 iops до ~45000 iops
  • Добавлена возможность переопределять journal_trim_interval (хотя это почти никогда не нужно)

16.02.2024 Читать далее →

Выпущена версия Vitastor 1.4.4

Дополнительные исправления EC.

  • Исправлено возможное падение при частичной перезаписи и одновременном перемещении чанка чётности в EC (условно, OSD 1234 -> 5030).
  • Исправлена пара багов, из-за которых при нештатных падениях OSD (например, при внезапном отключении сервера) ввод-вывод в EC пулах мог залипать:
    • Один баг относится к автотюнингу ребаланса (с 1.4.0) - он мог поставить слишком большие задержки и потом эти задержки начинали “самоподдерживаться”.
    • Второй баг относился опять-таки к авторегулировке резервирования места в журнале (с 1.3.0) - в резерв не включалась сама новая запись, поэтому OSD в 1.4.3 всё ещё могли забить журнал и тоже залипнуть.
  • Теперь в статусе вместо etcd dbSizeInUse печатается dbSize.

11.02.2024 Читать далее →

Выпущена версия Vitastor 1.4.3

Хотфикс для хотфикса O:-)

  • Исправлен фикс залипаний записи с EC, внесённый в 1.4.2, т.к. он оказался нерабочим. Залипание воспроизводилось просто сильным ребалансом EC-пула. Теперь не воспроизводится
  • Монитор не исключал статистику остановленных OSD из общей статистики, в итоге при выключении даже всех OSD в статусе можно было наблюдать фантомные цифры I/O. Исправлено

09.02.2024 Читать далее →

Выпущена версия Vitastor 1.4.2

Деньрожденьевый (мой) багфикс-релиз, в основном для отключённого immediate_commit.

  • Внезапно обнаружено и исправлено, что в 1.1.0 вместо добавления автоматических fsync-ов на уровне blockstore каждые 128 операций они были добавленые каждые 0 (1) операцию. Соответственно, перформанс с отключённым immediate_commit был ниже желаемого. 😊
  • Исправлены залипания записи с EC и отключённым immediate_commit из-за слишком строгой семантики операции sync.
  • В CLI rm/rm-data добавлен sync после удаления и исправлена работа этого синка после удаления вообще работали (ранее они игнорировались).
  • Внесено несколько мелких исправлений отправки статистики занятого места в etcd, баг сводился к тому, что после удаления пула в etcd могла оставаться мусорная статистика.
  • Ускорено переключение при отказе изменением опций по умолчанию: etcd_mon_ttl снижен с 30 до 5 секунд, а up_wait_retry_interval с 500 до 50 мс.
  • Логи по умолчанию направлены в systemd.
  • Добавлен патч для libvirt 9.10.

Ну и ФС на подходе, но это уже следующие релизы будут 😊

04.02.2024 Читать далее →

← Более новые записи Более старые записи →