PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Projekt: Evaluierung open-iSCSI unter SUSE 10.1



bla!zilla
31.07.06, 08:10
Hallo Leute,

habe gestern (mehr oder weniger aus Langeweile) angefangen mit mal open-iSCSI unter SUSE 10.1 anzuschauen. Ich werde hier mal darüber berichten und evtl. am Ende ein HowTo dazu schreiben. Zur Umgebung:

- 2x VMware Workstation Guests mit je 4 GB HDD und 256MB RAM
- SUSE 10.1, Patchstand 30.07.2006, Minimalinstallation mit Kernelsourcen, X.org, GCC

Ich werde diese Woche Anfangen mit der aktuellen stabilen Version von open-iSCSI zu experimentieren. SUSE 10.1 bringt zwar open-iSCSI mit, aber ich bau mir das lieber erstmal selber und es besser zu verstehen. Geplanter Aufbau:

1x VMware Workstation Guest mit
- 2x NICs
- 1x 4 GB HDD für System + 1x 4 GB HDD als zu exportierendes Device
- iSCSI Target (iSCSI Enterprise Target)

1x VMware Workstation Guest mit
- 2x NICs
- 1x 4 GB HDD für System + 1x 4 GB LUN bezogen über iSCSI
- iSCSI Initiator (Open-iSCSI)

Das ganze wird nicht sehr performant (außer ich koppel die beiden NICs für iSCSI direkt über VMware), ansonsten würde er versuchen über eine 54MBit WLAN Verbindung zum WLAN AP zu gehen und von da aus zurück. *g*

mamue
31.07.06, 12:39
Hallo Leute,
1x VMware Workstation Guest mit
- iSCSI Target (iSCSI Enterprise Target)
(..) ansonsten würde er versuchen über eine 54MBit WLAN Verbindung zum WLAN AP zu gehen und von da aus zurück. *g*
Ich habe hier auch schon drei (recht alte) PC stehen, mit denen ich das testen wollte - auch den Windows-iSCSI client. Ich bin mal insbesondere auf das target gespannt, der Client sollte ja wohl eigentlich keine Schwierigkeiten bereiten...
Wenn das über WLAN geht, nenn das doch winSCSI (Wlan-INternetSCSI) und schon sieht es nach was Tollem aus ;-)

Viel Spaß,
mamue

bla!zilla
31.07.06, 13:04
Ich habe hier auch schon drei (recht alte) PC stehen, mit denen ich das testen wollte - auch den Windows-iSCSI client. Ich bin mal insbesondere auf das target gespannt, der Client sollte ja wohl eigentlich keine Schwierigkeiten bereiten...
Wenn das über WLAN geht, nenn das doch winSCSI (Wlan-INternetSCSI) und schon sieht es nach was Tollem aus ;-)


Eigentlich bin ich kein Freund von iSCSI, aber wenn man schon mal die Zeit dazu hat... *g* Mich interessiert auch mehr das Target als der Initiator. Mit dem hatte ich bisher kaum Probleme (RHEL3 und SLES9).

Ich werde die iSCSI NICs aber zu 98% über einen VMware Switch verbinden. *g*

bla!zilla
31.07.06, 19:03
So, ich melde erste Erfolge.

tst-svr-01

- SUSE 10.1 mit Kernel 2.6.16.21-0.13-default
- 256 MB RAM
- 4 GB HDD (/dev/hda)
- NIC1 für Public Netz
- NIC2 für iSCSI Netz
- iSCSI Target

Setup

