惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
博客园 - 叶小钗
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Application and Cybersecurity Blog
Application and Cybersecurity Blog
TaoSecurity Blog
TaoSecurity Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
爱范儿
爱范儿
宝玉的分享
宝玉的分享
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
量子位
N
News and Events Feed by Topic
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recent Commits to openclaw:main
Recent Commits to openclaw:main
SecWiki News
SecWiki News
MyScale Blog
MyScale Blog
AI
AI
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 【当耐特】
Security Archives - TechRepublic
Security Archives - TechRepublic
F
Fortinet All Blogs
V2EX - 技术
V2EX - 技术
T
Troy Hunt's Blog
有赞技术团队
有赞技术团队
W
WeLiveSecurity
Project Zero
Project Zero
T
Tor Project blog
Help Net Security
Help Net Security
L
LINUX DO - 最新话题
IT之家
IT之家
The Hacker News
The Hacker News
腾讯CDC
Schneier on Security
Schneier on Security
N
News and Events Feed by Topic
C
Cisco Blogs
博客园 - 聂微东
Webroot Blog
Webroot Blog
Forbes - Security
Forbes - Security
M
MIT News - Artificial intelligence
C
Cyber Attacks, Cyber Crime and Cyber Security
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
A
About on SuperTechFans

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
От MinIO к SeaweedFS: опыт замены S3-хранилища
dbraincloud · 2026-04-28 · via Все публикации подряд на Хабре

Время на прочтение4 мин

Охват и читатели0

Кейс

Есть такой опасный момент в инфраструктуре: когда все вроде бы работает, но трогать это лишний раз не хочется. Не потому что идеально. А потому что есть ощущение — если полезешь, станет хуже. В какой-то момент мы поймали себя на этом с MinIO. Он не падал каждый день, не устраивал катастроф, не блокировал разработку. Но вокруг него накопилось слишком много «но»: лучше не обновлять, лучше не трогать репликацию, лучше не лезть в админку без необходимости.

Именно с этого ощущения и началась наша история ухода от MinIO — не из-за одной конкретной проблемы, а из-за накопившегося технического долга, странных решений проекта и ощущения, что инструмент больше не развивается в ту сторону, которая нам подходит.

Когда временное решение живет слишком долго

В какой-то момент мы в платформе контейнеризации dBrain.cloud поймали себя на довольно знакомой мысли: временные решения живут дольше, чем хотелось бы.

Изначально у нас все было разложено по полочкам следующим образом:

  • Для больших кластеров — Ceph, потому что он мощный, отказоустойчивый и проверенный.

  • Для более компактных сценариев — MinIO: простой, быстрый, S3-совместимый.

  • Дополнялось все это TopoLVM, который закрывал задачи локального хранилища.

И какое-то время это выглядело как очень здравая и удобная архитектура. Но со временем MinIO перестал быть тем самым простым и легким решением, ради которого мы его вообще когда-то выбрали.

Много лет назад, когда мы выбирали типы хранилища для dBrain.cloud, MinIO казался почти идеальным компромиссом. Не хотелось тянуть в маленький кластер тяжелый Ceph, а S3 API уже тогда был фактическим стандартом. MinIO закрывал эту нишу практически без конкурентов. Он запускался одним бинарником, не требовал сложной обвязки и в целом создавал ощущение, что объектное хранилище может быть простым. Почитать про нашу работу с хранилищами можно тут.

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

Отдельная боль — обновления. Они все чаще приносили сюрпризы. Где-то менялось поведение после сбоев, где-то исчезали привычные механизмы восстановления. В итоге мы пришли к довольно тревожной практике: MinIO в рабочих кластерах лучше не трогать. Потому что после апдейта могло стать хуже. Финальный перелом произошел, когда MinIO окончательно сместился в сторону коммерческой модели. Open-source версия начала заметно худеть.

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

Поиск альтернативы: неожиданно сложный квест

Дальше был этап, который занял гораздо больше времени, чем хотелось бы.

Казалось бы, S3 — стандарт де-факто, решений должно быть много. На практике же выяснилось, что выбирать особо не из чего. Мы пересмотрели кучу проектов: от относительно известных до совсем нишевых. Что-то выглядело красиво на GitHub, но разваливалось при попытке использовать это в реальном кластере. Что-то банально не дотягивало по зрелости. Где-то архитектура вызывала больше вопросов, чем ответов.

В итоге стало понятно, что адекватных open-source S3-хранилищ гораздо меньше, чем кажется.

Про SeaweedFS мы знали давно, но долгое время не воспринимали его как полноценную замену MinIO. Он казался чем-то нишевым, слегка в стороне от мейнстрима. Вернулись к нему уже без особых ожиданий — скорее потому, что нужно было проверить все. Довольно быстро стало понятно, что мы его недооценивали.

SeaweedFS оказался не «магическим бинарником», а системой с вполне прозрачной архитектурой. Есть master-ноды, которые управляют метаданными. Есть volume-серверы, где лежат сами данные. Есть сервис, который предоставляет файловые интерфейсы и S3. Вся конструкция напоминает упрощенный и более легкий вариант привычных распределенных систем хранения.

SeaweedFS как новый стандарт внутри платформы

На практике SeaweedFS приятно удивил. Во-первых, он ведет себя предсказуемо. Репликация работает так, как от нее ожидаешь. После сбоев система восстанавливается, а не оставляет тебя разбираться с последствиями вручную. Да, где-то не хватает автоматизации из коробки, например, мы добавляли свою логику для скраббинга и самовосстановления.

Во-вторых, он оказался хорошо приспособлен к нагрузкам, характерным для контейнерных платформ. Большое количество мелких файлов — не проблема. При этом и с крупными объектами он живет нормально, без каких-то неожиданных провалов в производительности.

В-третьих, масштабирование не вызывает ощущения, что ты сейчас сломаешь систему. Кластер можно расширять, и это выглядит как нормальный, контролируемый процесс, а не как шаманство.

И наконец, S3. Да, SeaweedFS не реализует весь API на сто процентов, как это делал MinIO. Но он покрывает большую часть реально используемых сценариев. А после изменений в MinIO вокруг проекта заметно активизировалось сообщество, и недостающие фичи начали довольно быстро появляться, например, ttl/livecycles. Мы это наблюдали в процессе своей интеграции.

В результате архитектура dBrain.cloud не перевернулась с ног на голову, но стала заметно здоровее. Ceph остался на своем месте — как решение для больших и требовательных кластеров. TopoLVM продолжает закрывать задачи локального хранения. А вот роль легкого S3 полностью перешла к SeaweedFS.

На текущий момент SeaweedFS встроен в платформу как стандартный вариант объектного хранилища. Это не экспериментальная опция и не решение для смелых, а нормальный, поддерживаемый и рекомендуемый путь.

Мы прошли этап тестов, поработали с ним в реальных сценариях и убедились, что он закрывает наши задачи.

Вместо вывода

Эта история на самом деле не про то, кто лучше — MinIO или SeaweedFS. Она про то, как инструмент, который когда-то идеально подходил, со временем перестал соответствовать задачам. И про то, как важно вовремя принять меры и двигаться дальше.

SeaweedFS не идеален. Но он понятный, предсказуемый и развивается в сторону, которая нам близка. А в инфраструктуре это зачастую важнее, чем громкие обещания и полная совместимость.

Если вы сейчас стоите перед похожим выбором или уже проходили через миграцию с MinIO — будет интересно услышать ваш опыт.