Difference between revisions of "User Guide/Installation and Preliminary Operations"
(created) |
(No difference)
|
Revision as of 16:53, 12 January 2009
The current chapter provides exhaustive information on the process of installing and deploying your OpenVZ system including the pre-requisites and the stages you shall pass.
Contents
Installation Requirements
After deciding on the structure of your OpenVZ system, you should make sure that all the Hardware Nodes where you are going to deploy OpenVZ for Linux meet the following system (hardware and software) and network requirements.
System Requirements
This section focuses on the hardware and software requirements for the OpenVZ for Linux software product.
Hardware Compatibility
The Hardware Node requirements for the standard 32-bit edition of OpenVZ are the following:
- IBM PC-compatible computer;
- Intel Celeron, Pentium II, Pentium III, Pentium 4, Xeon, or AMD Athlon CPU;
- At least 128 MB of RAM;
- Hard drive(s) with at least 4 GB of free disk space;
- Network card (either Intel EtherExpress100 (i82557-, i82558- or i82559-based) or 3Com (3c905 or 3c905B or 3c595) or RTL8139-based are recommended).
The computer should satisfy the Red Hat Enterprise Linux or Fedora Core hardware requirements (please, see the hardware compatibility lists at www.redhat.com).
The exact computer configuration depends on how many Virtual Private Servers you are going to run on the computer and what load these VPSs are going to produce. Thus, in order to choose the right configuration, please follow the recommendations below:
- CPUs. The more Virtual Private Servers you plan to run simultaneously, the more CPUs you need.
- Memory. The more memory you have, the more Virtual Private Servers you can run. The exact figure depends on the number and nature of applications you are planning to run in your Virtual Private Servers. However, on the average, at least 1 GB of RAM is recommended for every 20-30 Virtual Private Servers;
- Disk space. Each Virtual Private Server occupies 400–600 MB of hard disk space for system files in addition to the user data inside the Virtual Private Server (for example, web site content). You should consider it when planning disk partitioning and the number of Virtual Private Servers to run.
A typical 2–way Dell PowerEdge 1650 1u–mountable server with 1 GB of RAM and 36 GB of hard drives is suitable for hosting 30 Virtual Private Servers.
Software Compatibility
The Hardware Node should run either Red Hat Enterprise Linux 3 or 4, or Fedora Core 3 or 4, or CentOS 3.4 or 4. The detailed instructions on installing these operating systems for the best performance of OpenVZ are provided in the next sections.
This requirement does not restrict the ability of OpenVZ to provide other Linux versions as an operating system for Virtual Private Servers. The Linux distribution installed in a Virtual Private Server may differ from that of the host OS.
Network Requirements
The network pre-requisites enlisted in this subsection will help you avoid delays and problems with making OpenVZ for Linux up and running. You should take care in advance of the following:
- Local Area Network (LAN) for the Hardware Node;
- Internet connection for the Hardware Node;
- Valid IP address for the Hardware Node as well as other IP parameters (default gateway, network mask, DNS configuration);
- At least one valid IP address for each Virtual Private Server. The total number of addresses should be no less than the planned number of Virtual Private Servers. The addresses may be allocated in different IP networks;
- If a firewall is deployed, check that IP addresses allocated for Virtual Private Servers are open for access from the outside.
Installing and Configuring Host Operating System on Hardware Node
This section explains how to install Fedora Core 4 on the Hardware Node and how to configure it for OpenVZ. If you are using another distribution, please consult the corresponding installation guides about the installation specifics.
Choosing System Type
Please follow the instructions from your Installation Guide when installing the OS on your Hardware Node. After the first several screens, you will be presented with a screen specifying the installation type. OpenVZ requires Server System to be installed, therefore select “Server” at the dialog shown in the figure below.
Figure 2: Fedora Core Installation - Choosing System Type It is not recommended to install extra packages on the Hardware Node itself due to the all-importance of Hardware Node availability (see the #Hardware Node Availability Considerations subsection in this chapter). You will be able to run any necessary services inside dedicated Virtual Private Servers.
Disk Partitioning
On the Disk Partitioning Setup screen, select Manual partition with Disk Druid. Do not choose automatic partitioning since this type of partitioning will create a disk layout intended for systems running multiple services. In case of OpenVZ, all your services shall run inside Virtual Private Servers.
Figure 3: Fedora Core Installation - Choosing Manual Partitioning
Create the following partitions on the Hardware Node:
Partition | Description | Typical size |
---|---|---|
/ | 2–4 Gb | |
swap | Paging partition for the Linux operating system | 2 times RAM |
/vz | Partition to host OpenVZ templates and Virtual Private Servers | all the remaining space on the hard disk |
It is suggested to use the ext3 file system for the /vz partition. This partition is used for holding all data of the Virtual Private Servers existing on the Hardware Node. Allocate as much disk space as possible to this partition. It is not recommended to use the reiserfs file system as it is proved to be less stable than the ext3, and stability is of paramount importance for OpenVZ-based computers.
The root partition will host the operating system files. The server set of Fedora Core 4 occupies approximately 1 GB of disk space, so 1 GB is the minimal size of the root partition. The size of the swap partition shall be two times the size of physical RAM installed on the Hardware Node. The figure below presents a system with a 12 GB SCSI hard drive.
Figure 4: Fedora Core Installation - Disk Druid Please keep in mind that Virtual Private Server private areas, containing all data of the Virtual Private Servers shall reside on this single /vz disk partition together with all the templates installed.
Finishing OS Installation
After the proper partitioning of your hard drive(s), proceed in accordance with your OS Installation Guide. While on the Network Configuration screen, you should ensure the correctness of the Hardware Node’s IP address, host name, DNS, and default gateway information. If you are using DHCP, make sure that it is properly configured. If necessary, consult your network administrator. On the Firewall Configuration screen, choose No firewall. Option Enable SELinux should be set to Disabled.
Figure 5: Fedora Core Installation - Disabling Firewall and SELinux After finishing the installation and rebooting your computer, you are ready to install OpenVZ on your system.
Installing OpenVZ Software
Downloading and Installing OpenVZ Kernel
First of all, you should download the kernel binary RPM from http://openvz.org/download/kernel/. You need only one kernel RPM, so please choose the appropriate kernel binary depending on your hardware:
- If there is more than one CPU available on your Hardware Node (or a CPU with hyperthreading), select the vzkernel-smp RPM.
- If there is more than 4 Gb of RAM available, select the vzkernel-enterprise RPM.
- Otherwise, select the uniprocessor kernel RPM (vzkernel-version).
Next, you shall install the kernel RPM of your choice on your Hardware Node by issuing the following command:
# rpm -ihv vzkernel-name*.rpm
Note: You should not use the rpm –U command (where -U stands for "upgrade"); otherwise, all the kernels currently installed on the Node will be removed. |
Configuring Boot Loader
In case you use the GRUB loader, it will be configured automatically. You should only make sure that the lines below are present in the /boot/grub/grub.conf file on the Node:
title Fedora Core (2.6.8-022stab029.1) root (hd0,0) kernel /vmlinuz-2.6.8-022stab029.1 ro root=/dev/sda5 quiet rhgb initrd /initrd-2.6.8-022stab029.1.img
However, we recommend that you configure this file in the following way:
- Change Fedora Core to OpenVZ (just for clarity, so the OpenVZ kernels will not be mixed up with non OpenVZ ones).
- Remove all extra arguments from the kernel line, leaving only the root=... parameter.
At the end, the modified grub.conf file should look as follows:
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
Setting sysctl parameters
There are a number of kernel limits that should be set for OpenVZ to work correctly. OpenVZ is shipped with a tuned /etc/sysctl.conf file. Below are the contents of the relevant part of /etc/sysctl.conf:
# On Hardware Node we generally need # packet forwarding enabled and proxy arp disabled net.ipv4.ip_forward = 1 net.ipv4.conf.default.proxy_arp = 0 # Enables source route verification net.ipv4.conf.all.rp_filter = 1 # Enables the magic-sysrq key kernel.sysrq = 1 # TCP Explict Congestion Notification #net.ipv4.tcp_ecn = 0 # we do not want all our interfaces to send redirects net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0
Please edit the file as described. To apply the changes issue the following command:
# sysctl -p
Alternatively, the changes will be applied upon the following reboot.
It is also worth mentioning that normally you should have forwarding (net.ipv4.ip_forward) turned on since the Hardware Node forwards the packets destined to or originating from the Virtual Private Servers.
After that, you should reboot your computer and choose "OpenVZ" on the boot loader menu.
Downloading and Installing OpenVZ Packages
After you have successfully installed and booted the OpenVZ kernel, you can proceed with installing the user-level tools for OpenVZ. You should install the following OpenVZ packages:
- vzctl: this package is used to perform different tasks on the OpenVZ Virtual Private Servers (create, destroy, start, stop, set parameters etc.).
- vzquota: this package is used to manage the VPS quotas.
- vzpkg: this package is used to work with OpenVZ templates.
You can download the corresponding binary RPMs from http://openvz.org/download/utils/.
On the next step, you should install these utilities by using the following command:
# rpm –Uhv vzctl*.rpm vzquota*.rpm vzpkg*.rpm
Now you can launch OpenVZ. To this effect, execute the following command:
# /etc/init.d/vz start
This will load all the needed OpenVZ kernel modules. During the next reboot, this script will be executed automatically.
Installing OS Templates
Template (or package set) is a set of package files to be installed into a VPS. Operating system templates are used to create new Virtual Private Servers with a pre-installed operating system. Therefore, you are bound to download at least one OS template from http://openvz.org/download/template/ and install it. OS template metadata contain the information needed to create a template cache. You have to specify an OS template on the VPS creation, so you need to install the metadata for at least one OS template and prepare the template cache.
For example, this is how the template preparation for Fedora Core 3 will look like:
# rpm –ihv vztmpl-fedora-core-3-1.0-2.noarch.rpm Preparing... ########################################### [100%] 1: vztmpl-fedora-########################################### [100%] # vzpkgcache Creating cache for fedora-core-3 OS template Setting up install process <…some output skipped for clarity…> Packing cache file fedora-core-3.tar.gz ... Cache file fedora-core-3.tar.gz [130M] created.
The first command installs the template metadata, while the second one creates the template cache. Note that this operation can take a considerable time (tens of minutes). You can also use one of the already pre-cached OS templates available at http://openvz.org/download/template/cache/ for the VPS creation. To this effect, you should download the corresponding OS template and place it to the /vz/template/cache directory on the Node.