INTRODUCTION

OpenVZ

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 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:

 

#cd /vz/template/cache
#wget  http://download.openvz.org/template/precreated/centos-6-x86_64.tar.gz

 

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 8.8.8.8 –nameserver 8.8.4.4 –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

 

#vzctl exec 101 passwd

 

 

1

 

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

 

#exit

 

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

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

 

#vzctl exec 101 cat /proc/user_beancounters

 

2

 

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