Записи до 04.12.2023
Выпущена версия Vitastor 1.3.1
Мини-хотфикс к 1.3.0, в доработку с “резервированием места в журнале” в 1.3.0 закрался баг 😊
04.12.2023 Читать далее →
Выпущена версия Vitastor 1.2.0
Поддержка снапшотов и расширения томов в CSI и важное исправление для EC n+k при k>=2.
05.11.2023 Читать далее →
Выпущена версия Vitastor 1.1.0
Новые функции
- Клиентская буферизация записи. Да здравствуют попугаи в CrystalDiskMark! :D
- Третий режим I/O - O_DIRECT|O_SYNC (подходящий для Intel Optane).
- Вынес в отдельную настройку интервал отправки статистики в etcd - etcd_stats_interval (30 секунд по умолчанию).
- В монитор добавлена автоматическая фильтрация OSD по block_size/immediate_commit/bitmap_granularity, чтобы потом на стороне OSD не было ошибок “refusing to start PGs of this pool”.
- В драйвер fio добавлена возможность запуска в системах без io_uring.
- В драйвер QEMU добавлена поддержка QEMU 8.1.
- Добавлена документация vhost-user-blk.
27.10.2023 Читать далее →
Как сделаны снимки дисков в Vitastor
Вообще, в природе существует всего 3 пути реализации снимков (снапшотов): “вперёд”, “назад” и “cow”. А ещё нормальные снимки должны быть атомарные. Что это всё означает?
30.08.2023 Читать далее →
Выпущена версия Vitastor 0.9.6
- Исправлено зануление раздела в vitastor-disk (записываемый буфер не обнулялся, посему иногда вместо нулей мета и журнал инициализировались мусором).
- Исправлена некорректная статистика места в EC-пулах в
vitastor-cli status - Несколько исправлений для NFS. Вкратце - теперь NFS, смонтированный из Linux, не подвисает, а запись файлов с расширением их размера обрабатывается как надо 😊
- В листинги каталогов добавлены записи . и …
- Теперь записи возвращают FILE_SYNC, если включён immediate_commit
- Теперь в запросах NFS COMMIT и в NFS WRITE возвращается одно значение “verifier”
- Параллельные расширяющие файл записи теперь обрабатываются корректно, без конфликтов, и без дополнительной нагрузки на etcd
- Учёт UTF-8 в табличном форматировании vitastor-cli ls
- Приравнивание “0” и “no” к “false” для inmemory_metadata и inmemory_journal (до этого подходило только “false”)
- Исправлено отсутствие применения HDD-настроек vitastor-disk к, собственно, HDD (но не гибридным) OSD.
29.07.2023 Читать далее →
Выпущена версия Vitastor 1.0.0
- Контрольные суммы данных и метаданных!
- Контрольные суммы метаданных - на новых OSD будут включены всегда, диски старых OSD продолжат работать без изменений.
- Контрольные суммы данных - по умолчанию отключены, включаются параметром --data_csum_type crc32c для новых OSD.
- Блок чексуммы настраивается
- inmemory_metadata=false позволяет отключить постоянное хранение чексумм в памяти.
- С блоком по умолчанию (4 КБ) чексуммы добавляют потребление 1 ГБ памяти на 1 ТБ места на диске.
- Подробности в документации.
- Поддержка кэшированного ввода-вывода через Linux page cache (O_SYNC вместо O_DIRECT), которую можно включить отдельно для данных и/или метаданных и/или журнала.
Релиз также включает исправления багов из 0.9.6.
0.9.6 перемещён в репозитории “oldstable” и будет оставаться доступным ещё некоторое время.
29.07.2023 Читать далее →
Выпущена версия Vitastor 0.9.5
Всего 1 исправление - исправил 100% жор CPU в интеграции io_uring в новый драйвер QEMU. Не был учтён момент, что eventfd, оказывается, ещё и сбрасывать нужно, LOL 🤣🤣
Ну, зато из плюсов - иопсы ещё чуть подросли. На моём локалхосте с прошлым 100% CPU “busy loop”-ом получалось 90к иопс, а сейчас все 100к! QEMU пересборки не требует, для фикса достаточно обновить vitastor-client.
20.07.2023 Читать далее →
Выпущена версия Vitastor 0.9.4
- Улучшена производительность драйвера QEMU путём интеграции в него io_uring (у меня на локалхосте iops-ы выросли примерно с 50000 до 90000)
- Поправлено подвисание qemu-img, начавшее иногда возникать после фикса iothread в 0.9.3
- Пакеты QEMU с исправлениями пересобраны под все версии Debian и RHEL и под Proxmox 8.0, 7.4, 7.3 и 6.4
- Пара мелких исправлений в клиенте (vitastor-cli ls падал на неизвестных пулах, vitastor-cli status мог показывать больше etcd, чем задано в конфиге)
- Монитор теперь удаляет статистику удалённых пулов из /pool/stats/
- Изменены настройки etcd по умолчанию в make-etcd для снижения потребления памяти
- OSD научились не падать, когда etcd при перезапуске обрубал подписки через “revisions were compacted”
- И пара мелких исправлений в дисковом слое (одно подвисание и одно падение), воспроизводившиеся на HDD с мелким журналом и большими (512 кб, 900 кб) случайными записями
- В документацию добавлены заметки про HDD. Судя по данным тестов, Vitastor теперь официально разрешено юзать с HDD-only, особенно если HDD нормальные (HGST, Toshiba MG, EXOS)
18.07.2023 Читать далее →
Выпущена версия Vitastor 0.9.3
- Добавлен патч для libvirt 9.0.
- Добавлена поддержка Proxmox VE 8.0.
- Исправлена давняя несовместимость QEMU-драйвера с отдельным iothread (пакеты QEMU будут обновлены постепенно).
- Разрешено удаление образов в грязном кластере (при остановленных OSD) - пока что ценой возможного появления мусора после поднятия лежавших OSD и необходимости подчищать этот мусор через vitastor-cli rm-data (мусор будет видно в выводе vitastor-cli ls).
- Исправлена кучка багов слияния снапшотов, ну и добавлены тесты, чтобы оные баги к нам уже не вернулись.
- Исправлено одно иногда воспроизводившееся use-after-free… точнее, sendmsg()-after-free :), приводившее к потенциально некорректным чтениям битмапов выделенных блоков. В общем-то, это тоже влияло на слияние снапшотов.
- Удалён путь /usr/local/bin из make-etcd.
- Исправления документации.
01.07.2023 Читать далее →