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 http://wiki.openvz.org/Download/template/precreated. 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:
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 192.168.0.101, 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 test.arthar.com –save
#vzctl set 101 –ipadd 192.168.31.200 –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 18.104.22.168 –nameserver 22.214.171.124 –nameserver 192.168.32.1 –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
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
CTID NPROC STATUS IP_ADDR HOSTNAME
101 14 running 192.168.31.200 test.arthar.com
To find out about the resources allocated to a vm, run
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