Montez des buckets OSS, des systèmes de fichiers NAS, des jeux de données, des ensembles de code ou des modèles sur vos services EAS afin de partager des données entre instances et de mettre à jour le contenu sans reconstruire les images.
Sélectionner une solution de stockage
Sélectionnez d'abord un type de stockage, puis choisissez une méthode de montage.
1. Sélectionner un type de stockage sous-jacent
Choisissez en fonction des caractéristiques de vos données et de vos exigences en matière de performances.
|
Type de stockage |
Caractéristiques des fichiers |
Modèle de lecture/écriture |
Caractéristiques de performance |
Cas d'utilisation typiques |
|
OSS |
Volumes massifs de fichiers volumineux |
Lecture intensive |
Débit élevé, coût réduit |
Stockage de fichiers de modèles, gestion des actifs statiques |
|
NAS généraliste |
Fichiers de taille moyenne à grande |
Lecture/écriture mixte, partage multi-instances |
IOPS modérés, latence modérée |
Répertoires partagés pour plusieurs instances, gestion des fichiers de configuration |
|
NAS Extreme |
Nombreux petits fichiers |
Opérations de lecture/écriture à haute fréquence et faible latence |
Faible latence, IOPS élevés |
Entraînement IA, calcul haute performance |
|
CPFS |
Fichiers à très grande échelle |
Lecture/écriture parallèle massive |
Latence extrêmement faible, débit extrêmement élevé |
Entraînement distribué, calcul parallèle à grande échelle |
Recommandations :
Pour les applications sensibles aux coûts : OSS propose le coût de stockage le plus bas et convient aux volumes de données importants lorsque la performance n'est pas critique.
Pour les applications sensibles aux performances : Le classement des performances est le suivant : CPFS > NAS Extreme > NAS généraliste > OSS. Choisissez en fonction de votre budget et de vos besoins en performances.
Utilisez une combinaison : Montez simultanément plusieurs types de stockage. Par exemple, utilisez OSS pour les grands modèles et NAS généraliste pour les fichiers de configuration partagés.
Parcours de migration : Commencez par OSS pour une validation rapide, puis migrez vers NAS ou CPFS pour la production selon vos besoins.
CPFS nécessite des quotas de ressources de calcul Lingjun.
Le service EAS et la cible de montage NAS doivent se trouver dans le même VPC. Accéder aux ressources publiques ou internes depuis EAS.
2. Sélectionner une méthode de montage
Choisissez une méthode de montage adaptée à votre cas d'utilisation.
|
Méthode de montage |
Cas d'utilisation |
Avantage principal |
Description |
|
Montage direct d'un chemin de stockage |
Validation rapide, utilisation temporaire |
Configuration simple, utilisation à la demande |
Spécifiez directement un chemin OSS ou NAS |
|
Montage d'un jeu de données PAI |
Gestion des versions de données, collaboration en équipe |
Contrôle de version, réutilisation des actifs |
Enregistrez un chemin OSS ou NAS en tant que jeu de données |
|
Montage depuis Git |
Déploiement de code applicatif et de scripts |
Contrôle de version du code |
Récupération depuis un dépôt Git, montage en lecture seule |
|
Montage d'un ensemble de code PAI |
Gestion des actifs de code en entreprise |
Gestion normalisée, audit et traçabilité |
Enregistrez un dépôt Git en tant qu'ensemble de code |
|
Montage d'un modèle PAI |
Gestion des versions de modèles |
Itération des modèles, collaboration en équipe |
Enregistrez un modèle en tant qu'actif IA PAI |
Montages de stockage de base
Montage OSS
Cas d'utilisation
Stockez des fichiers de modèles volumineux (de l'ordre du Go ou plus).
Stockez des actifs statiques nécessaires à l'inférence, tels que des images, des vidéos et des fichiers de configuration.
Charge de travail à dominante lecture, où la lecture des données constitue l'opération principale.
Applications sensibles aux coûts nécessitant un stockage économique.
Configuration
Dans la section de montage de stockage de la console, sélectionnez OSS et spécifiez le bucket ainsi que le chemin de montage.
Exemple JSON :
{
"storage": [
{
"oss": {
"path": "oss://bucket/path/",
"readOnly": false
},
"mount_path": "/mnt/data/"
}
]
}
Paramètres :
|
Paramètre (Console) |
Paramètre (JSON) |
Description |
|
Uri |
oss.path |
Chemin source du bucket OSS. Pour créer un bucket, consultez Démarrage rapide. |
|
Chemin de montage |
mount_path |
Chemin de destination dans l'instance de service. Accédez aux fichiers sources depuis ce chemin. Exemple : |
|
Lecture seule |
oss.readOnly |
Indique si le montage est en mode lecture seule. |
Montage NAS
Les montages NAS prennent en charge le NAS généraliste, le NAS Extreme et CPFS, sous réserve des exigences réseau indiquées dans la section Sélectionner une solution de stockage.
Exemple JSON :
{
"storage": [
{
"nfs": {
"path": "/",
"server": "06ba74****-a****.cn-hangzhou.nas.aliyuncs.com",
"readOnly": false
},
"mount_path": "/mnt/data/"
}
]
}
Paramètres :
|
Paramètre (Console) |
Paramètre (JSON) |
Description |
|
Groupe de ressources d'autorisation de stockage |
nfs.resourceGroup |
Groupe de ressources propriétaire du système de fichiers. Filtre les systèmes de fichiers par groupe de ressources. Bonnes pratiques pour la conception des groupes de ressources. Si vous sélectionnez Tous les groupes de ressources d'autorisation de stockage, il n'est pas nécessaire de configurer ce paramètre dans le fichier JSON. |
|
Sélectionner le système de fichiers |
N/A |
ID du système de fichiers NAS. Retrouvez-le dans la console NAS de votre région. |
|
Cible de montage du système de fichiers |
nfs.server |
Adresse de la cible de montage NAS. Consultez la section Afficher les adresses des cibles de montage. Remarque
La sélection d'une cible de montage dans la console entraîne automatiquement la sélection du VPC associé. |
|
Chemin du système de fichiers |
nfs.path |
Chemin source dans le système de fichiers NAS, par exemple |
|
Chemin de montage |
mount_path |
Chemin de destination dans l'instance de service. Exemple : |
|
Lecture seule |
nfs.readOnly |
Indique si le montage est en mode lecture seule. |
Montage Git
Exemple JSON :
{
"storage": [
{
"git": {
"repo": "https://codeup.aliyun.com/xxx/eas/aitest.git",
"branch": "master",
"commit": "xxx",
"username": "username",
"password": "password or access token"
},
"mount_path": "/mnt/data/"
}
]
}
Paramètres :
|
Paramètre (Console) |
Paramètre (JSON) |
Description |
|
URL Git |
git.repo |
URL HTTPS du dépôt Git. Le protocole Git n'est pas pris en charge. |
|
Branche |
git.branch |
Branche à récupérer. Par défaut : master. |
|
Commit |
git.commit |
ID du commit à récupérer. |
|
Nom d'utilisateur Git |
git.username |
Nom d'utilisateur pour l'authentification auprès d'un dépôt privé. |
|
Jeton d'accès |
git.password |
Mot de passe ou jeton d'accès pour un dépôt Git privé. Annexe : Obtenir un jeton pour votre compte GitHub. |
|
Chemin de montage |
mount_path |
Chemin de destination dans l'instance de service. Exemple : |
Montages d'actifs de plateforme
Montez des jeux de données, des ensembles de code et des modèles enregistrés en tant qu'actifs IA PAI pour une gestion centralisée et une réutilisation simplifiée.
Montage de jeu de données
Enregistrez des données ou des fichiers de configuration en tant que jeu de données PAI pour bénéficier du contrôle de version et de la réutilisation lors des déploiements.
Prend en charge les jeux de données personnalisés reposant sur OSS, le NAS généraliste, le NAS Extreme et CPFS.
Exemple JSON :
"storage": [
{
"dataset": {
"id": "d-pcsah1t86bm8******",
"version": "v1",
"read_only": false
},
"mount_path": "/mnt/data/"
}
]
Paramètres :
|
Paramètre (Console) |
Paramètre (JSON) |
Description |
|
Jeu de données personnalisé |
dataset.id |
Jeu de données personnalisé enregistré. Créez-en un et récupérez son ID dans la section Créer et gérer des jeux de données. |
|
Version |
version |
Version du jeu de données. Exemple : v1. |
|
Lecture seule |
dataset.read_only |
Indique si le jeu de données est monté en mode lecture seule. |
|
Chemin de montage |
mount_path |
Chemin de destination dans l'instance de service. Exemple : |
Montage d'ensemble de code
Enregistrez un dépôt Git en tant qu'ensemble de code PAI. Les ensembles de code sont montés en mode lecture seule.
Exemple JSON :
"storage": [
{
"code": {
"id": "code-4d3b42a1152****"
},
"mount_path": "/mnt/data/"
}
]
Paramètres :
|
Paramètre (Console) |
Paramètre (JSON) |
Description |
|
Configuration du code |
code.id |
Ensemble de code enregistré. Créez-en un et récupérez son ID dans la section Configuration du code. |
|
Chemin de montage |
mount_path |
Chemin de destination dans l'instance de service. Exemple : |
Montage de modèle PAI
Enregistrez les modèles en tant qu'actifs IA PAI pour une gestion centralisée des versions et des métadonnées. Les modèles sont montés en mode lecture seule. Consultez la section Enregistrer et gérer des modèles.
Paramètres :
|
Paramètre (Console) |
Description |
|
Modèle PAI |
Modèle PAI enregistré. Créez-en un dans la section Enregistrer et gérer des modèles. |
|
Chemin de montage |
Chemin de destination pour le montage du modèle. Exemple : |
Options de montage avancées
EAS prend en charge les méthodes de montage supplémentaires suivantes :
Montage d'image : Copie les fichiers depuis un chemin d'image Docker vers un volume local temporaire, puis les monte sur l'instance de service. Les répertoires volumineux augmentent l'utilisation du stockage et le temps de démarrage.
Montage EmptyDir : Stockage local temporaire pour une instance en cours d'exécution. Le contenu persiste lors des redémarrages inattendus. Utilisez cette option pour la mise en cache ou les fichiers temporaires.
Montage d'image
Configurez via JSON :
{
"storage": [
{
"image": {
"image": "registry-vpc.cn-xxxx.aliyuncs.com/eas/image_name:v1",
"path": "/path/to/mount/"
},
"mount_path": "/data_image"
}
]
}
Les images ne peuvent être montées qu'à partir d'une adresse de réseau interne située dans la même région. Pour les images privées, utilisez le paramètre dockerAuth pour l'authentification. Configurez dockerAuth comme décrit dans la section Utiliser une image personnalisée.
Paramètres :
|
Paramètre (JSON) |
Description |
|
image.image |
Adresse réseau interne du registre d'images. |
|
image.path |
Chemin source au sein de l'image à partir duquel effectuer la copie. |
|
mount_path |
Chemin de destination pour les fichiers copiés. Exemple : |
Montage EmptyDir
Configurez via JSON :
{
"storage": [
{
"empty_dir": {},
"mount_path": "/mnt/temp"
}
]
}
Paramètres :
|
Paramètre (JSON) |
Description |
|
mount_path |
Chemin de destination dans l'instance de service. |
|
empty_dir |
EmptyDir avec une valeur de map vide. Stocke les données sur le disque local. Aucune autre propriété n'est prise en charge. |
Configurer la mémoire partagée
Montez un volume de mémoire partagée (tmpfs) pour des performances accrues :
{
"storage": [
{
"empty_dir": {
"medium": "memory",
"size_limit": 20
},
"mount_path": "/dev/shm"
}
]
}
Paramètres :
|
Paramètre (JSON) |
Description |
|
medium |
Définissez ce paramètre sur memory. |
|
mount_path |
Définissez ce paramètre sur |
|
size_limit |
Limite de taille de la mémoire en Go. |
Exemple de configuration JSON
Exemple de configuration complète. Le déploiement via JSON est traité dans la section Déployer des services à l'aide de JSON.
{
"name": "service_name",
"model_path": "http://path/to/model",
"processor": "pmml",
"storage": [
{
"oss": {
"path": "oss://bucket/path/",
"readOnly": false
},
"mount_path": "/mnt/oss_data/"
},
{
"nfs": {
"path": "/",
"server": "06ba74****-a****.cn-hangzhou.nas.aliyuncs.com",
"readOnly": false
},
"mount_path": "/mnt/nfs_data/"
},
{
"image": {
"image": "registry-vpc.cn-shanghai.aliyuncs.com/eas/test_image:v1",
"path": "/path/to/mount/"
},
"mount_path": "/data_image"
},
{
"empty_dir": {
"medium": "memory",
"size_limit": 20
},
"mount_path": "/dev/shm"
},
{
"git": {
"repo": "https://codeup.aliyun.com/xxx/eas/aitest.git",
"branch": "master",
"commit": "xxx",
"username": "username",
"password": "password or access token"
},
"mount_path": "/mnt/git_code/"
}
],
"metadata": {
"cpu": 1,
"instance": 1,
"resource": "eas-r-xxx"
}
}
FAQ
-
Pourquoi recevoir une erreur « file not found » après avoir monté un bucket OSS ?
Ce problème est généralement causé par un chemin incorrect. Vérifiez votre configuration de montage et le chemin d'accès.
Par exemple, si vous montez
oss://my-bucket/sur/mnt/data, le fichier situé à l'adresseoss://my-bucket/subfolder/myfile.txtdans OSS doit être accessible depuis le chemin/mnt/data/subfolder/myfile.txtdans le conteneur, et non depuis/mnt/data/myfile.txt. -
Que faire si un montage NAS échoue en raison d'un problème de connexion réseau ?
Les montages NAS exigent que le service EAS et la cible de montage NAS se trouvent dans le même VPC. Vérifiez les points suivants :
Cohérence du VPC : Assurez-vous que l'ID du VPC est identique pour le service EAS et la cible de montage NAS.
Configuration réseau : Pour accéder au NAS, configurez le réseau en suivant les instructions de la section Accéder aux ressources publiques ou internes depuis EAS.
État de la cible de montage : Vérifiez que la cible de montage NAS existe et se trouve dans l'état
Available.
-
Que faire si un montage Git échoue en raison d'une erreur d'authentification ?
Vérifiez les points suivants :
Validité du jeton d'accès : Confirmez que votre jeton d'accès Git n'a pas expiré et dispose des autorisations de lecture pour le dépôt.
Autorisations du dépôt : Pour un dépôt privé, assurez-vous que le nom d'utilisateur et le mot de passe ou le jeton sont corrects et disposent des autorisations de lecture.
Format de l'adresse du dépôt : Utilisez le protocole HTTPS, par exemple
https://github.com/user/repo.git. Le protocole Git n'est pas pris en charge.Existence de la branche/du commit : Confirmez que le nom de la branche ou l'ID du commit spécifié existe dans le dépôt.
-
Que faire si un service ne parvient pas à démarrer en raison d'un conflit de chemin de montage ?
Un conflit de chemin de montage peut être causé par les raisons suivantes :
Chemin de montage en double : Dans un même service, plusieurs configurations de stockage utilisent le même chemin de montage. Assurez-vous que le
mount_pathde chaque stockage est unique.Conflit avec un répertoire système : Le chemin de montage ne peut pas correspondre à un répertoire système critique, tel que
/bin,/etc,/usrou/lib. Utilisez plutôt un chemin sous/mntou/data.Format de chemin incorrect : Le chemin de montage doit être un chemin absolu commençant par une barre oblique (
/).
-
Puis-je utiliser un outil FTP ou SSH pour me connecter à une instance afin de télécharger ou d'envoyer des fichiers ?
Non. Les instances EAS ne fournissent pas d'accès FTP ou SSH.
-
Puis-je monter un bucket OSS situé dans une région différente de celle de mon service EAS ?
Non. EAS ne permet pas de monter des buckets OSS situés dans d'autres régions. Utilisez la fonctionnalité de réplication inter-régions d'OSS pour synchroniser les données vers un bucket OSS situé dans la même région que le service EAS.
-
Si aucun stockage n'est monté, où sont stockés les fichiers que je télécharge sur l'instance ?
Les fichiers sont enregistrés sur le disque système de l'instance, qui est éphémère. Les données présentes sur le disque système sont perdues lorsque l'instance est redémarrée ou mise à jour. Pour pérenniser les données, montez un stockage externe.