- grafische Minimalinstallation
+ gcc
+ make
+ kernel-sourcen
+ openssl-devel
+ iscsitarget-0.4.13 (http://iscsitarget.sourceforge.net/)

tst-svr-02

- SUSE 10.1 mit Kernel 2.6.16.21-0.13-default
- 256 MB RAM
- 4 GB HDD (/dev/hda)
- NIC1 für Public Netz
- NIC2 für iSCSI Netz
- iSCSI Initiator

Setup

- grafische Minimalinstallation
+ gcc
+ make
+ kernel-sourcen
+ db-devel
+ open-iscsi-1.0-485 (http://www.open-iscsi.org/index.html)

Installation auf tst-svr-01

- iscsitarget-0.4.13 in /tmp/iscsitarget entpacken
- nach /usr/src/linux wechseln
- make cloneconfig && make modules_prepare
- nach /tmp/iscsitarget wechseln
- make && make install
- nach /tmp/iscsitarget/etc wechseln, und ietd.conf, initiators.allow und initiators.deny nach /etc kopieren.
- /etc/ietd.conf, /etc/initiators.allow und /etc/initiators.deny nach belieben anpassen. Für erste Tests kann auch einfach eine Datei, z.B. unter /tmp, mit dem Befehl dd if=/dev/zero of=/tmp/iscsiblkdvc.dat bs=10240 count=50000 erstellt werden (ist dann 500MB) groß.
- Manpages unter /tmp/iscsitarget mit gzip packen und nach /usr/share/man/man8 und man5 kopieren
- /etc/init.d/iscsi-target start
- mit tail -15 /var/log/messages prüfen ob iscsi-target hochgekommen ist. Mit netstat -tulpen sollte man nun sehen, dass auf 0.0.0.0:3260 gelauscht wird (ietd).

Installation auf tst-svr-02

- open-iscsi-1.0-485 unter /tmp/open-iscsi entpacken
- nach /usr/src/linux wechseln
- make cloneconfig && make modules_prepare
- nach /tmp/open-iscsi wechseln
- make && make install
- chmod 644 /etc/iscsid.conf
- /etc/iscsid.conf anpassen
- /etc/sysconfig/open-iscsi erstellen mit folgendem Inhalt



## Path: Network/iSCSI/Client
## Description: iSCSI Default Portal
## Type: string
## Default: ""
#
# The iSCSI Default Portal to use on startup. Use either the hostname
# or IP number of the machine providing the iSCSI Targets to use
#
ISCSI_PORTAL=""

## Type: list(sendtargets,isns,slp)
## Default: sendtargets
#
# The iSCSI discovery method to use. Currently only 'sendtargets' is
# implemented.
#
ISCSI_DISCOVERY="sendtargets"


- ln -s /etc/init.d/open-iscsi /sbin/rcopen-iscsi
- vi initiatorname.iscsi und Datei anpassen
- mkdir -p /var/db/iscsi
- ln -s /usr/sbin/iscsid /sbin/iscsid
- ln -s /usr/sbin/iscsiadm /sbin/iscsiadm
- rcopen-iscsi start
- iscsiadm -m discovery -t st -p <IP des Targets>
- iscsiadm -m node -r 2281f3 (2281f3 ist die Resource ID)
- iscsiadm -m node 2281f3 -l (einloggen am Target)
- mit dmesg prüfen ob es ein neues Block-Device gibt
- fdisk /dev/sda und Block-Device partitionieren
- mkfs.jfs /dev/sda verpasst dem Block-Device ein Dateisystem
- neue Platte mit mount /dev/sda1 /mnt/iscsi-dvc1 mounten
- Test mit dd if=/dev/zero of=iscsi-dvc1/test.dat bs=10240 count=10000 (legt eine 100MB Datei auf dem Block-Device ab)
- Ergebnis: 1,1MB/s, in mehrfachen Versuchen kam ich auf im Schnitt 3MB/s.

Okay, das waren jetzt ins. 15 Minuten arbeit für mich (ich kenne iSCSI habe es schon produktiv eingesetzt). Die Performance ist mies, wobei man sagen muss: Ich schreibe von einer Vmware VM in eine andere VMware VM, über iSCSI, ein WLAN in eine Datei auf einer virtuellen Platte in der VMware. Die IP Kommunikation ist absolut nicht optimiert.

Viel Spaß beim nachbasteln.

EDIT:

Test mit 3x 200MB LUNs. LUNs wurden über LVM zusammengefasst und ein 235MB LV wurde erstellt. Dateisystem JFS. Getestet wurde wieder das erstellen einer ca. 100MB großen Datei mittels dd (dd if=/dev/zero of=test/test.dat bs=1024000 count=100). Die beiden NICs für iSCSI wurden über /dev/vmnet1 verbunden. In 10 Durchläufen wurden im Schnitt 27MB/s erreicht. Dieser Test ist nicht repräsentativ und wurde nicht nach wissenschaftlichen Standards durchgeführt. :)

borner
01.08.06, 13:35
Setup

- grafische Minimalinstallation
+ gcc
+ make
+ kernel-sourcen
+ openssl-devel
woher wusstest du das mit dem openssl-devel?
die IET Doku schweigt sich ja darüber aus.... :-(

bla!zilla
01.08.06, 13:44
Steht im Readme. ;)

borner
01.08.06, 14:32
...das wurde in der readme zu 0.4.12 ganz einfach vergessen...
...hab mich nämlich schon gewundert, dass er eine openssl/md5.h sucht!

bla!zilla
01.08.06, 14:33
Also in der 0.4.13 steht´s drin. :)

