JuiceFS — это высокопроизводительная POSIX-совместимая файловая система, выпущенная под лицензией Apache 2.0, специально предназначенная для облачной среды. Данные, хранящиеся с помощью JuiceFS, будут сохранены в объектном хранилище (например, Amazon S3), а соответствующие метаданные могут быть сохранены в различных совместимых базах данных, таких как Redis, MySQL и TiKV в зависимости от сценария и требований.С помощью JuiceFS можно прямым образом подключить массовое облачное хранилище к большим данным, машинному обучению, искусственному интеллекту и различным платформам приложений в рабочих средах. Без изменения кода массовое облачное хранилище может использоваться так же эффективно, как локальное хранилище.
📖 Документация: Краткое руководство## Основные возможности
9.Глобальные блокировки файлов: JuiceFS поддерживает как блокировки BSD (flock
), так и блокировки записи POSIX (fcntl
).
Сжатие данных: JuiceFS поддерживает LZ4 или Zstandard для сжатия всех ваших данных.Архитектура | Начало работы | Продвинутые темы | Совместимость с POSIX | Бенчмарки производительности | Поддерживаемое хранилище объектов | Кто использует | План развития | Отчет о проблемах | Участие в проекте | Общество | Отслеживание использования | Лицензия | Авторы | Часто задаваемые вопросы
JuiceFS состоит из трёх частей:
JuiceFS может хранить метаданные файловой системы на различных движках метаданных, таких как Redis — быстрый, открытый, встроенный ключ-значение хранилище данных, особенно подходящее для хранения метаданных; при этом все данные будут храниться в хранилище объектов через клиент JuiceFS. Подробнее
Каждый файл, хранящийся в JuiceFS, разбивается на "chunks" фиксированного размера с максимальной величиной по умолчанию 64 МБ. Каждый chunk состоит из одного или нескольких "slices", и длина slice зависит от того, как был записан файл. Каждый slice состоит из блоков фиксированного размера, которые по умолчанию равны 4 МБ. Эти блоки будут храниться в хранилище объектов в конце концов; одновременно метаданные файла и его chunks, slices и блоков будут храниться в движках метаданных через JuiceFS. Подробнее
При использовании JuiceFS файлы в конечном итоге будут разделены на chunks, slices и блоки и сохранены в Объектном хранилище. Поэтому исходные файлы, хранящиеся в JuiceFS, нельзя будет найти в браузере файлов платформы Объектного хранилища; вместо этого в корзине будут только каталог с чанками и множество цифрово пронумерованных каталогов и файлов. Не пугайтесь! Это просто секрет высокопроизводительной работы JuiceFS!
Перед тем как начать, убедитесь, что у вас есть:1. Одно поддерживающее метаданные движение, см. Как настроить движение метаданных 2. Одно поддерживающее объектное хранилище для хранения блоков данных, см. Поддерживаемое объектное хранилище 3. Клиент JuiceFS скачан и установленДля быстрого старта используйте краткое руководство!
См. все опции командной строки в справочнике команд.
JuiceFS можно использовать как постоянный том для Docker и Podman, подробнее см. здесь.
Использование JuiceFS на Kubernetes также очень легко. Подробнее см. здесь.
Если вы хотите использовать JuiceFS в Hadoop, проверьте Java SDK для Hadoop.
Для получения более подробной информации обратитесь к центру документации JuiceFS.## Совместимость с POSIX
JuiceFS прошёл все тесты совместимости (всего 8813) в последней версии pjdfstest.
Все тесты пройдены успешно.
```Отчет о тестах
--------------
/root/soft/pjdfstest/tests/chown/00.t (Wstat: 0 Tests: 1323 Failed: 0)
TODO passed: 693, 697, 708-709, 714-715, 729, 733
Файлов: 235, Тестов: 8813, Времени выполнения: 233 секунды (2.77 usr 0.38 sys + 2.57 cusr 3.93 csys = 9.65 CPU)
Результат: УСПЕШНЫЙ
```Кроме того, что проверено тестами `pjdfstest`, JuiceFS также предоставляет следующие возможности:
- **Соответствие "write-close"**. После записи файла и его закрытия гарантируется просмотр записанных данных при последующих открытиях и чтениях с любого клиента. При этом внутри одной точки монтирования все записи становятся доступными сразу после записи.
- Переименование и все остальные операции метаданных являются атомарными, что обеспечивается транзакциями поддерживаемого движка метаданных.
- Открытые файлы остаются доступными после удаления с той же точки монтирования.
- Mmap (тестировано с FSx).
- Fallocate с поддержкой вырезания областей.
- Расширенные атрибуты (xattr).
- BSD блокировки (flock).
- Блокировки POSIX (fcntl).
## Оценка производительности
### Основной бенчмарк
JuiceFS предоставляет подкоманду, которая может запустить несколько базовых бенчмарков для помощи в понимании работы системы в вашем окружении:

