В сценариях, таких как обучение и инференс AI, высокопроизводительная предобработка данных, EDA, рендеринг и моделирование, вы можете использовать файловые системы SFS Turbo для ускорения доступа к вашим данным в OBS. SFS Turbo поддерживает бесшовный доступ к объектам, хранящимся в OBS бакетах. Вы можете привязать каталог в вашей файловой системе SFS Turbo к OBS бакету, а затем создать задачи импорта и экспорта для синхронизации данных между файловой системой и бакетом. Перед запуском задач обучения верхнего уровня вы можете предзагрузить данные из вашего OBS бакета в SFS Turbo, чтобы ускорить доступ к данным. Промежуточные данные и результирующие данные, генерируемые этими задачами, затем могут быть записаны в SFS Turbo на высокой скорости. Нижестоящие сервисы могут читать и обрабатывать промежуточные данные, а результирующие данные могут асинхронно экспортироваться в OBS бакеты для долгосрочного, недорогого хранения. Кроме того, SFS Turbo позволяет настроить время выселения холодных данных для автоматического удаления данных, к которым долго не обращались, чтобы освободить кеш‑пространство.
Рисунок 1 Add OBS Bucket

Parameter | Description | Constraints | Can Be Modified |
|---|---|---|---|
Interworking Directory Name | SFS Turbo создаст подкаталог с этим именем в корневом каталоге файловой системы и привяжет этот подкаталог к указанному OBS bucket, поэтому имя должно быть уникальным. |
| No |
OBS Endpoint | Конечная точка OBS. Чтобы просмотреть конечную точку OBS, см. раздел "Viewing Bucket Information" в Object Storage Service User Guide. | - | Нет |
Имя бакета | Имя OBS бакета. Чтобы просмотреть имя OBS бакета, см. раздел "Viewing Bucket Information" в Object Storage Service User Guide. |
| Нет |
Разрешения на файлы для импорта | Разрешения на файлы, которые будут импортированы. Введите трёхзначное число. Одна цифра слева направо представляет разрешения владельца, группы и остальных пользователей. Каждая цифра является суммой числовых значений разрешений. Разрешение на чтение обозначается значением 4, запись — 2, выполнение — 1, отсутствие разрешения — 0. | Этот параметр необязателен. Введите трёхзначное число, каждая цифра которого находится в диапазоне от 0 до 7. | Да |
Разрешения на каталоги для импорта | Разрешения на каталоги, которые будут импортированы. Введите трёхзначное число. Одна цифра слева направо представляет разрешения владельца, группы и остальных пользователей. Каждая цифра является суммой числовых значений разрешений. Разрешение на чтение обозначается значением 4, запись — 2, выполнение — 1, отсутствие разрешения — 0. | Этот параметр необязателен. Введите трехзначное число, каждая цифра которого находится в диапазоне от 0 до 7. | Yes |
User ID | Идентификатор пользователя, которому принадлежат файлы или каталоги, которые будут импортированы. | Этот параметр необязателен. Введите целое число в диапазоне от 0 до 4294967294 (2^32 – 2). | Yes |
User Group ID | Идентификатор группы пользователей, к которой принадлежат файлы или каталоги для импорта. | Этот параметр необязателен. Введите целое число в диапазоне от 0 до 4294967294 (2^32 – 2). | Yes |
Auto Export | Если включено, все изменения, внесённые в файловую систему, будут автоматически экспортированы в OBS bucket. | - | Yes |
Data to Export | Этот параметр отображается, если вы включите Auto Export. Выберите тип обновлённых данных для экспорта в OBS bucket. Поддерживаемые типы включают New, Changed и Deleted. Данные экспортируются из SFS Turbo в OBS асинхронно. New: Файлы, созданные, а затем изменённые в каталоге взаимодействия SFS Turbo. Любые изменения данных или метаданных будут автоматически синхронизированы с OBS bucket. Changed: Файлы, ранее импортированные из OBS bucket и затем изменённые в каталоге взаимодействия SFS Turbo. Любые изменения данных или метаданных будут автоматически синхронизированы с OBS bucket. Deleted: Файлы, удалённые из каталога взаимодействия SFS Turbo. Удаления будут автоматически синхронизированы с OBS bucket, и будут удалены только те файлы, которые ранее были экспортированы в bucket. | - | Yes |
Вы можете настроить auto synchronization при добавлении OBS storage backend или после его добавления.
Если включить auto export, SFS Turbo будет асинхронно экспортировать данные в OBS в зависимости от выбранных типов данных.
Поддерживаемые типы включают New, Changed и Deleted.
Чтобы настроить автоматическую синхронизацию при добавлении OBS bucket, см. Adding an OBS Bucket.
Чтобы настроить автоматическую синхронизацию после добавления OBS bucket, выполните следующие действия:
Figure 2 Auto Synchronization

Figure 3 Auto Export

После добавления OBS bucket в качестве хранилища вы можете использовать функцию metadata import.
Перед доступом к данным в вашем OBS bucket из SFS Turbo необходимо использовать metadata import для импорта метаданных объектов (имя, размер и время последнего изменения) из bucket в файловую систему. Доступ к данным в OBS bucket из каталога взаимодействия SFS Turbo возможен только после импорта метаданных. Эта операция импортирует только метаданные. Данные будут загружаться из bucket и кэшироваться в файловой системе при первом обращении. При последующих обращениях к тем же данным они будут получаться из файловой системы, а не из bucket.
SFS Turbo поддерживает два метода metadata import: quick import и additional metadata import. После завершения импорта метаданных вы можете просматривать импортированные каталоги и файлы в каталоге взаимодействия.
Рисунок 4 Import Metadata

