Я установил несколько контейнеров на сервере Xenial, используя набор данных ZFS для хранения (я не уверен, что это актуально; мы вернемся к этому). Все они работали нормально.
Пытаясь перезапустить один из них, 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'
Это не удивительно, так как, когда я check
$ sudo ls -l /var/lib/lxd/containers/mail-server.zfs
total 0
Тем не менее, я получаю то же самое, если проверяю другой контейнер:
$ sudo ls -l /var/lib/lxd/containers/smb-server.zfs
total 0
, но этот контейнер в данный момент работает:
$ 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
Я действительно могу остановиться и начать по желанию.
Мое единственное предположение относительно причины этого изменения (единственное, что я могу вспомнить, делая то, что могло бы предположительно повлиять на эту проблему)), это то, что я вчера удалил другой контейнер, 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, также после удаления некоторых контейнеров накануне.
Удаление точки монтирования /var/lib/lxd/containername.zfs
и запуск zfs mount -a
исправило ее
Довольно неприятно, что вы не можете удалить контейнер, не беспокоясь о том, что точки монтирования могут быть испорчены!
Я хотел бы сказать Вам, что я получил ту же проблему со всеми своими Гостеприимными контейнерными серверами (5).
Для добавления большей информации к нашей проблеме монтирование не появляется больше, когда Вы тип mount
.
, Если Вы тип zfs mount -a
это только монтирует назад нерабочие контейнеры с рабочими контейнерами, Вы получаете следующую ошибку: "filesystem 'lxd/containers/container_name' is already mounted"
Так для устранения проблемы полностью необходимо остановить контейнер (контейнеры) сначала и затем выпуск zfs mount -a
.
Для завершения или существует некоторый тайм-аут на этих zfs, монтируется или некоторое задание крона, действительно удалял их так или иначе, но это - определенно ошибка.
, Надо надеяться, это не повредило контейнера...
Ubuntu Dock
и эти Dash to Dock
не установлены с помощью склонного. Или используйте extensions.gnome.org/local или используйте Инструмент Тонкой настройки Gnome. Вторая ссылка, которую я дал, возьмет Вас непосредственно к Dash to Dock
страница установки.
– heynnema
3 November 2017 в 06:26
Я все еще не могу вообразить то, что пошло не так, как надо, но выполнение sudo zfs mount -a
устранило проблему (как упомянуто выше, наборы данных ZFS действительно существовали - как очевидные их использованием устройства хранения данных - они были просто размонтированы по некоторым причинам) для каждого контейнера не выполнение.
Остановка www-server
, я мог зафиксировать ее точку монтирования также с той же командой, затем запустить его снова.
N.B. , Если кто-либо может объяснить причину позади этой ошибки через следующие несколько дней, я приму их ответ. Иначе я оставлю этот ответ здесь для кого-либо еще, кто испытывает ту же проблему (хотя, наличие рабочих контейнеров было всем, что мешало мне перезагрузить, который устранит проблему также - так как все наборы данных ZFS смонтированы на запуске - таким образом, эта проблема совсем не очень важна).