What is OpenVZ?
OpenVZ is an Operating System-level server virtualization solution, built on Linux.
OpenVZ creates isolated, secure virtual private servers — VPSs (otherwise known as virtual environments — VE)
on a single physical server enabling better server utilization and ensuring that applications do not conflict.
Each VPS performs and executes exactly like a stand-alone server;
VPSs can be rebooted independently and have root access, users, IP addresses, memory, processes, files,
applications, system libraries and configuration files.
Download OpenVZ
http://openvz.org/download
OpenVZ Documentation
http://openvz.org/documentation/
OpenVZ FAQ
http://openvz.org/documentation/faq
Prepare Your Server To Host Virtual Private Servers
First we install some prerequisites for the kernel compilation.
#apt-get install kernel-package libncurses5-dev fakeroot wget bzip2
Compiling The OpenVZ linux kernel
Downloading The Kernel Sources
The OpenVZ patch is currently available for the kernel 2.6.8 only.
We will use the vanilla kernel from kernel.org and patch and configure it for our needs.
To download and unpack the sources, execute the following commads
#cd /usr/src
#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.tar.bz2
#tar xjf linux-2.6.8.tar.bz2
#cd linux-2.6.8/
Getting The OpenVZ Patch And Patch The Kernel
Now we download the OpenVZ kernel patch from OpenVZ.org and apply it to the kernel sources.
#wget http://download.openvz.org/kernel/022stab064.1/patches/patch-022stab064-combined.gz
#gzip -d patch-022stab064-combined.gz
#patch -p1 < patch-022stab064-combined
Getting The Kernel Config For OpenVZ
OpenVZ.org offers several kernel configurations from generic i686 to enterprise configurations.
I select the generic i686 configuration. You may select another config depending on your hardware and processor.
The configs can be downloaded from here: http://openvz.org/download/kernel/
#wget http://download.openvz.org/kernel/022stab064.1/configs/kernel-2.6.8-022stab064-i686.config.ovz
Now run "make menuconfig",
select "Load an alternate configuration file"
and select the file "/usr/src/linux-2.6.8/kernel-2.6.8-022stab064-i686.config.ovz".
#make menuconfig
If you have some special kernel config requirements, change them now.
Then select Exit and then Save to save the kernel configuration.
#make-kpkg clean
Now we compile the kernel.
#fakeroot make-kpkg --revision=OpenVZ.2.6.8 kernel_image
If the compilation stops with an error, run
#make clean
and then re-run the previous commands starting with
#make menuconfig
Installing The OpenVZ Kernel
If you have skipped the first chapter, you can download the precompiled Debian kernel with these commands
#cd /usr/src/
#wget http://downloads.howtoforge.com/debian_openvz_howto/kernel-image-2.6.8-022stab064-up_OpenVZ.2.6.8_i386.deb
No matter if you have compiled your own OpenVZ kernel or use the precompiled one, do this to install it
#dpkg -i /usr/src/kernel-image-2.6.8-022stab064-up_OpenVZ.2.6.8_i386.deb
Now reboot your server
#shutdown -r now
Installing OpenVZ Tools
Add the repository for the OpenVZ Tools to /etc/apt/sources.list:
#echo "deb http://debian.systs.org/ stable openvz" >> /etc/apt/sources.list
#apt-get update
Install the packages
#apt-get install vzctl vzquota
Now you should reboot your server
#shutdown -r now
Install And Start Your Virtual Private Server (VPS)
OpenVZ.org offers precreated OpenVZ template caches for download
http://openvz.org/download/template/cache/
we will show here how to install and start a Fedora 4 minimal template.
The steps for the other template caches available on http://openvz.org/download/template/cache/ are exactly the same
(in case you do not want to install Fedora 4 in a VPS).
If you want to create your own custom templates, please have a look at chapter 3 of this tutorial.
Download the Fedora 4 template
#cd /vz/template/cache
#wget http://download.openvz.org/template/precreated/fedora-core-4-i386-minimal.tar.gz
Create the VPS. The ID of the first VPS is 101. You can choose any numeric ID, as long as the ID is > 100 and unique.
#vzctl create 101 --ostemplate fedora-core-4-i386-minimal --config vps.basic
Now I set some basic settings. Configure this VPS to start automatically on boot
#vzctl set 101 --onboot yes --save
Set the hostname. Replace "test101.mytest.org" with the hostname your VPS shall have
#vzctl set 101 --hostname test101.mytest.org --save
Set the IP of the VPS. Replace 192.168.0.167 with a free IP from your network
#vzctl set 101 --ipadd 192.168.0.167 --save
Set the nameserver in the VPS. Replace 192.168.0.2 with a nameserver reachable from your server
#vzctl set 101 --nameserver 192.168.0.2 --save
Start the VM
#vzctl start 101
Start the SSH server
#vzctl exec 101 /etc/init.d/sshd start
Set the root password inside the virtual server
#vzctl exec 101 passwd
Now you will be able to login to the virtual server with an SSH client, e.g. PuTTY for Windows.
To see the status of the VPS, run
#vzctl status 101
To stop the VPS, run this
#vzctl stop 101
To see the status of all VPS' on the system, run
#vzlist -a
vzctl - utility to control Virtual Private Server.
SYNOPSIS
vzctl [flags] create vpsid --ostemplate name] [--config name]
[--private path] [--root path] [--ipadd addr]
[--hostname name]
vzctl [flags] set vpsid [parameters] [--save]
vzctl [flags] destroy | mount | umount | start | stop | restart |
status | enter vpsid
vzctl [flags] exec | exec2 vpsid command [arg ...]
vzctl runscript ve_id