Difference between revisions of "Installation on Debian/old"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
(Install the toolset: it needs the repo)
(Replacing page with '= Etch (Stable) = Installation on Debian (etch) = Sarge-Dapper (OldStable) = Installation on Debian (sarge) =Build your own kernel-image (debian way) = [[Compiling th...')
Line 1: Line 1:
= Sarge-Dapper (OldStable) =
 
The OpenVZ packages at http://debian.systs.org/ aimed to install OpenVZ in a easy way, some tasks are even completed during the install process!
 
 
== edit apt source settings ==
 
Add to your "/etc/apt/sources.list"
 
 
<pre>
 
deb http://debian.systs.org/debian sarge openvz
 
</pre>
 
 
and get the new package lists
 
 
<pre>
 
# apt-get update
 
</pre>
 
 
== precompiled kernel images at debian.systs.org (dso) ==
 
The kernel-images on debian.systs.org (dso) use the same kernel-config taken from OpenVZ.
 
(most kernel-modules are built-in!)
 
 
If there is more than one CPU available (or a CPU with hyperthreading), use the kernel-smp deb.
 
If there is more than 4 Gb of RAM available, use the kernel-enterprise deb.
 
Otherwise, use the plain kernel deb (kernel).
 
 
{| class="wikitable"
 
|+'''Kernel flavors list'''
 
! Kernel type !! Description !! Hardware !! Use case
 
|-
 
! -
 
| uniprocessor
 
| up to 4GB of RAM
 
|
 
|-
 
! -smp
 
| symmetric multiprocessor
 
| up to 4 GB of RAM
 
| 10-20 VPSs
 
|-
 
! -entnosplit
 
| SMP + PAE support
 
| up to 64 GB of RAM
 
| 10-30 VPSs
 
|-
 
! -enterprise
 
| SMP + PAE support + 4/4GB split
 
| up to 64 GB of RAM
 
| >20-30 VPSs
 
|}
 
 
kernel-image: i368 and amd64
 
<pre>
 
ovzkernel-2.6.9
 
ovzkernel-2.6.9-smp
 
</pre>
 
 
kernel-image: i386 only:
 
<pre>
 
ovzkernel-2.6.9-enterprise
 
ovzkernel-2.6.9-entnosplit
 
</pre>
 
 
OpenVZ tool(s) for i386 and amd64
 
<pre>
 
vzctl
 
vzquota
 
vzprocps
 
vzdump
 
</pre>
 
 
template(s) for i368 and amd64 : Debian 3.1 Minimal
 
<pre>
 
vzctl-ostmpl-debian
 
</pre>
 
 
== installing the kernel-images, toolset and debian-os-template ==
 
Example: install the stable OpenVZ kernel, tools and Debian OS Template
 
 
# aptitude install ovzkernel-2.6.9 vzctl vzquota vzdump vzctl-ostmpl-debian
 
 
 
If you are using GRUB, maybe you need to update the /boot/grub/menu.lst file
 
(can be configured at /etc/kernel-img.conf):
 
 
# /sbin/grub-update
 
 
 
Reboot in your new Debian Sarge OpenVZ System
 
 
# reboot
 
 
 
That's all :-)
 
 
Now it's time to setup your VEs with the minimal Debian-3.1 Template, create new one or download another precreated OS-Template.
 
 
 
= Etch (Stable) =
 
= Etch (Stable) =
OpenVZ is now a part of Debian Etch repository. The packages are 'vzctl' and 'vzquota'.
+
[[Installation on Debian (etch)]]
  
== install the kernel-image ==
+
= Sarge-Dapper (OldStable) =
 
+
[[Installation on Debian (sarge)]]
=== precompiled kernel images at download.openvz.org ===
 
 
 
A Debian OpenVZ kernel repository is online, for direct access http://download.openvz.org/kernel/debian/etch/
 
 
 
 
 
add to your "/etc/apt/sources.list"
 
<pre>
 
deb http://download.openvz.org/debian etch main
 
</pre>
 
 
 
Update package lists
 
<pre>
 
# apt-get update
 
</pre>
 
 
 
List downloadable OpenVZ linux-images
 
<pre>
 
# apt-cache search linux-image-2.6.18-openvz
 
</pre>
 
 
 
Install a kernel
 
<pre>
 
# apt-get install <linux-image>
 
</pre>
 
 
 
=== precompiled kernel images at debian.systs.org ===
 
 
 
Add to your "/etc/apt/sources.list"
 
 
 
<pre>
 
deb http://debian.systs.org/ etch openvz
 
</pre>
 
 
 
Add the signing key of debian.systs.org (dso) apt-keyring, (need root permissions)
 
<pre>
 
# wget http://debian.systs.org/dso_archiv_signing_key.asc -q -O - | apt-key add -
 
</pre>
 
 
 
and get the new package lists
 
 
 
<pre>
 
# apt-get update
 
</pre>
 
 
 
Choose a linux image (version 028stab048.1) :
 
<pre>
 
ovzkernel-2.6.18 (i386 and amd64)
 
ovzkernel-2.6.18-smp (i386 and amd64)
 
ovzkernel-2.6.18-enterprise only (i386)
 
</pre>
 
 
 
# apt-get install <linux-image>
 
 
 
=== Build your own kernel-image (debian way) ===
 
 
 
==== Installing sources ====
 
 
 
To install the kernel-source and the OpenVZ kernel patch, run:
 
# apt-get install kernel-package linux-source-2.6.18 kernel-patch-openvz libncurses5-dev
 
 
 
==== Unpacking ====
 
 
 
Unpack the kernel source:
 
<pre>
 
# cd /usr/src
 
# tar xjf linux-source-2.6.18.tar.bz2
 
# cd linux-source-2.6.18
 
</pre>
 
 
 
==== Kernel config ====
 
 
 
You need a kernel config.
 
You can use the config of the debian-kernel:
 
# cp /boot/config-2.6.18-5-686 .config
 
 
 
'''Or''' get a 2.6.18 kernel configuration from  http://download.openvz.org/kernel/branches/2.6.18/current/configs/ (depending on your architecture; the below example is for i686):
 
# wget http://download.openvz.org/kernel/branches/2.6.18/current/configs/kernel-2.6.18-i686.config.ovz -O .config
 
 
 
==== Patching and configuring ====
 
 
 
Now you can apply the openvz kernel patch and modify your kernel-config:
 
# ../kernel-patches/all/apply/openvz
 
# make menuconfig
 
 
 
You need the following OpenVZ kernel config settings:
 
<pre>
 
(taken from OpenVZ Kernel 2.6.18-028test010.1 on 686)
 
 
 
Filesystem
 
\_ [*] Second extended fs support (CONFIG_EXT2_FS)
 
\_ [*] Ext3 journalling file system support (CONFIG_EXT3_FS)
 
\_ [M] Quota Support (CONFIG_QUOTA)
 
\_ [*] Compatibility with older quotactl interface (CONFIG_QUOTA_COMPAT)
 
\_ [*]Quota format v2 support (CONFIG_QFMT_V2)
 
\_ [*] VPS filesystem (CONFIG_SIM_FS)
 
\_ [M] Virtuozzo Disk Quota support (CONFIG_VZ_QUOTA)
 
\-> [*] Per-user and per-group quota in Virtuozzo quota partitions (VZ_QUOTA_UGID)
 
 
 
Security
 
\->[ ] Enable different security models
 
 
 
OpenVZ ... (what else :-)
 
\_[*] Virtual Environment support (CONFIG_VE)
 
\_ <M> VE calls interface (CONFIG_VE_CALLS)
 
\_ <M> VE networking (CONFIG_VE_NETDEV)
 
\_ <M> Virtual ethernet device (CONFIG_VE_ETHDEV)
 
\_ <M> VE device (CONFIG_VZ_DEV)
 
\_ [*] VE netfiltering (CONFIG_VE_IPTABLES)
 
\_ <M> VE watchdog module (CONFIG_VZ_WDOG)
 
\_ <M> Checkpointing & restoring Virtual Environments (CONFIG_VZ_CHECKPOINT)
 
 
 
User resources ... (User Beancounters)
 
\_ [*] Enable user resource accounting (CONFIG_USER_RESOURCE)
 
\_ [*] Account physical memory usage ( CONFIG_USER_RSS_ACCOUNTING)
 
\_ [*] Account disk IO (CONFIG_UBC_IO_ACCT)
 
\_ [*] Account swap usage (CONFIG_USER_SWAP_ACCOUNTING)
 
\_ [*] Report resource usage in /proc (CONFIG_USER_RESOURCE_PROC)
 
\_ [*] User resources debug features (CONFIG_UBC_DEBUG)
 
\_ [*] Debug kmemsize with cache counters (CONFIG_UBC_DEBUG_KMEM)
 
</pre>
 
 
 
{{Note|better to build the kernel-headers as well, so afterward other kernel-modules can
 
be built without whole kernel tree (e.g.  drbd -> drbd0.7-module-source)}}
 
 
 
