ossfs 2,0 est un client qui permet d'accéder à Object Storage Service (OSS) avec des performances élevées en le montant comme un système de fichiers. Il offre d'excellentes performances en lecture et écriture séquentielles et exploite pleinement la bande passante élevée d'OSS.
Améliorations des performances
ossfs 2.0 apporte des améliorations significatives par rapport à ossfs 1.0 pour les opérations de lecture et d'écriture séquentielles, ainsi que pour les lectures concurrentes de petits objets. Pour plus d'informations sur les performances d'ossfs 2,0, consultez la rubrique Tests de performance.
Performances en écriture séquentielle : Dans les scénarios d'écriture séquentielle de grands objets sur un seul thread, ossfs 2,0 offre une bande passante près de 18 fois supérieure à celle d'ossfs 1,0.
Performances en lecture séquentielle : Dans les scénarios de lecture séquentielle de grands objets sur un seul thread ou sur plusieurs threads (4 threads), ossfs 2,0 offre une bande passante plus de 3 fois supérieure à celle d'ossfs 1,0.
Performances en lecture concurrente de petits objets : Dans les scénarios de lecture de petits objets avec une forte concurrence (128 threads), ossfs 2,0 offre une bande passante plus de 20 fois supérieure à celle d'ossfs 1,0.
Cas d'utilisation
ossfs 2,0 convient aux scénarios nécessitant un accès au stockage haute performance, tels que l'entraînement et l'inférence en IA, le traitement du Big Data, la conduite autonome et autres charges de travail intensives en calcul. Ces charges de travail impliquent principalement des lectures séquentielles et aléatoires, ainsi que des écritures séquentielles (ajout uniquement), et ne requièrent pas la sémantique POSIX complète.
Environnement d'exécution
ossfs 2,0 est basé sur Filesystem in Userspace (FUSE).
|
Architecture |
Système d'exploitation |
Version |
URL de téléchargement |
|
x86_64 |
CentOS |
CentOS 7 et CentOS 8 |
|
|
Rocky Linux |
Rocky Linux 9.0 et versions ultérieures |
||
|
Alibaba Cloud Linux |
Alibaba Cloud Linux 2 et versions ultérieures |
||
|
Ubuntu |
Ubuntu 20.04 LTS et versions LTS ultérieures |
||
|
Debian |
Debian 11 et versions ultérieures |
||
|
aarch64 |
Alibaba Cloud Linux |
Alibaba Cloud Linux 3 |
Limites
Exigences en matière d'autorisations : l'AccessKey que vous utilisez doit disposer d'autorisations complètes pour le bucket ou le préfixe cible. Des permissions insuffisantes peuvent entraîner l'échec de l'opération de montage ou un comportement inattendu lors d'autres opérations.
Limites liées aux classes de stockage : il est déconseillé de monter des buckets appartenant aux classes de stockage Archive, Cold Archive ou Deep Cold Archive.
Limites relatives aux noms d'objets et de répertoires : les noms d'objets et de répertoires sont limités à 255 caractères en raison d'une contrainte Linux. Les objets ou répertoires présents dans OSS dont les noms dépassent cette limite ne sont pas visibles au point de montage.
Limites de lecture des objets : ossfs télécharge vers OSS les objets nouvellement écrits uniquement après la fermeture des handles de fichier correspondants. La lecture d'un objet avant la fermeture de son handle peut provoquer une erreur.
Limites d'écriture des objets : en mode par défaut, les écritures aléatoires et les écritures concurrentes sur le même objet ne sont pas prises en charge. La taille de partie par défaut est de 8 388 608 octets (8 MiB), ce qui limite la taille maximale d'un objet inscriptible à 83 886 080 000 octets (78 125 GiB). Vous pouvez configurer la taille des parties à l'aide de l'option de montage upload_buffer_size. À partir de la version 2.0.9, vous pouvez utiliser l'option de montage temp_dir pour activer le mode d'écriture aléatoire basé sur un répertoire temporaire local. Ce mode prend en charge les écritures à des décalages arbitraires, la troncature à n'importe quelle taille et les handles d'écriture concurrents sur le même objet.
-
Opérations de renommage d'objets (non atomiques)
Objets : l'opération copie d'abord l'objet source vers la destination, puis supprime l'objet source.
Répertoires : l'opération copie tous les objets situés sous le répertoire source vers la destination, puis effectue une suppression groupée des objets sources. Par défaut, l'opération de renommage est limitée à 2 millions d'objets descendants. Vous pouvez modifier cette limite à l'aide de l'option de montage rename_dir_limit.
Cohérence des écritures concurrentes : ossfs 2,0 ne garantit pas la cohérence des données lorsque plusieurs clients montent le même bucket et écrivent simultanément sur le même objet.
Compatibilité avec l'API POSIX : partiellement compatible. Pour plus de détails, consultez la section Prise en charge de l'API POSIX.
Fonctionnalités
Points forts
Offre une compatibilité POSIX de base et se concentre sur la maximisation des performances de lecture et d'écriture côté serveur OSS.
Fournit des performances efficaces de lecture et d'écriture séquentielles pour les grands objets grâce à une optimisation de bout en bout du chemin de lecture et d'écriture.
Permet un chargement simultané efficace des petits objets grâce à une gestion optimisée des métadonnées.
Vous permet de monter automatiquement un bucket OSS au démarrage du système en configurant fstab.
Prise en charge de l'API POSIX
Le tableau suivant compare la prise en charge de l'API POSIX dans ossfs 1,0 et ossfs 2,0.
|
Catégorie de fonctionnalité |
Opération |
ossfs 1,0 |
ossfs 2,0 |
|
Opérations de base sur les objets |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Lectures et écritures d'objets |
|
|
|
|
|
Prend en charge les écritures aléatoires (un cache disque doit être configuré) |
Prend uniquement en charge les écritures séquentielles par défaut (aucun cache disque requis). À partir de la version 2.0.9, les écritures aléatoires sont également prises en charge (nécessite un cache disque). |
|
|
(peut être tronqué à n'importe quelle taille) |
Par défaut, seule la troncature d'un objet à une longueur nulle est prise en charge. À partir de la version 2.0.9, la troncature à n'importe quelle taille est possible (nécessite un cache disque). |
|
|
Opérations sur les métadonnées des objets |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Opérations sur les répertoires |
|
|
|
|
|
|
|
|
|
|
|
|
|
Autorisations et attributs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fonctionnalités étendues |
|
|
|
|
|
|
Non pris en charge par défaut. À partir de la version 2.0.6, cette fonctionnalité peut être activée via les options de montage. Elle prend en charge les liens symboliques pointant vers des chemins situés dans le point de montage. |
|
|
|
|