9
edits
Changes
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...'
= Etch (Stable) =
== install the kernel-image == === 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-5Sarge-686 .config '''Or''' get a 2.6.18 kernel configuration from http://download.openvz.org/kernel/branches/2.6.18/current/configs/ Dapper (depending on your architecture; the below example is for i686OldStable): # 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) Installation on Debian Way: set "ip_forward" to yes in /etc/network/option. # editor /etc/network/options The new (from Etchsarge) 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: Installation]]