Como acessar o armazenamento da instância em uma instância do Windows EC2 com um dispositivo raiz ebs?

8

Eu criei uma AMI, mas gostaria de usar o armazenamento de instância para alguns programas científicos que quero executar. Eles basicamente leem várias coisas do disco, escrevem de volta no disco e resumem esses resultados. Isso precisa estar no Windows, porque essa é a plataforma para a qual esses programas foram escritos. Não preciso que os arquivos persistam e realmente não me importo de perdê-los, portanto, gostaria de usar o armazenamento de instância para isso e não incorrer em taxas de E / S.

Portanto, inicializo minha AMI, mas quando faço a conexão remota, vejo apenas meu dispositivo raiz EBS. Como montar o armazenamento de instância (efêmero) disponível para mim?

oob
fonte
2
Você precisa especificar os mapeamentos do dispositivo de bloco (por exemplo -b /dev/xvdb=ephemeral0) passando-os para ec2-run-instances, ou eles precisam fazer parte da sua AMI (ou seja, adicionados a ec2-register). Consulte a documentação para obter detalhes sobre a quantidade de armazenamento de instância disponível e de qual dispositivo / ponto de montagem você pode acessá-lo.
56012 cyberx86
1
@ cyberx86 obrigado. mapeamento de dispositivo de bloco é o termo que eu precisava. agora recebo toneladas de idéias do google sobre isso. Vou dar uma olhada. obrigado! sua resposta parece mais uma resposta do que um comentário para mim.
May12
É um mau hábito meu, postar respostas como comentários (os comentários são mais rápidos e fáceis de escrever e não têm penalidade por estar incorretos). Embora eu use muito o EC2, não uso servidores Windows - daí o motivo do comentário. No entanto, eu o publiquei como uma resposta genérica.
51112 cyberx86

Respostas:

8

Embora todas as instâncias, exceto a t1.micro, tenham uma alocação de 'armazenamento de instância' (ou seja, armazenamento efêmero), esse armazenamento não é necessariamente anexado por padrão. Na maioria dos casos, as instâncias com um volume raiz do EBS terão zero ou um volume efêmero anexado.

Os discos efêmeros, disponíveis para uma instância, são rotulados ephemeral[0-3]. NÃO é possível anexá-los a uma instância depois de iniciada. (Por outro lado, você pode adicionar volumes EBS a uma instância enquanto ela estiver em execução).

Como os discos efêmeros, juntamente com os volumes EBS, são dispositivos de bloco, a AWS chama o mapeamento desses discos para os 'mapeamentos de dispositivos de bloco' de dispositivos de uma instância e eles podem ser especificados usando os parâmetros -bou --block-device-mapping(que você pode usar mais de uma vez).

Para alterar os discos efêmeros anexados à instância, você precisa:

  1. iniciar a instância especificando explicitamente os mapeamentos de disco efêmeros OU

    instâncias de execução ec2 ami-xxxxxxxx -b / dev / xvdb = efêmero0 -b / dev / xvdc = efêmero1 -b / dev / xvdd = efêmero2 -b / dev / xvde = efêmero3
  2. registre uma nova AMI, especificando explicitamente os mapeamentos de disco efêmeros (e uma raiz do EBS):

    ec2-register -n Nome_da_imagem -d Imagem_Descrição --root-device-name / dev / xvda1 -b / dev / xvda1 = snap-xxxxxxxx -b / dev / xvdb = efêmero0 -b / dev / xvdc = efêmero1 -b / dev / xvdd = efêmero2 -b / dev / xvde = efêmero3

Observe que, na instância do Windows, você especificará o dispositivo como / dev / xvdX, enquanto nas instâncias do Linux o especificará como / dev / sdX (embora os kernels modernos do Linux ainda mostrem esse dispositivo como / dev / xvdX, com um link simbólico para / dev / sdX). Além disso, as instâncias do Windows irão formatar os volumes de armazenamento da instância para NTFS (embora, por padrão, os volumes sejam formatados como ext3).

A AWS detalha o armazenamento e alocações disponíveis da instância em sua documentação .

cyberx86
fonte