### Пропускная способность
Проведён бенчмарк последовательного чтения и записи для JuiceFS, [EFS](https://aws.amazon.com/efs) и [S3FS](https://github.com/s3fs-fuse/s3fs-fuse) с помощью [fio](https://github.com/axboe/fio).

Вышеуказанный график показывает, что JuiceFS обеспечивает в десять раз большую пропускную способность по сравнению с другими двумя системами (подробнее см. [инфо](https://juicefs.com/docs/community/fio)).### Производительность метаданных
Проведён простой бенчмарк метаданных mdtest для JuiceFS, [EFS](https://aws.amazon.com/efs) и [S3FS](https://github.com/s3fs-fuse/s3fs-fuse) с помощью [mdtest](https://github.com/hpc/ior).

График показывает, что JuiceFS обеспечивает значительно большую производительность метаданных по сравнению с другими двумя системами (подробнее см. [инфо](https://juicefs.com/docs/community/mdtest)).
### Анализ производительности
Для анализа производительности обратитесь к разделу [Мониторинг производительности в реальном времени](https://juicefs.com/docs/community/fault_diagnosis_and_analysis#performance-monitor), если возникли проблемы с производительностью.
## Поддерживаемые службы объектного хранилища
- Amazon S3 _(и другие совместимые с S3 службы объектного хранилища)_
- Google Cloud Storage
- Azure Blob Storage
- Alibaba Cloud Object Storage Service (OSS)
- Tencent Cloud Object Storage (COS)
- Qiniu Cloud Object Storage (Kodo)
- QingStor Object Storage
- Ceph RGW
- MinIO
- Локальный диск
- Redis
- ...
JuiceFS поддерживает множество служб объектного хранилища. [Узнайте больше](https://juicefs.com/docs/community/how_to_setup_object_storage#supported-object-storage).
## Кто используетJuiceFS готов к использованию в производстве и используется тысячами машин. Список пользователей собран и документирован [здесь](https://juicefs.com/docs/community/adopters). К тому же, у нас есть несколько проектов, которые интегрированы с другими открытыми проектами, что мы документируем [здесь](https://juicefs.com/docs/community/integrations). Если вы также используете JuiceFS, пожалуйста, сообщите нам об этом, и вы приветствуетесь поделиться своим опытом со всеми.Формат хранения стабилен и будет поддерживаться во всех будущих выпусках.
## План действий
- Ограничения пользователя и группы
- Аппаратные моментальные снимки
- Однократная запись многократного чтения (WORM)
## Отчет о проблемах
Мы используем [GitHub Issues](https://github.com/juicedata/juicefs/issues) для отслеживания сообщества о проблемах. Вы можете также [обратиться](#сообщество) за помощью по любым вопросам.
## Вклад
Спасибо за ваш вклад! Для получения более подробной информации обратитесь к [руководству по вкладу в проект JuiceFS](https://juicefs.com/docs/community/development/contributing_guide).
## Сообщество
Добро пожаловать в раздел [Обсуждение](https://github.com/juicedata/juicefs/discussions) и канал Slack [Slack channel](https://go.juicefs.com/slack), чтобы связаться с членами команды JuiceFS и другими пользователями.
## Отслеживание использования
JuiceFS собирает анонимные данные использования по умолчанию, чтобы лучше понять, как сообщество использует JuiceFS. Отчитываются только ключевые метрики (например, номер версии), а данные пользователей и любая другая конфиденциальная информация не включаются. Соответствующий код можно просмотреть [здесь](pkg/usage/usage.go).
Вы также можете легко отключить отчетность с помощью командной строки `--no-usage-report`:
```bash
juicefs mount --no-usage-report
JuiceFS распространяется под лицензией Apache License 2.0, см. LICENSE.Дизайн JuiceFS был вдохновлен Google File System, HDFS и MooseFS. Благодарим вас за вашу отличную работу!
JuiceFS поддерживает множество сервисов объектного хранилища. Вначале проверьте этот список. Если объектное хранилище, которое вы хотите использовать, совместимо с S3, вы можете рассматривать его как S3. В противном случае попробуйте сообщить о проблеме.
Да. Начиная с версии v1.0.0 Beta3 JuiceFS поддерживает использование Redis Cluster в качестве движка метаданных, но следует отметить, что Redis Cluster требует, чтобы ключи всех операций в транзакции находились в одном хеш-слоте, поэтому файловая система JuiceFS может использовать только один хеш-слот.
Подробнее см. раздел "Лучшие практики Redis".
Подробнее см. раздел "Сравнение с другими".
Для просмотра полного списка часто задаваемых вопросов, пожалуйста, обратитесь к полному списку.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )