Archive for the ‘Virtuozzo-windows’ category

VZVolumeMount Error and how to correct it

March 11th, 2009

If you ever encounter a error similiar to this;
C:\>vzctl start 11111
Starting VPS ...
Virtuozzo API function call 'VZVolumeMount' failed err = 183
Virtuozzo API function call 'dq_mount' failed
Cannot set disk quota for VPS 11111

The issue is that Virtuzzso is not able to determine which filesize is correct. It first looks at the file size from the primary *.efd file and also the quota limit that is set in the quotalimit for the VEID. However at times if the *.efd is changed the quotalimit at times will not and vice versa. So far I’ve only ever noticed it in Virtuzzso 3.5.1, but it could also occur in 4.0.

The fix is to manually set a quotalimit to the veid. To do this you will need to drop down to a command line. Once you do that you will need to force the change as I’ve done in the example;

C:\vzquota setlimit 11111 -B 5242880 –drive C:\

You can change this accordingly, as long as you use the vzquota command to set the correct quota size. You can also set it higher first and then change it back to the correct size.

This command updates limits for the running Container quota. It requires at least one limit to be
specified.The syntax of this command is:
vzquota setlimit CT_ID -B num [--drive name]
The following options can be used with the command:
-B, –block-hardlimit num Required. Specifies the disk quota block hard limit, in 1 Kb
blocks. This limit cannot be exceeded by the Container.
–drive name Optional. Specifies the disk drive inside the Container for
which the disk quota limit is to be set.

For its execution, vzquota setlimit requires only the ID of the Container and the disk
quota limit to be specified. However, you can additionally use the –drive option to specify
to what Container disk drive the defined quota limit is to be applied.

To verify it set you can then run vzquota stat VEID or vzquota show VEID (VEID is the number of the VPS).

Enabling RRAS (Routing and Remote Access Service) on Windows 2003 using Virtuozzo 3.5.1

October 29th, 2008

Until the release of SP1 from Parallel’s, for Virtuozzo 3.5.1, you were not able to use either a VPN client or RRAS (as it depends on a VPN). If you attempted to do so, you’ve no doubt encountered the error below;

However if you do have the SP1 service pack installed for Virtuozzo 3.5.1 installed or your host for your VPS does, you can enable it.

To do so, you must log onto the vps node/cluster (if you are leasing your vps, you will need to have the host do so). Once on the node, you must enabled the VPN access by doing the following;

C:\vzctl set %veid% –vpn on –save. Make sure you replace %veid% with the ID of the vps. If successful, if will reply back with Command ’set’ is successfully finished. Once this is done, you will need to restart the vps.

Once that is done, you can test the VPN by typing the following, on the vps node;

vzlist -o nettype 101

It will reply back with;

NETTYPE

routed+vpn

If you ever need to disable the VPN, you simply need to type “vzctl set %veid% –vpn off –save”.

Please note this only supports Microsoft VPN clients only!

Troubleshooting of paged or nonpaged memory pool shortage

August 19th, 2008

Virtuozzo shares NP pool between VEs so it is not recommended to run more than 40-45 VEs on one  x86 node  (w2k3 x64 has 128GB NP pool limit so there are possible to run more VEs without any  problems).

The problem can be tracked in the following way:

1. Open Task Manager, go to Performance tab and see Non-paged pool usage in Kernel Memory Usage area. Nonpaged value should be less than 220000K . Non-paged pool size limit is about 256000K, so if it’s overloaded,  physical server becomes unresponsive ( It is valid for x86 (Non-64Bit)  architecture only).

2. To find out the process which consumes Non paged memory pools, please open Processes tab, go to the top menu View, Select columns, check PID, Session ID and Non-paged Pool checkboxes.

3. Sort processes list by NP Pool column and look for the process with the largest NP Pool value.  Remember the PID value of this process.

4. Please open cmd and use vzquery command line tool to find out which VE runs the process.

vzquery p2v <PID_found_at_previous_step>

5. Then you can try to determinate which services belong to the process:

vzctl exec VEID tasklist /svc

Example:

PID is 10872, the process is svchost.exe

vzquery p2v 10872
Process ID: 10872
Session ID: 7 (ROOT)

VE ID: 119

Image Name                     PID Services
========================= ========
============================================
System Idle Process              0 N/A
System                           4 N/A
smss.exe                       868 N/A
csrss.exe                     4388 N/A
winlogon.exe                  6032 N/A
services.exe                  2628 Eventlog, PlugPlay
lsass.exe                     3316 Netlogon, PolicyAgent, ProtectedStorage,                                SamSs
svchost.exe                  10104 DcomLaunch
svchost.exe                   8248 RpcSs
svchost.exe                   3112 Dhcp, Dnscache
svchost.exe                  10440 LmHosts
svchost.exe                  10872 AeLookupSvc, BITS, Browser, CryptSvc,
EventSystem, helpsvc, lanmanserver,
lanmanworkstation, Messenger, Nla,
Schedule, seclogon, SENS, winmgmt, wuauserv
spoolsv.exe                  11680 Spooler
msdtc.exe                    12044 MSDTC

Command 'exec' is successfully finished

So, svchost.exe grabs the memory from the pool and the recommendation could be  the following:

Disable BITS and Automatic updates (wuauserv) service:
vzctl exec VEID sc config wuauserv start= disabled

vzctl exec VEID sc config bits start= disabled
vzctl restart VEID

VzkrnlStartVps Error Upon Starting a Windows VPS

May 7th, 2008

If you ever run into an issue with a down VPS, and are unable to restart it with the following error:

Failed to start Virtual Private Server '21656'. System error 1:
Virtuozzo API function call 'VzkrnlStartVps' failed dwErr = 0x000004FB   (or something similar)

This generally means the vps was updated using windows updater, which is fine if this was a dedicated server. However since this is a vps account, you can only install approved patches from Swsoft/Parallels (http://www.parallels.com)

So, in order to fix this, log into the host node, open a command prompt, and perform the following:

copy c:\WINDOWS\system32\drivers\tcpip.sys c:\vz\privte\$\root\c\WINDOWS\system32\drivers\

If this file differs from the host node, the vps simply cannot start, and the above just replaces what was patched/replaced with what the node is using.

Once you have done this, you will also want to assimilate the vps by running the following command;

Vzfsctl assimilate VEID (their vps ID).

Once you run this, you will be able to start the vps up and have it running again.

* If this does not work, go back and copy the entire driver directory from the Windows directory to the VEID’s \Windows\system32\ directory. *

:)

How can I change VE ID (Windows)

January 29th, 2008

Appiles to Virtuozzo for Windows 3.5.1 and 4.

It can be changed either through VZMC > Virtual Private Servers > right click on VE > Tasks > Move Virtual Private Server

or using the following command on the VPS Node:

vzmlocal OLD_VEID:NEW_VEID

 

So if the VE ID you are changing to is 23000 and the old one is 29999, then you would type vzmlocal 29999:23000.

 

Please note you will need to stop the VE ID before moving, however you don’t have to mount the VE ID