Open main menu

OpenVZ Virtuozzo Containers Wiki β

Container enter failed

Revision as of 16:02, 8 May 2009 by TimSmall (talk | contribs)

Problem: container created succesfully and started. But when trying to do

vzctl enter 101 

you get

container enter failed(?)

Using strace, you see:

# strace -ff vzctl enter
....
fstat64(...st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0)...) fail
....

Solution: Recompile the kernel with the following option:

CONFIG_LEGACY_PTYS=y

Other solutions:

1) enter the VE manually creating the LEGACY_PTYS devices

vzctl exec  101 /sbin/MAKEDEV tty
vzctl exec 101 /sbin/MAKEDEV pty
vzctl enter 101

2A) If you want udev in VE, save the changes forcing udev to make LEGACY_PTYS:

cat > /etc/udev/makedev.d/51-udev.nodes
# These device have to be created manually
tty0
tty1
tty2
tty3
....
ttyp0
ttyp1
ttyp2
ttyp3
....
ptyp0
ptyp1
ptyp2
ptyp3
....


2B) If you think is better disable udev in VE, comment out in the VE the line:

/sbin/start_udev

in

/etc/rc.d/rc.sysinit

.. however updates to the package which owns this file may revert your changes, so you must take steps to guard against this.

Restart the VE and make the devices with MAKEDEV:

vzctl exec  101 /sbin/MAKEDEV tty
vzctl exec 101 /sbin/MAKEDEV pty
vzctl enter 101

I have used this method also to create zap dummy devices for asterisk in VE:

/dev/zap/ctl
/dev/zap/pseudo
/dev/zap/channel
/dev/zap/timer

2C) The devices can be setup also with a line in VE config

grep DEV /etc/vz/conf/101.conf
DEVNODES="zap/ctl:rw zap/channel:rw zap/pseudo:rw zap/timer:rw "


See also