Las instancias de DSW en resource groups públicos y dedicados tienen un almacenamiento predeterminado limitado y los datos no son permanentes. Para ampliar el almacenamiento, habilitar el almacenamiento persistente o compartir datos, puede montar un dataset o una ruta de almacenamiento en la instancia.
Los datos del disco en la nube se borran si elimina la instancia o si esta permanece detenida durante más de 15 días.
Los datos del disco del sistema se borran después de detener o eliminar la instancia.
Montaje de dataset frente a montaje directo de ruta de almacenamiento
Si requiere almacenamiento a largo plazo o colaboración en equipo, monte un dataset. Si solo necesita almacenamiento para tareas temporales o una expansión rápida, monte directamente una ruta de almacenamiento.
Función | Montar un dataset | Montar una ruta de almacenamiento directamente |
Servicios en la nube compatibles | OSS, NAS y CPFS | |
Gestión de versiones | Admite gestión de versiones y aceleración de datos. | No admite gestión de versiones. |
Uso compartido de datos | Permite compartir datos entre varias instancias. | Limitado a la instancia actual. |
Complejidad operativa | Requiere crear y configurar un dataset. | Solo requiere montar la ruta de almacenamiento directamente. |
Casos de uso | Almacenamiento a largo plazo, colaboración en equipo y requisitos de alta seguridad. | Tareas temporales y necesidades de expansión rápida de almacenamiento. |
Montaje al inicio frente a montaje dinámico
Existen dos métodos de montaje disponibles: montaje al inicio y montaje dinámico.
Montaje al inicio: Se configura al crear o modificar la configuración de una instancia. Esta acción requiere reiniciar la instancia para que surta efecto.
Montaje dinámico: Utiliza el SDK de PAI en una instancia en ejecución y no requiere reinicio.
Limitaciones
Ruta única: La ruta de montaje de cada dataset debe ser única.
Límite de escritura: Evite operaciones de escritura frecuentes en los directorios de montaje de OSS. Esto puede causar degradación del rendimiento o errores en las operaciones.
Límite de Git: Las operaciones de Git no son compatibles en los directorios de montaje de OSS. Ejecute los comandos de Git en directorios locales u otras rutas no montadas.
Limitaciones del montaje dinámico
Límite de solo lectura: El montaje dinámico solo admite acceso de solo lectura y no permite operaciones de escritura. Es adecuado para escenarios que requieren un montaje rápido o acceso temporal de solo lectura.
Límite de tipo de almacenamiento: El montaje dinámico solo es compatible con OSS y NAS.
Límite de recursos: Actualmente, el montaje dinámico no admite recursos de Lingjun.
Montaje al inicio
Para montar al inicio, utilice las opciones Dataset Mounting o Mount storage en la página de configuración de la instancia. Debe reiniciar la instancia para que los cambios surtan efecto.
Montar un dataset
-
Crear un dataset
Inicie sesión en la PAI console. En el panel de navegación izquierdo, vaya a AI Asset Management > Dataset. En la página que aparece, cree un dataset personalizado o un dataset público. Para obtener más información, consulte Create and manage datasets.
-
Montar el dataset
En la página de configuración de la instancia de DSW, localice el parámetro Dataset Mounting. Puede acceder a esta página al crear una instancia o al hacer clic en Change Settings en una existente. Haga clic en Custom, seleccione el dataset creado e introduzca una Mount Path.
Notas sobre el montaje de un dataset personalizado:
Dataset de CPFS: Al configurar un dataset de CPFS, la VPC de la instancia de DSW debe ser la misma que la del sistema de archivos CPFS. De lo contrario, se producirá un error en la creación de la instancia.
Dataset de NAS: Al configurar un dataset de NAS, configure la red y seleccione un security group.
Uso de un resource group dedicado: Cuando utiliza un resource group dedicado, el primer dataset debe ser un dataset de NAS. Este dataset se monta tanto en la ruta especificada como en el directorio de trabajo predeterminado de DSW en
/home/admin/workspace.
Montar una ruta de almacenamiento directamente
Esta sección toma como ejemplo el montaje de una ruta de almacenamiento de OSS.
-
Crear un bucket de OSS
Activate OSS y create a bucket.
ImportanteLa región del bucket debe ser la misma que la región de PAI. La región de un bucket no se puede cambiar después de su creación.
-
Montar la ruta de OSS
En la página de configuración de la instancia de DSW (que se abre al crear una instancia o al hacer clic en Change Settings para una instancia existente), localice el parámetro Mount storage. Haga clic en OSS, seleccione la ruta del bucket de OSS creada e introduzca una Mount Path. El campo Advanced Configurations está vacío de forma predeterminada. Puede configurarlo según sea necesario. Para obtener más información, consulte Advanced mount configuration.
Montaje dinámico
El montaje dinámico le permite montar un dataset o una ruta de almacenamiento mediante el SDK de PAI dentro de una instancia de DSW en ejecución. No es necesario reiniciar.
Requisitos previos
-
Instale el SDK de Python de PAI. En la Terminal de la instancia de DSW, ejecute el siguiente comando. Se requiere Python 3.8 o posterior.
python -m pip install pai>=0.4.11 -
Configure las credenciales de acceso para que el SDK acceda a PAI.
Método 1: Configure la instancia de DSW para usar el rol predeterminado de PAI o un rol de RAM personalizado. Abra la página de configuración de la instancia, haga clic en Show More en la parte inferior y seleccione un rol de RAM para la instancia. Para obtener más información, consulte Configure a RAM role for a DSW instance.
-
Método 2: Configure manualmente mediante la herramienta de línea de comandos proporcionada por el SDK de Python de PAI. En la Terminal, ejecute el siguiente comando para configurar los parámetros de acceso. Para ver un ejemplo, consulte Initialization.
python -m pai.toolkit.config
Ejemplos
-
Montar en la ruta predeterminada
Los datos se montan en la ruta de montaje predeterminada dentro de la instancia. Para las imágenes de instancia precompiladas oficiales, la ruta predeterminada es
/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********")
-
Montar en una ruta específica
El montaje dinámico requiere montar los datos en una ruta específica (o un subdirectorio) dentro del contenedor. Puede obtener la ruta de montaje dinámico mediante la API proporcionada por el 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")
-
Montar NAS dinámicamente
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/") -
Ver todas las configuraciones de montaje en la instancia
from pai.dsw import list_dataset_configs print(list_dataset_configs()) -
Desmontar datos
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)
Configuración avanzada de montaje
Al configurar un montaje, también puede establecer parámetros avanzados para adaptarse a diferentes escenarios, como lecturas y escrituras rápidas, escrituras incrementales y acceso de solo lectura, con el fin de optimizar el rendimiento.
Ver configuraciones de montaje
Abra la instancia de DSW y, en la Terminal, ejecute los siguientes comandos para comprobar si los datasets de NAS y OSS se montaron correctamente.
# View all mounts
mount
# Query NAS mount paths
mount | grep nas
# Query OSS mount paths
mount | grep oss
Un resultado similar al siguiente indica que el dataset se montó correctamente.
(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>
El dataset de NAS se monta en los directorios /mnt/data_nas, /mnt/workspace y /home/admin/workspace. Entre ellos, /mnt/data_nas es la ruta de montaje especificada al crear la instancia de DSW, y las otras dos rutas son los directorios de trabajo predeterminados de DSW donde se monta el primer dataset de NAS. Mientras su volumen y servicio de NAS funcionen normalmente, sus datos y código se almacenan de forma persistente.
El dataset de OSS se monta en el directorio /mnt/data_oss de la instancia de DSW.
Preguntas frecuentes
P: Archivos de OSS montados no visibles en JupyterLab
Esto ocurre porque el explorador de archivos de DSW muestra el directorio de trabajo de la instancia de forma predeterminada, que suele ser /mnt/workspace. La ruta de montaje que especificó para OSS (por ejemplo, /mnt/data) no se encuentra bajo el directorio de trabajo predeterminado, por lo que no aparece en el explorador de archivos.
Soluciones:
Acceso mediante código: Sus archivos se han montado correctamente. En su código, debe usar la ruta de montaje completa para acceder a ellos, por ejemplo,
open('/mnt/data/my_file.csv').Cambiar el punto de montaje: Para ver los archivos fácilmente en la interfaz de usuario, puede establecer la ruta de montaje en un subdirectorio bajo el directorio de trabajo al configurar el montaje, por ejemplo,
/mnt/workspace/my_oss_data. Una vez completado el montaje, podrá ver sus archivos de OSS en la carpetamy_oss_datadel explorador de archivos.Acceso mediante la Terminal: En la Terminal de DSW, puede usar el comando
cd /mnt/datapara navegar al directorio de montaje y luego usar comandos comolspara ver y gestionar archivos.
P: ¿Cómo resolver errores de conexión de montaje de OSS?
Este error indica que se perdió la conexión de montaje entre la instancia de DSW y OSS. Las posibles causas y soluciones son las siguientes:
Problema de permisos del rol de RAM: Compruebe si el rol de RAM configurado para su instancia de DSW tiene permiso para acceder a OSS (por ejemplo,
AliyunPAIDLCAccessingOSSRole). Los permisos insuficientes son una causa común de fallos al leer desde OSS.Recursos insuficientes para el servicio de montaje: Durante operaciones intensivas de lectura y escritura aleatoria o de gran cantidad de archivos pequeños, el proceso
ossfsoJindoFuseresponsable del montaje puede fallar debido a un error de memoria insuficiente (OOM). En las Advanced Configurations de la configuración de montaje, puede disable the metadata cache or increase the memory configuration. For example, add{"fs.jindo.fuse.pod.mem.limit": "12Gi"}to the advanced configuration to raise the memory limit of the JindoFuse pod. Adjust the value based on your resources. For more information, see JindoFuse.-
Restablecer la conexión:
Para el montaje al inicio, la forma más sencilla de restablecer la conexión es reiniciar la instancia de DSW. El sistema restablecerá automáticamente el montaje.
También puede ejecutar un comando de montaje dinámico mediante el SDK de PAI para volver a montar la ruta sin reiniciar la instancia.
P: ¿Qué tipos de datos son compatibles para el montaje?
DSW admite el uso de servicios de almacenamiento en la nube como OSS, NAS y CPFS mediante la creación de un dataset o el montaje directo de una ruta de almacenamiento.
Alibaba Cloud Drive no es compatible: Actualmente, DSW no admite el montaje directo de un Alibaba Cloud Drive personal. Se recomienda almacenar los datos que necesitan procesamiento en OSS.
El montaje de tablas de MaxCompute no es compatible: Los datos de tablas de MaxCompute (anteriormente ODPS) no se pueden "montar" en un directorio de DSW como un sistema de archivos. Puede leer y escribir estos datos en su código de DSW mediante el SDK o la API proporcionados por PAI. Para obtener más información, consulte Use PyODPS to read and write MaxCompute tables.
P: ¿Cómo garantizar la persistencia y migración de datos?
El disco del sistema de una instancia de DSW proporciona almacenamiento temporal. En un resource group público, los datos se borran si la instancia se detiene durante más de 15 días. En un resource group dedicado, los datos del disco del sistema se borran tan pronto como se detiene o elimina la instancia.
Para almacenar datos y código de forma persistente o migrarlos entre instancias, debe usar almacenamiento externo.
Solución de persistencia: Guarde todos sus datos, código y modelos importantes en una ruta de OSS o NAS montada. De este modo, incluso si se elimina la instancia de DSW, todos sus activos permanecerán almacenados de forma segura en su propio OSS o NAS.
Solución de migración: Cuando necesite migrar datos de una instancia de DSW a otra, simplemente monte la misma ruta de OSS o NAS en la nueva instancia. Este es el método de migración de datos más práctico.
P: Exportar datos de una instancia de DSW con errores
Si una instancia de DSW no puede iniciarse debido a recursos insuficientes u otros motivos, los datos en su disco del sistema no se pierden de inmediato. Puede intentar los siguientes métodos para exportar los datos:
Cambiar la especificación de la instancia y reiniciar: En la página de lista de instancias, haga clic en "Change Settings", seleccione otra especificación de instancia disponible y luego reinicie la instancia. Cambiar las especificaciones no provoca pérdida de datos en el disco del sistema. Una vez que la instancia se inicie correctamente, haga inmediatamente una copia de seguridad de sus datos en OSS o NAS.
Cambiar la región o zona de disponibilidad: Si la región actual tiene recursos insuficientes y sus datos ya están almacenados en almacenamiento externo, puede intentar crear una nueva instancia y montar el mismo almacenamiento de OSS/NAS para recuperar los datos.
Contactar al soporte técnico: Si los métodos anteriores no resuelven el problema, envíe un ticket al soporte técnico para obtener asistencia.
Si recibe una notificación que indica "The system disk will be released in X days", debe iniciar la instancia cambiando las especificaciones o por otros medios para hacer una copia de seguridad de sus datos antes de la fecha límite.
P: Error FAIL_TO_INIT_DATASET al crear una instancia
Este error ocurre cuando la ruta de montaje de OSS especificada apunta a un archivo en lugar de a un directorio. Durante la creación de la instancia, DSW detecta que la ruta no se puede resolver como un directorio y rechaza inicializar el dataset, devolviendo el error FAIL_TO_INIT_DATASET.
Compruebe si existe un archivo con el mismo nombre que la ruta de montaje en ese nivel de su bucket de OSS. Elimine el archivo o cambie la ruta de montaje para que apunte a un directorio válido, y luego vuelva a crear la instancia.
Documentación relacionada
Para obtener más preguntas frecuentes, consulte DSW FAQ