1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/fastdfs100-FastCFS

16.05.2025 09:02
GitLife Service Account

Высокопроизводительная распределенная файловая система FastCFS 5.4 выпущена, в основном это улучшение производительности и исправление ошибок.

Улучшение производительности
libdiskallocator оптимизирован для faststore:
При возврате trunk для перемещения данных, объединяются соседние slice и уменьшается количество операций чтения данных;
Когда trunk пространство распределено и данные записаны, объединяются соседние slice для уменьшения их количества.

Мелкие улучшения
[libfastcommon] реализация функции shorten_path для /./ и /../
[libserverframe] sf_binlog_writer_rotate_file может пропускать пустые файлы
[fstore] storage.conf и dbstore.conf изменены для новой версии libdiskallocator

Исправление ошибок
[libserverframe] вызов flush_writer_files перед rotate file
[libdiskallocator] da_init_start разделен на две функции init и start
[libfdirstorage] корректное установление диапазона inode последнего сегмента
[libfdirstorage] корректное сохранение для обновления
[fdir] корректный вызов fdir_namespace_inc_alloc_bytes

Приглашаем всех тестировать и использовать версию V5.4, рекомендуем пользователям старых версий обновиться до последней. Любые вопросы и предложения приветствуются в нашем сообществе.

Последнее сообщение коммита: upgrade FastCFS version in docs
15.03.2025 23:15
GitLife Service Account

Выпуск FastCFS V5.3.2, включающий основательное исправление ошибок и небольшие улучшения.

История изменений:

[fstore] протокол ACTIVATE_SERVER не отвечает для RDMA
[fdir & fstore] исправлено: ОБЯЗАТЕЛЬНО разделите PD для сети RDMA
[fdir & fstore] проверка совпадения прослушиваемого порта с конфигурацией кластера
[fstore] исправлена типизация hash_code с uint32_t на uint64_t в функции fs_client_bs_operate
[fstore] возврат EINVAL при отсутствии принадлежности группы данных
[FastCFS] fcfs_fused.c: статистика пула соединений для отладки
[libfastcommon] оптимизация производительности пула соединений
[libserverframe] поддержка дополнительного аргумента в обратном вызове инициализации задач
[libserverframe] поле sf_context структуры добавлено для is_client для выделения PD в обратном вызове RDMA
[libfastrdma] глобальная инициализация использует блокировку безCAS для единичного экземпляра

Последнее сообщение коммита: README changed for V5.3.2
15.03.2025 23:15
GitLife Service Account

Выпуск FastCFS V5.3, в котором были выполнены основные исправления ошибок и небольшие улучшения.
Журнал изменений:

[fdir & fstore] группы служб могут переопределять размер буфера (buffer_size)
[fdir & fstore] задержка версии вывода информации о состоянии службы (service status output version delay)
[все] лог квадратных закавыченных адресов IPv6
[fstore] исправление ошибки: установка флагов на FS_COMMON_PROTO_FLAGS_LAST_PKT для последнего пакета

Последнее сообщение коммита: upgrade version to V5.3.0
15.03.2025 23:15
GitLife Service Account

Выпуск FastCFS V5.2, в котором были выполнены основные исправления ошибок.

Журнал изменений:

[fdir & fstore] вывод информации о состоянии пространства хранения для движка хранения
[fstore] удаление ограничения максимального количества групп данных на сервер
[fstore] исправление ошибки: правильное записывание бинлога реплики в файл при включении срезового движка хранения
[fstore] количество групп данных в cluster.conf нельзя изменять после первого запуска
[libdiskallocator] da_binlog_reader_load: чтение файла бинлога с фиксированного размера буфера
[libfdirstorage] массив inode уменьшен по обновленному счетчику
[libfsstorage] исправление ошибки: корректное уменьшение блока бинлога

Последнее сообщение коммита: upgrade version to 5.2.0
15.03.2025 23:15
GitLife Service Account

После месяца разработки и тестирования выпущена версия FastCFS V5.1 с основными улучшениями: поддержка IPv6 и исправление ошибок.

Соответствующий git лог:

