
我今天早上啟動了 AWS OpsWorks 實例,但收到錯誤,指出它無法存取 /srv/www 目錄。這很奇怪,因為昨天一切正常。這個執行個體運行的是 Ubuntu 14.04.3 LTS。
透過 SSH:ing 進入實例後,我注意到我甚至無法以 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 目錄並注意到那裡有相同的問題(即使這兩個目錄彼此不相關)
然後我在 /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 指令顯示它位於正確的裝置 ca01h 上,而 www 目錄位於另一個裝置上
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,並且看起來 /srv/www 僅在食譜編譯成功後由 Opsworks 設定。