Harald Rinker schrieb:
Was hältst Du von Oracles Cluster-Filesystem: (siehe ix 8 2007 - Seite 118)
Zu Multipath hier eine kleine Anleitung, die ich für meine Dokumentation
geschrieben habe.
CentOS 5 als Xen Server installieren.
Flensburg, 24.04.07
1.
Den Arbeitsspeicher der dom0 begrenzen.
In grub.conf
...
root (hd0,0)
kernel /xen-gz-2.6.x. /dom0_mem=256M/
....
danach neu booten....
Speicher der Dom0 überprüfen
#xm list
2.
Überflüssiges entfernen:
http://www.fedorawiki.de/index.php/CentOS_minimalisieren
3.
System updaten
#export http_proxy=http://user:passwort@10.127.0.2
<mailto:passwort@10.127.0.2>:3128
#yum update
4.
CentOS neu booten
#reboot
5.
uDev Setup
Zu einem von udev erstellten iscsi Devive /dev/etc wird zusätzlich
ein symbolischer Links in der Form /dev/dm-<targetname>. Somit mit
wird gewährleistet, dass wir ein Device haben welches passend zu
einem Target immer den selben Namen erhält.
Folgende Dateien anlegen:
/etc/udev/rules.d/55-openiscsi.rules
KERNEL=="sd*", ACTION=="add", BUS=="scsi",
PROGRAM="/lib/udev/iscsidev.sh %b %k \ %n", NAME="%k", SYMLINK+="%c"
/lib/udev/iscsidev.sh
#!/bin/sh
BUS=${1}
NAME=${2}
HOST=${BUS%%:*}
LUN=`echo $BUS | cut -d: -f4`
MAXDEVNUM=255
if [ $# == 3 ]; then
MINOR=${3}
elif [ $# == 2 ]; then
MINOR=$MAXDEVNUM + 1
else
echo "Incorrect number of arguments"
exit
fi
[ -e /sys/class/iscsi_host ] || exit 1
file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/targetname"
target_name=$(cat ${file})
# This is not an open-scsi drive
if [ -z "${target_name}" ]; then
exit 1
fi
# Handle the Kernel assigned device number
if [ ${MINOR} -ge 0 -a ${MINOR} -le $MAXDEVNUM ]; then
DEV="LUN${LUN}_${MINOR}"
else
DEV="LUN${LUN}"
#Devicemap Information für map_multipath.dh
wwid=$(/sbin/scsi_id -g -u -s ${DEVPATH})
echo ${target_name}_$DEV > /dev/iscsi/$wwid
fi
echo "iscsi/${target_name}/SESSIONID-${HOST}/${DEV}
iscsi/${target_name}/${DEV}"
#chmod 0755 /lib/udev/iscsidev.sh
/lib/udev/map_multipath.sh
#!/bin/sh
wwid=$(/sbin/dmsetup ls --target multipath --exec /bin/basename -j $1 -m $2)
if [ -z "$wwid" ]; then
exit 1
fi
target_name=$(cat /dev/iscsi/$wwid)
echo "mpath/${target_name}" >>/tmp/log
if [ -z "${target_name}" ]; then
exit 1
fi
dev=$(echo ${DEVPATH}|/bin/awk -F/ '{ print $3 }')
/bin/ln -sf /dev/${dev} /dev/dm-${target_name}
if [ $? -ne 0 ]; then
rm -f /dev/mpath/${target_name}
/bin/ln -sf /dev/${dev} /dev/dm-${target_name}
fi
#chmod 0755 /lib/udev/map_multipath.sh
Folgende Zeile in /etc/udev/multipath.rules einfügen:
ACTION=="add", RUN+="/sbin/dmsetup ls --target multipath --exec ....
/#FRS BEGIN /
/ACTION=="add", PROGRAM=="/lib/udev/map_multipath.sh %M %m"/
/#FRS END /
PROGRAM=="/sbin/dmsetup ls --target multipath --exec /bin/basename -j %M
-m %m",
6.
ISCSI-initiator-utils installieren
#yum install iscsi-*
iscsi Daemon starten:
#service iscsi start
7.
Mit ISCSI-Target verbinden:
Targets des SAN anzeigen
#iscsiadm -m discovery -t sendtargets -p <sanIP>
Datensatz/node für neues Target anlegen
#/root/iscsi.new <target> <sanIP> [chapname] [chappasswort]
Neuen Datensatz/node anzeigen
#iscsiadm -m node
Verbindung zum Target aufnehmen/einloggen
#iscsiadm -m node -T <target> -p <sanIP> -l { -u logout}
Session anzeigen
#iscsiadm -m session [-i]
Devicename ermitteln
#tail -50 /var/log/messages
8.
multipath
http://docs.solstice.nl/index.php/Infrastructure_virtualisation_with_Xen_advisory#iSCSI
http://lists.centos.org/pipermail/centos/2006-April/063699.html
#yum install device-mapper-multipath
Kernelmodul laden
#insmod /lib/modules/{uname -r}/kernel/drivers/md/dm-multipath.ko
/etc/multipath.conf editieren:
defaults {
udev_dir /dev
polling_interval 10
selector "round-robin 0"
path_grouping_policy multibus
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
prio_callout /bin/true
path_checker readsector0
rr_min_io 100
rr_weight priorities
failback immediate
no_path_retry 3
user_friendly_name no
}
blacklist {
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st|sda)[0-9]*"
devnode "^sda[[0-9]*]"
devnode "^hd[a-z][[0-9]*]"
devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
}
multipaths {
}
#chkconfig multipathd on
#service multipathd restart
Mit beiden Target verbinden (siehe oben)
#iscsiadm -m node -T target01:san1 -p 192.168.1.1 -l
#iscsiadm -m node -T target01:san1 -p 192.168.2.1 -l
Das neue Device überprüfen:cd /
multipath -ll
für den Fall, das keine Ausgabe erfolgt
multiptah -v 3
Hallo Liste,
Ich möchte bzw. muss einen Cluster mit 2 Nodes bauen die an ein
Fibrechannel Storage angeschlossen sind.
Ich hab das schon mal mit 2 VM?s und einer shared Disk getestet aber
irgendwie will?s nicht so richtig.
Der Plan ist das die 2 Server (nodes) ihre Xen VM?s auf einem
gemeinsamen Volume ablegen so dass per heartbeat ein einfaches
Failover realisiert werden kann.
Die Server selbst sollen der einfachheit halber nicht vom SAN booten.
Das müsste mit der Cluster Suite mit Centos doch zu machen sein.
Multipathing wäre auch nicht schlecht.
Hat jemand so eine Lösung schon gebaut, bzw kennt jemand ein nettes
howto dafür.
Gruß Harry