[fdir & fstore] автоматическая поддержка IPv6 через cluster.conf
[libdiskallocator] проверка повторяющихся путей хранения
[libdiskallocator] запуск задачи crontab trunk_index_dump в новом потоке
[libdiskallocator] оптимизация trunk_index_dump
[fstore] исправлен баг: binlog_check.[hc] правильно устанавливает ID группы данных реплик
[fstore] добавлена опция use_hash_func в cluster.conf для рассредоточивания распределения групп данных

Приветствуем вас при тестировании и использовании V5.1. Мы рекомендуем пользователям старых версий обновиться до последней версии. Любые вопросы и предложения приветствуются в нашем чате.

Последнее сообщение коммита: upgrade version to 5.1.0
15.03.2025 23:15
GitLife Service Account

После более чем четырёх месяцев исследований, разработки и тестирования FastCFS 5.0 наконец-то доступна всем. Версия FastCFS 5.0 использует native ibverbs для адаптации RDMA сетей, что позволяет полностью использовать низкую задержку и высокую пропускную способность этих сетей. В особенности хотелось бы поблагодарить @Frank за предоставление серверов с высокими характеристиками для наших исследований; большое спасибо @yunqi за его терпеливое объяснение в области программирования ibverbs; огромное спасибо @AI墨墨 за предоставление удобной службы chatGPT, которая помогла мне ответить на множество вопросов.

Мы арендовали облачные серверы типа ECS g8 от Alibaba Cloud, используя их eRDMA возможности. При случайном чтении 4 КБ в режиме fuse производительность увеличилась на 50 % по сравнению с использованием сокетов. Мы также провели тестирование при вызове API (чистый пользовательский режим) fcfs_benchmark, где производительность без использования busy polling была выше на 80 %, а при активном использовании busy polling — на 110 %. В будущем мы планируем провести тестирование производительности в условиях IB сети, и ожидаем ещё большего повышения производительности.Активация busy polling происходит автоматически на стороне сервера в зависимости от конфигурации. Когда количество запросов в секунду (QPS — Queries Per Second) одного соединения превышает пороговое значение (например, 10240 запросов в секунду) в течение N секунд (например, 3 секунд), активируется режим busy polling. Если же QPS падает ниже этого значения в течение N секунд, то режим busy polling деактивируется.Примечание: Примеры конфигураций и их описание можно найти в файлах конфигурации в подкаталоге conf/full/ исходного кода.

Исправленные ошибки в версии V5.0:

[fdir] исправлена ошибка: корректное установление loaded_flags в dentry_create;
[fdir] исправлена ошибка: использование блока lock для db skiplist;
[libfdirstorage] исправлена ошибка: корректное установление переменной normal_update;
[libfsstorage] более надёжное освобождение сегмента.

FastCFS 5.0 прошёл полное тестирование, и мы рады видеть друзей с RDMA сетями для проведения тестирования производительности. Для пользователей старых версий FastCFS рекомендуется как можно скорее обновиться до последней версии. Любые вопросы и предложения могут быть отправлены через issue, также есть возможность присоединиться к группе для обсуждения.

Последнее сообщение коммита: fix compile error in Linux
15.03.2025 23:14
GitLife Service Account

После трёхнедельной разработки и тестирования был выпущен высокопроизводительный распределённый файловый систем FastCFS версии 4.3. В версии V4.3 включены два небольших улучшения и семь исправлений ошибок.

Два небольших улучшения следующие:

  1. По умолчанию контейнер children для хранилища fastdir использует sortedarray, теперь также поддерживает skiplist, соответствующий конфигурационный параметр — children_container. Когда количество подкаталогов или файлов в одном каталоге становится слишком большим, например, превышает 10 000, рекомендуется установить параметр children_container как skiplist.
  2. Количество потоков синхронизации данных faststore было изменено с макроса на конфигурационный параметр recovery_concurrent со значением по умолчанию 2. При добавлении новых узлов хранения можно увеличивать этот параметр по необходимости, чтобы ускорить процесс синхронизации данных.Список исправленных ошибок:
    [faststore] Улучшение надежности управления потоками журнала пространства слайсов
    [libfastcommon] Исправление ошибки: array_allocator_alloc обязательно должно инициализировать массив
    [libserverframe] Улучшение надежности управления потоками записи бинлога
    [libserverframe] Исправление ошибки: sf_binlog_index.c вызывает парсинг только при row_count > 0
    [libfsstorage] Исправление ошибки: установка переменной блока вместо создания нового блока
    [libfsstorage] Исправление ошибки: правильное установление переменной normal_update
    [libfdirstorage] Исправление ошибки: правильное установление переменной normal_updateПроект FastCFS открыт для использования и доступен на gitee и github. Приветствуем ваши тесты и использование!
