OpenVZ (Photo credit: Wikipedia)

Before we can create virtual machines with OpenVZ, we need to have a template for the distribution that we want to use in the virtual machines in the /vz/template/cache directory. The virtual machines will be created from that template. You can find a list of precreated templates on otherwise see my blog  to create a OStemplate of your own.


I want to use CentOS 6 in my virtual machines, so I download a CentOS 6 template:


#cd /vz/template/cache


I will now show you the basic commands for using OpenVZ.

To set up a VPS from the CentOS 6 template, run:


#vzctl create 101 –ostemplate centos-6-x86_64 –config basic


The 101 must be a uniqe ID – each virtual machine must have its own unique ID. You can use the last part of the virtual machine’s IP address for it. For example, if the virtual machine’s IP address is, you use 101 as the ID.

If you want to have the vm started at boot, run


#vzctl set 101 –onboot yes –save


To set a hostname and IP address for the vm, run:


#vzctl set 101 –hostname –save
#vzctl set 101 –ipadd –save


Next we set the number of sockets to 120 and assign a few nameservers to the vm:


#vzctl set 101 –numothersock 120 –save
#vzctl set 101 –nameserver –nameserver –nameserver –save


(Instead of using the vzctl set commands, you can as well directly edit the vm’s configuration file which is stored in the /etc/vz/conf directory. If the ID of the vm is 101, then the configuration file is /etc/vz/conf/101.conf.)

To start the vm, run


#vzctl start 101


To set a root password for the vm, execute


#vzctl exec 101 passwd





You can now either connect to the vm via SSH (e.g. with PuTTY), or you enter it as follows:


#vzctl enter 101


To leave the vm’s console, type




To stop a vm, run


#vzctl stop 101


To restart a vm, run


#vzctl restart 101


To delete a vm from the hard drive (it must be stopped before you can do this), run


#vzctl destroy 101


To get a list of your vms and their statuses, run


#vzlist –a


101         14 running



To find out about the resources allocated to a vm, run


#vzctl exec 101 cat /proc/user_beancounters




The failcnt column is very important, it should contain only zeros; if it doesn’t, this means that the vm needs more resources than are currently allocated to the vm. Open the vm’s configuration file in /etc/vz/conf and raise the appropriate resource, then restart the vm.

To find out more about the vzctl command, run



#man vzctl