/dev/
この特定のインスタンスタイプは、にある2つの一時ドライブをマウントします/mnt/
。起動時に、このパスにあるサービスの1つに作業ディレクトリを作成する必要があります。それ以外の場合、サービスは開始されません。以下のスクリプトは動作する場合もあり、動作しない場合もあります。私はこれがインストールされているフォルダと実行されるrc.localスクリプトの間の競争だと思います。
これらのディレクトリを作成するためのより安定した場所はありますか?最後に起動したときにディレクトリは/mnt/mongodb
実際に作成されましたが、/dev/
ディレクトリは作成されませんでした。 Amazonで12.04 HVM Ubuntuインスタンスを実行しています。
これは私の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
答え1
最初の一時ディスクを/ mntに自動マウントするのがcloud-initパッケージだと思います。 / devはデバイスにのみ使用する必要があります。したがって、最初の一時ディスク(またはインスタンスストア)は/ dev / sdb(または/ dev / xvdb)として公開され、/ mntとしてマウントされます。スクリプトをインスタンスユーザーデータとして提供すると(つまり、cloud-initシステムを使用して)、cloud-initシステムがマウントを作成した後にスクリプトが実行されます。または、cloud-initの後に実行されるように順序を設定する必要があります。または、cloud-initを無効にして直接インストールを作成することもできます。