Логотип

ZeroFS превращает корзины S3 в файловые системы и блочные устройства Linux

ZeroFS превращает корзины S3 в файловые системы и блочные устройства Linux

Большинство людей знают, что S3-совместимое хранилище — объектное хранилище, использующее модель API Amazon S3, — это место для хранения резервных копий, архивов, изображений, журналов и данных приложений. К таким хранилищам относятся AWS S3, коммерческие S3-совместимые облачные сервисы и собственные платформы, такие как Garage, SeaweedFS и RustFS.

Она дешевая, широко распространенная и хорошо работает в больших масштабах, но обычно ведет себя не так, как привычные пользователям Linux хранилища данных. ZeroFS призвана это изменить.

Это новый проект с открытым исходным кодом, который представляет объектное хранилище, совместимое с S3, в виде файловых систем и блочных устройств, доступных в Linux, что позволяет использовать объектное хранилище не только для резервного копирования, архивирования или специализированных рабочих процессов.

С технической точки зрения ZeroFS работает между серверной частью хранилища и операционной системой, предоставляя доступ к данным в виде файловой системы в стиле POSIX через NFS или 9P, а также в виде необработанного блочного хранилища через NBD. Это позволяет использовать один и тот же бэкенд, совместимый с S3, для доступа к файлам и каталогам или к блочному устройству, которое можно отформатировать с помощью таких файловых систем, как ext4, или использовать в стеках хранения данных, таких как ZFS.

Основная цель проекта проста: сделать объектное хранилище доступным там, где в системах Linux ожидается доступ к файловой системе или блочному устройству. Вместо того чтобы полагаться на монтирование через FUSE или пользовательские приложения с API S3, ZeroFS использует протоколы, уже поддерживаемые операционными системами. Согласно документации, это включает в себя доступ на уровне файлов через NFS и 9P, а также доступ на уровне блоков через NBD.

Читать  Хранители данных радуются выпуску диска WD My Book Duo с небывалой емкостью 44 ТБ

Вот что о них можно сказать подробнее. NFS обеспечивает широкую совместимость ZeroFS, поскольку клиенты NFS практически доступны практически на всех Unix-подобных операционных системах. Опция 9P предназначена специально для Linux и обеспечивает более полное соответствие стандарту POSIX и расширенное кэширование. Протокол NBD (Network Block Device, сетевое блочное устройство) уникален тем, что позволяет использовать хранилище, совместимое с S3, в качестве необработанного блочного устройства.

Согласно документации проекта, устройства NBD, созданные с помощью ZeroFS, можно использовать для файловых систем ext4, пулов ZFS, баз данных и загрузочных дисков виртуальных машин. Другими словами, ZeroFS не ограничивается представлением файлов из объектного хранилища, но также поддерживает уровни хранения данных Linux поверх S3-совместимого бэкенда.

Что касается безопасности, ZeroFS обеспечивает обязательное шифрование. Данные шифруются перед загрузкой с помощью алгоритма XChaCha20-Poly1305, а ключи генерируются на основе пароля с помощью Argon2id. Незашифрованного режима не существует, поэтому провайдеры объектного хранилища получают только зашифрованные данные.

Кроме того, перед шифрованием данные файлов сжимаются с помощью алгоритма zstd по умолчанию или более быстрого алгоритма LZ4. Кроме того, метод сжатия можно изменить без переноса существующих данных, при этом ранее записанные фрагменты останутся доступными.

Что касается производительности и, в частности, кэширования, ZeroFS поддерживает кэширование в памяти и на локальном диске, чтобы снизить задержку при хранении объектов — известное ограничение при использовании хранилища, совместимого с S3, в качестве традиционной файловой системы. Среди дополнительных функций — контрольные точки, реплики для чтения, поддержка TRIM, опциональное хранилище WAL, автономный компактор и веб-интерфейс с файловым менеджером, панелью управления и терминалом в браузере.

Читать  Распространенные ошибки подключения EC2 и способы их устранения

Тем не менее к ZeroFS следует относиться с осторожностью. Объектное хранилище существенно отличается от локальных дисков или традиционных сетевых хранилищ по времени отклика и согласованности, и его использование в качестве файловой системы или блочного устройства сопряжено с определенными трудностями.

Но даже с учетом этого ZeroFS — отличный вариант для тестирования облачных файловых систем, локальных хранилищ, зашифрованных удаленных хранилищ и экспериментальных рабочих процессов с использованием блочных устройств в объектном хранилище. Проект написан на языке Rust и распространяется как бесплатное программное обеспечение с открытым исходным кодом под лицензией AGPL-3.0.

Дополнительные сведения, инструкции по установке и примеры конфигурации доступны на официальном сайте проекта и в репозитории GitHub.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)

Важно: Данная статья носит информационный характер. Автор не несёт ответственности за возможные сбои или ошибки, возникшие при использовании описанного программного обеспечения.

Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

9 − один =

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала