- Registriert
- 10.11.06
- Beiträge
- 546
Seit einiger Zeit interessiert mich die Möglichkeit, die HDD-Kapazität meines Debian-Homeservers auch für mein Macbook nutzen zu können.
Besonders ins Auge fiel die Möglichkeit, iSCSI-Verbindungen mit dem Macbook herstellen zu können. Dafür kann die kostenlose Software "GlobalSAN iSCSI Initiator" verwendet werden, welche HIER herunterladbar ist.
Als nächstes die Frage: iSCSI unter Debian? Folgend ein Howto, wie man einen Etch-Server als iSCSI-Target konfiguriert:
Zuerst fügen wir die folgende Zeile in /etc/apt/sources.list hinzu:
Ein apt-get update bringt die Paketverwaltung auf den neusten Stand.
Als nächstes werden die benötigten Softwarepakete installiert, und die Kernelmodule gebaut. Die einzelnen Zeilen können eigentlich einfach per C&P übernommen werden:
Die Konfigutationsdate /etc/ietd.conf ist wiefolgt aufgebaut:
Dann kann der iSCSI Taget Deamon gestartet werden:
Der Deamon lauscht per default auf TCP port 3260, was man vom Macbook mit:
einfach überprüfen kann. (Wer kein nmap installiert hat: Der Portscanner in den Netzwerktools tuts auch!)
Problematisch bei mir war, daß die Datenplatte des Fileservers bereits voll durch das ext3-Rootfilesystem des Servers genutzt war, ich hatte also kein Laufwerk frei, und keine leere Partition verfügbar. Die Lösung ist Linux-Typisch einfach:
Man erzeugt ein File mit der Größe des benötigten Volumes:
Dies dauert je nach Systemleistung zwischen sehr lange und unglaublich lange
Danach kann das File via loopback gemounted werden:
Das nun verfügbare Laufwerk /dev/loop1 könnte nun als ext3 formatiert werden - was wir aber nicht wollen. NAtürlich kann anstelle dieser Variante auch eine (leere) Festplattenpartition verwendet werden, was deutlich performanter sein dürfte.
Nun machen wir dieses "Laufwerk in a Textfile" via iSCSI verfürbar, indem wir in der /etc/ietd.conf folgenden Eintrag erstellen:
Neustart des iSCSI-Targets:
Und - Tadaaaa! Ein neues (unformatiertes) Laufwerk ist im iSCSI-Initiator vefügbar, und kann als HFS+ formatiert und gemounted werden. Da sich diese Partition wie ein "echtes" Laufwerk verhält, funktioniert dort auch die Spotlight-Indizierung. Auch ein Timemachine-Backup sollte gehen. Mit diesen Mitteln hat man nun ein Teil des Speicherplatzes des Linux-Servers als HFS-Speicherplatz zur Verfügung. Das Debian-System kann darauf zwar (momentan) in keiner Weise zugreifen, aber immerhin kann das komplette File gesichert werden.
Nun sitze ich gerade in der Firma, und mache Mittag. Es wäre ja toll, an sein Laufwerk daheim zu kommen. Der Heimserver ist über dyndns erreichbar, iSCSI will nur einen TCP-Port. Fein, schnell eine Shell geöffent, und einen Tunnel gegraben:
Damit ist der lokale Port 3260 auf den Heimserver Port 3260 weitergeleitet. Im iSCSI-Initiator unter der IP 127.0.0.1 (localhost) nach Volumes gesucht, kurz warten, Volume verfügbar. Die Sache ist zwar ehr träge, aber ich habe mein Laufwerk nun unterwechs verfügbar!
Spielereien für die nächsten Tage:
Besonders ins Auge fiel die Möglichkeit, iSCSI-Verbindungen mit dem Macbook herstellen zu können. Dafür kann die kostenlose Software "GlobalSAN iSCSI Initiator" verwendet werden, welche HIER herunterladbar ist.
Als nächstes die Frage: iSCSI unter Debian? Folgend ein Howto, wie man einen Etch-Server als iSCSI-Target konfiguriert:
Zuerst fügen wir die folgende Zeile in /etc/apt/sources.list hinzu:
Code:
deb http://debian.hug.cx/debian/ unstable/
Als nächstes werden die benötigten Softwarepakete installiert, und die Kernelmodule gebaut. Die einzelnen Zeilen können eigentlich einfach per C&P übernommen werden:
Code:
[root@heimserver]# apt-get install module-assistant debhelper linux-source-2.6.18 dpkg-dev kernel-package libncurses-dev libssl-dev linux-headers-2.6.18-4-xen-amd64
[root@heimserver]# cd /usr/src/
[root@heimserver]# tar -jxvf linux-source-2.6.18.tar.bz2
[root@heimserver]# ln -s linux-source-2.6.18 linux
[root@heimserver]# apt-get install iscsitarget iscsitarget-source
[root@heimserver]# tar -zxvf iscsitarget.tar.gz
[root@heimserver]# m-a a-i iscsitarget
Code:
Target iqn.2006-07.com.example.intra:storage.disk1.vault
Lun 0 Path=/dev/ziellaufwerk1,Type=fileio
Alias vault1
Target iqn.2006-07.com.example.intra:storage.disk2.vault
Lun 1 Path=/dev/ziellaufwerk2,Type=fileio
Alias vault2
Code:
[root@heimserver]# /etc/init.d/iscsi-target start
Code:
[zaphod@macbook]# sudo nmap -sS -p 3000-4000 192.168.178.2
Problematisch bei mir war, daß die Datenplatte des Fileservers bereits voll durch das ext3-Rootfilesystem des Servers genutzt war, ich hatte also kein Laufwerk frei, und keine leere Partition verfügbar. Die Lösung ist Linux-Typisch einfach:
Man erzeugt ein File mit der Größe des benötigten Volumes:
Code:
[root@heimserver]# dd if=/dev/urandom of=/pfad/zum/file bs=1M count=500
Danach kann das File via loopback gemounted werden:
Code:
[root@heimserver]# losetup /dev/loop1 /pfad/zum/file
Nun machen wir dieses "Laufwerk in a Textfile" via iSCSI verfürbar, indem wir in der /etc/ietd.conf folgenden Eintrag erstellen:
Code:
Target iqn.2006-07.com.example.intra:storage.disk1.vault
Lun 0 Path=/dev/loop1,Type=fileio
Alias vault1
Code:
[root@heimserver]# /etc/init.d/iscsi-target restart
Nun sitze ich gerade in der Firma, und mache Mittag. Es wäre ja toll, an sein Laufwerk daheim zu kommen. Der Heimserver ist über dyndns erreichbar, iSCSI will nur einen TCP-Port. Fein, schnell eine Shell geöffent, und einen Tunnel gegraben:
Code:
[zaphod@macbook]#ssh [email protected] -L3260:localhost:3260
Spielereien für die nächsten Tage:
- Anstatt direkt in das Loopback-Textfile zu schreiben, soll ein LVM (Logical Volume Manager) dazwischengeschaltet werden. Damit kann "on the fly" die Kapazität des iSCSI-Devices verändert werden, indem ein weiteres File (oder Laufwerk) hinzugefügt wird. Auch LVM-Snapshopts können evtl. sinnvoll eingesetzt werden.
- Umzug des iSCSi-Tagets auf das "große Eisen" - eine Sun Fire V210 mit momentan 14x146Gb Fibrechannel-HDDs. Die Kiste läuft unter Solaris 10, welches ZFS (ein ohne Reboot erweiterbares Filesystem) und iSCSI von Haus aus unterstützt.
- Test, wie man mit mehreren Rechner auf die gleiche LUN (iSCSI-Volume) zugreifen kann
Zuletzt bearbeitet: