summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryves <steve.harrison@gmx.net>2011-12-14 11:33:10 +0100
committeryves <steve.harrison@gmx.net>2011-12-14 11:33:10 +0100
commitcf4f505c86a9d649b609efba1ce698cd17ef7bd9 (patch)
treea9a8433487ec802bf40f152a0470558dd0546b20
parentf43581c477ddfaf7cb2cb9f9399a6520382899ba (diff)
downloadiscsi-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-xmountDiskSetupVserver.py105
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)
+