ストレージにZFSデータセットを使用して、Xenialサーバーにいくつかのコンテナーをセットアップしました(これが関連するかどうかはわかりません。後で説明します)。彼らはすべてうまくいきました。
それらの1つを再起動しようとしていますmail-server
取得しました
error: Error calling 'lxd forkstart mail-server /var/lib/lxd/containers /var/log/lxd/mail-server/lxc.conf': err='exit status 1'
Try `lxc info --show-log mail-server` for more info
そして私が見るログを見て
lxc 20160518112750.405 ERROR lxc_conf - conf.c:mount_rootfs:807 - No such file or directory - failed to get real path for '/var/lib/lxd/containers/mail-server/rootfs'
lxc 20160518112750.405 ERROR lxc_conf - conf.c:setup_rootfs:1221 - failed to mount rootfs
lxc 20160518112750.405 ERROR lxc_conf - conf.c:do_rootfs_setup:3611 - failed to setup rootfs for 'mail-server'
私が確認したとき、これは驚くべきことではありません
$ Sudo ls -l /var/lib/lxd/containers/mail-server.zfs
total 0
ただし、別のコンテナーをチェックしても同じです。
$ Sudo ls -l /var/lib/lxd/containers/smb-server.zfs
total 0
butコンテナは現在実行中です:
$ lxc list
+---------------+---------+--------------------------------+------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+---------------+---------+--------------------------------+------+------------+-----------+
| smb-server | RUNNING | 192.168.2.11 (eth0) | | PERSISTENT | 2 |
+---------------+---------+--------------------------------+------+------------+-----------+
| mail-server | STOPPED | | | PERSISTENT | 0 |
+---------------+---------+--------------------------------+------+------------+-----------+
| ub-test | STOPPED | | | PERSISTENT | 0 |
+---------------+---------+--------------------------------+------+------------+-----------+
| www-server | STOPPED | | | PERSISTENT | 1 |
+---------------+---------+--------------------------------+------+------------+-----------+
$ lxc exec smb-server -- /bin/bash
root@smb-server:~# ls -l /
total 88
drwxr-xr-x 2 root root 173 May 17 10:10 bin
drwxr-xr-x 3 root root 3 Apr 20 17:58 boot
drwxr-xr-x 9 root root 480 May 17 21:40 dev
...
www-server
も実行されていて、ls
には何も表示されていませんでした。停止すると、同じ理由で、再起動できなくなります。 rootfs
がまだ見つかっている唯一のコンテナub-test
:
$ Sudo ls -l /var/lib/lxd/containers/ub-test.zfs
total 22
-rw-r--r-- 1 lxd messagebus 1425 Apr 20 18:45 metadata.yaml
drwxr-xr-x 22 100000 100000 22 Apr 22 11:38 rootfs
drwxr-xr-x 2 lxd messagebus 7 Apr 20 18:45 templates
確かに私は思いのままに立ち止まることができます。
この変更の理由について私の唯一の推測は(私がそれを思い出すことができる唯一のことmightおそらくこの問題に影響を与える)は私が昨日別のコンテナーを削除したことです、ub-test2
。私はまだその痕跡を見ることができます:
$ Sudo zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 2.80T 2.44T 96K /tank
tank/lxd 4.71G 2.44T 96K none
tank/lxd/containers 3.34G 2.44T 96K none
tank/lxd/containers/smb-server 2.31G 2.44T 2.59G /var/lib/lxd/containers/smb-server.zfs
tank/lxd/containers/mail-server 279M 2.44T 746M /var/lib/lxd/containers/mail-server.zfs
tank/lxd/containers/ub-test 485M 2.44T 952M /var/lib/lxd/containers/ub-test.zfs
tank/lxd/containers/www-server 289M 2.44T 757M /var/lib/lxd/containers/www-server.zfs
tank/lxd/deleted 702M 2.44T 96K none
tank/lxd/deleted/images 702M 2.44T 96K none
tank/lxd/deleted/images/f4c4c60a6b752a381288ae72a1689a9da00f8e03b732c8d1b8a8fcd1a8890800 702M 2.44T 702M none
tank/lxd/images 704M 2.44T 96K none
tank/lxd/images/d23ee1f4fd284aeaba6adeb67cccf7b871e96178d637fec96320aab7cc9634b1 704M 2.44T 704M /var/lib/lxd/images/d23ee1f4fd284aeaba6adeb67cccf7b871e96178d637fec96320aab7cc9634b1.zfs
そこにも/var/lib/lxd/containers/mail-server.zfs
(およびsmb-server
、www-server
)は、ストレージ(約280M)を使用していますが、ls
は何も返さないので、この問題は、ZFSマウントがうまくいかなかったことが原因であると思われます。私の最初の動きは、システム全体を再起動し、それによって問題が解決するかどうかを確認することでしたが、それによって、最後に実行されていたコンテナーも停止し、問題のトラブルシューティングが難しくなるのではないかと心配です。
参考までに、これが私のコンテナのストレージディレクトリです。
$ Sudo ls -l /var/lib/lxd/containers
total 37
lrwxrwxrwx 1 root root 41 Apr 25 09:19 smb-server -> /var/lib/lxd/containers/deluge-ub1604.zfs
drwxr-xr-x 2 root root 4096 Apr 25 09:19 smb-server.zfs
-rw-r--r-- 1 root root 19011 May 18 11:46 lxc-monitord.log
lrwxrwxrwx 1 root root 39 May 18 02:02 mail-server -> /var/lib/lxd/containers/mail-server.zfs
drwxr-xr-x 2 100000 100000 4096 May 18 02:02 mail-server.zfs
lrwxrwxrwx 1 root root 35 Apr 22 11:38 ub-test -> /var/lib/lxd/containers/ub-test.zfs
drwxr-xr-x 4 100000 100000 5 Apr 22 11:37 ub-test.zfs
lrwxrwxrwx 1 root root 38 May 17 09:31 www-server -> /var/lib/lxd/containers/smb-server.zfs
drwxr-xr-x 2 100000 100000 4096 May 17 09:31 www-server.zfs
すべてのXenialコンテナサーバーで同じ問題が発生したことをお伝えします(5)。
問題にさらに情報を追加するために、mount
を入力したときにマウントが表示されなくなりました。
zfs mount -a
と入力すると、実行されていないコンテナのみがマウントされ、実行中のコンテナでは次のエラーが発生します。"filesystem 'lxd/containers/container_name' is already mounted"
したがって、問題を完全に修正するには、最初にコンテナを停止してからzfs mount -a
を発行する必要があります。
結論として、これらのzfsマウントにタイムアウトが発生したか、何らかのcronジョブがそれらを何らかの方法で削除しましたが、これは間違いなくバグです。
うまくいけば、これはコンテナを損傷しませんでした...
何がうまくいかなかったのかまだ想像できませんが、Sudo zfs mount -a
すべてのコンテナが実行されていない場合の問題を修正しました(前述のように、ZFSデータセットは存在しました(ストレージの使用から明らかなように、何らかの理由でアンマウントされました)。
停止中www-server
、同じコマンドを使用してマウントポイントを修正してから、再起動することもできます。
N.B。このエラーの背後にある原因を今後数日で誰かが説明できれば、私は彼らの答えを受け入れます。それ以外の場合は、同じ問題が発生した他の人のためにこの回答を残します(ただし、コンテナーを実行しているだけで再起動できなくなったため、問題も修正されました-すべてのZFSデータセットが起動時にマウントされるため、 -したがって、この問題は重大ではありません)。
これは、前日にいくつかのコンテナを削除した後でも、新しいXenialインストールで今日見ました。
/var/lib/lxd/containername.zfs
マウントポイント(rm)を削除してからzfs mount -a
を実行すると修正されました
マウントポイントがめちゃくちゃになることを心配せずにコンテナーを削除できないことはかなり困惑します!