See also : "make-kpkg --targets"
 
 
 
==== Compiling ====
 
 
 
Compile your kernel (as user root, or you need the --rootcmd!)
 
# make-kpkg --append_to_version=-1-openvz --added_patches=openvz --revision=1 --initrd binary-arch
 
or all above with one step
 
# make-kpkg --append_to_version=-1-openvz --added_patches=openvz --revision=1 --initrd --config menuconfig binary-arch
 
 
 
==== Installing ====
 
Install the kernel and update initramfs:
 
 
 
# dpkg -i ../linux-image-2.6.18-1-openvz_1_i386.deb
 
# update-initramfs -c -k 2.6.18-1-openvz
 
 
 
{{Note|update-initramfs is done, when make-kpkg is use with --initrd option}}
 
 
 
{{Note|update-grub can be configured by /etc/kernel-img.conf}}
 
 
 
==== Bootloader ====
 
 
 
Update the bootloader (if not done before)
 
 
 
GRUB :
 
 
 
# /usr/sbin/update-grub
 
 
 
{{Note|since the Debian Etch release the location of update-grub is moved from /sbin/update-grub to /usr/sbin/update-grub}}
 
 
 
== Install the toolset ==
 
 
 
You need the toolset for managing OpenVZ Virtual Environments (VE) (You will need ''deb http://debian.systs.org/ etch openvz'' repository for that.)
 
 
 
<pre>
 
# apt-get install vzctl vzquota vzdump vzctl-ostmpl-debian
 
</pre>
 
 
 
= modify needed settings =
 
 
 
If you want network access for the virtual server then you need to enable IP forwarding.
 
 
 
An old (before Etch) Debian Way: set "ip_forward" to yes in /etc/network/option.
 
 
 
# editor /etc/network/options
 
 
 
The new (from Etch) standard way is to use sysctl for this (see below).
 
 
 
 
 
In some cases you may need to enable proxy_arp for the network devices that you want your virtual hosts to be accessible on.
 
You can add this to a specific interface in the network configuration (/etc/network/interfaces) by the following lines, replace %DEV% with your device name (ie. eth0).
 
 
 
Example:
 
 
 
<pre>
 
[...]
 
# device: %DEV%
 
iface %DEV% inet static
 
        address 192.168.0.2
 
        netmask 255.255.255.0
 
        network 192.168.2.0
 
        broadcast 192.168.2.255
 
        gateway 192.168.2.1
 
 
 
        up sysctl -w net.ipv4.conf.%DEV%.proxy_arp=100
 
        pre-down sysctl -w net.ipv4.conf.%DEV%.proxy_arp=0
 
[...]
 
</pre>
 
 
 
or use the /etc/network/if-up/ and /etc/network/if-down.d/ directories.
 
 
 
<pre>
 
INFO: # man 5 interfaces (to read more about debian's network interface configuration for ifup and ifdown)
 
INFO: It is recommanded to add the magic-sysrq key, to your /etc/sysctl.conf
 
</pre>
 
 
 
a (plain) OpenVZ Linux Way:
 
 
 
Add settings to "/etc/sysctl.conf"
 
 
 
<pre>
 
# 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
 
</pre>
 
 
 
 
 
<pre>
 
INFO: Suggestion: Please make a symlink from /var/lib/vz to /vz as backward compability to Main OpenVZ
 
(Debian vz root directory is installed FHS-like to /var/lib/vz)
 
 
 
# ln -s /var/lib/vz /vz
 
</pre>
 
 
 
 
 
'''Before you restart your Server, keep in mind, that your system has all needed modules enabled; booting from your harddisk (e.g. hardware modules, raid system(s), lvm2 etc). May you need a INITRD (initramdisk) or compile needed kernel modules statically in.'''
 
 
 
 
 
# reboot
 
 
 
 
 
 
 
That's all!
 
 
 
Now it's time to create a OS Template or download another precreated OS-Template.
 
 
 
 
 
INFO: Suggestions: Setup your default OS Template in /etc/vz/vz.conf
 
  
 +
=Build your own kernel-image (debian way) =
 +
[[Compiling the OpenVZ Kernel (the debian way)]]
  
  
 
[[Category: HOWTO]]
 
[[Category: HOWTO]]
 
[[Category: Installation]]
 
[[Category: Installation]]

Revision as of 16:13, 4 January 2008

Etch (Stable)

Installation on Debian (etch)

Sarge-Dapper (OldStable)

Installation on Debian (sarge)

Build your own kernel-image (debian way)

Compiling the OpenVZ Kernel (the debian way)