Записи до 11.08.2024

Прототип Vitastor S3 на базе Zenko CloudServer

Завёлся прототип S3 Vitastor-бэкенда для Zenko CloudServer 😊

Это конечно ещё далеко не релиз, нужно ещё как минимум реализовать дефрагментацию. Но попробовать запустить и что-то записать-прочитать в S3 уже можно. Даже GeeseFS поверх уже работает. 😊

Итак, инструкция!

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

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

Быстрые исправления к версии 1.7.0:

  • Исправлено монтирование NFS.
  • Исправлена работа команды modify-osd.
  • Опция use_antietcd, взятая из конфига в /etc, теперь учитывается.

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

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

Всенаправленный релиз! I/O треды, Antietcd, Prometheus и многое другое.

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

Сравнение реализаций S3

Вопрос: Где бы стырить чью бы переиспользовать реализацию S3?

Писать S3 с нуля желания нет, потому что протокол хоть и простой, но в нём есть куча мелких особенностей, требующих внимания и реализации, и на них нельзя забивать, ибо юзеры всегда хотят максимальную совместимость с Amazon S3.

На момент поста нашлись следующие варианты: Minio, SeaweedFS, Ceph (RadosGW), Zenko CloudServer, OpenStack Swift и Deuxfleurs Garage.

При сравнении нас интересует в первую очередь сравнение именно S3-фронтенда, внешней части, ибо слой хранения всё равно нужно подсовывать собственный.

При сравнении также запускались s3-тесты от Ceph, но в простейшей конфигурации, без настройки дополнительных интеграций, потенциально необходимых для части тестов.

Попробуем посмотреть, у кого что реализовано!

09.05.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 Читать далее →

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