Article ID: 120558, created on Mar 15, 2014, last review on May 10, 2014

  • Applies to:
  • Virtuozzo containers for Windows

Symptoms

Container cannot be started/mounted with the following error :

C:\Windows\system32>vzctl start 1252 --verbose
Starting container ...
INFO:  Notify container 1252: stopped none -> stopped starting
INFO:  start_vps_locked: container 1252
INFO:  VpsVolumeMount(C:\vz\Private\1252\root.efd, {da853aae-1023-5865-5f4d-4c2f    caa27007}) DISK_TYPE = 3 : 2
ERROR: Windows API function call 'VZVolumeSetMountPoint' failed, code 0x91 CTID 1252
ERROR: Parallels Virtuozzo Containers API function call 'dq_mount' failed
ERROR: Cannot set disk quota for container 1252
ERROR: Cannot mount disk for container 1252
INFO:  Notify container 1252: stopped starting -> stopped none

C:\Users\Administrator>vzctl mount 1252
Windows API function call 'VZVolumeSetMountPoint' failed, code 0x91 CTID 1252
Parallels Virtuozzo Containers API function call 'dq_mount' failed
Cannot set disk quota for container 1252

Usage value exceeds hardlimit for this container:

 C:\Windows\system32>vzquota show 1252

    disk  resource   usage      hardlimit  path
    C:    1k-blocks  876960348  20971520   C:\vz\Private\1252\root.efd

In a private area of the affected container there is a directory root instead of a hardlink:

C:\vz\private\1252>dir /A:D
 Volume in drive C has no label.
 Volume Serial Number is D522-753A

 Directory of C:\vz\private\1252

 03/11/2014  12:31 PM    <DIR>          .
 03/11/2014  12:31 PM    <DIR>          ..
 04/01/2013  06:57 PM    <DIR>          .vza
 03/11/2014  04:05 AM    <DIR>          root       <--Plain directory
 03/11/2014  04:09 AM    <DIR>          updates
 04/01/2013  10:53 PM    <DIR>          vzagent
            7 File(s) 20,185,727,475 bytes
            6 Dir(s)   7,659,220,992 bytes free

NOTE: in output above root is a <DIR>, not a <JUNCTION>

Cause

vzquota calculates usage value by checking contents of a root directory. In this case instead of a hardlink we have real directory and vzquota reports disk usage of the entire Hardware Node's physical disk instead of checking contents of container's disk mounted to root directory.

Disk usage on hardware node is higher than hardlimit of the container, therefore it fails to start/mount.

Resolution

If root exists it should be a hardlink (<JUNCTION>), not a directory (<DIR>). Healthy example:

C:\vz\private\1982>dir /A:D
 Volume in drive C has no label.
 Volume Serial Number is D633-621A

Directory of C:\vz\private\1982

03/11/2014  05:59 AM    <DIR>          .
03/11/2014  05:59 AM    <DIR>          ..
04/15/2013  02:46 PM    <DIR>          .vza
03/11/2014  04:17 AM    <JUNCTION>     root [\??\Volume{7a591bd4-6a4a-49da-bf6f-e8ea5d383e21}\]       <-- Proper hardlink
03/11/2014  04:29 AM    <DIR>          updates
04/15/2013  03:05 PM    <DIR>          vzagent

To resolve the issue you should move root directory, e.g. rename to _root, and start/mount the container.

Once it starts, usage will be calculating correctly:

C:\Windows\system32>vzquota show 1252

    disk  resource   usage     hardlimit  path
     C:    1k-blocks  8591562   20971520   C:\vz\Private\1252\root.efd 

Search Words

dq_mount

unable to start

unable to mount

cannot start

cannot mount

965b49118115a610e93635d21c5694a8 2897d76d56d2010f4e3a28f864d69223 d02f9caf3e11b191a38179103495106f

Email subscription for changes to this article
Save as PDF