OpenVZ Installation on Centos

Posted by: Admin  :  Category: Web Hosting

Linux Cpanel shared hosting: 600 GB disk space, 6 TB bandwidth, free domain, unlimited databases and ftp accounts, web hosting cheap and pro at Hostony

There are number of virtualization products exist for Linux. OpenVZ is one the most
popular among others which has been widely used by many Web Hosting Provider.

OpenVZ is a glorified Linux chroot or BSD jail system that allows you to completely isolate processes from each other, increase security by keeping bits separate, and tightly control resource utilization. OpenVZ refers to these “virtual machines” as containers, virtual private servers (VPS), or virtual environments (VE).


The Installation of  OpenVZ is quite simple. It requires a special kernel to provide the virtualization support it needs, and this can be obtained easily via the OpenVZ project itself. The OpenVZ kernel patch is licensed under GPL license, and the user-level tools are under the QPL license.

The article below explain how to install OpenVZ container in CentOS 5.4. With OpenVZ you can create multiple Virtual Private Servers (VPS) on same hardware machine and running them simultaneously and efficiently.

1, Install OpenVZ

In order to install OpenVZ, we need to add the OpenVZ repository to yum, this would also help us keep the kernel up-to-date:

cd /etc/yum.repos.d
rpm –import

The repository contains a few different OpenVZ kernels (you can find more details here:, or with this command “yum search ovzkernel“.

Pick one of them and install it as follows:

yum install ovzkernel

This should automatically update the GRUB bootloader as well. An example is listed below”

cat /boot/grub/menu.lst
# grub.conf generated by anaconda
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#all kernel and initrd paths are relative to /boot/, eg.
#root (hd0,0)
#kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#initrd /initrd-version.img
title CentOS (2.6.18-128.2.1.el5.028stab064.7)
root (hd0,0)
kernel /vmlinuz-2.6.18-128.2.1.el5.028stab064.7 ro root=LABEL=/
initrd /initrd-2.6.18-128.2.1.el5.028stab064.7.img

2, Pre-adjustings before the installation

Now we install some OpenVZ user tools:

yum install vzctl vzquota

Open /etc/sysctl.conf and make sure that you have the following settings in it:

cat /etc/sysctl.conf

net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

The following step is important if the IP addresses of your virtual machines are from a different subnet than the host system’s IP address. If you don’t do this, networking will not work in the virtual machines!

Open /etc/vz/vz.conf and set NEIGHBOUR_DEVS to all, the modified entry is like this “NEIGHBOUR_DEVS=all“. SELinux needs to be disabled, you can do it by making changes on its config file /etc/sysconfig/selinux. Finally, reboot the system, and then your new OpenVZ kernel should show up:

[root@server1 ~]# uname -r

3, Create a Virutal Server

Linux Cpanel shared hosting: 600 GB disk space, 6 TB bandwidth, free domain, unlimited databases and ftp accounts, web hosting cheap and pro at Hostony

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 by default. New virtual machines will be created from these templates. A list of precreated templates is available here.

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

cd /vz/template/cache

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

vzctl create 211 –ostemplate centos-5-i386-default –config vps.basic

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

4, Common controls on OpenVZ

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

vzctl set 211 –onboot yes –save

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

vzctl set 211 –hostname –save
vzctl set 211 –ipadd –save

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

vzctl set 211 –numothersock 120 –save
vzctl set 211 –nameserver –nameserver –nameserver –save

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

In order to start the vm, run “vzctl start 211″, to set a root password for the vm, run “vzctl exec 211 passwd”. Now You can either connect to the vm via SSH (e.g. with PuTTY), or login through console directly as follows:

vzctl enter 211

To leave the vm’s console, type “exit”, to stop a vm, run “vzctl stop 211“, to restart a vm, run “vzctl restart 211“.

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

5, Check VM Status

To get a list of your vms and their statuses, run “vzlist -a” like this:

[root@server1 cache]# vzlist -a
211         18 running

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

[root@server1 cache]# vzctl exec 211 cat /proc/user_beancounters

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

To find out more about the vzctl command, run “man vzctl”.

Article Written By Shahram Azin


Web Hosting Blog

Linux Cpanel shared hosting: 600 GB disk space, 6 TB bandwidth, free domain, unlimited databases and ftp accounts, web hosting cheap and pro at Hostony

Leave a Reply