Difference between revisions of "Installing an openSUSE vserver guest"

From Linux-VServer

Jump to: navigation, search
(Installation: further explanation, also virtual machine possibility)
(Installation: typo)
Line 14: Line 14:
 
* Boot from CD (SuSE or Debian whatever you prefer), or just boot into the OS and log in as root.
 
* Boot from CD (SuSE or Debian whatever you prefer), or just boot into the OS and log in as root.
 
* tar the whole system, copy it to the vserver host and untar it to the desired vserver location, usually <code>/var/lib/vservers/<servername></code>
 
* tar the whole system, copy it to the vserver host and untar it to the desired vserver location, usually <code>/var/lib/vservers/<servername></code>
* Create <code>/etc/vservser/<servername></code> manual (or copy from other vserver)
+
* Create <code>/etc/vserver/<servername></code> manual (or copy from other vserver)
  
 
===post install cleanup===
 
===post install cleanup===

Revision as of 23:27, 1 June 2007

Contents

Test configuration

Host:

  • Debian Etch AMD64
  • Kernel: 2.6.15.4-vs2.0.2-rc9
  • util-vserver 0.30.210 + patche (see below)

Guest:

  • SLES 9

Running SuSE vservers on a Debian server

Installation

Debian is lacking the required rpm tools to install a SuSE/SLES system directly via vserver build (the required apt-rpm is available in source only for apt-0.5.xx, and Debian is already at 0.6.xx).

Therefore, use the normal SuSE installation procedure and then copy the system to a vserver directory:

  • Install SuSE on raw metal or in a virtual machine (such as VirtualBox).
  • Boot from CD (SuSE or Debian whatever you prefer), or just boot into the OS and log in as root.
  • tar the whole system, copy it to the vserver host and untar it to the desired vserver location, usually /var/lib/vservers/<servername>
  • Create /etc/vserver/<servername> manual (or copy from other vserver)

post install cleanup

  • remove some startup service, either delete the /etc/init.d/.... links or run the following from inside the vserver:
chkconfig -d -f boot.swap boot.isapnp boot.idedma  boot.loadmodules \
                boot.device-mapper boot.md boot.proc boot.shm boot.sched \
                boot.rootfsck hotplug boot.localfs boot.crypto boot.clock \
                boot.scpm boot.ipconfig

chkconfig -d -f coldplug irq_balancer random network fbset powersaved kbd hwscan
  • remove unneeded packages:
rpm -e irqbalance kernel-smp grub reiserfs xfsprogs raidtools ntfsprogs \
       module-init-tools mkinitrd powersave hotplug mdadm

Note: there are a number of redundant packages remaining that can not be removed due to yast2 depending on them.

initscripts

SuSE's /etc/init.d/rc expects two enviromnet variables: RUNLEVEL and PREVLEVEL. the vserver.start scripts failes to set those. We've got workarrounds: a) edit /etc/init.d/rc to set those values (not recomended) b) apply the following patch to vserver.start to set the values:

--- vserver.start.orig  2006-03-02 10:37:49.000000000 +0000
+++ vserver.start       2006-03-02 10:10:36.000000000 +0000
@@ -135,7 +134,7 @@
     $_VUNAME     --xid self --set -t context="$VSERVER_DIR" -- \
     $_VATTRIBUTE --set "${OPTS_VATTRIBUTE[@]}" -- \
     $_SAVE_CTXINFO "$VSERVER_DIR" \
-    $_ENV -i -- \
+    $_ENV -i -- PREVLEVEL="N" RUNLEVEL="$RUNLEVEL_START" \
     $_VCONTEXT   --migrate-self --endsetup --chroot $SILENT_OPT \
     "${OPTS_VCONTEXT_MIGRATE[@]}" "${OPTS_VCONTEXT_ENTER[@]}" -- \
     "${INITCMD_START[@]}"
@@ -151,7 +150,7 @@
     $_EXEC_ULIMIT      "$VSERVER_DIR/ulimits" \
     $_CHCONTEXT_COMPAT "${CHCONTEXT_OPTS[@]}" "${CHCONTEXT_INIT_OPTS[@]}" \
     $_SAVE_CTXINFO     "$VSERVER_DIR" \
-    $_ENV -i -- \
+    $_ENV -i -- PREVLEVEL="N" RUNLEVEL="$RUNLEVEL_START" \
     $_CHAINECHO "${_IS_FAKEINIT:+$startsync_pipe}" "" \
     $_CAPCHROOT        "${CAPCHROOT_OPTS[@]}" . \
     "${INITCMD_START[@]}"

edit me: do we need to modify the vserver.stop script as well?

Personal tools