Три системы закрывают три разных профиля задач. TrueNAS SCALE берут там, где нужны ZFS, снапшоты с репликацией и S3-совместимый слой под Nexus, Artifactory и Docker Registry, а в команде есть специалист с Linux-опытом. OpenMediaVault выбирают, когда бюджет ограничен, нагрузка сводится к NFS и SMB-шарам под кэш сборок и внутренние пакеты, а обслуживать хранилище будет сисадмин, готовый работать с Debian. Synology покупают, когда storage-инженера в штате нет и важнее предсказуемость, готовые пакеты и поддержка вендора, чем полный контроль.
Разница видна на цифрах. Пул ZFS на 8 дисках с NVMe SLOG под синхронной записью по NFS выдаёт десятки тысяч IOPS и держит параллельные сборки. Бюджетный 4-дисковый Synology на Celeron упирается в 1GbE и в потолок около 110 МБ/с по сети. OpenMediaVault на 6 дисках в mdadm RAID6 даёт близкую последовательную скорость на том же железе, но заметно слабее по снапшотам и по защите метаданных.
Дальше сравнение идёт под конкретную задачу: хранение артефактов сборки и внутренних инструментов. Это Docker-образы, npm и pypi-зеркала, Maven-пакеты, Helm-чарты, дистрибутивы apt и rpm, кэши Gradle и Bazel, веса ML-моделей, установочные пакеты внутренних сервисов. Медиатека, бэкапы ноутбуков и общая файлопомойка отдела к этой задаче отношения не имеют: другой профиль нагрузки, другие сроки хранения, другие требования к доступу.
Кому подходит TrueNAS
TrueNAS SCALE построен на Debian, CORE работает на FreeBSD, и с 2024 года развитие сместилось в сторону SCALE. Главная причина брать TrueNAS под артефакты: ZFS с контрольными суммами каждого блока, мгновенными снапшотами и отправкой инкрементов на второй сервер. Пулы собираются в RAIDZ1, RAIDZ2, RAIDZ3 или в зеркала, кэш чтения ARC живёт в оперативной памяти, L2ARC размещается на NVMe, SLOG ускоряет синхронную запись по NFS и iSCSI.
Вариант подходит командам с Linux-экспертизой, требованием к целостности данных и желанием держать S3-бакеты внутри своей сети. Практический минимум по железу: 64 ГБ RAM на пул в десятки терабайт, ECC-память, HBA с прошивкой в режиме IT, сеть 10GbE, отдельные NVMe под SLOG и L2ARC.
Кому подходит OpenMediaVault
OpenMediaVault - надстройка над Debian: OMV 7 стоит на Debian 12, OMV 8 на Debian 13. Ставится на любой x86-сервер или мини-ПК, работает с ext4, Btrfs и массивами mdadm, поддерживает SMB, NFS, iSCSI через плагин, Docker через openmediavault-compose. Настройки хранятся в виде конфигурации Salt, поэтому веб-интерфейс остаётся единственной точкой управления.
Выбирайте OMV, когда бюджет ограничен, а задача сводится к файловым шарам под кэш сборок, внутренние пакеты и общие каталоги. Нативного S3-шлюза у системы нет: MinIO придётся держать в Docker и обновлять руками. Плагины отстают от мажорных релизов Debian, поэтому обновления стоит планировать как отдельную работу с тестовым стендом.
Кому подходит Synology
DSM даёт самый низкий порог входа: мастер настройки, Package Center, Container Manager, Active Backup for Business, Snapshot Replication. Команда без выделенного storage-инженера запускает шары, снапшоты и контейнеры за час и получает предсказуемое поведение после обновлений.
Ограничения тоже реальны. В desktop-моделях стоят Celeron и Ryzen серии R, сеть чаще всего 1GbE или 2.5GbE, максимальный размер тома ограничен 108 ТБ на большинстве серий (200 ТБ на линейках XS и FS), а в корпоративных моделях действуют ограничения на сторонние диски. Свобода настройки ядра и модулей ниже, чем у TrueNAS и OMV. Если выбираете между готовым устройством и самостоятельной сборкой для дома или офиса до 50 человек, полезно начать со сравнения Synology, QNAP и TrueNAS SCALE: там разобраны интерфейсы DSM и QTS, надёжность ZFS и примеры конфигураций под бюджет.
Критерии сравнения: что реально важно для хранилища артефактов
Нагрузка на артефакт-хранилище неоднородна по размеру объектов. Крупные блобы: слои Docker-образов, дистрибутивы apt и rpm, веса моделей, архивы сборок. Файл на 1 ГБ при скорости 110 МБ/с отдаётся 9 секунд, при 1,1 ГБ/с на 10GbE - меньше секунды. Мелкие объекты: метаданные npm, индексные файлы pypi, тысячи маленьких артефактов Maven. Здесь всё решают случайные операции и кэш метаданных файловой системы.
Второй фактор - параллелизм. Двадцать одновременных сборок создают смешанный поток: чтение базовых образов, запись новых слоёв, обращения к кэшу зависимостей. Одиночный тест на последовательную запись такой профиль не отражает.
Сравнение идёт по четырём критериям: производительность (IOPS на блоках 4К, последовательная пропускная способность, задержка), гибкость конфигурации (файловые системы, протоколы, S3 API, автоматизация), совокупная стоимость владения и удобство администрирования.
Метрики, которые стоит снимать на своём стенде: IOPS и задержка при случайной записи 4К, пропускная способность при записи блоками 1 МБ, время распаковки архива с 50 тысячами мелких файлов, длительность docker pull и docker push, RPO и RTO при отказе диска и узла, стоимость за терабайт в год, часы администратора в месяц.
Цифры из вендорских презентаций снимаются на идеальном профиле и к вашей задаче отношения не имеют. Прогоняйте fio на своём пуле с реалистичными параметрами: запись блоками 1 МБ в четыре потока, случайное чтение 4К с глубиной очереди 32, затем реальная сборка проекта с холодным и тёплым кэшем. Расхождение между синтетикой и практикой легко достигает двукратного. Более широкий разбор платформ, включая Ceph и Unraid, есть в практическом сравнении систем хранения.
Производительность и отказоустойчивость: TrueNAS, OpenMediaVault, Synology
Файловая система задаёт потолок и характер отказов. У TrueNAS это ZFS с copy-on-write и контрольными суммами, у OMV - ext4 или Btrfs поверх mdadm, у Synology - Btrfs или ext4 поверх Synology Hybrid RAID на моделях с поддержкой Btrfs.
ZFS в TrueNAS: сильные и слабые стороны
Плюсы: контрольные суммы каждого блока и самовосстановление при чтении, мгновенные снапшоты, сжатие lz4 или zstd, отправка и приём потока на второй сервер для инкрементальной репликации, кэш ARC в памяти, L2ARC на NVMe, SLOG под синхронную запись.
Минусы и их цена. Память: практическое правило - 1 ГБ на 1 ТБ сырой ёмкости плюс запас, для пула на 100 ТБ ставьте 128 ГБ. ECC снимает класс ошибок, который ZFS ловит контрольными суммами, но исправить не может. RAIDZ плохо подходит под случайный I/O с требованием к IOPS: один vdev из шести дисков в RAIDZ2 отдаёт примерно столько же операций, сколько один диск. Дедупликация требует около 300 байт RAM на блок в таблице DDT и на репозиториях с миллионами объектов съедает память быстрее, чем экономит место. Синхронная запись по NFS без SLOG даёт единицы тысяч IOPS, потому что каждое подтверждение упирается в fsync. recordsize для больших блобов поднимают до 1 МБ, для мелких файлов оставляют 128 КБ, для zvol - 16 КБ.
OpenMediaVault: что даёт Debian и где пределы
OMV - это Debian с веб-интерфейсом: доступен любой пакет из репозиториев, ZFS ставится плагином с ядром из backports, Btrfs работает со встроенным RAID и снапшотами, mdadm собирает классические массивы, tgt отдаёт iSCSI, SMB и NFS включены из коробки.
Пределы начинаются там, где нужна автоматика. Нативного S3 нет, MinIO поднимается в Docker. Готовых интеграций меньше, производительность зависит от того, как вы соберёте массив руками. Btrfs send и rsync покрывают резервное копирование, но репликация с расписанием и политикой хранения настраивается вручную. Плагины поддерживает сообщество, и после мажорного обновления Debian часть из них отваливается.
Synology: предсказуемость против гибкости
SHR упрощает расширение: добавляете диск большего объёма, том растёт без пересборки. Плата за удобство - меньший выбор схем RAID и привязка к модельному ряду. На Btrfs доступны снапшоты и Snapshot Replication, на ext4 части функций нет.
Узкое место в среднем сегменте - процессор и сеть. Модели на Celeron с четырьмя дисками упираются в 1GbE, а 10GbE появляется только в plus и RS-линейках с PCIe-слотом. Параллельная запись десятков образов заметно снижает отзывчивость DSM. Взамен вы получаете предсказуемое поведение без тюнинга.
Отказоустойчивость различается по уровню защиты. ZFS ловит и исправляет повреждения блоков по контрольным суммам, Btrfs держит контрольные суммы данных и метаданных, ext4 полагается на журнал. Scrub планируйте отдельно: у TrueNAS и Synology он идёт по расписанию, у OMV на mdadm нужен свой планировщик проверок. SMART-тесты, алерты по температуре и упреждающая замена дисков обязательны во всех трёх случаях.
Гибкость конфигурации и интеграция с DevOps-инструментами
S3-совместимое хранилище для артефактов
Nexus Repository 3 и Artifactory умеют держать blob store в S3-совместимом хранилище, Docker Registry поддерживает драйвер S3 с перенаправлением скачиваний. S3 API нужен не для галочки: без него репозиторий артефактов упирается в локальный диск и в ручное расширение томов.
TrueNAS: MinIO разворачивается приложением или контейнером поверх ZFS. Состав каталога приложений между версиями меняется, поэтому проверяйте доступность MinIO в своей сборке перед планированием. MinIO даёт версионирование бакетов, Object Lock для неизменяемых артефактов, lifecycle-правила для удаления старых сборок и multipart upload для больших образов.
OMV: MinIO в Docker, всё через compose и реверс-прокси, TLS через certbot. Гибко, но обслуживание целиком на вашей команде.
Synology: готового S3 нет, есть сторонние пакеты и шлюзы. Для небольшой команды путь рабочий, но версионирование и lifecycle придётся проверять особенно внимательно, а поведение после обновления DSM непредсказуемо.
NFS, SMB и iSCSI для Kubernetes и CI-раннеров
NFS даёт ReadWriteMany для общих кэшей сборок и PVC с общим доступом, iSCSI - блочные тома ReadWriteOnce для баз данных и репозиториев, SMB нужен Windows-раннерам и части офисных интеграций. Для Kubernetes есть CSI-драйвер для NFS, iSCSI и ZFS на TrueNAS и OMV, у Synology есть официальный CSI-драйвер с поддержкой iSCSI и SMB.
Разница в контроле. TrueNAS и OMV позволяют задать параметры экспорта, версию протокола, число потоков и tuning ядра вплоть до nconnect и передачи по RDMA. DSM ограничивает правки ниже уровня веб-интерфейса, поэтому нестандартные схемы на нём просто не собрать. Тонкости протоколов, multipath и ускорение описаны в материале про iSCSI, NFSv4 и SMB3, а пошаговая выдача доступов в TrueNAS разобрана в инструкции по настройке SMB, NFS и FTP в TrueNAS.
Автоматизация и API
TrueNAS SCALE даёт REST API версии 2.0, WebSocket API и Ansible-коллекцию truenas.scale, для Terraform есть community-провайдер. Типовые задачи закрываются кодом: создать датасет, включить снапшот-политику с расписанием, открыть NFS-экспорт для подсети раннеров, отправить реплику на второй узел.
OMV предоставляет JSON-RPC API, но готовых модулей мало, и часть операций всё равно упирается в правку конфигурации и перезапуск сервисов.
Synology имеет DSM WebAPI с неравномерным покрытием: часть настроек доступна из скриптов, часть только через интерфейс. Ротацию снапшотов и проверку репликации придётся описывать скриптами самостоятельно.
Совокупная стоимость владения: где скрытые расходы
Формула простая: TCO = CAPEX (сервер, диски, память, сеть) + OPEX (электричество, админ-часы, подписки, обучение) за горизонт 3-5 лет. Ниже расчёт на 50 ТБ полезной ёмкости.
Железо и диски
TrueNAS: сервер или сборка с HBA, ECC-памятью и 10GbE. Шесть дисков по 16 ТБ в RAIDZ2 дают около 64 ТБ сырой и 50-56 ТБ полезной ёмкости. HDD в 2026 году стоит ориентировочно 15-25 $ за терабайт, сервер с HBA и 64 ГБ ECC - 1500-2500 $, сетевая карта 10GbE - 100-300 $.
OMV: то же железо либо старый сервер или мини-ПК, CAPEX падает до 800-1500 $ без сети 10GbE. Диски остаются теми же.
Synology: шасси на 8 отсеков уровня DS1823xs+ или RS1221+ стоит 2500-3500 $, фирменные диски дороже обычных на 20-40 %, HDD и NVMe для кэша проверяются по списку совместимости. Схемы сборки из доступных комплектующих и расчёт полезной ёмкости разобраны в руководстве про сборку дискового массива на TrueNAS, OMV или готовом NAS.
Лицензии и подписки
TrueNAS Community Edition бесплатен, платная подписка нужна только для поддержки уровня предприятия. OMV бесплатен полностью. Synology: DSM входит в цену устройства, но расширения и часть пакетов для бизнес-серий продаются отдельно, а расширенная поддержка и гарантия оформляются как сервис. Для open-source вариантов в бюджет закладывайте стоимость компетенций: обучение или разовая консультация обходятся дешевле, чем простой хранилища в день релиза.
Стоимость администрирования
Ставка по часам: TrueNAS - 1-2 часа в месяц на пул при наличии регламента проверок, OMV - 3-5 часов, Synology - 0,5-1 час. При условных 40 $ за час разница за 5 лет составит 2400-4800 $ против 7200-12000 $ и 1200-2400 $ соответственно.
Электричество: сервер на 8 дисках потребляет 120-180 Вт, DS-серия Synology - 40-80 Вт, RS-серия ближе к 150 Вт. За 5 лет при 0,10 $ за кВт·ч выходит 525-790 $ против 175-350 $.
Итого за 5 лет: TrueNAS около 6000-9000 $, OMV 4000-7000 $ с поправкой на более дорогое администрирование, Synology 5500-9000 $. Разброс между вариантами укладывается в 20-40 %, и решают его не цены на диски, а стоимость компетенций и часов поддержки.
Удобство администрирования и порог входа
Установка и первичная настройка
TrueNAS: установка на выделенный сервер, создание пула, датасетов, шары NFS или SMB, включение снапшот-политики. У опытного администратора уходит 2-4 часа, у новичка с изучением концепций ZFS - день или два.
OMV: установка Debian, поверх пакет OMV, дальше массив, шары, плагины. Первичный запуск занимает 2-3 часа, если Debian знаком.
Synology: распаковка, DSM, мастер настройки, том и общая папка. Час работы вместе с обновлением прошивки.
Обновления и миграции
TrueNAS: обновления ZFS-пулов необратимы, флаг версии пула поднимается один раз и назад дороги нет. Перед мажорным апгрейдом нужен бэкап данных и снимок конфигурации. Обновление приложений вроде MinIO и Nexus живёт отдельной жизнью и тоже требует плана и окна обслуживания.
OMV: обновление мажорной версии Debian тянет за собой плагины, часть из них отваливается до обновления автором. Сохраните список установленных плагинов и версий до апгрейда.
Synology: DSM обновляется в один клик, но мажорные релизы иногда убирают поддержку старых пакетов и меняют поведение существующих. Сверяйтесь с матрицей поддержки для своей модели заранее.
Мониторинг и алерты
TrueNAS: встроенные алерты по дискам, температуре и состоянию пула, отправка на почту или в мессенджер, метрики забираются node-exporter и Prometheus. Правило простое: алерт о деградации пула и о провале SMART-теста должен уходить в дежурную систему, а не в ящик, который никто не читает.
OMV: статистика собирается collectd и отображается графиками, для нормального мониторинга ставится node-exporter плюс Zabbix или Grafana.
Synology: штатные оповещения DSM, Active Insight для контроля парка устройств, SNMP для интеграции в Zabbix.
Практические примеры развёртывания под артефакты и инструменты
TrueNAS + MinIO + Nexus: S3 для артефактов
Железо: 8 отсеков, 6-8 HDD, 64-128 ГБ ECC RAM, два NVMe под SLOG и L2ARC, сеть 10GbE.
- Собрать пул RAIDZ2 из шести дисков с ashift=12, включить сжатие lz4 или zstd.
- Создать датасет под MinIO с recordsize 1 МБ и отдельный датасет под метаданные бакетов.
- Поднять MinIO приложением или контейнером, данные положить на датасет, доступ выдать через сервисные аккаунты.
- Создать бакеты nexus-blobs, docker-registry, helm-charts, включить версионирование, для релизных артефактов - Object Lock.
- Настроить lifecycle: сборки старше 90 дней удаляются, релизные артефакты живут без ограничения.
- Проверить скорость: отправка образа на 2 ГБ, распаковка npm-кэша, параллельное скачивание с трёх раннеров.
- Включить ежедневные снапшоты датасета с MinIO и репликацию на второй сервер по расписанию.
Нюансы: MinIO требователен к памяти и к скорости диска под метаданные, TLS ставится на реверс-прокси перед ним, SLOG нужен, если Nexus пишет много мелких объектов синхронно. Следите, чтобы окно репликации не пересекалось с часами сборок, иначе она съест пропускную способность пула.
OpenMediaVault + Docker + NFS: бюджетный вариант
- Установить OMV 8 на Debian 13 на сервер или мини-ПК.
- Собрать массив на mdadm RAID6 или Btrfs RAID1, создать файловую систему ext4 или Btrfs.
- Экспортировать NFS-шару для CI-раннеров, ограничив доступ подсетью и задав режим синхронизации.
- Поставить openmediavault-compose, поднять MinIO и реверс-прокси с TLS.
- Настроить бэкап: rsync на второй узел плюс снапшоты Btrfs, если массив на Btrfs.
- Добавить node-exporter и графики в Grafana.
Нюансы: RAID6 на mdadm даёт медленную запись мелкими блоками из-за пересчёта чётности, для метаданных npm это чувствуется. Синхронный NFS без журнала ускорить нечем, поэтому кэш сборок лучше писать асинхронно и принять риск потери последних секунд данных. Обновление Debian проверяйте на тестовом стенде до продакшена.
Synology + Container Manager: минимум администрирования
- Настроить том Btrfs и общую папку под артефакты, включить снапшоты по расписанию.
- Включить Snapshot Replication и настроить копирование на второй NAS.
- Установить Container Manager, поднять Docker Registry или MinIO.
- Подключить папку к раннерам по NFS или SMB, для Kubernetes использовать официальный CSI-драйвер.
- Настроить оповещения DSM и Active Backup for Business для бэкапа конфигурации.
Нюансы: у бюджетных моделей узкое место - процессор и 1GbE, поэтому горячий кэш сборок сюда лучше не переносить. Для iSCSI и NFS проверьте лимиты по числу одновременных подключений. Максимальный размер тома и список совместимых дисков уточняйте до закупки, иначе расширение упрётся в ограничение платформы.
Сценарии, где каждая система раскрывается лучше всего
Домашняя лаборатория и команда до 10 человек: OMV на мини-ПК или TrueNAS на старом сервере. Задача сводится к шанам под репозитории и проекты, бюджет ограничен. Если планируете рост, берите TrueNAS сразу: переезд с OMV на ZFS без простоя обходится дорого.
SMB-команда до 50 человек с 5-20 разработчиками: TrueNAS SCALE с NFS и MinIO под Nexus. Здесь уже нужны снапшоты репозитория перед релизом и репликация на второй узел, а разовые копии не спасают.
Энтерпрайз с регуляторными требованиями: TrueNAS или Synology в зависимости от того, что проще подтвердить проверяющему. ZFS с контрольными суммами и Object Lock в MinIO закрывают неизменяемость артефактов, DSM с журналами доступа и шифрованием тома проще для команд без Linux-экспертизы.
Гибридный сценарий и edge: Synology на площадке плюс облако для холодных артефактов. Сборочные раннеры и архив блобов удобнее держать в облаке: Timeweb Cloud даёт серверы, VDS/VPS, объектное хранилище и Kubernetes, и это снимает вопрос закупки железа под пиковые сборки. Когда в хранилище лежат веса моделей, а инференс нужен без своего GPU-парка, часть задач закрывает внешний доступ к моделям: AiTunnel даёт единый интерфейс к более чем 200 моделям с оплатой в рублях, а сами артефакты при этом остаются на NAS.
Команда без storage-инженера: Synology. Пакетная поддержка, гарантия и предсказуемые обновления перевешивают гибкость, которую всё равно некому использовать.
Подводные камни и типичные ошибки
- Мало RAM под ZFS. Симптом: провалы при чтении, отдача идёт с дисков вместо ARC. Решение: 1 ГБ на 1 ТБ плюс запас, дедупликацию не включать.
- Нет ECC. Решение: ECC при сборке под артефакты, где цена потери данных выше цены памяти.
- RAIDZ под случайный I/O. Симптом: десятки IOPS на пул при записи 4К. Решение: зеркала или схема уровня RAID10 плюс SLOG на NVMe.
- Scrub не запускается или идёт в часы сборок. Решение: расписание на ночь и ограничение пропускной способности проверки.
- Обновление ZFS-пула без бэкапа. Решение: снимок конфигурации, реплика на второй узел, проверка восстановления на тестовом стенде.
- Плагины OMV отвалились после обновления Debian. Решение: тестовый стенд и список плагинов с версиями перед апгрейдом.
- Несовместимые диски в Synology. Симптом: том не создаётся или диск помечен как неподдерживаемый. Решение: проверка списка совместимости до закупки.
- Нет мониторинга. Симптом: о деградации пула узнаёте от разработчиков. Решение: алерты по SMART и состоянию пула в дежурную систему.
- Права на NFS и SMB отданы на самотек. Симптом: раннеры пишут в репозиторий как root или не могут перезаписать файл. Решение: единый uid и gid, root_squash, ACL.
- Версионирование бакетов выключено. Симптом: перезапись релиза без возможности откатиться. Решение: версионирование и lifecycle, Object Lock для релизных артефактов.
Каждую инструкцию проверяйте на тестовом стенде. Копия пула на виртуальных машинах с теми же параметрами дешевле, чем восстановление репозитория после неудачного апгрейда.
Итоговое сравнение и рекомендации
| Критерий | TrueNAS | OpenMediaVault | Synology |
|---|---|---|---|
| Производительность | Высокая при тюнинге: ZFS, SLOG, L2ARC, сеть 10-25GbE | Средняя, зависит от сборки массива | Средняя, ограничена процессором и сетью модели |
| Гибкость | Максимальная: ZFS, S3 через MinIO, REST API, Ansible | Высокая на уровне Debian, но всё вручную | Ограничена DSM и списком пакетов |
| TCO за 5 лет на 50 ТБ | 6000-9000 $ | 4000-7000 $ | 5500-9000 $ |
| Администрирование | Нужен опыт ZFS и Linux, 1-2 ч в месяц | Нужен опыт Debian, 3-5 ч в месяц | Минимум усилий, 0,5-1 ч в месяц |
| S3 API | Да, MinIO | Да, MinIO в Docker | Через сторонние пакеты и шлюзы |
| Снапшоты и репликация | ZFS-снапшоты и потоковая репликация | Снапшоты Btrfs, rsync | Snapshot Replication |
| Порог входа | Высокий | Средний | Низкий |
TrueNAS берите, если нужны ZFS, S3-бакеты внутри сети, автоматизация через API и есть человек с Linux-опытом. OMV - если бюджет ограничен, нагрузка сводится к NFS и SMB, а команда готова поддерживать Debian. Synology - если storage-инженера нет, а простота и поддержка важнее контроля.
Для артефактов критичны три вещи: S3 API для blob store, снапшоты с репликацией для откатов и предсказуемая запись при параллельных сборках. Система, которая не даёт хотя бы двух из трёх, удорожает эксплуатацию на горизонте двух лет.
Чек-лист выбора:
- Профиль нагрузки: доля крупных блобов и мелких объектов, число параллельных сборок.
- Бюджет на 3-5 лет: CAPEX на железо и диски, OPEX на электричество и поддержку.
- Компетенции в команде: есть ли опыт ZFS, Debian, DSM.
- Требования к RPO и RTO: допустимая потеря данных и время восстановления.
- Интеграции: Kubernetes CSI, Nexus или Artifactory, Docker Registry, Windows-раннеры.
- Рост: план расширения ёмкости на 2-3 года и лимиты платформы по размеру тома и числу дисков.
Проверьте выбранный вариант на реальной нагрузке до закупки дисков: один вечер с fio и одной сборкой дешевле, чем переделка массива через год.