©B B, 123RF.com
PS3 als I-SCSI-Target
Zum Spielen zu schade
von Markus Feilner
Erschienen im Linux-Magazin
2010/02
Sonys Playstation 3 hat Gigabit-LAN und ein Blu-ray-Laufwerk. Wer den Power-PC-Prozessor mit Linux startet und ein I-SCSI-Target darauf installiert, macht aus der Konsole einen schnellen Fileserver, mit dem sich sogar HD-Filme übers Netz betrachten lassen.
Spielerisch treffen sich zwei Welten: I-SCSI verwenden Admins normalerweise in schnellen Netzen, um Daten zwischen Servern und Storage zu übertragen, die PS3 dient allenfalls der Entspannung nach getaner Arbeit. Aber wer Linux auf der Spielekonsole installiert, kommt bisweilen auch in den Genuss ganz anderer Fähigkeiten, zum Beispiel eines I-SCSI-Servers.
Linux und I-SCSI
Das Kürzel I-SCSI [1] steht für Internet Small Computer Systems Interface und findet vorwiegend in Umgebungen vom Gigabit-Ethernet aufwärts Verwendung. Der Standard [2] für Storage Anbindung über LAN-, aber auch WAN- oder Internet-Verbindungen hat sich mittlerweile als günstige Alternative zu Fibre Channel etabliert. Die Clients, so genannte Initiatoren finden sich in Linux-Distributionen, Yast-Modulen für Server (Abbildung 1) und Client, aber auch in Hardware wie Host-Bus-Adaptern. Die Server, so genannte Targets akzeptieren Kommandos als Command Descriptor Block (CDB), für die Benutzer am Client entsteht so die Illusion lokaler Laufwerke.

|
Abbildung 1: I-SCSI ist als Standard für schnelle Storage-Anbindung als Server (Target) und Client (Initiator) auch in Yast integriert.
|
Lio, (Linux-iscsi.org) [3] steht für die Linux-Implementierung der I-SCSI-Technologie von Rising Tide Systems [4]. Unter allen gängigen Varianten wie dem Initiator Open-I-SCSI [5] oder dem Server Iscsitarget [6] scheint Lio derzeit die meisten Plattformen und Features anzubieten. Rising Tides I-SCSI- Variante besteht aus Client und Server, ist bereits seit 2004 Open-Source, bringt Enterprise-Support und laut Hersteller im 10-GBit-LAN bessere Ergebnisse als vergleichbare, aber wesentlich teuerere Fiber-Channel-Infrastrukturen.
Als Beispiel ist auf der DELUG-DVD ein angepasstes Linux-Image enthalten, mit dem Besitzer einer PS3 auf Sonys Gerät Ubuntu booten und es so in einen schnellen Fileserver mit I-SCSI-Anschluss verwandeln, ohne die PS3 partitionieren oder etwas installieren zu müssen.
In der Abbild-Datei »lio-ps3-ubuntu-9.04-live.img« findet sich eine 20 MByte große Boot-Partition mit dem PS3-Boot-Loader Petit Boot [7] in »/ps3/otheros.bld«. Die zweite Partition im Image umfasst als Ext3-Root-Partition eine Ubuntu-9.04-Installation für Power-PC. Darüber hinaus sind die Kernelmodule für die Lio-Target-Konfiguration, die Lio-Utils und ein einfaches Skript für die automatische Konfiguration der Spielekonsole enthalten.
Wer das mit seiner PS3 testen will, schreibt zunächst das Image mit Dd auf einen bootfähigen USB-Stick. Unter Windows gibt es das für Anwender von Ubuntu-Netbook-Distributionen entwickelten Open-Source-Tool Win32-Disk-Imager [8] von Tobin Davis.
Booten
Ist der fertige USB-Stick auf der Playstation eingesteckt, dann funktioniert der Systemstart mit dem kleinen Bootloader Petit Boot recht einfach: Aus dem Menü des PS3-XMB-Game-OS wählt der Anwender den Eintrag »System Settings | Install Other OS« und sucht nach »otheros.bld«. Einmal mit »Ok« bestätigen, dann im Menü »System Settings | Set Default System | OtherOS« auswählen und nach dem nächsten »Ok« bootet die Playstation mit Petit Boot. Der kleine Bootloader sucht zunächst nach vorhandenen Dateisystemen auf allen Speichermedien und zeigt erkannte, bootbare Systeme in einer Liste an.
Wenn beim Kopieren alles richtig gelaufen ist, sollte hier ein Eintrag mit der Root-Partition »lio-ubuntu-ps3-live« erscheinen. Den wählt der Benutzer aus und betätigt [Return]. Jetzt bootet das Ubuntu-System mit dem Power-PC-Kernel und sucht nach einer bestehenden Lio-Target-Konfiguration. Existiert diese nicht, was bei dem Live-System der Default ist, dann startet automatisch das Skript »/root/lio-ps3-setup.sh« aus Listing 1, das eine Demo-Konfiguration für die PS3 als I-SCSI-Target beinhaltet.
|
Listing 1: »lio-ps3-setup.sh«
|
#!/bin/sh
PS3_IQN=`iscsi-name`
IPV4_ADDR=`ifconfig eth0 | grep "inet addr" | awk '{ print $2 }' | awk 'BEGIN { FS=":" } { print $2 }'`
HOST_ID=`ls /sys/block/sr0/device/scsi_device/ | awk -F':' '{ print $1 }'`
CHANNEL_ID=`ls /sys/block/sr0/device/scsi_device/ | awk -F':' '{ print $2 }'`
TARGET_ID=`ls /sys/block/sr0/device/scsi_device/ | awk -F':' '{ print $3 }'`
LUN_ID=`ls /sys/block/sr0/device/scsi_device/ | awk -F':' '{ print $4 }'`
tcm_node --pscsi pscsi_$HOST_ID/bdrom $CHANNEL_ID:$TARGET_ID:$LUN_ID
lio_node --addtpg $PS3_IQN 1
lio_node --addlun $PS3_IQN 1 0 lio_bdrom pscsi_$HOST_ID/bdrom
lio_node --addnp $PS3_IQN 1 $IPV4_ADDR
lio_node --demomode $PS3_IQN 1
lio_node --disableauth $PS3_IQN 1
lio_node --enabletpg $PS3_IQN 1
/etc/init.d/target status
tcm_dump --o
|
Das Skript definiert einen eindeutigen Namen »iscsi-name« für die PS3 und extrahiert die IPv4-Adresse aus der Ausgabe des Ifconfig-Befehls. Standardmäßig aktiviert das Ubuntu- Image DHCP auf »eth0«, was der Gbit- Ethernet-Karte der Playstation entspricht. Host-, Channel-, Target- und Lun-IDs be- zieht es aus der Konfiguration der lokalen Geräte im Sys-FS .
| Whitepaper |
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele
Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
|
The Role of Open Source in Data Integration
Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|
Philipp,
20.01.2010 22:20
hab gerade versucht das Ganze wie beschrieben zu installieren.
Leider habe ich das Problem, dass bei der Verwendung des lio-ps3-ubuntu-9.04-live.img die Netzwerkkarte meiner PS3 (40GB) nicht erkannt wird.
ifconfig gibt nur die loopback adresse aus. hab dann auch versucht eine statische ip einzustellen. Leider bekomm ich aber immer nur die Fehlermeldung "No such device".
Weiß irgendwer wie ich das beheben kann?
lg,
Philipp