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_adv...
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