Последнее сообщение коммита: upgrade version to 4.3.0
15.03.2025 23:14
GitLife Service Account

Релиз FastCFS V4.2, основные улучшения:

  1. Поддержка режима direct io при записи (по умолчанию отключено);
  2. Увеличение производительности за счет использования упорядоченного очередного управления потоками записи, что также обеспечивает максимальное соответствие последовательной записи;
  3. Исправлено пять ошибок.

Исправленные ошибки:

  1. Исправлена правильная вычисляемая информация в path_info->trunk_stat.used;
  2. Объединены доступные и свободные пространства в fcfs_api_statvfs;
  3. Обязательное сохранение fi->oper.additional_gids.list для будущего использования;
  4. Строгое фильтрование записей при загрузке redo логов;
  5. slice_dedup_redo должно точно соответствовать вызывающему.

Рекомендуется всем пользователям обновиться до версии V4.2 как для серверной, так и для клиентской части.

Последнее сообщение коммита: docs upgrade version to V4.2
15.03.2025 23:14
GitLife Service Account

После четырёх месяцев интенсивной разработки FastCFS V4.0 наконец доступна. Основные улучшения в версии V4.0:

  1. В faststore был внедрён плагин хранения, что позволяет узлам хранения поддерживать сотни терабайтов данных при использовании ограниченной памяти (например, 32 ГБ). Для поддержки петабайт данных одним узлом рекомендуется использовать как минимум 128 ГБ оперативной памяти с точки зрения соотношения цены и качества.

  2. В FastCFS V4.0 была проведена реорганизация уровня хранения faststore, который теперь использует библиотеку libdiskallocator напрямую. Преимущества такого подхода заключаются в том, чтобы поддерживать единственный набор кода, что делает систему проще в обслуживании и снижает риск возникновения ошибок.

Хранение данных в faststore осуществляется блоками (фрагментами размером 4 МБ), каждый из которых имеет связанный с ним индекс слайса; когда память становится недоступной, блоки удаляются последовательно. FastCFS использует метод binlog слайсов + индекс блока для постоянного хранения, где индексация блока происходит асинхронно. Краткое сравнение использования плагина хранения против его отсутствия: без плагина используется только binlog слайсов; с плагином — binlog слайсов + индекс слайсов, организованный по блокам.Другие небольшие улучшения в V4.0:

  • [fdir] Добавлен протокол get_fullname_by_[inode|pname] для fdir_stat (позволяет удобнее отладить вопросы доступа к файлам)
  • [fuseclient] Поддержка режима только чтения (ro) при монтировании (поддерживается режим only-read для файловой системы)
  • [fstore] Размер блока файла теперь можно настроить через конфигурацию вместо макроса (по умолчанию 4 МБ)Список исправленных ошибок в V4.0:
  • [fdir] Исправлена проблема вывода idempotency при активированном хранилище
  • [fdir] Исправлена ошибка rename_check с флагом S_ISVTX при существовании целевого dentry
  • [fstore] Обязательно вызывать slice_binlog_set_binlog_start_index(0)
  • [libfastcommon] Исправлена правильность возвращаемых значений функции fast_mblock_batch_alloc
  • [libdiskallocator] trunk_space_log.c: Исправление логики redo для записи

Мы провели полные тесты согласованности данных, устойчивости системы и производительности на арендованных серверах ECS Alibaba Cloud с локальными SSD. Приглашаем всех попробовать и использовать новую версию. Мы настоятельно рекомендуем пользователям старых версий как можно скорее обновиться до самой свежей версии.

