Как мы создали файловое облако на 100 ТБ
Зачем нам понадобилось своё облако
У нас возникла потребность в создании облачного хранилища файлов и документов. Необходимый объём — примерно 5 ТБ с возможностью масштабирования. Мы исследовали несколько систем: Nextcloud, ownCloud, MinIO и Seafile. После детального сравнения выбрали Seafile — open-source платформу для корпоративного хранения файлов.
Почему Seafile?
- Хранит версии файлов — можно откатиться к любой предыдущей версии документа, как машина времени для ваших файлов.
- Удобный веб-интерфейс — работать с файлами можно прямо из браузера, без установки дополнительных программ.
- Десктопные приложения — есть программы для Windows, macOS и Linux, которые синхронизируют файлы автоматически.
- Подключение как сетевой диск — облако можно подключить как обычный диск в проводнике, работать с файлами как с локальными.
Как это устроено
Мы подключили Seafile к объектному хранилищу S3 через промежуточную файловую систему JuiceFS. Это позволяет хранить практически неограниченный объём данных, при этом сервер Seafile может быть совсем небольшим — ему не нужны терабайты локального диска.

Простыми словами: когда вы загружаете файл через браузер или приложение, он проходит через веб-сервер Seafile, разбивается на блоки, сжимается и отправляется в облачное хранилище S3. При скачивании происходит обратный процесс. Всё это невидимо для пользователя — он просто работает с папками и файлами как обычно.
Стресс-тест: 100 ТБ данных
Для тестирования мы решили проверить, как система справится с объёмом, в 20 раз превышающим наши реальные потребности. Мы ограничили объём хранилища в 100 ТБ и начали заполнять его тестовыми данными.
Основная сложность тестирования — заполнить хранилище тестовыми данными. На загрузку всех данных у нас ушло около двух недель. За это время мы провели более 120 тестов на целостность данных и 6 полных циклов замеров производительности.
Скорость загрузки
Мы измерили скорость загрузки файлов разного размера — от 1 МБ (небольшой документ) до 500 МБ (видеофайл). Средняя скорость через интерфейс Seafile составила 6,5–12 МБ/с, а напрямую в S3 — до 37 МБ/с.

Скорость скачивания
Скачивание оказалось значительно быстрее загрузки. На средних файлах (50 МБ) скорость достигала 57 МБ/с — это быстрее, чем скачивание напрямую из S3, благодаря умному кэшированию JuiceFS.

Параллельная загрузка
Когда несколько пользователей загружают файлы одновременно, общая пропускная способность растёт. Оптимальный результат — при 3 одновременных загрузках: скорость увеличивается в 2,5 раза.

Надёжность хранения
Самый важный вопрос: не потеряются ли и не повредятся ли данные? Мы загрузили 120 файлов разного размера, затем скачали их обратно и сравнили контрольные суммы (цифровые отпечатки файлов). Результат —100% совпадение. Ни один файл не был повреждён.
Сколько времени нужно на заполнение

Итоговые показатели
Показатель |
Результат |
Загрузка (средняя) |
6,5 – 12 МБ/с |
Скачивание (средняя) |
19 – 57 МБ/с |
Латентность (TTFB) |
2 мс (после прогрева) |
Целостность данных |
120/120 = 100% |
Параллельный оптимум |
3 потока (×2,5 ускорение) |
Максимальная ёмкость |
100 ТБ (тестировано) |
Время загрузки 5 ТБ |
3,5 дня (3 потока) |
Выводы
Мы успешно развернули корпоративное облачное хранилище на базе Seafile, способное работать с объёмами до 100 ТБ. Система показала стабильную производительность, абсолютную целостность данных и удобство использования.
Для типичных задач — хранение документов, совместная работа с файлами, резервное копирование — скорость загрузки 6–17 МБ/с и скачивания до 57 МБ/с более чем достаточна. Это позволяет загрузить, например, гигабайтный архив за 1–2 минуты, а скачать — за 20 секунд.
Если вам нужно создать облачное хранилище большого объёма с нестандартными требованиями — обращайтесь к нам. Мы поможем подобрать оптимальное решение, развернуть и протестировать его.