This is a complete step by step log of the installation of Debian Lenny GNU/Linux using OpenVZ virtualization technology on a factory sealed IBM xSeries 3650 2U rack-mountable server.
The server is a standard 7979 model with 16G of additional RAM and 4x500G SAS drives in RAID10 configuration. An IBM RSAII SlimLine adapter is also installed.
apt-get install sudo mc gcc make libncurses5-dev locales bzip2 chrony kernel-package patch ipmitool acpi ethtool
dpkg-reconfigure locales
en_US.ISO-8859-1... done en_US.ISO-8859-15... done en_US.UTF-8... done hu_HU.ISO-8859-2... done hu_HU.UTF-8... done en_US.UTF-8... done
echo -e "\nipmi_msghandler\nipmi_watchdog\nipmi_si\nipmi_devintf\ncoretemp" >> /etc/modules
echo "ENABLED=true" > /etc/default/ipmievd
nat
ip table iptables -L -t nat
iptables-save > /etc/network/iptables_eth0.stop
*filter :INPUT DROP [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] # allow local and locally originated traffic [0:0] -A INPUT -i lo -j ACCEPT [0:0] -A INPUT -s 10.20.20.0/24 -j ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # allow public services [0:0] -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT [0:0] -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT COMMIT *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] # SNAT VEs -A POSTROUTING -o eth0 -s 10.20.20.0/24 -j MASQUERADE COMMIT *mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMIT
#! /bin/sh # load iptables script if exists set -e conffile=/etc/network/iptables_$IFACE.$MODE if [ -f $conffile ]; then iptables-restore < $conffile fi
chmod +x /etc/network/if-up.d/iptables
sysctl -w net.ipv4.conf.eth0.forwarding=1
iptables-restore < /etc/network/iptables_eth0.start
apt-get install munin munin-node thttpd
wget http://muninexchange.projects.linpro.no/download.php?phid=579 -O /usr/share/munin/plugins/ipmitool_sensor_ chmod +x /usr/share/munin/plugins/ipmitool_sensor_ ln -s /usr/share/munin/plugins/ipmitool_sensor_ /etc/munin/plugins/ipmitool_sensor_fan ln -s /usr/share/munin/plugins/ipmitool_sensor_ /etc/munin/plugins/ipmitool_sensor_temp ln -s /usr/share/munin/plugins/ipmitool_sensor_ /etc/munin/plugins/ipmitool_sensor_volt echo -e "\n\n[ipmitool_sensor*]\nuser root\ntimeout 20" >> /etc/munin/plugin-conf.d/munin-node
/etc/init.d/munin-node restart
Unfortunately, raid management software provided by IBM is rather old, even if my CD is dated 2008-12-31, the Linux software is made somewhere back in 2003-2007. All insides and outs of GCC have changed since then. The command line utilities arcconf
and hrconf
both require libstdc++.so.5
, which is unavailable for Debian Lenny.
To make things worse libstdc++.so.5
depends on gcc-3.3
, but the oldest version of gcc in Lenny is 3.41). I had no option but to do a quick google search for libstdc++.so.5
deb packages and obtain one vintage specimen from an early ubuntu warty archive (thank you guys for keeping that online! ).
Following this all I had to do was to copy the file into /usr/lib32
(this would be /usr/lib
on x86 systems) and upload the shipped utilities to /root/serveraid
. The initial warnings can be safely ignored. You can use x64 files and the missing library from my archive if you dare.
cd /usr/src wget http://download.openvz.org/kernel/branches/2.6.27/2.6.27-briullov.1/patches/patch-briullov.1-combined.gz wget http://download.openvz.org/kernel/branches/2.6.27/2.6.27-briullov.1/configs/kernel-2.6.27-x86_64.config.ovz
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.tar.bz2 tar xjf linux-2.6.27.tar.bz2
cd /usr/src/linux-2.6.27 zcat ../patch-briullov.1-combined.gz | patch -p1 cp ../kernel-2.6.27-x86_64.config.ovz .config
make-kpkg --append-to-version -winnetou-ovz-briullov.1 --revision 1 --initrd buildpackage dpkg -i ../linux-{image,headers}-2.6.27.21-winnetou-ovz-briullov.1_1_amd64.deb
reboot apt-get remove linux-image-2.6-amd64 linux-image-2.6.26-2-amd64
echo -e "\ndeb http://download.openvz.org/debian-systs lenny openvz" >> /etc/apt/sources.list'' wget -q http://download.openvz.org/debian-systs/dso_archiv_signing_key.asc -O- | apt-key add - && apt-get update
apt-get install vzctl vzquota vzctl-ostmpl-debian-5.0-amd64-minimal
vzctl create
. for x in 2 4 8 16 32; do vzsplit -f $x -n $x -s 1048576; done
vzctl create 100 --ostemplate debian-5.0-amd64-minimal --config 4 --ipadd 10.20.20.100 --hostname test vzctl set 100 --save --nameserver `cat /etc/resolv.conf | grep nameserver | cut -f2 -d' '`
vzctl start 100 vzctl enter 100
apt-get update apt-get upgrade
apt-get install stress stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --hdd 8