Последнее сообщение коммита: README.md upgrate FCFS version to 4.0.0
15.03.2025 23:13
GitLife Service Account

Релиз FastCFS v3.7.1, поддерживающий привязку пользователей к нескольким группам и полностью соответствующий стандарту POSIX. Обновление также решает проблемы с правами доступа при запуске NFS в клиенте fuse FastCFS.

Основные улучшения и исправленные ошибки:

[fdir]

  • Добавлены поля version, auth_enabled и storage_engine в service_stat.
  • Поддержка специальных записей . и .. в списке dentry.
  • Вызов get_path_block_size выполняется только при активированном read_direct_io.
  • Исправлена ошибка в dentry_remove: корректная проверка POSIX ACL.

[fstore]

  • Добавлено поле version в service_stat и поддержка опций -G и всех остальных.

[libserverframe]

  • Проверка соединённого сокета на непредвиденной стадии.
  • Управление лидерским соединением: переключение на несколько IP-адресов при отказах.
  • Изменено уровнем логирования на debug для сбора хеш-входов.

[libfastcommon]

  • Поддержка пробела перед и после единицы измерения в parse_bytes.
  • В случае неудачи fc_fallocate переходит к использованию ftruncate под Linux.

FastCFS предоставляет rpm и deb пакеты для архитектур Intel и ARM соответственно. Приглашаем вас установить и протестировать новую версию.

Последнее сообщение коммита: upgrade version to 3.7.1
15.03.2025 23:13
GitLife Service Account

Релиз FastCFS 3.7.0, в котором проведён тест на совместимость с POSIX и исправлено семь ошибок, повысил стабильность продукта.

Тест на совместимость с POSIX был выполнен с использованием открытого проекта pjdfstest, который включает более 8 тысяч тестовых случаев. Только небольшое количество тестов не прошло, среди которых 30 случаев открытия FIFO-файлов завершились неудачей. Эти вызовы открытия не передаются на уровень fuse, а зависят от реализации Linux-ядра.

Список исправленных ошибок в версии v3.7.0:

  • [libfastcommon] исправлена ошибка: common_blocked_queue_[alloc|free]_node должно использовать блокировку
  • [libfastcommon] исправлена ошибка: нельзя использовать глобальный malloc_allocator
  • [fstore] исправлена ошибка: пропуск RPC до рабочих узлов при отсутствии обновлений для выделенного пространства
  • [fstore] исправлена ошибка: правильное добавление remove_conflict_slices в две цепочки
  • [fdir] исправлена ошибка: корректное определение макроса FDIR_FLAGS_FOLLOW_SYMLINK
  • [fdir] исправлена ошибка: правильное нормализация пути для символьной ссылки
  • [fdir] возвращено значение ENOLINK для readlink, когда путь не является символьной ссылкой

FastCFS предлагает rpm и deb пакеты для установки. Приглашаем всех попробовать новый релиз. Пользователям старых версий рекомендуется как можно скорее обновиться до последней версии.

Последнее сообщение коммита: gh actions: upgrade to 3.7.0-1
15.03.2025 23:12
GitLife Service Account

После трёхнедельной разработки выпущена версия FastCFS v3.6, которая демонстрирует значительное повышение производительности чтения и записи файлов, особенно при последовательной записи, что должно приятно удивить наших пользователей. Для желающих можно протестировать с помощью команд dd или scp.

Для тестирования мы арендовали три сервера Alibaba Cloud Local SSD ECS и один обычный ECS в качестве клиента для нагрузочного тестирования. Два параллельных потока fio могут полностью использовать 3 ГБ сетевой пропускной способности (приблизительно 351 МБ/с), тогда как версия v2.2 при четырёх параллельных потоках достигает лишь 126 МБ/с.

Основные направления оптимизации производительности в версии v3.6 следующие:

