Содержание

XCP-ng: tapdisk experienced an error

Потребовалось запустить выключенную машину. Не запускается — получаю ошибку tapdisk experienced an error.

Перезагрузил хост. Запустилось ровно столько виртуальных машин, сколько было запущено до перезагрузки. Дополнительные не запускаются. Ладно, временно выключил одну, сделал свои дела, включил обратно.

Через несколько дней обновилась ОС на нескольких виртуальных машинах. Выключение они не пережили. Всё та же ошибка. Перезагрузил хост — больше ни одна не запустилась.

/var/log/xensource.log:

log

xapi: [error|localhost|2127 |VDI.activate D:005e4c46b3f7|backtrace] sm_exec D:e2f4977f9a92 failed with exception Storage_interface.Backend_error(_)
xapi: [error|localhost|2127 |VDI.activate D:005e4c46b3f7|backtrace] Raised Storage_interface.Backend_error(_)
xapi: [error|localhost|2127 ||backtrace] VDI.activate D:005e4c46b3f7 failed with exception Storage_interface.Backend_error(_)
xapi: [error|localhost|2127 ||backtrace] Raised Storage_interface.Backend_error(_)
xapi: [error|localhost|2126 ||storage_impl] Storage_impl: dp:vbd/6/xvda sr:148b4f48-3d4d-7cd1-ddbc-a7ee7972f313 vdi:ce625be0-2b48-4495-b304-94dde8df74e8 op:activate error:Storage_interface.Backend_error(_) backtrace:Raised at file "storage/storage_interface.ml", line 18, characters 0-26#012Called from file "ocaml/xapi/storage_impl.ml", line 312, characters 14-57
xenopsd-xc: [error|localhost|27 |Parallel:task=107.atoms=1.(VBD.plug RW vm=4f51ce83-0b21-829d-9c8d-1ae0aea82732)|xenops] Re-raising exception SR_BACKEND_FAILURE_453: ; tapdisk experienced an error [opterr=Operation not permitted];
xenopsd-xc: [error|localhost|27 |Parallel:task=107.atoms=1.(VBD.plug RW vm=4f51ce83-0b21-829d-9c8d-1ae0aea82732)|task_server] Task 116 failed; Xenops_interface.Storage_backend_error(_)
xenopsd-xc: [debug|localhost|27 ||xenops_server] TASK.signal 116 = ["Failed",["Storage_backend_error",["SR_BACKEND_FAILURE_453",["","tapdisk experienced an error [opterr=Operation not permitted]",""]]]]

/var/log/SMlog:

log

SM: [14873] ***** ['/usr/sbin/tap-ctl', 'spawn'] failed: status=1, pid=15019, errmsg=Operation not permitted: EXCEPTION , ['/usr/sbin/tap-ctl', 'spawn'] failed: status=1, pid=15019, errmsg=Operation not permitted
SM: [14873] ***** BLKTAP2:: EXCEPTION , Tapdisk(vhd:/dev/VG_XenStorage-148b4f48-3d4d-7cd1-ddbc-a7ee7972f313/VHD-ce625be0-2b48-4495-b304-94dde8df74e8): ['/usr/sbin/tap-ctl', 'spawn'] failed: status=1, pid=15019, errmsg=Operation not permitted
SM: [14873] ***** tapdisk failed exception: Tapdisk(vhd:/dev/VG_XenStorage-148b4f48-3d4d-7cd1-ddbc-a7ee7972f313/VHD-ce625be0-2b48-4495-b304-94dde8df74e8): ['/usr/sbin/tap-ctl', 'spawn'] failed: status=1, pid=15019, errmsg=Operation not permitted: EXCEPTION , Tapdisk(vhd:/dev/VG_XenStorage-148b4f48-3d4d-7cd1-ddbc-a7ee7972f313/VHD-ce625be0-2b48-4495-b304-94dde8df74e8): ['/usr/sbin/tap-ctl', 'spawn'] failed: status=1, pid=15019, errmsg=Operation not permitted
SM: [14873] Raising exception [453, tapdisk experienced an error [opterr=Operation not permitted]]
SM: [14873] ***** Local VHD on LVM: EXCEPTION , tapdisk experienced an error [opterr=Operation not permitted]

Гуглим.

shell-session

# xe vm-cd-eject --multiple

Не помогает.
Возможно, забился раздел с логами?

shell-session

# df -h
Filesystem Size  Used Avail Use% Mounted on
/dev/sda5  3.9G  1.3G  2.5G  34% /var/log

Опять нет.
Может, в ФС закончились inode?

shell-session

# df -i
Filesystem Inodes  IUsed   IFree IUse% Mounted on
/dev/sda5  262144 262144       0  100% /var/log

Бинго!

В моём случае было 100500 файлов ovsdb-server.log. Может, ещё каких. Удалил прошлые логи из /var/log, без подкаталогов. Так как файлов много, удалял командой:

shell-session

# cd /var/log
# ls -1 | grep ovsdb-server.log. | xargs rm -f

Виртуалки запускаются, inode освободились:

shell-session

# df -i
Filesystem Inodes IUsed   IFree IUse% Mounted on
/dev/sda5  262144  4439  257705    2% /var/log
  1. Some VMs not starting after a hard shutdown
  2. VM not starting with tap-ctl spawn “operation not permitted” error
  3. tapdisk experienced an error
  4. VM dont start with error “The tapdisk failed”