bla!zilla
03.08.06, 07:33
Also ich habe gestern mal weiter rumgetestet. Klappt alles wunderbar, auch mit dem dynamischen hinzufügen und entfernen von LUNs über /proc/scsi/scsi (Kinder, macht das zu Hause nicht nach) mittels echo "remove scsi-single-device 1 0 0 0" > /proc/scsi/scsi. Performance konnte ich mangels geeigneter Hardware nicht richtig testen, aber vom handling her ist die Kombination iSCSI Enterprise Target und Open-iSCSI ein Kindergeburtstag. Was ich noch weiter testen werden ist der Bereich Security. Die /etc/initiators.allow und /etc/initiators.deny verhalten sich leider nicht so wie von mir erhofft / erwartet. Zudem habe ich noch nicht mit der Authentifizierung von iSCSI Verbindungen (mittels CHAP) rumgespielt.

emba
08.08.06, 09:09
mensch, was für ein zufall!

bin gerade dran für ein bladecenter (alles xp-clients) einen scsi-server zu bauen (linux). sinnvollerweise sollen die 10 blades aus dem (virtuellen) "SAN" via iscsi booten.

@bla!zilla
habe eigentlich keine guten erfahrungen mit echo "..." >/proc/scsi.. gemacht
wollte testweise mal einem server eine LVM-gruppe inkl. FC-disks entziehen. so recht wollte das nicht klappen. er hat die disks immer noch gesehen (proc), aber es hagelte kernel fehlermeldungen (die ich nicht mehr im kopf habe ;) )

irgendwelche schlauen tips zu LVM/softraids, FC-disks und diesem echo-command unter linux?

desweiteren: hat jmd. schon erfahrungen mit iSCSI boot von xp-clients und deren installation (install eines basis-images)?

big thx @ bla!zilla für diesen thread!


ok, xp kann mit dem initiator nicht via iSCSI booten
kennt jmd. erschwingliche implementierungen ala emboot?


greez

bla!zilla
08.08.06, 10:06
bin gerade dran für ein bladecenter (alles xp-clients) einen scsi-server zu bauen (linux). sinnvollerweise sollen die 10 blades aus dem (virtuellen) "SAN" via iscsi booten.

Was für ein Bladecenter mit was für Blades?



@bla!zilla
habe eigentlich keine guten erfahrungen mit echo "..." >/proc/scsi.. gemacht
wollte testweise mal einem server eine LVM-gruppe inkl. FC-disks entziehen. so recht wollte das nicht klappen. er hat die disks immer noch gesehen (proc), aber es hagelte kernel fehlermeldungen (die ich nicht mehr im kopf habe ;) )

irgendwelche schlauen tips zu LVM/softraids, FC-disks und diesem echo-command unter linux?


LV/VG/PV vorher deaktiviert? Ich hatte da bisher nie Probleme mit. :)



desweiteren: hat jmd. schon erfahrungen mit iSCSI boot von xp-clients und deren installation (install eines basis-images)?


Du brauchst halt einen Initiator mit dem man booten kann, der von Microsoft kann es nicht.




ok, xp kann mit dem initiator nicht via iSCSI booten
kennt jmd. erschwingliche implementierungen ala emboot?



Da du booten willst, brauchst du Hardware. Schade, für Linux würde mir was einfallen. Kernel über PXE ziehen, Initrd mit iSCSI Support und dann das Root-FS per iSCSI einbinden. Funktioniert. Aber mit Windows XP?! Was hast du da für Blades?

emba
08.08.06, 11:38
hi,

sind DELL blades. werde es aber anders machen (softwareverteilung). dennoch mal eine schöne erfahrung gewesen, iSCSI zw. linux und windows zu probieren.

das problem mit dem echo ""... hatte ich, als ich einem server bereits seine disk entzogen hatte und /proc/partitions säubern wollte. dies gleicht bspw. einem ausfall einer disk. werds das nächste mal sauberer probieren, indem ich vor dem echo""... die LVM-kommandos absetze

thx&greez

bla!zilla
08.08.06, 19:50
sind DELL blades.

Also quasi Intel, quasi IBM. ;)

emba
09.08.06, 13:40
quasi ja ;)

greez