This document briefly describes the steps needed to install OpenVZ on your (RPM based) RHEL6/CentOS 6 machine. For '''Debian''' based systems see [[Installation on Debian]].
This document is also available in the following languages: [http://forum.openvz.org/index.php?t=tree&goto=35&#msg_35 French], [http://forum.openvz.org/index.php?t=tree&goto=1805&#msg_1805 German],[http://wiki.openvz.jp Japanese],[[Quick_installation_(Spanish)|Spanish]]. {{Out|A commercial version of OpenVZ for hosters called Parallels Server Bare Metal is available, which simplifies installation with a single disk as well as supports networked installation using PXE boot. To learn more about Parallels Cloud Server Bare Metal and request a free trial, please see http://www.parallels.com/products/server/baremetal/sppcs/}} OpenVZ consists of a kernel, user-level tools, and container templates. This guide tells how to install the kernel and the tools.
== Requirements ==
This guide assumes you are running recent release of Fedora Core (like FC5) or RHEL/CentOS 4. Currently, OpenVZ kernel tries to support the same hardware that Red Hat kernels support. For full hardware compatibility list, see [http://www.swsoft.com/en/products/virtuozzo/hcl/ Virtuozzo HCL].
=== Filesystems ===It is recommended to use a separate partition for container's private directories (by default This guide assumes you are running RHEL/vz/private/<veid>)CentOS 6 on your system. The reason why you should do so Currently, this is that if you wish a recommended platform to use run OpenVZ per-container disk quota, you won't be able to use usual Linux disk quotas on the same partition. Bear in mind, that per-container quota in this context includes not only pure per-container quota, but also usual Linux disk quota used in containers, not on [[HN]].
At least try to avoid using the root partition for containers, because the root user of a container will be able to overcome the 5% disk space barrier in some situations. This way the HN root partition can be completely filled and it will break the === /vz file system.===
OpenVZ per-container disk quota It is supported only recommended to use a separate partition for ext2containers (by default '''/ext3 filesystems. So use one of these filesystems (ext3 is recommendedvz''') if you need per-container disk quotaand format it to '''ext4'''.
=== rpm or yum? pre-setup ===
In case you have yum utility available on your system, you may want to use Download [http://ftp.openvz.org/openvz.repo openvz.repo] file and put it effectively to install and update OpenVZ packages. In case you don't have your <code>/etc/yum, or don't want to use it, you can use plain old rpm. Instructions for both rpm and yum are provided belowrepos.d/</code> repository:
=== yum <pre><nowiki>wget -setup ===If you want to use P /etc/yum, you should set up OpenVZ yum repository first.repos.d/ http://ftp.openvz.org/openvz.repo</nowiki></pre>
Download [http://download.openvz.org/openvz.repo openvz.repo] file and put it to your <code>/etc/yum.repos.d/</code> repository,and import Import OpenVZ GPG key used for signing RPM packages. This can be achieved by the following commands, as root:<pre><nowiki>wget -P /etc/yum.repos.d/ http://download.openvz.org/openvz.reporpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ</nowiki></pre>
In case you can not cd to <pre><nowiki>rpm --import http:/etc/yumftp.repos.d, it means either yum is not installed on your system, or yum version is too old. In that case, just stick to rpm installation methodopenvz.org/RPM-GPG-Key-OpenVZ</nowiki></pre>
== Kernel installation ==
{{Note|In case you want to recompile the kernel yourself rather than use the one provided by OpenVZ, see [[kernel build]].}} First, you need to choose what “flavor” of the kernel you want to install. Please refer to [[Kernel flavors]] for more information. === Using yum ===Run the following command<pre> # yum install [o]vzkernel[-flavor]</pre> For RHEL6 kernel branch, use '''vzkernel''', for other branches use '''ovzkernel'''. Note that <code>[-flavor]</code> is optional, and can be <code>-smp</code> or <code>-enterprise</code>. Refer to [[kernel flavors]] for more info. {{Note|if you need to install <code>x86_64</code> kernel and yum offers to install both <code>x86_64</code> and <code>i686</code> kernels, answer <code>No</code> and specify architecture manually, like this: <code>yum install ovzkernel.x86_64</code>. This is fixed in newer yum versions.}} === Using rpm ===Get the kernel binary RPM from the [[Download/kernel]] page. You only need one kernel RPM so please [[Kernel flavors|choose the appropriate one]] depending on your hardware. Next, install the kernel RPM you chose: <pre># rpm -ihv ovzkernel[-flavor]*.rpm</pre> Here <code>[-flavor]</code> is optional, and can be <code>-smp</code> or <code>-enterprise</code>. Refer to [[kernel flavors]] for more info. {{Note|<tt>rpm -U</tt> (where <tt>-U</tt> stands for ''upgrade'') should '''not''' be used, otherwise all currently installed kernels will be uninstalled.}} == Configuring the bootloader == In case GRUB is used as the boot loader, it will be configured automatically: lines similar to these will be added to the <tt>/boot/grub/grub.conf</tt> file: <pre>title Fedora Core (2.6.8-022stab029.1) root (hd0,0) kernel /vmlinuz-2.6.8-022stab029.1 ro root=/dev/sda5 quiet rhgb vga=0x31B initrd /initrd-2.6.8-022stab029.1.img</pre>Change <tt>Fedora Core</tt> to <tt>OpenVZ</tt> (just for clarity reasons, so the OpenVZ kernels will not be mixed up with non-OpenVZ ones). Remove extra arguments from the kernel line, leaving only the <tt>root=...</tt> parameter. The modifed portion of <tt>/etc/grub.conf</tt> should look like this:
<pre>title OpenVZ (2.6.8-022stab029.1) root (hd0,0) kernel /vmlinuz-2.6.8-022stab029.1 ro root=/dev/sda5 initrd /initrd-2.6.8-022stab029.1.img</pre> == Configuring System configuration ==
Please make sure the following steps are performed before rebooting into OpenVZ kernel.
=== SELinux ===
SELinux should be disabled. To that effect, put the following line Put <code>SELINUX=disabled</code> to <code>/etc/sysconfig/selinux</code>:<pre>SELINUX=disabled</pre>
echo "SELINUX=== Conntracks ===disabled" > /etc/sysconfig/selinux
{{Note|In OpenVZ kernels later than 2.6.8, connection tracking is enabled by default so skip this section.}}== Tools installation ==
In the old (2.6.8-based) OpenVZ kernels netfilter connection tracking for [[CT0]] is disabled by default. If you have a stateful firewall enabled on the host node (it is there by default on needs some distributions) you should either disable it, or enable connection tracking for [[CT0]].user-level tools installed:
To enable conntracks for CT0, add the following line to <code>/etc/modprobe.conf</code> file:<pre>options ip_conntrack ip_conntrack_enable_ve0=1</pre> == Rebooting into OpenVZ kernel == Now reboot the machine and choose "OpenVZ" on the boot loader menu. If the OpenVZ kernel has been booted successfully, proceed to installing the user-level tools for OpenVZ. == Installing the utilities == OpenVZ needs some user-level tools installed. Those are: ; vzctl: A utility to control OpenVZ containers (create, destroy, start, stop, set parameters etc.); vzquota: A utility to manage quotas for containers. Mostly used indirectly (by vzctl). === Using yum === <pre> # yum install vzctl vzquota</pre> If on the x86_64 platform you would probably want to: <pre># yum install vzctl.x86_64 vzquota.x86_64</pre> === Using rpm === Download the binary RPMs of these utilities from [[Download/utils]]. Install them: <pre># rpm -Uhv vzctl*.rpm vzquota*.rpm</pre> If rpm complains about unresolved dependencies, you'll have to satisfy them first, then repeat the installation. When all the tools are installed, start the OpenVZ subsystem. == Starting OpenVZ == As root, execute the following command: <pre># /sbin/service vz start</pre>ploop
This will load all the needed == Reboot into OpenVZ kernel modules. This script should also start all the containers marked to be auto-started on machine boot (there aren't any yet).==
During Now reboot the next reboot, this script machine and choose "OpenVZ" on the boot loader menu (it should be executed automaticallydefault choice).
== Installing Download OS template caches templates ==
An OS template cache is a Linux distribution installed into a container
and then packed into a gzipped tarball. Using such a cache, a new container
can be created in a matter of minutesminute.
Download precreated template caches from [http://openvz.org/download/template/cache Downloads » Templates » Precreated], or directly from [http://download.openvz.org/template/precreated/ download.openvz.org/template/precreated], or from one of the [[Download mirrors|mirrors]]. Put those tarballs '''as-is (no unpacking needed)''' to the <tt>/vz/template/cache/</tt> directory(for Debain, this is <tt>/var/lib/vz/template/cache/</tt>).
== Next steps ==
OpenVZ is now set up on your machine. To load OpenVZ kernel by default, edit the default line Follow on to [[basic operations in the /boot/grub/grub.conf file to point to the OpenVZ kernel. For example, if the OpenVZ kernel is the first kernel mentioned in the file, put it as default 0. See man grub.conf for more detailsenvironment]] document.
Follow on to [[basic operations in OpenVZ environment]] document.
[[Category: Installation]]
[[Category: HOWTO]]