aumentando o tamanho de / tmp em instâncias do EC2

7

Estou executando um servidor Ubuntu no EC2 ebs, e meu aplicativo precisa de muito espaço em disco temporário, alocado em / tmp. No entanto, no ec2 o drive raiz que também contém / tmp é bem pequeno, em torno de 10GB. Todo o espaço restante no disco é montado em / mnt. Como resultado, meu aplicativo retorna erros de 'espaço insuficiente', porque / tmp parece estar cheio.

Qual é a melhor maneira de resolver esse problema? Uma coisa que eu posso pensar é criar / mnt / tmp e fazer um link simbólico

/tmp --> /mnt/tmp

No entanto, estou um pouco relutante em mexer com algo que é usado por tantos programas e ferramentas Linux. Não tenho certeza se todos os programas resolverão corretamente o link simbólico e não terão certeza do que fazer com o desempenho.

    
por Jeroen 11.03.2012 / 10:05

3 respostas

4

Com imagens apoiadas pelo EBS, o armazenamento efêmero ainda está disponível, ele não é mapeado como um dispositivo de bloco por padrão (como nas imagens da loja de instâncias)

O doc amazon é aqui , e há uma postagem no blog útil, here

Em resumo: você pode especificar esse mapeamento na linha de comando ao iniciar a imagem e montá-la como um volume normal em /dev/sd[x] . Ou então, se você criar sua própria AMI, poderá associar o mapeamento a essa AMI para que todas as imagens lançadas a partir dele tenham acesso a ela desde o início.

Symlinking /tmp funcionará, mas eu não recomendaria isso nesse caso, onde você tem uma grande quantidade de armazenamento temporário em uso. Depois de disponibilizar o mapeamento de dispositivo, você pode ter o dispositivo montado como /tmp in /etc/fstab .

Com uma pequena instância, você deve ter 150 GB de armazenamento de instâncias disponíveis gratuitamente. Não é necessário dizer que esse armazenamento morre quando a instância é reinicializada. Se o seu uso não for tão temporário, você precisará criar seu próprio novo volume do EBS e montá-lo dessa maneira.

    
por 11.03.2012 / 10:58
0

Você pode ligar o ponto de montagem / tmp a / mnt / tmp:

sudo mount -B /tmp /mnt/tmp

    
por 21.04.2014 / 16:17
0

A ligação simbólica, como sugerido na pergunta, não é tão ruim assim. Mas há algum cuidado extra a ser tomado ao fazer isso. Apenas para consolidar as etapas precisas envolvidas na montagem do volume estão:

1) Crie um novo volume no console da AWS. Anexá-lo a instância.

2) Formate-o e monte-o sob digamos /mnt/vol1

3) Limpe /tmp na medida do possível.

4) mkdir /mnt/vol1/tmp && mv /tmp/* /mnt/ && rmdir /tmp && ln -s /mnt/vol1/tmp /tmp

    
por 04.04.2016 / 23:40

Tags