From cf4f505c86a9d649b609efba1ce698cd17ef7bd9 Mon Sep 17 00:00:00 2001 From: yves Date: Wed, 14 Dec 2011 11:33:10 +0100 Subject: start second script by coping the other and wiki contents --- mountDiskSetupVserver.py | 105 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100755 mountDiskSetupVserver.py diff --git a/mountDiskSetupVserver.py b/mountDiskSetupVserver.py new file mode 100755 index 0000000..e046298 --- /dev/null +++ b/mountDiskSetupVserver.py @@ -0,0 +1,105 @@ +#!/usr/bin/python3 +#coding: UTF-8 +import optparse +from shared import * +# vars +volumeGroupName = 'scsiRaid' +defaultDiskSize = '3G' + +# configure known options +usage = "usage: %prog VMNAME [options]" +parser = optparse.OptionParser(usage=usage) +parser.add_option("-s", "--size", dest="size", default=defaultDiskSize, + help="SIZE of vm root disk", metavar="SIZE") +parser.add_option("-v", "--verbose", dest="verbose", + action="store_true", default=False, + help="should I do output") +(options, args) = parser.parse_args() + +# check if required args are given +if len(args) < 1: + parser.print_usage() + logErr("a vm-name must be given!") + sys.exit(2) +elif len(args) > 1: + parser.print_usage() + logErr("to many arguments given!") + sys.exit(2) + +vmName = parseVmName(args[0]) +diskSize, diskSizeUnit = parseDiskSize(options.size) + + +cmds = [ + +$ iscsiadm -m discovery -t st -p 10.0.0.1 +'''10.0.0.1:3260,1 iqn.2011-04.de.spline: +130.133.110.96:3260,1 iqn.2011-04.de.spline: +[...] +''' + +$ iscsiadm -m node -T iqn.-.de.spline: -p 10.0.0.1 --login +'''Logging in to [iface: default, target: iqn.-.de.spline:, portal: 10.0.0.1,3260] +Login to [iface: default, target: iqn.-.de.spline:, portal: 10.0.0.1,3260]: successfull +''' + +$ mkdir /vservers/ +$ mount /dev/disk/by-label/ /vservers// + +# auf beep in /etc/bind/dns-sources/ eine neue aussuchen und einen dns-eintrag hinzufuegen +# README im genannten Ordner dazu lesen! +# diese IP ist gleichzeitig der vserver-context + +# vserver skelett mit den vserver-utils installieren +# als quelle wird dabei nicht debootstrap, sondern ein debian-squeeze-template genommen +# das template liegt im homeverzeichnis vom root +$ cd +$ vserver build -m template --interface eth0:130.133.110./25 --initstyle sysv --context --hostname -- --template vserver-template-v2.tar.bz2 -d debian +# etwas geduld, gibt erstmal keinen output + +# iscsi meta-daten im vserver-etc verzeichnis hinzufuegen +$ mkdir /etc/vservers//iscsi/ +$ echo "10.0.0.1" > /etc/vservers//iscsi/portal +$ echo "iqn.-.de.spline:" > /etc/vservers//iscsi/target +# ipv6 adresse muss noch manuell hinzugefuegt werden, die ipv4 wurde durch --interface beim vserver build erstellt +# vermutlich ist das eine dmz maschine, daher der prefix BABE +$ mkdir /etc/vservers//interfaces/1 +$ echo "2001:6f8:1c3c:babe:::1" > /etc/vservers//interfaces/1/ip +$ echo "64" > /etc/vservers//interfaces/1/prefix +$ echo "eth0" > /etc/vservers//interfaces/1/dev + +# neue (2011-04) vserver-utils mit "mark" benutzen, damit zB automatisch distributions-spezifische updates gefahren +# werden können - falls das nicht gewuenschst ist, koennen 2. und 3. übersprungen werden +$ cd /etc/vservers//apps/init +$ echo "pang" > mark +$ echo "debian" >> mark +$ echo "auto-update" >> mark + +# die dem vserver zugehörige disk erstmal unmounten und dann in die fstab des vservers einfuegen, damit +# sie beim starten benutzt wird +$ umount /vservers// +""" +/dev/disk/by-label/ / ext4 defaults,relatime 0 1 +none /proc proc defaults 0 0 +none /tmp tmpfs size=16m,mode=1777 0 0 +none /dev/pts devpts gid=5,mode=620 0 0 +""" +# vserver starten und gluecklich sein +$ vserver start +"""WARNING: Active session for iscsi disk 'iqn.2011-04.de.spline:vm-dns0' found: Skipping login! +e2fsck 1.41.12 (17-May-2010) +vm-dns0: clean, 12211/196608 files, 135040/786432 blocks +Using makefile-style concurrent boot in runlevel 3. +Starting enhanced syslogd: rsyslogd. +""" + ["lvcreate", "-n", vmName, "-L", str(diskSize) + str(diskSizeUnit)], + ["mkfs.ext4", "/dev/" + volumeGroupName + "/" + vmName, "-l",vmName], + ["addIscsiDisk", vmName] +] + +execPlan = ExecutionPlan(cmds,vmName) +execPlan.execute_all() + +logInfo("your vserver is up and running!") +sys.exit(0) + -- cgit v1.2.3-1-g7c22