Monte OSS, NAS, conjuntos de dados, conjuntos de código ou modelos em serviços EAS para compartilhar dados entre instâncias e atualizar conteúdo sem reconstruir imagens.
Selecione uma solução de armazenamento
Primeiro, selecione um tipo de armazenamento e depois escolha um método de montagem.
1. Selecione um tipo de armazenamento subjacente
Escolha com base nas características dos seus dados e nos requisitos de desempenho.
|
Tipo de armazenamento |
Características dos arquivos |
Padrão de leitura/gravação |
Características de desempenho |
Casos de uso típicos |
|
OSS |
Grandes volumes de arquivos grandes |
Leitura intensiva |
Alto throughput, baixo custo |
Armazenamento de arquivos de modelo, gerenciamento de ativos estáticos |
|
NAS de uso geral |
Arquivos médios a grandes |
Leitura/gravação mista, compartilhamento entre múltiplas instâncias |
IOPS moderado, latência moderada |
Diretórios compartilhados para múltiplas instâncias, gerenciamento de arquivos de configuração |
|
NAS Extreme |
Numerosos arquivos pequenos |
Operações de leitura/gravação de alta frequência e baixa latência |
Baixa latência, alto IOPS |
Treinamento de IA, computação de alto desempenho |
|
CPFS |
Arquivos de escala ultra-grande |
Leitura/gravação paralela massiva |
Latência extremamente baixa, throughput extremamente alto |
Treinamento distribuído, computação paralela em larga escala |
Recomendações:
Para aplicações sensíveis a custos: O OSS apresenta o menor custo de armazenamento e é adequado para grandes volumes de dados em que o desempenho não é crítico.
Para aplicações sensíveis a desempenho: A ordem de desempenho é: CPFS > NAS Extreme > NAS de uso geral > OSS. Escolha conforme seu orçamento e necessidades de desempenho.
Use uma combinação: Monte vários tipos de armazenamento simultaneamente. Por exemplo, utilize o OSS para modelos grandes e o NAS de uso geral para arquivos de configuração compartilhados.
Caminho de migração: Comece com o OSS para validação rápida e, conforme necessário, faça upgrade para NAS ou CPFS em produção.
O CPFS exige cotas de recursos de computação Lingjun.
O serviço EAS e o destino de montagem do NAS devem estar na mesma VPC. Acesse recursos públicos ou internos a partir do EAS.
2. Selecione um método de montagem
Escolha o método de montagem adequado ao seu caso de uso.
|
Método de montagem |
Caso de uso |
Principal vantagem |
Descrição |
|
Montar diretamente um caminho de armazenamento |
Validação rápida, uso temporário |
Configuração simples, uso sob demanda |
Especifique diretamente um caminho do OSS ou NAS |
|
Montar um conjunto de dados do PAI |
Gerenciamento de versão de dados, colaboração em equipe |
Controle de versão, reutilização de ativos |
Registre um caminho do OSS ou NAS como um conjunto de dados |
|
Montar a partir do git |
Implantar código e scripts de aplicação |
Controle de versão de código |
Faça pull de um repositório git, montagem somente leitura |
|
Montar um conjunto de código do PAI |
Gerenciamento de ativos de código corporativo |
Gerenciamento padronizado, auditoria e rastreabilidade |
Registre um repositório git como um conjunto de código |
|
Montar um modelo do PAI |
Gerenciamento de versão de modelos |
Iteração de modelos, colaboração em equipe |
Registre um modelo como um Ativo de IA do PAI |
Montagens básicas de armazenamento
Montagem do OSS
Casos de uso
Armazenamento de arquivos de modelos grandes (nível de GB ou superior).
Armazenamento de ativos estáticos necessários para inferência, como imagens, vídeos e arquivos de configuração.
Cargas de trabalho com leitura intensiva, em que a leitura de dados é a operação principal.
Aplicações sensíveis a custos que exigem armazenamento econômico.
Configuração
Na seção de montagem de armazenamento do console, selecione OSS e especifique o bucket e o caminho de montagem.
Exemplo de JSON:
{
"storage": [
{
"oss": {
"path": "oss://bucket/path/",
"readOnly": false
},
"mount_path": "/mnt/data/"
}
]
}
Parâmetros:
|
Parâmetro (Console) |
Parâmetro (JSON) |
Descrição |
|
Uri |
oss.path |
Caminho do bucket OSS de origem. Para criar um bucket, consulte Início rápido. |
|
Mount Path |
mount_path |
Caminho de destino na instância de serviço. Acesse os arquivos de origem por este caminho. Exemplo: |
|
Read-only |
oss.readOnly |
Defina se a montagem será no modo somente leitura. |
Montagem do NAS
As montagens NAS suportam NAS de uso geral, NAS Extreme e CPFS, sujeitos aos requisitos de rede descritos em Selecione uma solução de armazenamento.
Exemplo de JSON:
{
"storage": [
{
"nfs": {
"path": "/",
"server": "06ba74****-a****.cn-hangzhou.nas.aliyuncs.com",
"readOnly": false
},
"mount_path": "/mnt/data/"
}
]
}
Parâmetros:
|
Parâmetro (Console) |
Parâmetro (JSON) |
Descrição |
|
Storage Permission Resource Group |
nfs.resourceGroup |
Grupo de recursos proprietário do sistema de arquivos. Filtra sistemas de arquivos por grupo de recursos. Melhores práticas para projetar grupos de recursos. Se você selecionar All Storage Permission Resource Groups, não será necessário configurar este parâmetro no arquivo JSON. |
|
Select File System |
N/A |
ID do sistema de arquivos NAS. Encontre-o no NAS console da sua região. |
|
File System Mount Target |
nfs.server |
Endereço do destino de montagem do NAS. Encontre-o em Visualizar endereços de destino de montagem. Nota
Selecionar um destino de montagem no console seleciona automaticamente a VPC associada. |
|
File System Path |
nfs.path |
Caminho de origem no sistema de arquivos NAS, como |
|
Mount Path |
mount_path |
Caminho de destino na instância de serviço. Exemplo: |
|
Read-only |
nfs.readOnly |
Defina se a montagem será no modo somente leitura. |
Montagem do git
Exemplo de 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/"
}
]
}
Parâmetros:
|
Parâmetro (Console) |
Parâmetro (JSON) |
Descrição |
|
Git url |
git.repo |
url HTTPS do repositório git. O protocolo git não é suportado. |
|
Branch |
git.branch |
Branch para fazer pull. Padrão: master. |
|
Commit |
git.commit |
ID do commit para fazer pull. |
|
Git Username |
git.username |
Nome de usuário para autenticação em repositório privado. |
|
Access Token |
git.password |
Senha ou token de acesso para um repositório git privado. Apêndice: Obter um token para sua conta do GitHub. |
|
Mount Path |
mount_path |
Caminho de destino na instância de serviço. Exemplo: |
Montagens de ativos da plataforma
Monte conjuntos de dados, conjuntos de código e modelos registrados como Ativos de IA do PAI para gerenciamento centralizado e reutilização.
Montagem de conjunto de dados
Registre dados ou arquivos de configuração como um conjunto de dados do PAI para controle de versão e reutilização entre implantações.
Suporta conjuntos de dados personalizados apoiados por OSS, NAS de uso geral, NAS Extreme e CPFS.
Exemplo de JSON:
"storage": [
{
"dataset": {
"id": "d-pcsah1t86bm8******",
"version": "v1",
"read_only": false
},
"mount_path": "/mnt/data/"
}
]
Parâmetros:
|
Parâmetro (Console) |
Parâmetro (JSON) |
Descrição |
|
Custom Dataset |
dataset.id |
Um conjunto de dados personalizado registrado. Crie um e encontre seu ID em Criar e gerenciar conjuntos de dados. |
|
Version |
version |
Versão do conjunto de dados. Exemplo: v1. |
|
Read-only |
dataset.read_only |
Defina se o conjunto de dados será montado no modo somente leitura. |
|
Mount Path |
mount_path |
Caminho de destino na instância de serviço. Exemplo: |
Montagem de conjunto de código
Registre um repositório git como um conjunto de código do PAI. Conjuntos de código são montados no modo somente leitura.
Exemplo de JSON:
"storage": [
{
"code": {
"id": "code-4d3b42a1152****"
},
"mount_path": "/mnt/data/"
}
]
Parâmetros:
|
Parâmetro (Console) |
Parâmetro (JSON) |
Descrição |
|
Code Configuration |
code.id |
Um conjunto de código registrado. Crie um e encontre seu ID em Configuração de código. |
|
Mount Path |
mount_path |
Caminho de destino na instância de serviço. Exemplo: |
Montagem de modelo do PAI
Registre modelos como Ativos de IA do PAI para gerenciamento centralizado de versões e metadados. Modelos são montados no modo somente leitura. Registrar e gerenciar modelos.
Parâmetros:
|
Parâmetro (Console) |
Descrição |
|
PAI Model |
Um modelo do PAI registrado. Crie um em Registrar e gerenciar modelos. |
|
Mount Path |
Caminho de destino para a montagem do modelo. Exemplo: |
Opções avançadas de montagem
O EAS suporta estes métodos adicionais de montagem:
Montagem de imagem: Copia arquivos de um caminho de imagem docker para um volume local temporário e, em seguida, monta-o na instância de serviço. Diretórios grandes aumentam o uso de armazenamento e o tempo de inicialização.
Montagem EmptyDir: Armazenamento local temporário para uma instância em execução. O conteúdo sobrevive a reinicializações inesperadas. Utilize para cache ou arquivos temporários.
Montagem de imagem
Configure via JSON:
{
"storage": [
{
"image": {
"image": "registry-vpc.cn-xxxx.aliyuncs.com/eas/image_name:v1",
"path": "/path/to/mount/"
},
"mount_path": "/data_image"
}
]
}
Imagens só podem ser montadas a partir de um endereço de rede interna na mesma região. Para imagens privadas, use o parâmetro dockerAuth para autenticação. Configure o dockerAuth conforme descrito em Usar uma imagem personalizada.
Parâmetros:
|
Parâmetro (JSON) |
Descrição |
|
image.image |
Endereço de rede interna do repositório de imagens. |
|
image.path |
Caminho de origem dentro da imagem para copiar. |
|
mount_path |
Caminho de destino para os arquivos copiados. Exemplo: |
Montagem EmptyDir
Configure via JSON:
{
"storage": [
{
"empty_dir": {},
"mount_path": "/mnt/temp"
}
]
}
Parâmetros:
|
Parâmetro (JSON) |
Descrição |
|
mount_path |
O caminho de destino na instância de serviço. |
|
empty_dir |
EmptyDir com um valor de mapa vazio. Armazena dados no disco local. Nenhuma outra propriedade é suportada. |
Configurar memória compartilhada
Monte um volume de memória compartilhada (tmpfs) para maior desempenho:
{
"storage": [
{
"empty_dir": {
"medium": "memory",
"size_limit": 20
},
"mount_path": "/dev/shm"
}
]
}
Parâmetros:
|
Parâmetro (JSON) |
Descrição |
|
medium |
Defina este parâmetro como memory. |
|
mount_path |
Defina este parâmetro como |
|
size_limit |
Limite de tamanho de memória em GB. |
Exemplo de configuração JSON
Exemplo completo de configuração. A implantação via JSON é abordada em Implantar serviços usando 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
-
Por que recebo um erro "file not found" após montar um bucket OSS?
Geralmente causado por um caminho incorreto. Verifique sua configuração de montagem e o caminho de acesso.
Por exemplo, se você montar
oss://my-bucket/em/mnt/data, o arquivo localizado emoss://my-bucket/subfolder/myfile.txtno OSS deve ser acessado pelo caminho/mnt/data/subfolder/myfile.txtno contêiner, e não por/mnt/data/myfile.txt. -
O que fazer se uma montagem NAS falhar devido a um problema de conexão de rede?
As montagens NAS exigem que o serviço EAS e o destino de montagem do NAS estejam na mesma VPC. Verifique:
Consistência da VPC: Garanta que o ID da VPC seja o mesmo tanto para o serviço EAS quanto para o destino de montagem do NAS.
Configuração de rede: Para acessar o NAS, configure a rede seguindo as instruções em Acesse recursos públicos ou internos a partir do EAS.
Status do destino de montagem: Verifique se o destino de montagem do NAS existe e está no estado
Available.
-
O que fazer se uma montagem git falhar devido a um erro de autenticação?
Verifique:
Validade do token de acesso: Confirme se o seu token de acesso git não expirou e possui permissões de leitura para o repositório.
Permissões do repositório: Para um repositório privado, garanta que o nome de usuário e a senha ou token estejam corretos e tenham permissões de leitura.
Formato do endereço do repositório: Use o protocolo HTTPS, como
https://github.com/user/repo.git. O protocolo git não é suportado.Existência da branch/commit: Confirme se o nome da branch ou o ID do commit especificado existe no repositório.
-
O que fazer se um serviço falhar ao iniciar devido a um conflito de caminho de montagem?
Um conflito de caminho de montagem pode ter as seguintes causas:
Caminho de montagem duplicado: No mesmo serviço, múltiplas configurações de armazenamento usam o mesmo caminho de montagem. Garanta que o
mount_pathpara cada armazenamento seja único.Conflito com diretório do sistema: O caminho de montagem não pode ser um diretório crítico do sistema, como
/bin,/etc,/usrou/lib. Use um caminho sob/mntou/dataem vez disso.Formato de caminho incorreto: O caminho de montagem deve ser um caminho absoluto que comece com uma barra (
/).
-
Posso usar uma ferramenta FTP ou SSH para conectar a uma instância e fazer upload ou download de arquivos?
Não. As instâncias EAS não fornecem acesso FTP ou SSH.
-
Posso montar um bucket OSS que esteja em uma região diferente do meu serviço EAS?
Não. O EAS não pode montar buckets OSS entre regiões. Use o recurso de replicação entre regiões do OSS para sincronizar dados para um bucket OSS na mesma região do serviço EAS.
-
Se nenhum armazenamento for montado, onde ficam armazenados os arquivos que baixo para a instância?
Os arquivos são salvos no disco do sistema da instância, que é efêmero. Os dados no disco do sistema são perdidos quando a instância é reiniciada ou atualizada. Para persistir dados, monte um armazenamento externo.