Virtuozzo / OpenVZ Containers Fail to Start After Reboot – VCMMD Service Error Fix
Problem
After rebooting a Virtuozzo 7 host node, all containers failed to start with the following error:
vzctl start 2030
Starting Container ...
Mount image: /vz/private/2030/root.hdd
Container is mounted
Setting permissions for image=/vz/private/2030/root.hdd
vcmmd: failed to register Container: Failed to connect to VCMMD service
vcmmd: failed to unregister Container: Failed to connect to VCMMD service
Unmount image: /vz/private/2030/root.hdd (190)
Container is unmounted
Failed to start the Container
Additionally, the VCMMD service was not running:
systemctl status vcmmd
Output:
vcmmd.service: main process exited, code=exited, status=1/FAILURE
The service would immediately fail every time it was started.
Initial Investigation
The following checks confirmed that the issue was not related to container corruption:
- Ploop images mounted successfully.
- Virtuozzo kernel was loaded correctly.
/proc/user_beancountersexisted.- Virtuozzo kernel modules were present.
- Container configuration files were intact.
This ruled out:
- Container filesystem corruption
- Ploop corruption
- Incorrect kernel boot
- Missing Virtuozzo modules
The failure was isolated to the VCMMD service itself.
Root Cause
After further investigation, it was discovered that the following cgroup directory was missing after the host reboot:
/sys/fs/cgroup/memory/user.slice
Because the directory did not exist, the Virtuozzo Memory Management Daemon (VCMMD) could not initialize and exited immediately.
As a result:
- VCMMD failed to start
- Containers could not register with VCMMD
- Every container startup attempt failed
Resolution
Create the missing directory:
mkdir /sys/fs/cgroup/memory/user.slice
Then start the VCMMD service:
service vcmmd start
Or on systemd-based installations:
systemctl start vcmmd
Verify:
systemctl status vcmmd
The service should now be running normally.
Once VCMMD is active, containers can be started successfully:
vzctl start <CTID>
Example:
vzctl start 2030
Permanent Fix
If the issue reoccurs after every reboot, investigate why the memory cgroup hierarchy is not being created automatically during boot.
As a temporary workaround, you may add the following command to the boot process:
mkdir -p /sys/fs/cgroup/memory/user.slice
before VCMMD starts.
Conclusion
If Virtuozzo/OpenVZ containers fail to start after a reboot with:
vcmmd: failed to register Container: Failed to connect to VCMMD service
and the vcmmd service continuously exits with status 1/FAILURE, check whether the following directory exists:
/sys/fs/cgroup/memory/user.slice
Creating the directory and restarting VCMMD immediately restores normal container operations.

