Login
Newsletter
Werbung

Do, 18. Oktober 2007, 00:00

High Availability Computer Center (hacc-) Teil 1

Teil 1: Übersicht, Bootvorgang und Arbeitsknoten

Dieser Datensatz wird nicht manuell erstellt. Dazu gibt es ein Skript. Im Verzeichnis /usr/local/nagios/local wurden eine ganze Menge von Skripten gesammelt, die sowohl von Nagios als auch anderweitig genutzt werden können. Das Skript (Skript 1) cre_pxeboot_nfs erstellt diese Boot-Datensätze.

Skript 1: /usr/local/nagios/local/cre_pxeboot_nfs

1:#!/bin/bash
2:
3:# cre_pxeboot_nfs <knoten>
4:
5:# Erstellen der PXE Boot Datei fuer das Booten ueber nfs
6:
7:# Parameter:
8:# <knoten> ip-fs-Nummer
9:# (= letzte Stelle der privaten/internen IP Adresse)
10:# 6/7/8/9/10/11
11:#
12:# Ergebnis:
13:# PXE Boot File und die zugehoerigen sys-links fuer tftp
14:# RC: 0 OK
15:# 1 auch noch OK, aber das Filesystem fehlt
16:# 2 Abbruch wegen Parameterfehler
17:
18:. /usr/local/nagios/local/data
19:
20:#D set -x
21:
22:KNOTEN=${1:?'Parameter1 KNOTEN fehlt'}
23:
24:# Check Parameter
25:
26:# existiert der Knoten (existiert die Knoten-Variable) ?
27:V="echo \$IP_${KNOTEN}_K"
28:if [ ! $(eval "$V") ]
29:then
30: echo "Parameter1 KNOTEN falsch: $KNOTEN"
31: exit 2
32:fi
33:
34:V="echo \$PXE_FILE_${KNOTEN}"
35:FILE=$(eval "$V") # Name der PXE Boot Datei
36:
37:V="echo \$BOOT_HOSTNAME_${KNOTEN}"
38:BOOT_HOSTNAME=$(eval "$V") # interner Host-Name
39:
40:RC=0
41:
42:# Erstellen der Symlinks fuer das Laden Kernel + initrd per TFTP, wenn
fehlt
43:if [ ! -d ${ROOT_DIR}${KNOTEN} ]
44:then
45: echo "Das Root Filesystem fehlt: ${ROOT_DIR}${KNOTEN}"
46: RC=1
47:fi
48:cd $TFTP_DIR && [ ! -L ${KNOTEN}-vmlinuz ] && \
49: ln -s ${SLINK_TFTP_TO_ROOT}${KNOTEN}/boot/vmlinuz \
50: ${KNOTEN}-vmlinuz
51:cd $TFTP_DIR && [ ! -L ${KNOTEN}-initrd ] && \
52: ln -s ${SLINK_TFTP_TO_ROOT}${KNOTEN}/boot/initrd \
53: ${KNOTEN}-initrd
54:
55:# erstellen des PXE Boot Files
56:echo "Erstellen PXE Bootfile: ${PXE_DIR}${FILE}"
57:cat <<EOF >${PXE_DIR}${FILE}
58:default LINUX
59:label LINUX
60:KERNEL ${KNOTEN}-vmlinuz
61:APPEND initrd=${KNOTEN}-initrd
ip=${NODE_NET}${KNOTEN}:${NFS_SERVER}::${NET_MASK}:${BOOT_HOSTNAME}:${BOOT_INTERFACE}:off
root=/dev/nfs nfsroot=${NFS_SERVER}:${NFS_BOOT_RESOURCE}${KNOTEN} acpi=off
62:EOF
63:
64:exit $RC

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung