Mover diretórios / var para / mnt em uma instância do EC2

5

Estou tentando trabalhar em uma configuração padrão para um conjunto de instâncias do EC2 executando o Ubuntu 12.04. Esses servidores serão principalmente servidores da Web para um aplicativo Ruby on Rails. Quando você configura uma nova instância grande, recebe um armazenamento primário de 8 GB e armazenamento efêmero de 400 GB montado em / mnt.

Parece-me lógico mover alguns diretórios que têm um potencial de crescimento para o diretório / mnt, eu estava pensando especificamente em /var/www e /var/log .

Minha pergunta é dupla:

  1. Esta é uma boa ideia ou existem armadilhas que eu não consigo ver?

  2. Se esta é uma boa ideia, como devo proceder para configurar isso? Eu tenho a capacidade de configurar novas instâncias e para baixo nossas instâncias antigas. Minha preocupação é com a configuração de longo prazo, não estou necessariamente preocupado com o tempo de inatividade.

Eu sou um desenvolvedor com alguma experiência em devops, mas a montagem de drives é algo que eu não enfrentei antes, então direções explícitas seriam muito apreciadas.

    
por Geoff Lanotte 13.12.2012 / 15:34

3 respostas

1

Eu não sei o que você guarda em /var/www , mas o conteúdo dos meus servidores definitivamente não pode ser descrito como "efêmero", o que eu entendo que significa "pode ir embora a qualquer momento, e eu não sei muita mente ". Se não é isso que amazon significa por "efêmero", peço desculpas.

Quanto ao /var/log , se você não se importa com os dados do registro, não o colete em primeiro lugar.

Se você se preocupa com isso, mas não pode mantê-lo no armazenamento primário por muito tempo, isso não é um problema de montagem, tanto quanto um problema de gerenciamento de log. Eu estaria inclinado a usar logrotate , se estiver disponível para você, e configurá-lo para mover os logs antigos para /mnt a cada semana, aproximadamente. Dessa forma, os logs antigos estão lá (até que o armazenamento temporário desapareça), mas o log atual é seguro no armazenamento principal.

Uma receita de logrotate como

/var/log/foo {
    olddir /mnt
    compress
    weekly
    rotate 1000
    postrotate
    /etc/rc.d/init.d/fooservice restart
    endscript
}

pode ser útil, pelo menos como modelo.

    
por 13.12.2012 / 15:40
0

O que você está planejando é semelhante ao que eu faço para todas as minhas instâncias, mas também incluo / var / lib / mysql e a maioria dos diretórios / etc / {apache2, mysql, php} também. Eu faço isso para nunca perder minhas configurações quando uma instância termina por qualquer motivo.

  1. É uma excelente ideia, pois você nunca perderá seus dados. Como mencionei, se a instância ficar inativa, você reterá essas informações e precisará simplesmente montá-las em uma nova instância.

  2. A maneira mais fácil de fazer isso é simplesmente mover esses diretórios para o volume do EBS e, em seguida, criar links simbólicos para eles no local original.

por 13.12.2012 / 15:38
0

Se os dados (no sistema de arquivos) que o aplicativo acumula forem valiosos, ignore o armazenamento complementar de 400 GB e monte um volume do EBS. Caso contrário ...

As respostas dependem (a) do seu aplicativo e (b) "spot" ou instância "reservada", mas

1) Sim, é uma boa ideia porque, obviamente, é menos provável que você fique sem espaço no disco. Se isso é provável depende do que o seu aplicativo trilhos faz, mas apenas para separar e definir claramente o que é "seu" e "meu" eu costumo colocar todas as "minhas" coisas em /mnt . Não há necessidade de montá-lo manualmente. Isso é feito apenas cd mnt e você vai. Há um pouco de mexer com permissões que você não terá problemas para superar.

Mas é claro que esse espaço é "efêmero", então ele morre quando o servidor faz, o que nos leva à minha segunda qualificação ...

2) instância "spot" ou "reservada"?

Se você tem uma instância pontual, então você tem que aceitar que existe uma chance, por mais remota que seja, seu preço máximo será superado e o servidor será encerrado inesperadamente. Isso representará um problema se os dados no servidor tiverem valor.

Mas! se você está pagando o prêmio por uma instância "reservada", o que (eu não li todos os avisos de cópia impressa; - /) significa que a ameaça de seu servidor ser encerrado inesperadamente e o acúmulo de dados do aplicativo é substancialmente reduzido. Você pode ser capaz de agendar um backup periódico (para S3?) E dormir muito fácil sem a despesa adicional de um EBS.

Se a longo prazo, como foi dito, o mínimo de tempo de inatividade (e risco) é o objetivo. Então, você prefere pagar um pouco mais do que poupar dinheiro, então ignore /mnt e fique muito familiarizado com a criação e montagem de um volume EBS . Coloque all suas coisas lá. Dessa forma, você pode reinicializar o servidor sem perder o sono. Essas coisas não vão desaparecer e não vai "demorar um pouco" para levar as coisas de volta para onde elas estavam antes de qualquer desastre que ocorreu para exigir instâncias do servidor de ciclismo.

    
por 14.12.2012 / 08:32