1. Оптимизация fstore сервера
При записи файла был добавлен параметр write_to_cache со значением true по умолчанию, который позволяет выполнять асинхронную запись на диск для полного использования возможностей диска. Также была внедрена динамическая выделение буферов данных через пул памяти, чтобы минимизировать копирование данных из сети непосредственно в потоки записи на диск и синхронизации данных.Добавлен параметр read_direct_io для конфигурации режима direct IO, который по умолчанию отключен (то есть используется системное кэширование). Для SATA или SAS жестких дисков рекомендуется использовать системное кэширование; для SSD дисков режим direct IO может использоваться в зависимости от конкретной ситуации.2. Оптимизация Fuse клиента
Поддерживается опция writeback_cache для Fuse, которая сообщает Linux ядру о необходимости активации объединённого режима записи. Включение этой опции значительно увеличивает производительность при последовательной записи малых блоков данных (например, одновременная запись 4 КБ).

В конфигурационном файле fuse.conf добавлен параметр kernel_cache, который указывает на необходимость использования файлового кэша Linux ядра. Активация этого параметра эквивалентна включению файлового кэша на стороне клиента Fuse, что может существенно повысить производительность чтения файлов в некоторых случаях. Однако для сценариев работы с несколькими узлами, где данные являются общими, лучше всего не активировать параметр kernel_cache.

Используя эти две опции Fuse, внутренние параметры были правильно настроены, что позволило достичь заметного повышения производительности чтения и записи файлов.

Список исправленных ошибок в версии v3.6:
[fstore] исправлена ошибка: НЕОБХОДИМО вызвать set_binlog_indexes для установки начального индекса
[fuseclient] исправлена ошибка: write_to_pid_file перемещено перед fcfs_api_start_ex
исправлена ошибка: базовый путь поддерживает относительный путь

Производительность чтения и записи файлов в версии FastCFS v3.6 значительно возросла, и мы рады видеть ваши отзывы и результаты тестирования.

Последнее сообщение коммита: README update for 3.6.0
15.03.2025 23:12
GitLife Service Account

После более чем месячной интенсивной разработки был выпущен FastCFS v3.5. В версии v3.5 были выполнены улучшения для обеспечения согласованности данных в случае возникновения ошибок: механизм записи данных использует консенсус большинства для гарантии согласованности и надёжности данных при высоких нагрузках и других неблагоприятных условиях; реализован автоматический процесс восстановления данных при расхождении (ранее версии продолжали выдавать ошибки), что включает следующие два пункта:

  1. Slave автоматически откатывает несоответствующие данные и затем восстанавливает данные с master;
  2. При перезапуске, если версия данных slave выше, чем у master, он автоматически становится новым master.

Другие небольшие улучшения:

  1. Поддержка атомарности операций между машинами;
  2. По умолчанию включен ежедневный циклический перенос логов и очистка старых логов.

Список исправленных багов:
[fdir] dentry_list_by_path должен вызывать dentry_check_load_children
[fdir & fstore] выбор лидера/мастера различается по количеству успешных попыток и активным соединениям
[fdir & fstore] получение my_self_in_cluster_cfg через сервис, кластер и порты реплик
[fstore] необходимо игнорировать errno EOPNOTSUPP при уведомлении лидераFastCFS v3.5 является важным шагом в обеспечении согласованности и надежности данных в экстремальных условиях. Приглашаем всех скачать и использовать этот продукт. Пользователям предыдущих версий рекомендуется своевременно обновиться до версии 3.5.

Последнее сообщение коммита: doc changed for v3.5
15.03.2025 23:11
GitLife Service Account

После полуторамесячной интенсивной разработки и тестирования был выпущен V3.4. Основные улучшения в V3.4:

  1. Введение узлов голосования для двойного репликационного механизма защиты от разделённого мозга (то есть двухактивного взаимного обеспечения, гарантирующего согласованность данных);
  2. Удаление дубликатов binlog и очистка исторических данных в fdir и fstore для сокращения ненужного использования пространства на диске;
  3. Реализация файловых блокировок в fdir, строго следующих стандарту POSIX.

