Não é possível criar com segurança um diretório na inicialização após a instância ec2 montar suas unidades efêmeras

1

Esse tipo de instância em particular monta duas unidades efêmeras, em /dev/ e /mnt/ . Eu tenho que criar diretórios de trabalho para um dos meus serviços nesses caminhos na inicialização ou os serviços não serão iniciados. Às vezes o script abaixo funciona, às vezes não. Eu suspeito que é uma corrida entre a pasta sendo montada, e meu script rc.local começando.

Existe um local mais confiável para criar esses diretórios? A última vez que inicializei, o /mnt/mongodb dir foi criado, mas o /dev/ não foi criado. Estou executando a instância do Ubuntu 12.04 HVM da Amazon.

Aqui está o meu arquivo rc.local:

cd /mnt/
sudo mkdir mongodb
sudo chown -R mongodb mongodb
sudo chgrp -R mongodb mongodb
cd /dev/
sudo mkdir mongodb
sudo chown -R mongodb mongodb
sudo chgrp -R mongodb mongodb
sudo service mongodb start
exit 0
    
por Tom Swifty 28.10.2013 / 16:06

1 resposta

1

Eu acredito que é o pacote cloud-init que monta automaticamente o primeiro disco efêmero como / mnt. / dev deve ser apenas para dispositivos. Assim, o primeiro disco efêmero (ou armazenamento de instâncias) será exposto como / dev / sdb (ou / dev / xvdb) e eles serão montados como / mnt. Se você fornecer seu script como dados do usuário da instância, ou seja, usar o sistema cloud-init, ele será executado depois que o sistema cloud-init tiver criado a montagem. Como alternativa, você precisa definir seu pedido para que ele seja executado após o cloud-init. Ou você pode vencer o cloud-init e criar você mesmo a montagem.

    
por 01.08.2016 / 20:21