
今朝、AWS OpsWorks インスタンスを起動したところ、/srv/www ディレクトリにアクセスできないというエラーが表示されました。昨日はすべて正常に動作していたので、これは奇妙です。インスタンスは Ubuntu 14.04.3 LTS を実行しています。
インスタンスに SSH で接続した後、root として /srv/www にアクセスできないことに気付きました。
root@stg-worker1:/srv# ll
total 8
drwxr-xr-x 3 root root 4096 Sep 24 07:17 ./
drwxr-xr-x 23 root root 4096 Sep 24 06:41 ../
drwxrwxrwx 2 root root 0 Sep 24 06:41 www/
root@stg-worker1:/srv# cd www
-bash: cd: www: No such file or directory
不思議なことに、www ディレクトリのサイズは 0 バイトです。次に /var/www ディレクトリをチェックしたところ、同じ問題が見つかりました (これら 2 つのディレクトリは互いに関連していませんが)
その後、/srv に新しいテスト ディレクトリを作成し、正常に動作しました。
root@stg-worker1:/srv# mkdir test
root@stg-worker1:/srv# stat test
File: ‘test’
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: ca01h/51713d Inode: 164068 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-09-24 07:19:53.160462520 +0000
Modify: 2015-09-24 07:19:53.160462520 +0000
Change: 2015-09-24 07:19:53.160462520 +0000
Birth: -
Statコマンドは、wwwディレクトリが別のデバイスにあったのに対し、正しいデバイスca01hにあることを示しています。
root@stg-worker1:/srv# stat www
File: ‘www’
Size: 0 Blocks: 0 IO Block: 1024 directory
Device: 1bh/27d Inode: 8970 Links: 2
Access: (0777/drwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-09-24 06:41:29.128571000 +0000
Modify: 2015-09-24 06:41:29.128571000 +0000
Change: 2015-09-24 06:47:56.392966341 +0000
Birth: -
Opsworks の設定やクックブックには変更を加えていません。
この問題の原因は何なのか、またはさらに調査するにはどうすればよいのか、何かアイデアはありますか?
答え1
実際には、クックブックに変更があったため、OpsWorks のセットアップが失敗しました。
クックブックは、クックブックのコンパイル中に /srv/www にアクセスしようとしていましたが、クックブックが正常にコンパイルされた後にのみ Opsworks によって /srv/www が設定されるようです。