Исправленные ошибки:

  • [fdir] Исправлена проверка дочерних узлов при активации хранилища.
  • [fdir] Исправлено правильное установление версии данных при использовании команды CAS.
  • [fdir] Исправлено изменение массива указателей репликации в потоке кластера.
  • [fauth] Исправлено использование завершающего символа '\0' при преобразовании строки в число.
  • [fstore] Исправлено отправление активного теста при условии (task->offset == 0 && task->length == 0).Устойчивость компонента fdir была значительно повышена в версии V3.4. Приглашаем всех использовать данную версию. Если вы столкнетесь с какими-либо проблемами или у вас будут предложения, пожалуйста, создайте issue или присоединитесь к нашей WeChat-группе для обсуждения.
Последнее сообщение коммита: images/wechat_group.jpg refreshed
15.03.2025 23:11
GitLife Service Account

После полуторамесячной интенсивной разработки и тестирования был выпущен FastCFS V3.3. Версия V3.3 является знаковым выпуском, где система была тщательно протестирована в отношении нормального перезапуска и сильного завершения процесса kill -9, обеспечивая стабильность системы и согласованность данных. Основные улучшения включают:

  1. [fstore] Устранение проблемы согласованности данных при перезапуске сервера;
  2. [fstore] Восстановление данных с одного диска: после восстановления от одной дисковой ошибки можно восстановить данные через командную строку;
  3. [fstore] Перебалансировка мастера: после восстановления машины или временного сетевого сбоя мастер перебалансируется;
  4. [fauth & fdir & fstore] Введение механизма защиты от "brain split": выбор лидерства/мастерства использует правило большинства.

Список исправленных багов:

  1. Исправлено: done_bytes должно использовать атомное уменьшение при многопоточной работе;
  2. Исправлено: выбор мастера DG может прекратиться в редких случаях;
  3. Исправлено: обязательно ждать завершения записи слайса перед реклингом ствола;
  4. Исправлено: следует сохранять журнал удаления слайса при ob_index_get_slice_count > 0;
  5. Временная метка в журналах реплик и слайсов увеличивается монотонно;
  6. Исправлено: при проверке и ремонте журналов следует сканировать последние N+1 секунду журналов;
  7. Исправлено: логирование репликационного журнала по полученному журналу.FastCFS V3.3 достиг уровня, позволяющего использовать его в производственной среде. Приглашаем всех попробовать и протестировать новую версию. Любые замечания и вопросы всегда приветствуются.
Последнее сообщение коммита: upgrade README version
15.03.2025 23:11
GitLife Service Account

После полуторамесячной разработки и тестирования FastCFS V3.2.0 был представлен. В этом выпуске основные улучшения включают:

  1. Полный набор POSIX API, таких как open/fopen, write/fwrite, read/fread, close/fclose, readv, writev, что позволяет приложениям использовать FastCFS для хранения данных;

  2. Поддержка LD_PRELOAD для реализации пользовательских виртуальных точек монтирования;

  3. Для поддержки POSIX API были скорректированы и доработаны fdir, такие как поддержка flags в list/remove deny и get/list/remove xattr; libfastcommon и fstore поддерживают readv и writev;

  4. fstore поддерживает очистку избыточных binlog данных после расширения кластера (перед запуском fs_serverd передайте параметр --migrate-clean).

Другие улучшения и исправления ошибок следуют ниже:
[fastcfs-csi] оптимизация конфигурации
[fstore] поддержка предварительной загрузки с автоматическим предварительным чтением
[fuseclient] добавление параметра xattr_enabled в fuse.conf
[fdir] исправлено: правильное обновление поля "mode"
[fdir] исправлено: серверное парсинг inode для обновления DENTRY_TYPE ДОЛЖЕН быть установлен

Краткое описание FastCFS POSIX API доступно на блоге: https://my.oschina.net/u/3334339/blog/5481119

Последнее сообщение коммита: add link to docs/cluster-expansion-zh_CN.md
15.03.2025 23:10
GitLife Service Account

Версия V3.1 внесла улучшения в FastDIR, реализовав алгоритм LRU для вытеснения данных, что позволяет поддерживать огромное количество файлов при ограниченном объеме памяти.
Другие улучшения и исправление ошибок представлены ниже:

  1. Введено использование счетчика ссылок для немедленного освобождения dentry;
  2. Ожидание освобождения пространства имен без блокировки;
  3. Исправлена ошибка получения размера trunk_file из ini-файла корректно.
