Les instances DSW au sein des groupes de ressources publics et dédiés disposent d'un espace de stockage par défaut limité et les données ne sont pas permanentes. Pour étendre l'espace de stockage, activer le stockage persistant ou partager des données, vous pouvez monter un jeu de données ou un chemin de stockage sur l'instance.
Les données stockées sur le disque cloud sont effacées si vous supprimez l'instance ou si celle-ci reste arrêtée pendant plus de 15 jours.
Les données stockées sur le disque système sont effacées après l'arrêt ou la suppression de l'instance.
Montage d'un jeu de données vs montage direct d'un chemin de stockage
Si vous avez besoin d'un stockage à long terme ou d'une collaboration en équipe, montez un jeu de données. Si vous avez uniquement besoin de stockage pour des tâches temporaires ou une extension rapide, montez directement un chemin de stockage.
Fonctionnalité | Monter un jeu de données | Monter directement un chemin de stockage |
services cloud pris en charge | OSS, NAS et CPFS | |
Gestion des versions | Prend en charge la gestion des versions et l'accélération des données. | Ne prend pas en charge la gestion des versions. |
Partage des données | Permet le partage entre plusieurs instances. | Limité à l'instance actuelle. |
Complexité opérationnelle | Nécessite la création et la configuration d'un jeu de données. | Nécessite uniquement le montage direct du chemin de stockage. |
Cas d'utilisation | Stockage à long terme, collaboration en équipe et exigences élevées en matière de sécurité. | Tâches temporaires et besoins d'extension rapide du stockage. |
Montage au démarrage vs montage dynamique
Deux méthodes de montage sont disponibles : le montage au démarrage et le montage dynamique.
Montage au démarrage : configuré lors de la création d'une instance ou de la modification de ses paramètres. Cette action nécessite un redémarrage de l'instance pour prendre effet.
Montage dynamique : utilise le SDK PAI dans une instance en cours d'exécution et ne nécessite aucun redémarrage.
Limitations
Chemin unique : le chemin de montage de chaque jeu de données doit être unique.
Limite d'écriture : évitez les opérations d'écriture fréquentes dans les répertoires montés depuis OSS. Cela peut entraîner une dégradation des performances ou l'échec des opérations.
Limite Git : les opérations Git ne sont pas prises en charge dans les répertoires montés depuis OSS. Exécutez les commandes Git dans des répertoires locaux ou d'autres chemins non montés.
Limitations du montage dynamique
Limite en lecture seule : le montage dynamique prend uniquement en charge l'accès en lecture seule et ne permet pas les opérations d'écriture. Il convient aux scénarios nécessitant un montage rapide ou un accès temporaire en lecture seule.
Limite de type de stockage : le montage dynamique prend uniquement en charge OSS et NAS.
Limite de ressource : le montage dynamique ne prend actuellement pas en charge les ressources Lingjun.
Montage au démarrage
Pour effectuer un montage au démarrage, utilisez les options Dataset Mounting ou Mount storage sur la page de configuration de l'instance. Vous devez redémarrer l'instance pour que les modifications prennent effet.
Monter un jeu de données
-
Créer un jeu de données
Connectez-vous à la PAI console. Dans le volet de navigation de gauche, accédez à AI Asset Management > Dataset. Sur la page qui s'affiche, créez un jeu de données personnalisé ou public. Pour plus d'informations, consultez Créer et gérer des jeux de données.
-
Monter le jeu de données
Sur la page de configuration de l'instance DSW, localisez le paramètre Dataset Mounting. Vous pouvez accéder à cette page lors de la création d'une instance ou en cliquant sur Change Settings pour une instance existante. Cliquez sur Custom, puis sélectionnez le jeu de données créé et saisissez un Mount Path.
Remarques sur le montage d'un jeu de données personnalisé :
Jeu de données CPFS : lors de la configuration d'un jeu de données CPFS, le VPC de l'instance DSW doit être identique à celui du système de fichiers CPFS. Sinon, la création de l'instance échouera.
Jeu de données NAS : lors de la configuration d'un jeu de données NAS, configurez le réseau et sélectionnez un groupe de sécurité.
Utilisation d'un groupe de ressources dédié : lorsque vous utilisez un groupe de ressources dédié, le premier jeu de données doit être un jeu de données NAS. Ce jeu de données est monté à la fois sur le chemin spécifié et sur le répertoire de travail par défaut de DSW situé à l'adresse
/home/admin/workspace.
Monter directement un chemin de stockage
Cette section utilise le montage d'un chemin de stockage OSS comme exemple.
-
Créer un bucket OSS
Activer OSS et créer un bucket.
ImportantLa région du bucket doit correspondre à la région PAI. La région d'un bucket ne peut pas être modifiée après sa création.
-
Monter le chemin OSS
Sur la page de configuration de l'instance DSW (accessible lors de la création d'une instance ou en cliquant sur Change Settings pour une instance existante), localisez le paramètre Mount storage. Cliquez sur OSS, sélectionnez le chemin du bucket OSS créé et saisissez un Mount Path. Le champ Advanced Configurations est vide par défaut. Vous pouvez le configurer selon vos besoins. Pour plus d'informations, consultez la section Configuration avancée du montage.
Montage dynamique
Le montage dynamique vous permet de monter un jeu de données ou un chemin de stockage en utilisant le SDK PAI au sein d'une instance DSW en cours d'exécution. Aucun redémarrage n'est nécessaire.
Prérequis
-
Installez le SDK Python PAI. Dans le Terminal de l'instance DSW, exécutez la commande suivante. Python 3.8 ou version ultérieure est requis.
python -m pip install pai>=0.4.11 -
Configurez les identifiants d'accès pour permettre au SDK d'accéder à PAI.
Méthode 1 : configurez l'instance DSW pour utiliser le rôle PAI par défaut ou un rôle RAM personnalisé. Ouvrez la page de configuration de l'instance, cliquez sur Show More en bas de la page et sélectionnez un rôle RAM pour l'instance. Pour plus d'informations, consultez la section Configurer un rôle RAM pour une instance DSW.
-
Méthode 2 : effectuez une configuration manuelle à l'aide de l'outil de ligne de commande fourni par le SDK Python PAI. Dans le Terminal, exécutez la commande suivante pour configurer les paramètres d'accès. Pour un exemple, consultez la section Initialisation.
python -m pai.toolkit.config
Exemples
-
Monter sur le chemin par défaut
Les données sont montées sur le chemin de montage par défaut de l'instance. Pour les images d'instances préconstruites officielles, le chemin par défaut est
/mnt/dynamic/.from pai.dsw import mount # Mount an OSS path. mount_point = mount("oss://<YourBucketName>/Path/Data/Directory/") # Mount a dataset. The input parameter is the dataset ID. # mount_point = mount("d-m7rsmu350********")
-
Monter sur un chemin spécifié
Le montage dynamique nécessite de monter les données sur un chemin spécifique (ou un sous-répertoire) à l'intérieur du conteneur. Vous pouvez obtenir le chemin de montage dynamique en utilisant l'API fournie par le SDK.
from pai.dsw import mount, default_dynamic_mount_path # Get the default mount path of the instance. default_path = default_dynamic_mount_path() mount_point = mount("oss://<YourBucketName>/Path/Data/Directory" , mount_point=default_path + "tmp/output/model")
-
Monter dynamiquement NAS
from pai.dsw import mount, default_dynamic_mount_path # Get the default mount path of the instance. default_path = default_dynamic_mount_path() # Mount NAS. The NAS endpoint and the instance must be in the same VPC. Replace <region> with the region ID, such as cn-hangzhou. mount("nas://06ba748***-xxx.<region>.nas.aliyuncs.com/", default_path+"mynas3/") -
Afficher toutes les configurations de montage dans l'instance
from pai.dsw import list_dataset_configs print(list_dataset_configs()) -
Démonter les données
from pai.dsw import mount, unmount mount_point = mount("oss://<YourBucketName>/Path/Data/Directory/") # The input parameter is the mount path, which is the MountPath value returned by list_dataset_configs. # After running the unmount command, it takes a few seconds for the change to take effect. unmount(mount_point)
Configuration avancée du montage
Lors de la configuration d'un montage, vous pouvez également définir des paramètres avancés pour vous adapter à différents scénarios, tels que les lectures/écritures rapides, les écritures incrémentielles et l'accès en lecture seule, afin d'optimiser les performances.
Afficher les configurations de montage
Ouvrez l'instance DSW et, dans le Terminal, exécutez les commandes suivantes pour vérifier si les jeux de données NAS et OSS sont correctement montés.
# View all mounts
mount
# Query NAS mount paths
mount | grep nas
# Query OSS mount paths
mount | grep oss
Un résultat similaire à ce qui suit indique que le jeu de données est correctement monté.
(base) /mnt/workspace> mount | grep nas
xxx /dsw01/ on /mnt/workspace type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=xxx,mountvers=3,mountport=2049,mountproto=tcp,local_lock=all,addr=xxx)
xxx /dsw01/ on /mnt/data_nas type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=xxx,mountvers=3,mountport=2049,mountproto=tcp,local_lock=all,addr=xxx)
xxx:/dsw01/ on /home/admin/workspace type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=xxx,mountvers=3,mountport=2049,mountproto=tcp,local_lock=all,addr=xxx)
(base) /mnt/workspace>
(base) /mnt/workspace> mount | grep oss
jindo-fuse on /mnt/data_oss type fuse.jindo-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
(base) /mnt/workspace>
Le jeu de données NAS est monté sur les répertoires /mnt/data_nas, /mnt/workspace et /home/admin/workspace. Parmi eux, /mnt/data_nas correspond au chemin de montage spécifié lors de la création de l'instance DSW, tandis que les deux autres chemins correspondent aux répertoires de travail par défaut de DSW sur lesquels le premier jeu de données NAS est monté. Tant que votre volume NAS et votre service fonctionnent normalement, vos données et votre code sont stockés de manière persistante.
Le jeu de données OSS est monté sur le répertoire /mnt/data_oss dans l'instance DSW.
FAQ
Q : Fichiers OSS montés non visibles dans JupyterLab
Cela s'explique par le fait que le navigateur de fichiers DSW affiche par défaut le répertoire de travail de l'instance, généralement /mnt/workspace. Le chemin de montage que vous avez spécifié pour OSS (par exemple /mnt/data) ne se trouve pas sous le répertoire de travail par défaut ; il n'apparaît donc pas dans le navigateur de fichiers.
Solutions :
Accès via le code : vos fichiers ont bel et bien été montés avec succès. Dans votre code, vous devez utiliser le chemin de montage complet pour y accéder, par exemple
open('/mnt/data/my_file.csv').Modifier le point de montage : pour voir facilement les fichiers dans l'interface utilisateur, vous pouvez définir le chemin de montage sur un sous-répertoire situé sous le répertoire de travail lors de la configuration du montage, par exemple
/mnt/workspace/my_oss_data. Une fois le montage terminé, vous verrez vos fichiers OSS dans le dossiermy_oss_datadu navigateur de fichiers.Accès via le Terminal : dans le Terminal DSW, vous pouvez utiliser la commande
cd /mnt/datapour naviguer vers le répertoire de montage, puis utiliser des commandes telles quelspour afficher et gérer les fichiers.
Q : Comment résoudre les erreurs de connexion au montage OSS ?
Cette erreur indique que la connexion de montage entre l'instance DSW et OSS est interrompue. Les causes possibles et les solutions sont les suivantes :
Problème d'autorisations du rôle RAM : vérifiez si le rôle RAM configuré pour votre instance DSW a reçu l'autorisation d'accéder à OSS (par exemple
AliyunPAIDLCAccessingOSSRole). Des autorisations insuffisantes constituent une cause fréquente d'échec de la lecture depuis OSS.Ressources insuffisantes pour le service de montage : lors d'opérations intensives de lecture/écriture aléatoire ou de manipulation de nombreux petits fichiers, le processus
ossfsouJindoFuseresponsable du montage peut planter en raison d'une erreur de manque de mémoire (OOM). Dans les Advanced Configurations des paramètres de montage, vous pouvez désactiver le cache de métadonnées ou augmenter la configuration de la mémoire. Pour plus d'informations, consultez la section JindoFuse.-
Rétablir la connexion :
Pour le montage au démarrage, le moyen le plus simple de rétablir la connexion consiste à redémarrer l'instance DSW. Le système rétablira automatiquement le montage.
Vous pouvez également exécuter une commande de montage dynamique à l'aide du SDK PAI pour remonter le chemin sans redémarrer l'instance.
Q : Quels types de données sont pris en charge pour le montage ?
DSW permet d'utiliser des services de stockage cloud tels qu'OSS, NAS et CPFS en créant un jeu de données ou en montant directement un chemin de stockage.
Alibaba Cloud Drive n'est pas pris en charge : DSW ne prend actuellement pas en charge le montage direct d'un Alibaba Cloud Drive personnel. Il est recommandé de stocker les données à traiter dans OSS.
Le montage des tables MaxCompute n'est pas pris en charge : les données de table provenant de MaxCompute (anciennement ODPS) ne peuvent pas être « montées » dans un répertoire DSW comme un système de fichiers. Vous pouvez lire et écrire ces données dans votre code DSW en utilisant le SDK ou l'API fournis par PAI. Pour plus d'informations, consultez la section Utiliser PyODPS pour lire et écrire des tables MaxCompute.
Q : Comment assurer la persistance et la migration des données ?
Le disque système d'une instance DSW fournit un stockage temporaire. Pour un groupe de ressources public, les données sont effacées si l'instance reste arrêtée pendant plus de 15 jours. Pour un groupe de ressources dédié, les données présentes sur le disque système sont effacées dès que l'instance est arrêtée ou supprimée.
Pour stocker durablement les données et le code ou pour les migrer entre instances, vous devez utiliser un stockage externe.
Solution de persistance : enregistrez toutes vos données importantes, votre code et vos modèles sur un chemin OSS ou NAS monté. Ainsi, même si l'instance DSW est supprimée, tous vos actifs restent stockés en toute sécurité dans votre propre OSS ou NAS.
Solution de migration : lorsque vous devez migrer des données d'une instance DSW vers une autre, il vous suffit de monter le même chemin OSS ou NAS sur la nouvelle instance. C'est la méthode de migration de données la plus pratique.
Q : Exporter des données depuis une instance DSW défaillante
Si une instance DSW ne parvient pas à démarrer en raison d'un manque de ressources ou pour d'autres raisons, les données présentes sur son disque système ne sont pas immédiatement perdues. Vous pouvez essayer les méthodes suivantes pour exporter les données :
Modifier les spécifications de l'instance et redémarrer : sur la page de liste des instances, cliquez sur « Change Settings », sélectionnez une autre spécification d'instance disponible, puis redémarrez l'instance. La modification des spécifications n'entraîne aucune perte de données sur le disque système. Une fois l'instance démarrée avec succès, sauvegardez immédiatement vos données vers OSS ou NAS.
Changer de région ou de zone de disponibilité : si la région actuelle manque de ressources et que vos données sont déjà stockées dans un stockage externe, vous pouvez essayer de créer une nouvelle instance et de monter le même stockage OSS/NAS pour récupérer les données.
Contacter le support technique : si les méthodes ci-dessus ne résolvent pas le problème, soumettez un ticket au support technique pour obtenir de l'aide.
Si vous recevez une notification indiquant « Le disque système sera libéré dans X jours », vous devez démarrer l'instance en modifiant les spécifications ou par d'autres moyens afin de sauvegarder vos données avant la date limite.
Documentation connexe
Pour consulter davantage de questions fréquentes, reportez-vous à la section FAQ DSW