После добавления OBS бакета в качестве хранилища вы можете использовать функцию импорта данных.
По умолчанию после импорта метаданных данные не импортируются в файловую систему SFS Turbo. Вместо этого данные загружаются из бакета в файловую систему при первом обращении, что может занять некоторое время. Если ваши нагрузки чувствительны к задержкам и вы знаете, какие каталоги и файлы будут использоваться, например, обучение AI включает большое количество небольших файлов и сильно чувствительно к задержкам, вы можете заранее импортировать необходимые каталоги и файлы.
Во время импорта данных будут импортированы как данные, так и метаданные, при этом будет выполнен быстрый импорт метаданных, что означает, что дополнительные метаданные (например, uid, gid и mode) импортированы не будут.
Рисунок 5 Data import

Если указываете путь к каталогу, завершайте его косой чертой (/).
После добавления OBS bucket в качестве хранилища для файловой системы SFS Turbo можно использовать функцию экспорта данных.
Экспорт данных позволяет экспортировать любые файлы, вновь созданные в директории взаимодействия, а также импортированные объекты, которые вы позже изменяете, в OBS bucket. Можно также указать префикс, чтобы экспортировать только каталоги и файлы, соответствующие этому префиксу.
Рисунок 6 Export

Если файл ранее был импортирован и затем изменён в SFS Turbo, он перезапишет свой объект‑партнёр в Бакете, если является более новым. В противном случае он не будет перезаписывать объект‑партнёр в Бакете. Во время процесса перезаписи объект‑партнёр файла в Бакете сначала удаляется, после чего обновлённый файл записывается в Бакет. Это может удалить объект‑партнёр, который всё ещё используется. Когда включён автоэкспорт, если файл в файловой системе SFS Turbo часто изменяется, рекомендуется избегать доступа к его объекту‑партнёру в OBS Бакете.
Если вы загружаете объект в OBS, когда объект с тем же именем экспортируется, загруженный объект может быть перезаписан.
После добавления OBS bucket в качестве хранилища для файловой системы SFS Turbo вы можете использовать функцию выселения холодных данных. Холодные данные — это файлы в файловой системе, к которым не обращались в течение определённого времени. Когда SFS Turbo обнаруживает такие данные, он выселяет их, сохраняя их метаданные. Выселенные данные больше не занимают место в файловой системе SFS Turbo. Когда к выселенному файлу позже обращаются, SFS Turbo загружает данные из OBS.
Выселение холодных данных может инициироваться на основе времени или ёмкости. Если оба метода работают, выселение происходит по тому условию, которое наступит первым.
Выселение по времени
После добавления OBS bucket в качестве хранилища для файловой системы SFS Turbo вы можете использовать выселение холодных данных по времени. Файлы, к которым не обращались в течение указанного периода, будут автоматически выселены. В сценариях с высокой производительностью рекомендуется задавать относительно длительный период выселения, чтобы избежать высокой задержки, вызванной частой загрузкой данных из OBS.
Функция выселения холодных данных включена по умолчанию, с периодом по умолчанию 60 часов. Вы можете настроить выселение по времени в консоли, выполнив указанные ниже шаги: Кроме того, можно использовать вызов API для настройки периода выселения холодных данных. Подробности см. в разделе "Updating a File System" в Scalable File Service API Reference.
Figure 7 Настройка периода выселения холодных данных

Выселение по ёмкости
После добавления OBS bucket в качестве хранилища для файловой системы SFS Turbo вы можете обратиться в техническую поддержку и запросить включение выселения по ёмкости. Эта функция не может быть настроена через консоль или с помощью API. После включения, когда использование ёмкости достигает 95%, система автоматически инициирует выселение данных каждые 30 минут, пока использование ёмкости не опустится ниже 85%.
Если файловая система SFS Turbo заполнится, это повлияет на работу сервисов. Рекомендуется настроить правило тревоги в Cloud Eye для мониторинга использованной ёмкости файловой системы.
Когда генерируется тревога по ёмкости, рекомендуется принять одну из следующих мер:
Для файлов, импортированных из OBS в SFS Turbo, если они не запрашиваются в течение настроенного периода выселения, они будут выселены.
Для файлов, созданных в SFS Turbo, они будут выселены только после экспорта в OBS и при соблюдении правила выселения. Если они не экспортированы, они не будут выселены.
Когда файловая система SFS Turbo содержит только метаданные файлов (поскольку был импортирован только метаданные или произошло выселение данных) и объект в Бакете OBS был удалён, импорт данных или доступ к файлу завершатся неудачей.
Задачи являются асинхронными. После отправки задачи вы можете запросить статус задачи по её ID.
No.
В файловой системе SFS Turbo, когда вы редактируете файл (данные или метаданные) в vim, редактор не просто изменяет файл. Он фактически удаляет его и создаёт заново. Автосинхронизация рассматривает это как новый файл, а не как изменённый, поэтому изменения не могут быть экспортированы по политике "changed data". Чтобы исправить это, настройте автосинхронизацию на экспорт new data. Тогда файлы, отредактированные в vim, будут корректно экспортированы.