Последнее сообщение коммита: remove %define for FastCFS-auth debuginfo
15.03.2025 23:10
GitLife Service Account

После пяти месяцев интенсивной разработки FastCFS v3.0 наконец выпущен. Основные улучшения в FastCFS 3.0 следующие: основной компонент FastDIR реализован через плагины для хранения данных, использует binlog + плагины хранения, что позволяет загружать данные inode по мере необходимости. Одиночное устройство с ограниченным объёмом оперативной памяти (например, 64 ГБ) может поддерживать миллионы файлов.

Механизм записи binlog обеспечивает простое сохранение данных, при этом при перезапуске программы данные inode восстанавливаются из binlog. Однако такой подход имеет два существенных недостатка:

  1. Долгое время подготовки при запуске программы (приблизительно 200 000 inode загружается за секунду);
  2. Высокие требования к объёму оперативной памяти (один inode занимает около 300 байт).

Введение плагинов хранения данных в версии 3.0 позволило решить эти две проблемы, возникающие при использовании только binlog для сохранения данных.

Кроме того, FastCFS 3.0 исправил три ошибки:
[fdir] увеличивает/уменьшает количество ссылок родителя при операциях переименования;
[fdir] правильно устанавливает счетчик dentry->kv_array->count равным нулю;
[fstore] следует инициализировать счетчик barray->count значением ноль.

Последнее сообщение коммита: docs changed for V3.0.0
15.03.2025 23:10
GitLife Service Account

Релиз FastCFS V2.3.0, основные улучшения:

  1. Поддержка нескольких узлов с использованием активного/пассивного режима для сервера аутентификации, что позволяет избежать одноузловой зависимости;
  2. Введение механизма тайм-аута для выбора лидера/мастера и его последующего переключения, что делает управление временем выбора более контролируемым.

Кроме того, в конфигурационных файлах разделы теперь используют дефисы для разделения имён секций, например: [pool-generate]

Последнее сообщение коммита: upgrade FastCFS versions in README
15.03.2025 23:10
GitLife Service Account

После примерно месяца разработки выпущена версия FastCFS V2.2.0 с основными улучшениями:

  1. [fstore] Используется libaio для реализации асинхронного чтения; производительность случайного чтения значительно увеличилась;
  2. [fstore] Поддерживается механизм предварительного чтения; производительность последовательного чтения значительно улучшилась;
  3. Устранены три ошибки:
    1. [fstore] Устранена ошибка, введенная в версию V2.1.0: при первом запуске ключевой булевой переменной не было правильно присвоено значение;
    2. [fuseclient] Устранена проблема согласованности кэша метаданных при перечислении каталога;
    3. [fauth] Устранена проблема отображения некорректного текста из-за неправильного формата модификатора имени пользователя и пула.

Кроме того, были одновременно выпущены инструмент управления кластером (fcfs.sh), разработанный sungness, и драйвер k8s (fastcfs-csi), созданный vazmin. Приглашаем всех к тестированию и использованию этих инструментов (ссылки доступны на странице проекта FastCFS).Версия FastCFS V2.2.0 использует асинхронное чтение и предварительное чтение, что значительно повысило производительность чтения. Теперь производительность IOPS FastCFS полностью превышает Ceph: последовательная запись быстрее в 6,5 раза, последовательное чтение в 2,5 раза, а случайная запись примерно в два раза выше по сравнению с Ceph. Подробные данные тестирования можно найти на официальном сайте проекта FastCFS: https://gitee.com/fastdfs100/FastCFSВерсия V2.2.0 является важным этапом развития FastCFS, и мы очень ценим вашу поддержку!

Последнее сообщение коммита: add link for fastcfs-csi
1
https://api.gitlife.ru/oschina-mirror/fastdfs100-FastCFS.git
git@api.gitlife.ru:oschina-mirror/fastdfs100-FastCFS.git
oschina-mirror
fastdfs100-FastCFS
fastdfs100-FastCFS