diff options
author | yves <steve.harrison@gmx.net> | 2011-12-14 11:33:10 +0100 |
---|---|---|
committer | yves <steve.harrison@gmx.net> | 2011-12-14 11:33:10 +0100 |
commit | cf4f505c86a9d649b609efba1ce698cd17ef7bd9 (patch) | |
tree | a9a8433487ec802bf40f152a0470558dd0546b20 | |
parent | f43581c477ddfaf7cb2cb9f9399a6520382899ba (diff) | |
download | iscsi-helper-cf4f505c86a9d649b609efba1ce698cd17ef7bd9.tar.gz iscsi-helper-cf4f505c86a9d649b609efba1ce698cd17ef7bd9.tar.bz2 iscsi-helper-cf4f505c86a9d649b609efba1ce698cd17ef7bd9.zip |
start second script by coping the other and wiki contents
-rwxr-xr-x | mountDiskSetupVserver.py | 105 |
1 files changed, 105 insertions, 0 deletions
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:<name> +130.133.110.96:3260,1 iqn.2011-04.de.spline:<name> +[...] +''' + +$ iscsiadm -m node -T iqn.<YYYY>-<MM>.de.spline:<name> -p 10.0.0.1 --login +'''Logging in to [iface: default, target: iqn.<YYYY>-<MM>.de.spline:<name>, portal: 10.0.0.1,3260] +Login to [iface: default, target: iqn.<YYYY>-<MM>.de.spline:<name>, portal: 10.0.0.1,3260]: successfull +''' + +$ mkdir /vservers/<name> +$ mount /dev/disk/by-label/<name> /vservers/<name>/ + +# auf beep in /etc/bind/dns-sources/ eine neue <IP> 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 <name> build -m template --interface eth0:130.133.110.<IP>/25 --initstyle sysv --context <letzterBlockDerIP> --hostname <name> -- --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/<name>/iscsi/ +$ echo "10.0.0.1" > /etc/vservers/<name>/iscsi/portal +$ echo "iqn.<YYYY>-<MM>.de.spline:<name>" > /etc/vservers/<name>/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/<name>/interfaces/1 +$ echo "2001:6f8:1c3c:babe::<IP>:1" > /etc/vservers/<name>/interfaces/1/ip +$ echo "64" > /etc/vservers/<name>/interfaces/1/prefix +$ echo "eth0" > /etc/vservers/<name>/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/<name>/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/<name>/ +""" +/dev/disk/by-label/<name> / 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 <name> 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) + |