Auf modernen Windows 7- und Windows 8-Systemen kann man sich nämlich einer Technik bedienen, die eigentlich bereits recht «alt» ist, deren Anwendung bisher aber dem Serverbereich oder einigen «IT-Cracks» vorbehalten ist: iSCSI.
iSCSI steht für «Internet Small Computer System Interface», es führt zwei Protokolle zusammen: SCSI – grob gesprochen ein Protokoll zur sehr schnellen Übertragung von Daten, welches früher einmal vor allem im Mac- und Serverbereich populär war; und TCP – über das wir hier keine weiteren Worte verlieren müssen, weil es Standard in heutigen Netzwerken ist.
SCSI und Netzwerk gehen Hand in Hand und bieten eine bestechend einfache Technik an: Die Übertragung von Daten auf Blockebene über das Netzwerk. Hiermit werden die reinen Daten – blockweise – über ein IP-Netzwerk geschoben; eine geniale Idee, die erhebliche Performancevorteile mit sich bringt, und die Sie ohne die Anschaffung spezieller Hardware auch in Ihrem lokalen Netzwerk (LAN) oder am Heimarbeitsplatz nutzen können. Es gab und gibt auch spezielle iSCSI-Schnittstellen – aber mit ein wenig Konfiguration auf den jeweiligen Speichersystemen lässt sich das Ganze auch auf einem NAS oder Linuxsystem einrichten.
Richtig eingerichtet und eingebunden, fügt das Netzwerkprotokoll iSCSI ein Netzlaufwerk auf einem iSCSI-Server (und das kann durchaus auch eine «billige» NAS sein) dergestalt auf Ihrem PC ein, dass dieser das Laufwerk wie ein Gerät ansieht, welches im PC eingebaut ist. Eine hervorragende Kombination ist eine iSCSI-Freigabe auf einem Linux-Server oder einer NAS (Synology, QNAP, Netgear et. al.) und deren Einbindung unter Windows 7 oder 8, um dort die Windows-Sicherung durchzuführen. Windows erlaubt hierfür nämlich eigentlich keine Sicherung auf einem Netzlaufwerk, also einer Freigabe per SMB oder FTP von einem Datenserver. Mit iSCSI kann man diese Beschränkung aber trickreich umgehen – und vor allem zusätzlich noch lahmenden Netzwerkprotokollen wie SMB und FTP ein Schnippchen schlagen. Letztere müssen die reinen Daten immer erst in ihr Übertragungspaket «einpacken» – Protokollinformationen und diverse Besonderheiten werden den eigentlichen Nutzdaten hinzugefügt, es ergibt sich der so genannte, berühmt-berüchtigte Overhead. Das alles macht diese Protokolle relativ träge. iSCSI hingegen überträgt die Nutzdaten schlank und vor allem transparent für das Zielsystem – in diesem Fall «weiss» das Windows 7 oder 8 oder der Windows Server 2008 / 2012 gar nicht, dass ihm im Kern eine Netzwerkfreigabe als lokaler Datenträger untergeschoben wurde.
Das Server-Storage
Schauen wir uns kurz die Installation eines iSCSI-Systems auf einem Linuxsystem an. Sie müssen aber nicht zum Linux-Profi werden, um diese Technik nutzen zu können. iSCSI wird auch von vielen Netzwerkspeichern – NAS, Network Attached Storage – bereitgestellt, und zwar durchaus von Geräten aus dem so genannten Konsumerbereich. Solche kleinen Speicherkisten sind bereits für wenige Hundert Franken zu haben. Üblicherweise erwirbt man dann nur das Leergehäuse und setzt sich (SATA-)Festplatten nach Wahl hinein. Denken Sie in diesem Zusammenhang daran, dass ein Netzwerkspeicher Sie erst dann mit gutem Gewissen für die Datenablage darstehen lässt, wenn Sie mindestens zwei, besser drei Festplatten einsetzen. Gerade bei Geräten aus dem SoHo-Bereich (Small Office Home Office) ist bei einem Ausbaustand von drei Festplatten ohnehin zumeist Schluss. Diese werden dann per RAID zusammengeschlossen – erst so erhält man eine gewisse Datensicherheit. Rekapitulieren wir aber noch einmal kurz, welche RAID-Level für Sie in Betracht kommen: RAID 1- die Spiegelung zweier Festplatten, RAID 5 – die Verteilung der Daten auf mindestens drei Festplatten. Sollte Ihr NAS RAID 0 anbieten – vergessen Sie´s am Besten gleich. Durch dieses RAID-Level würden beide physikalische Festplatten systemtechnisch zu einem einzigen («logischen») Datenträger zusammengebunden, und der Ausfall einer der Platten würde den gesamten Datenbestand ins Nirwana ziehen – zumindest wäre eine Wiederherstellung hier dann eine Sache für eine professionelle – und teure – Datenrettung.
Einrichten eines iSCSI
Hier ist nun eine Schnellanleitung für das Einrichten eines iSCSI auf einem simplen Linux-System – im Beispiel verwenden wir Debian, aber im Prinzip spielt das jeweilige Linux-Derivat keine Rolle.
Zuerst gehen wir daran, die Pakete zu installieren:
aptitude install iscsitarget iscsitarget-dkms iscsitarget-source
Nun muss man das sogenannte Target aktivieren – logischerweise auf dem Server:
nano /etc/default/iscsitarget
Diese Datei muss wie folgt abgeändert werden:
ISCSITARGET_ENABLE=true
Schliesslich gehen wir daran, die iSCSI-Freigaben einzurichten. In folgender Datei werden die Freigaben für die iSCSI-Verbindung eingetragen und eingerichtet:
nano /etc/iet/ietd.conf
Beispiel:
iSNSServer 192.168.1.243
iSNSAccessControl No
IncomingUser raclettepfaennli geheimes_passwort
OutgoingUser raclettepfaennli geheimes_passwort
Target iqn.3000-01.192.168.1.243:md0
Lun 0 Path=/dev/md0,Type=fileio
Alias LUN0
Abschliessend sollte man nun noch die Zugriffe reglementieren, schliesslich soll ja nicht jeder auf unsere Freigabe zugreifen. In folgenden Dateien kann man die Zugriffsberechtigungen beschränken:
-rw-r--r-- 1 root root 1011 16. Sep 2009 initiators.allow
-rw-r--r-- 1 root root 864 16. Sep 2009 targets.allow
Jetzt kann der iSCSI-Dienst neugestartet werden:
# /etc/init.d/iscsitarget restart
Mit folgendem Befehl kann man eine Datei erstellen, die anschliessend eine virtuelle-Festplatte darstellt:
dd if=/dev/zero of=ISCSI-1 count=0 obs=1 seek=1G
Clients einbinden
Auf Client-Seite kann die frischgebackene iSCSI-Freigabe nun ebenfalls eingebunden werden – unter Macs ist dies selbst in den modernen OS-X-Systemen leider nicht integriert; hier sticht Microsoft den Rivalen tatsächlich einmal aus.
Auf Linux-Systemen sieht dies besser aus, es muss lediglich ein Paket installiert werden (Debian, andere Linuxe entsprechend angepasst):
aptitude install open-iscsi
In der Konfiguration bitte folgendes ändern:
nano /etc/iscsi/iscsid.conf
# To request that the iscsi initd scripts startup a session set to «automatic». node.startup = automatic
# To manually startup the session set to «manual». The default is manual.
#node.startup = manual
Den Dienst auf dem Client anschliessend einmal neu starten:
/etc/init.d/open-iscsi restart
iSCSI einbinden
Und jetzt kann das iSCSI eingebunden werden:
iscsiadm -m discovery -t st -p 192.168.1.243
iscsiadm -m node -l
Mit Passwort und Benutzer verbinden:
iscsiadm -m node --targetname «iqn.3000-01.192.168.1.243:md0» --portal «192.168.1.243:3260» --op=update --name node.session.auth.username --value=raclettepfaennli iscsiadm -m node --targetname «iqn.3000-01.192.168.1.243:md0» --portal «192.168.1.243:3260» --op=update --name node.session.auth.password --value=geheimes_passwort
Eine solche iSCSI-Freigabe kann man auch wieder entfernen:
iscsiadm -m node -T iqn.3000-01.192.168.1.243:md0 -p 192.168.1.243:3260 --logout
In den Windows-Systemen 7, 8 und ab Windows Server 2008 R2 aufwärts ist iSCSI, wie bereits erwähnt, löblicherweise bereits integriert. Starten Sie zur Einbindung auf einem Windows 7-Client-PC zuerst den iSCSI- Treiber über die Eingabemaske, die Sie unter Start => Ausführen erreichen. Darin geben Sie ein:
iscsicpl.exe Die nun folgende Meldung quittieren Sie mit «Ja» — der iSCSI-Dienst startet ab jetzt automatisch bei jedem Neustart.
In der Datenträgerverwaltung sollte Windows nun eine neue Festplatte melden. Geben Sie auf dem Reiter «Ziele» die IP-Adresse Ihres NAS-Servers ein – in unserem Beispiel war das ja die 192.168.1.243. Wählen Sie nun «Schnell verbinden…», wodurch die Verbindung zum iSCSI-Laufwerk erstellt werden sollte.
Unter technet.microsoft.com können Sie nachlesen, wie Sie mithilfe des Microsoft iSCSI-Initiators einen PC unter Windows 7 oder Windows Server 2008 R2 über einen Ethernetnetzwerkadapter mit einem iSCSI-basierten Speicher verbinden können – aber seien Sie gewarnt, diese Anleitung ist erstens kürzer und zweitens weniger prosaisch formuliert als dieser WEKA-Beitrag.