PatentDe  


Dokumentenidentifikation DE602004009410T2 17.01.2008
EP-Veröffentlichungsnummer 0001593033
Titel BANDSPEICHEREMULATION FÜR OFFENSYSTEM-UMGEBUNGEN
Anmelder Diligent Technologies, Framingham, Mass., US
Erfinder BITNER, Haim, 43333 Raanana, IL;
KRIKLER, Samuel, Givataim, IL;
AKIRAV, Shay, Ramat-Gan 52523, IL;
BASH, Shira, Western Galilee 22825, IL;
DROBCHENKO, Elena, Raanana 43352, IL
Vertreter Samson & Partner, Patentanwälte, 80538 München
DE-Aktenzeichen 602004009410
Vertragsstaaten AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HU, IE, IT, LI, LU, MC, NL, PT, RO, SE, SI, SK, TR
Sprache des Dokument EN
EP-Anmeldetag 04.02.2004
EP-Aktenzeichen 047082425
WO-Anmeldetag 04.02.2004
PCT-Aktenzeichen PCT/US2004/003303
WO-Veröffentlichungsnummer 2004072961
WO-Veröffentlichungsdatum 26.08.2004
EP-Offenlegungsdatum 09.11.2005
EP date of grant 10.10.2007
Veröffentlichungstag im Patentblatt 17.01.2008
IPC-Hauptklasse G06F 3/06(2006.01)A, F, I, 20051017, B, H, EP

Beschreibung[de]
GEBIET DER ERFINDUNG

Die vorliegende Erfindung bezieht sich auf Systeme und Verfahren zum Emulieren eines Bandspeichers.

HINTERGRUND DER ERFINDUNG

Datensicherung ist ein wesentliches Element des Datenschutzprozesses in jeder Organisation. Historisch schloss es das Senden einer Sicherungskopie der Daten an eine Bandspeichervorrichtung mit ein. Exponentielles Datenwachstum, ein schrumpfendes Sicherungsfenster, heterogene Plattformen und Anwendungen (eine offene Systemumgebung) und steigende Stillstandszeitkosten sind einige der Datenspeicherherausforderungen denen sich IT-Administratoren heutzutage gegenüberstehen sehen. Als Ergebnis ist die Datensicherung jetzt typischerweise das Nr. 1 Speicherproblem für IT-Administratoren.

Eine herkömmliche Sicherungssystemarchitektur 10, wie in 1 gezeigt, hat eine Sicherungsanwendung, die auf einem Sicherungsserver 14 angesiedelt ist und als der Verwaltungspunkt und die Steuerung für sowohl den Sicherungsprozess als auch die zugehörige Bandhardware fungiert. Der Sicherungsserver 14 ist typischerweise in einem lokalen Netzwerk (LAN) 16 angeordnet, in dem er mit mehreren lokalen Hosts (zum Beispiel PC's und anderen Servern (nicht gezeigt), die Datensicherung benötigen) und mit einer Bandbibliothek 18 verbunden ist. Es sind jetzt allerdings eine Vielzahl von verschiedenen Sicherungsanwendungen von verschiedenen Anbietern verfügbar, wobei jede mit verschiedenen Betriebssystemen, Speichersystemen und Anwendungen kompatibel ist. Das Integrieren dieser verschiedenen Sicherungsanwendungen in einer offenen Systemumgebung mit heterogenen Hosts und heterogenen Bandspeichersystemen ist eine erhebliche Herausforderung.

Neben diesen Schwierigkeiten der Integration der verschiedenen Systeme, ist das Sichern und Wiederherstellen von Band selbst von Natur aus arbeitsintensiv, komplex und ein fehleranfälliger Prozess. Die Erfolgsrate bei der Bandsicherung variiert zwischen 95 und 99 %; für die Bandwiederherstellung, was ein weniger häufiger aber besonders kritischer Vorgang ist, ist sie sogar geringer. Die Betriebskosten, die zur Bandsicherungs- und Wiederherstellungsverwaltung gehören, steigen weiter, sowie die Komplexität des Systems und die Menge der Daten sich vergrößern.

Als Ergebnis dieser Probleme wurden neue Datenschutzschemata vorgeschlagen. Ein Vorgehen ist, einen plattenbasierten Cash (eine teure Form von vorübergehenden Speicher, die typischerweise für Anwendungsdaten verwendet wird) zu integrieren, um die Sicherungsleistung zu verbessern und die Wiederherstellungszeit zu verringern. Eine andere Vorgehensweise ist, einen plattenbasierten Bibliotheksspeicher für die Datensicherung zu verwenden, was ebenfalls eine teurere Alternative als Bandspeicherung ist. Manche Systeme emulieren eine Bandspeichervorrichtung mit einer Plattenspeichervorrichtung. In einem solchen Emulationssystem, das gewöhnlich in einer Computersystem(zugehöriger Host und Speichervorrichtung)Umgebung verwendet wird, werden Bandanfragen in dem Hostserver angenommen und in Plattenanfragen umgewandelt, so dass eine unveränderte magnetische Plattenspeichervorrichtung eine magnetische Bandspeichervorrichtung emulieren kann (als virtuell agieren kann).

Während sie einige der Probleme von herkömmlichen bandbasierten Sicherungs- und Wiederherstellungsverfahren lösen, haben diese Vorgehensweisen ihre eigenen Probleme erzeugt. Viele dieser neuen Vorgehensweisen können nicht nahtlos in die Vielzahl von existierenden Sicherungsanwendungen und Prozeduren von offenen Systemumgebungen integriert wird. Manche Vorgehensweisen benötigen neue Systemhardware und ebenfalls Software. Andere sind zu teuer, benötigen zusätzlichen Plattenspeicher, hauptsächlich (teure, mit hoher Leistung) Speicherplattenarrays. Darüber hinaus vereinigen viele dieser Vorgehensweisen nicht die Sicherungsdatenprozeduren, sondern sind Nischenlösungen, die nur für einen Teil der Daten geeignet sind, die von einem Datencenter gehandhabt werden.

Dahingegen war die Bandspeicherung zentral für die Datensicherung, der Plattenspeicher war zentral für Anwendungsspeicher (d.h. Hauptspeicher), der eher einen sofortigen Zugriff auf die Daten benötigt. Folglich wurden herkömmliche Diskarrays für die Anwendungsspeicherleistung optimiert. Diese Speicherarrays weisen RAID-Architekturen für die Datenverfügbarkeit auf, redundante Hilfssysteme für die Zuverlässigkeit des vollständigen Datenarrays, Breitbandkanäle, um einen hohen Durchsatz zu unterstützen und das Schreiben in Cashs, um Eingabe/Ausgabe (I/O) Wartezeiten zu verringern. Wegen ihrer Kritikalität für den Systembetrieb, werden Anwendungsspeicherarrays auch mit redundanten Komponenten (einschließlich der Platten selbst) konstruiert, die entfernt und ausgetauscht werden können, ohne den Systembetrieb zu unterbrechen (was als "Hotswap"-Fähigkeit bezeichnet wird). Als Ergebnis ihrer vergrößerten Komplexität, kosten Anwendungsspeicherarrays typischerweise wenigstens 10 mal des Betrages von rohem Plattenplatz.

Für die meisten Datenschutzanwendungen, und insbesondere für die Sicherung, werden viele dieser Konstruktionskomplexitäten nicht benötigt. Da Anwendungsspeichersysteme zusätzlich so konstruiert werden müssen, dass das gesamte Datenarray zu jeder Zeit verfügbar ist, benötigen die meisten Datenschutzanwendungen nur einen kleinen Anteil (zum Beispiel 10 % oder weniger) der Daten aktiv zu jeder Zeit.

2 veranschaulicht eine verbesserte Sicherungsarchitektur 20, die sowohl einen Platten- als auch einen Bandspeicher aufweist. In dieser schematischen Zeichnung sind mehrere Hosts 21 (zum Beispiel Computer) durch ein LAN 22 verbunden. Mehrere Server 24, zum Beispiel Anwendungsserver 25, E-Mail Server 26, Webserver 27 und ein Sicherungsserver 28, auf denen die Sicherungsanwendung 29 angesiedelt ist, sind durch ein Speichernetzwerk (SAN) 30 und mit LAN 22 verbunden. Es existieren Datenpfade 32, 34, 35 zwischen dem Sicherungsserver 28 und jeder Plattenbibliothek 38, die als ein Ziel für Sicherungsdaten dient, und Bandbibliothek 36, die als Ziel für Archivierungsdaten dient.

Systeme dieser Art wurden ad hoc ausgeführt, um Sicherungszeiten zu reduzieren und/oder das Vertrauen und die Vollständigkeit (Erfolgsrate) der Sicherung innerhalb eines gegebenen Sicherungsfensters zu vergrößern. Allerdings ist die Möglichkeit so eine Architektur zu skalieren, begrenzt, insbesondere bei den offenen Systemumgebungen, die Ausstattung von mehreren verschiedenen Anbietern aufweisen.

Folglich besteht ein Bedarf, ein Sicherungsdatenschutzsystem bereitzustellen, das eine eher kosteneffektive Kombination von einigen (und vorzugsweise allen) der folgenden Eigenschaften hat: Kapazität; Leistung; Verfügbarkeit; Kosten; Kompatibilität; Einfachheit; und Skalierbarkeit.

Es wird auf WO 02/27462 Bezug genommen, die ein System bereitstellt, das eine in einem Bandlaufwerk eingebrachte Bandkassette emuliert. Eine oder mehrere Speichereinrichtungen stellen die Emulation des Bandlaufwerks und eine Vielzahl von. virtuellen Speichermedien bereit. Ein Schnittstellenverwalter, der zwischen dem Client und den Speichereinrichtungen angeordnet ist, hängt die virtuellen Speichermedien, wie benötigt, ein, um die emulierte Bandkassette herzustellen. Die bevorzugte Speichertechnologie für die Speichereinrichtungen sind Platten.

WO 02/27462 erfüllt teilweise den Bedarf, auf den oben Bezug genommenen wurde, im Zusammenhang mit der Emulation von Bandlaufwerken. Es existieren allerdings andere Speichertechnologien, eingeschlossen die mit Roboterhandling. Siehe beispielsweise US 5438674, die ein optisches Plattenspeichersystem offenbart.

In Übereinstimmung mit einem Aspekt der Erfindung, wird ein Verfahren in Übereinstimmung mit Anspruch 1 bereitgestellt.

Ein anderer Aspekt der Erfindung stellt einen virtuellen Bandserver in Übereinstimmung mit Anspruch 6 bereit.

Ein dritter Aspekt der Erfindung stellt ein Computerprogrammprodukt nach Anspruch 13 bereit.

In den verschiedenen Ausführungen, die in dieser Anmeldung beschrieben sind, ist die Reihenfolge der Verfahrensschritte oder Anordnung von Vorrichtungselementen, die bereitgestellt werden, nicht einschränkend, solange sie nicht besonders als solche bezeichnet werden.

KURZBESCHREIBUNG DER ZEICHNUNGEN

1 ist ein schematisches Diagramm einer Stand der Technik Sicherungssystemarchitektur, die eine Sicherungsanwendung aufweist, die auf einem Sicherungsserver angesiedelt ist;

2 ist ein schematisches Diagramm einer aufwendigeren Stand der Technik Sicherungsarchitektur, die sowohl Platten- als auch Bandspeichervorrichtungen aufweist;

3 ist ein schematisches Diagramm eines Ausführungsbeispiels in Übereinstimmung mit der Erfindung, das einen virtuellen Speicherpool bereitstellt;

4 ist ein schematisches Diagramm einer Netzwerkarchitektur für ein Ausführungsbeispiel in Übereinstimmung mit der Erfindung, das einen virtuellen Bandbibliotheks(VTL)-Server und eine Platten-Bibliotheks-Einheit (DLU) aufweist;

5 ist eine schematische Veranschaulichung einer Netzwerkarchitektur eines anderen Ausführungsbeispiels, das mehrere Platten-Bibliotheks-Einheiten (DLU) aufweist;

6 ist ein schematisches Diagramm einer Netzwerkarchitektur für ein weiteres Ausführungsbeispiel, das mehrere VTL-Server und mehrere DLU aufweist;

7 ist ein schematisches Diagramm einer Netzwerkarchitektur für ein weiteres Ausführungsbeispiel, das eine lokale Sicherungsdatenstelle aufweist und ein äußere Archivierungsstelle;

8 ist ein schematisches Diagramm für eine Netzwerkarchitektur für ein weiteres Ausführungsbeispiel, das eine lokale Stelle zum Speichern der Sicherungsdaten aufweist und eine Desaster-Wiederherstellungsstelle zum entfernten Spiegeln;

9 ist eine schematische Veranschaulichung der Hardwarekomponenten eines VTL-Servers in Übereinstimmung mit einem Ausführungsbeispiel in Übereinstimmung mit der Erfindung;

10 ist ein entsprechendes Softwareblockdiagramm für den VTL-Server von 9;

11 ist eine schematische Veranschaulichung einer DLU-Systemarchitektur für ein Ausführungsbeispiel in Übereinstimmung mit der Erfindung;

12 ist ein Beispiel einer DLU-Datenbankvorrichtungs-Datenstruktur gemäß einem Ausführungsbeispiel in Übereinstimmung mit der Erfindung;

13 ist ein Beispiel einer DLU-Kassettenvorrichtungs-Datenbankstruktur gemäß einem Ausführungsbeispiel in Übereinstimmung mit der Erfindung;

14 veranschaulicht eine Befehlsfolge für einen SCSI-Lesebefehl; und

15 veranschaulicht eine Befehlsfolge für einen SCSI-Schreibbefehl.

DETAILLIERTE BESCHREIBUNG

Es werden nun verschiedene Ausführungsbeispiele in Übereinstimmung mit der Erfindung beschrieben. Diese Verfahren und Systeme, die die Erfindung veranschaulichen, stellen verschiedene Kombinationen von Vorteilen, zum Beispiel bzgl. der Kapazität, Leistung, Verfügbarkeit, Kosten, Kompatibilität, Einfachheit und Skalierbarkeit, bereit.

Entsprechend einem Ausführungsbeispiel zeigt 3 eine offene Systemumgebung mit einem LAN-Netzwerk 40, das mehrere gemischte Unix und NT Computer-Hosts 41, 42, 43, 44 verbindet. Diese Hosts sind auch mit einem Speichernetzwerk (SAN) (engl.: storage area network) 46 verbunden, welches ein geteiltes Netzwerk von Speichervorrichtungen umfasst. Das SAN ist mit dem verbunden, was schematisch als ein "virtueller Speicherpool" 48 gezeigt ist. Dieser virtuelle Speicherpool weist plattenbasierte Speichervorrichtungen auf und ein System zum Verwenden des Plattenspeichers, um Bandspeicher zu emulieren. Der Pool kann nahtlos in eine offene Systemsicherungs- und Wiederherstellungsumgebung integriert werden. Mit "nahtlos integriert" ist gemeint, dass keine wesentlichen Änderungen (insbesondere der Software oder der Konfiguration) der Host-Sicherungsanwendung benötigt werden, der Treiber oder andere Komponenten der IT-Infrastruktur, einschließlich der plattenbasierten Speichervorrichtungen.

Der virtuelle Speicherpool kann (in einem Beispiel) mit wenigstens einem virtuellen Bandbibliothek (VTL) Server, der weiter unten beschrieben wird, ausgebildet werden, der Sicherungsbandbefehle von heterogenen Hosts empfängt und verbindbar mit einer oder mehreren Plattenspeichervorrichtungen ist, um erkennbar virtuelle Pools von Bandspeichern in ungleichartigen Systemen zu erzeugen. Es erlaubt Benutzern, Bandvorrichtungen von verschiedenen Anbietern in demselben Speicherpool zu emulieren. Die hierin verwendete Bandvorrichtung bedeutet eine Bandspeichervorrichtung, wie eine Bandbibliothek, Bandlaufwerk oder andere bandbasierte Speichervorrichtung.

Besondere Beispiele schließen ein QuantumTM DLT7000 Bandlaufwerk und eine automatisierte ATL P3000 Bandbibliothek ein.

Der VTL-Server erlaubt mehreren heterogenen Hosts, die verschiedene Betriebssysteme und verschiedene Sicherungsanwendungen laufen lassen, gleichzeitig verschiedene Plattenvorrichtungen von Anbietern zu verbinden.

Eine Plattenvorrichtung bedeutet hierin eine Plattenspeichervorrichtung, wie beispielsweise ein Plattenlaufwerk oder ein Plattenarray. Solche Plattenvorrichtungen sind verfügbar von EMCTM, HPTM, IBMTM, usw., einschließlich ATA-basierten Plattenarrays (eine neue Niedrigkosten Plattentechnologie). Ein bestimmtes Beispiel eines Plattenarrays ist die EMC SymmetrixTM 5.5.

Wenn eine Sicherungsanwendungshost einen Sicherungsbefehl sendet, der an eine bestimmte Bandspeichervorrichtung adressiert ist, antwortet der VTL-Server an den Host, als ob er (der VTL-Server) die adressierte Bandspeichervorrichtung wäre, und dann emuliert er den angefragten Bandbetrieb mit einer oder mehreren Plattenvorrichtungen. Der Host glaubt, basierend auf der Kommunikation mit dem VTL-Server, dass die Sicherungstransaktion auf der adressierten Bandspeichervorrichtung stattgefunden hat.

In dieser offenen Systemumgebung können verschiedene Hosts verschiedene Betriebssysteme (zum Beispiel UNIX, Windows NT) von mehreren Anbietern laufen lassen. Die Hosts können auch verschiedene Sicherungsanwendungen von Anbietern (zum Beispiel ArcServeTM, NetBackupTM, NetworkerTM, TSMTM) laufen lassen. Eine Sicherungsanwendung, wie sie hierin verwendet wird, stellt eine Bandverwaltung zur Sicherung und Wiederherstellungsfunktionen bereit.

Ein bestimmtes Ausführungsbeispiel des virtuellen Speicherpools ist in 4 veranschaulicht. 4 zeigt mehrere Host 50, die durch eine Faserkanal(FC)-Struktur 52 mit einem VTL-Server 54 verbunden sind; der VTL-Server wiederum ist durch eine Faserkanal(FC)-Verbindung 56 mit einer zugehörigen Platten-Bibliotheks-Einheit (DLU) 58 verbunden. Das "Vorderende" (engl.: front end) 53 des VTL-Servers, was durch die Faserkanalstruktur 52 mit den mehreren Hosts 50 verbunden ist, stellt eine skalierbare Verbindung mit mehreren Host-Sicherungsanwendungen bereit. Das "Hinterende" (engl.: back end) 55 des VTL-Servers ist mit DLU 58 verbunden, die mehrere plattenbasierte Speichervorrichtung oder Arrays 59 aufweist.

In einem anderen Ausführungsbeispiel, das in 5 veranschaulicht ist, sind wiederum mehrere Host 70 durch eine FC-Struktur 72 mit einem VTL-Server 74 verbunden, aber hier ist der VTL-Server an dem hinteren Ende durch mehrere Faserkanäle 76 und 78 mit mehreren DLU 80, 82 (hier zwei) verbunden. In diesem Beispiel stellt das hintere Ende 75 des VTL-Servers 74 eine skalierbare Verbindung bereit und kann verschiedene DLU-Plattenarrays parallel verwenden.

In wiederum einem weiteren Ausführungsbeispiel, das in 6 gezeigt ist, sind mehrere Host 90 durch eine FC-Struktur 92 mit mehreren VTL-Servern 94, 98, 102 (hier drei) verbunden, welche wiederum durch eine FC-Struktur 106 mit mehreren Platten-Bibliotheks-Einheiten 108, 110 (hier zwei) verbunden sind. In diesem Beispiel wird eine skalierbare Verbindung an beiden Vorderenden 93, 97, 101 des jeweiligen entsprechenden VTL-Servers mit den mehreren Hosts 90 bereitgestellt und die hinteren Enden 95, 99, 103 der jeweiligen entsprechenden VTL-Server mit den mehreren DLU 108, 110.

Diese Ausführungsbeispiele veranschaulichen, was als "virtueller Banddatenspeicher" bezeichnet werden kann, unter einer Vielzahl von verschiedenen Hosts und einer Vielzahl von verschiedenen Plattenspeichervorrichtungen. Dies beseitigt den Bedarf für zugehörige Laufwerke, zum Beispiel dort, wo ein bestimmtes Plattenlaufwerk einem bestimmten Sicherungsanwendungshost zugeordnet ist. In diesem Beispiel können Daten von einem oder mehreren Hosts gleichzeitig über einen oder mehrere VTL-Server gestreamt werden und auf eine oder mehrere Plattenvorrichtungen, die eine oder mehrere Bandvorrichtungen emulieren.

In diesen Beispielen stellt der VTL-Server ein "virtuelles Bild" einer kompatiblen Bandspeichervorrichtung an seinem Vorderende dem Host(s) bereit. Der VTL-Server erscheint auch an seinem hinteren Ende der Plattenspeichervorrichtung(en) als ein kompatibler Host.

In diesen Beispielen können Daten direkt von einem oder mehreren Hosts zu einem oder mehreren physikalischen Plattenspeicherlaufwerken oder Plattenbibliotheken gestreamt werden. Mit "direkt" ist gemeint, dass kein zwischenliegender Festplattenarray-Rückspeicherbereich existiert, dessen zusätzliches Speichersystem und Speicherschritt dazu führen könnte, die Kosten und/oder Komplexität des Systems zu vergrößern. Weiterhin existiert kein Zwischen- oder zweiter Verwaltungspunkt und Steuerung, die für Sicherungsoperationen hinzugefügt sind. Die Sicherungsanwendung des Hosts fährt stattdessen damit fort, als ein einzelner Verwaltungspunkt zu dienen und als Steuerung für Sicherungsvorgänge. Die hierin verwendeten Sicherungsvorgänge schließen sowohl Sicherungs- als auch Wiederherstellungsvorgänge ein.

Darüber hinaus benötigen die oben beschriebenen Ausführungsbeispiele keinen zusätzlichen Plattenplatz in Haupt-(teuer, hohe Leistung) Speicherplattenarrays.

Ein weiterer Vorteil ist, dass der VTL-Server auf einem Standard-von-der-Stange-Server laufen kann, wie beispielsweise einem IntelTM-basierten Linux oder Unix-Server, zum Beispiel DellTM 4600, und SunTM Solar 5.8 Server.

Die oben beschriebenen Ausführungsbeispiele unterscheiden sich vom Stand der Technik, der Festplattenarraysrückspeicherbereiche verwendet, um die Sicherungsleistung zu verbessern und die Zeit für die Datenwiederherstellung zu verringern. Diese Stand der Technik Systeme nehmen die Last der herkömmlichen Sicherungstransaktion von den Bandbibliotheken auf den Rückspeicherbereich, durch Platzieren der Sicherungsdaten in, zum Beispiel einen RAID-Cash, die über eine Bandbibliothek zu einer späteren gegebenen Zeit übertragen werden sollen. Folglich schreiben diese die Daten, anstelle des Schreibens der Daten direkt in den Host in die Speichervorrichtung, auf eine Hochgeschwindigkeits-RAID-Cashplatte, bei welcher die Daten später auf eine andere Speichervorrichtung geschrieben werden können zu einer Zeit, die völlig unabhängig von der ist, zu der die Daten gesichert wurden, d.h. nicht innerhalb des Sicherungsfensters.

Es sind ebenfalls virtuelle Bandserver unterscheidbar, die in einer Hauptrechnerumgebung verwendet werden, wie sie beispielsweise durch IBMTM und StorageTekTM verkauft werden, welche nicht die Bandbibliothekspeicherung ersetzen, aber deren Funktionalität verbessern, durch Bereitstellen eines Zwischenplattencashes, der als Puffer für die Bandlaufwerke fungiert und durch Bereitstellen einer zusätzlichen Verwaltungsfähigkeit für die Bandbibliotheks-Speicherungsysteme.

Anstelle dessen sind, in einem Ausführungsbeispiel in Übereinstimmung mit der Erfindung, die Bandbibliotheken durch eine virtuelle Bandbibliothek(VTL)-Einheit ersetzt, welche eine einrichtbare Anzahl von virtuellen Bandlaufwerken und virtuellen Bandkassetten aufweist. Das System kann sowohl eine Band-Bibliotheks-Einheit(TLU)-Robotik emulieren und eine einrichtbare Anzahl von Bandlaufwerkvorrichtungen. Es ist einrichtbar, um den Bedarf eines Verbrauchers zu befriedigen, zum Beispiel hinsichtlich der Anzahl von virtuellen Bandkassetten, virtueller Bandgröße und Schutzgrad (RAID).

Darüber hinaus weist das VTL-System einen VTL-Server auf, der Bandlaufwerke emuliert und erkennbare Bibliotheks-Einheiten. Die VTL virtuellen Bandlaufwerke können sich selbst durch einen SCSI-Befehl (der weiter unten detailliert beschrieben wird) als eine SCSI-Bandlaufwerkvorrichtung identifizieren (zum Beispiel, dessen Anbieter-ID Quantum ist und Produkt-ID DLT7000 ist). Auf ähnliche Art und Weise kann die VTL virtuelle Band-Bibliotheks-Einheit sich selbst durch einen SCSI-Befehl als eine SCSI-Bandlaufwerkseinheit identifizieren (zum Beispiel, deren Anbieter-ID Quantum ist und Produkt ID-ATL P3000 ist). Folglich erscheint der VTL-Server dem Host als eine zugehörige physikalische Bandspeichervorrichtung.

Andere Ausführungsbeispiele sind in 7 und 8 veranschaulicht. In diesen beiden Ausführungsbeispielen weist eine lokale Stelle einen VTL-Server 124 bzw. 146 auf und eine Platten-Bibliotheks-Einheit (DLU) 128 bzw. 150, welche als Haupt-(obwohl sie virtuell ist)Bibliothek für aktive Sicherungsdaten dient. In beiden Fällen sind mehrere Hosts 120, 142 durch eine FC-Struktur 122, 144 mit dem VTL-Server 124, (bzw.) 146 verbunden und die VTL-Server 124, 146 sind über eine FC 126, 148 mit der DLU 128, (bzw.) 150 verbunden. Worin diese sich unterscheiden ist, dass in 7 eine physikalische Band-Bibliotheks-Einheit (TLU) 103 auch über eine FCE-Struktur 122 verbunden ist und als eine Daten-Import/Export-Vorrichtung funktioniert, um äußeren Stellen zu ermöglichen, Daten zu archivieren (siehe Pfeil 134). Eine Sicherungsanwendung 121 im Host 120 initiiert und steuert die Medienduplizierung (siehe Pfeile 135; 136) von Daten, die in der DLU 128 gespeichert sind (der virtuelle Speicherpool), welche dann zu der DLU 130 gesendet werden, um archiviert zu werden. Die einzelnen Bandkassetten 131 in der TLU können dann physikalisch entfernt werden (beispielsweise durch Roboterarme 133) und zu einer Außenstelle zum Außenstellen-Archivieren (Pfeil 134) transportiert werden. Die Duplizierung ist ein gemeinsames Merkmal in offenen Sicherungssystemanwendungen, wie beispielsweise VeritasTM NetBackup, LegatoTM, NetWorker, usw.

In 8 weist eine lokale Stelle 140 einen VTL-Server 146 und eine DLU 150 als die Haupt-(virtuelle) Bibliothek für aktive Sicherungsdaten auf. Als eine entfernte Desaster-Wiederherstellungsstelle 160 ist dort ein weiterer VTL-Server 166 bereitgestellt, der über eine FC-Struktur 164 mit mehreren Hosts 162 verbunden ist und durch eine FC-Verbindung 167 mit DLU 168. Das entfernte Spiegeln zwischen den lokalen und den entfernten DLU 168 und 150 (siehe Pfeil 170) wird verwendet, um Daten von der Desaster-Wiederherstellungsstelle 160 wiederherzustellen, die an der lokalen Stelle 140 verloren wurden.

9 bis 10 veranschaulichen ein bestimmtes Ausführungsbeispiel eines VTL-Servers, der als ein plattenbasiertes Bandemulationssystem 180 in einer offenen Systemumgebung agiert, in Übereinstimmung mit der Erfindung. Bei 9 ist eine schematische Veranschaulichung der Hardwarekomponenten, während 10 eine schematische Veranschaulichung der Softwarekomponenten ist.

Wie in 9 gezeigt ist, ist ein NT (oder Unix)-Host 182 über einen Faserkanal 184 mit einem Front-End (vorderen Ende) 168 eines VTL-Servers 188 verbunden. Ein Back-End (hinteres Ende) 192 des VTL-Servers 188 ist über einen Faserkanal 194 mit einer Platten-Bibliotheks-Einheit 196 verbunden. Der Host 182 weist eine Sicherungsanwendung 183 auf, die als ein "Initiator" agiert durch Ausstellung eines Endbefehls zu einer "Ziel"-Bandspeichervorrichtung. Dieses Ausführungsbeispiel verwendet das Faserkanalprotokoll (FTP = engl: fibre terminal protocol) für SCSI, zweite Version (nachfolgend FCP-2), eine Vorversion, die durch das amerikanische Nationalstandard technisches Komitee T10 ("American National Standards Technical Committee") vorgeschlagen wurde, Projekt 1144D, Revision 8, 23. September 2002 (verfügbar bei www.t1.org). Dieser Standard beschreibt ein Frameformat und ein Protokoll zum Übertragen von Befehlen und Daten zwischen einem SCSI (= small computer system interface) Initiator und einem Ziel, das die FC (fibre channel = Faserkanal) Übertragungsstandards verwendet. Vor der weiteren Diskussion des Ausführungsbeispiels von 9 bis 10 wird eine Kurzfassung der SCSI- und FC-Standards bereitgestellt.

Der Kleincomputersystem-Schnittstellen (= engl.: small computer system interface) (SCSI) Befehlssatz ist heutzutage für viele verschiedene Vorrichtungsarten weit verbreitet. Die Übertragung von SCSI-Befehlen über Faserkanalverbindungen erlaubt dem großen Teil von SCSI-Anwendungen und Treibersoftware in der Faserkanal (FC)-Umgebung verwendet zu werden.

FCP-2 ist Teil der SCSI-Familie von Standards, die von T10 entwickelt wurde, um die Verwendung von SCSI-Befehlssätzen für verschiedene Arten von Vorrichtungen über viele verschiedene Arten von physikalischen Verbindungen zu verwenden. Die Modellarchitektur für die Familie von Standards ist in dem NCITS-Projekt 11570 ausgeführt, Information Technology-SCSI Architecture Model-2 (SAM2).

Der Faserkanal (FC) ist als eine serielle Hochgeschwindigkeits-Architektur ausgeführt, der entweder optische oder elektrische Verbindungen bei Datenraten von 265 Megabits bis zu 4 Gigabits pro Sekunde erlaubt. Topologien, die durch Faserkanäle unterstützt werden, weisen Punkt-zu-Punkt, fasergeschaltete und vermittelte Schleifen auf. Alle FC-Verbindungen verwenden dasselbe Standardframeformat und dieselbe Standardhierarchie von Übertragungseinheiten, um Informationseinheiten (IU) zu übertragen, die SCSI-Informationen tragen.

Der Faserkanal (FC) ist ein logischer serieller Funkt-zu-Punkt Datenkanal. Die Architektur kann mit Hochleistungshardware ausgeführt werden, die wenig Echtzeitsoftwareverwaltung benötigt. Das FC-Protokoll verwendet das Multiplexen und geteilte Bandbreitenfähigkeiten, die von verschiedenen FC-Klassen von Diensten bereitgestellt werden und stellt Optionen für eine zuverlässige Fehlererkennung und Fehlerwiederherstellung bereit, die unabhängig der Klasse des Dienstes ist.

FCP-2 legt eine Faserkanalabbildungsschicht (FC-4) fest, die die Dienste verwendet, die durch das NCITS-Projekt 1311D, "Private Channel Framing And Signaling Interface (FC-FS)", festgelegt sind, um SCSI-Befehle, Daten und Statusinformation zwischen einem SCSI-Initiator und einem SCSI-Ziel zu übertragen. Die folgenden Definitionen von FCP-2 sind relevant:

  • 3.1.6 Anwendungsclient: Ein Objekt, das die Quelle von SCSI-Befehlen ist.
  • 3.1.9 Befehl: Eine Anfrage, die eine Arbeitseinheit beschreibt, die durch einen Vorrichtungsserver ausgeführt werden soll.
  • 3.1.12 Daten im Übertragungsdienst: Ein bestätigter Service, der von dem Vorrichtungsserver verwendet wird, um die Übertragung von Daten zu dem Anwendungsclient anzufragen.
  • 3.1.13 Datenauslieferungsdienst: Ein bestätigter Dienst, der von dem Vorrichtungsserver verwendet wird, um die Übertragung von Daten von dem Anwendungsclient anzufragen.
  • 3.1.16 Vorrichtungsserver: Ein Objekt innerhalb der logischen Einheit, die SCSI-Aufgaben ausführt und die Regeln für die Aufgabenverwaltung durchsetzt.
  • 3.1.20 FCP-Austausch: Ein SCSI-I/O-Vorgang für die Faserkanal FC-2-Schicht. Der SCSI-I/O-Vorgang für den Faserkanal ist in einem Faserkanalaustausch enthalten.
  • 3.1.21 FCP-I/O-Vorgang: Ein SCSI-I/O-Vorgang für die Faserkanal FC-4-Schicht, wie in FCP-2 festgelegt ist.
  • 3.1.22 FCP_Port: Ein N Port oder NL Port, der das SCSI Faserkanalprotokoll unterstützt.
  • 3.1.27 Informationseinheit: Eine organisierte Sammlung von Daten, die durch das Faserkanalprotokoll spezifiziert sind, die als eine einzelne Abfolge durch die Faserkanaldienstschnittstelle übertragen werden sollen.
  • 3.1.28 Initiator: Eine SCSI-Vorrichtung, die Anwendungsclients enthält, die Ursprung der Vorrichtungsdienstanfragen und Aufgabenverwaltungsfunktionen sind, die durch einen Ziel SCSI-Vorrichtung ausgeführt werden sollen. In diesem Standard bezieht sich das Wort "Initiator" auch auf einen FCP_Port, der das Faserkanalprotokoll verwendet, um die SCSI-Intiatorfunktionen, die durch SAM-2 festgelegt sind, auszuführen.
  • 3.1.31 Logische Einheit: Eine Funktionseinheit, die am Ziel angesiedelt ist, die ein Vorrichtungsmodell verwirklicht und SCSI-Befehle, die von einem Anwendungsclient gesendet wurden, verarbeitet.
  • 3.1.32 Logische Einheitsnummer: Ein 64-Bit kodierter Kennzeichner für eine logische Einheit.
  • 3.1.54 SCSI-Vorrichtung: Eine Vorrichtung, die SCSI-Befehle hervorbringt oder bedient.
  • 3.1.55 SCSI-I/O-Vorgang: Ein Vorgang, der durch einen SCSI-Befehl festgelegt ist, durch eine Reihe von verbundenen SCSI-Befehlen oder eine Aufgabenverwaltungsfunktion.
  • 3.1.58 Ziel: Eine SCSI-Vorrichtung, die SCCI-Befehle empfängt und solche Befehle an eine oder mehreren logische Einheiten zur Ausführung weiterleitet. In diesem Standard bezieht sich das "Ziel" auch auf einen FCP_Port, der das Faserkanalprotokoll verwendet, um die SCSI-Zielfunktionen, die durch SAM2 festgelegt sind, auszuführen.
  • 3.1.60 Aufgabe: Ein Objekt innerhalb der logischen Einheit, das Arbeit repräsentiert, die mit einem Befehl oder einer Gruppe von verbundenen Befehlen verknüpft ist.

Die physikalische Faserkanalschicht FC-2-Schicht, die durch FC-FS beschrieben ist, führt diese Funktionen aus, die benötigt werden, um Daten von einem Port zu einem anderen zu übertragen (bezeichnet als FCP_Ports). Eine Schaltfaser erlaubt die Kommunikation unter mehr als zwei FCP_Ports. Eine vermittelte Schleife (FC-AL) ist eine alternative Mehrporttopologie, die Kommunikation zwischen zwei Ports in der Schleife erlaubt, oder zwischen einem Port in der Schleife und einem Port einer Schaltfaser, die mit der Schleife verbunden ist.

Die FCP-Vorrichtung und Aufgabeverwaltungsprotokolle legen die Abbildung von SCSI-Funktionen, die in dem SCSI-Architektur Modell-2 (SAM-2) festgelegt sind, zu der Faserkanalschnittstelle fest, die durch FC-FS festgelegt ist.

Der I/O-Vorgang, der durch SAM-2 festgelegt ist, ist in einen Faserkanalaustausch abgebildet. Ein Faserkanalaustausch, der Information für eine SCCI-I/O Vorgang trägt, ist ein FCP-Austausch. Die Anfrage- und Antwortgrundformen eines I/O-Vorgangs werden auf Informationseinheiten (IO), wie in Tabelle 1 gezeigt, abgebildet. Tabelle 1 – SCSO und Faserkanalprotokollfunktionen SCSI-Funktion FCP-Aquivalent I/O-Vorgang Austausch Protokolldienstanfrage und -antwort Abfolge Sende SCSI-Befehlsanfrage unverlangte Befehls-IU (FCP_CMND) Datenübertragungsanfrage Datendeskriptor-IU (FCP_XFER_RDY) Datenübertragungsaktion angeforderte Daten-IU (FCP_DATA) Sende Befehl vollständige Antwort Befehlsstatus-IU (FCP_RSP) REQ/ACK für Befehl vollständig Bestätigungs-IU (FCP_CONF)

Ein Anwendungsclient beginnt einen FCP-I/O-Vorgang durch Aufruf eines Ausführbefehls entfernten Prozeduraufruf (siehe SAM-2). Der Ausführ-Befehl Ruf übermittelt eine einzelne Anfrage oder eine Liste von verbundenen Anfragen von dem Anwendungsclient an das FCP-Dienst-Übertragungs-Subsystem.

Jede Anfrage enthält alle Informationen, die für die Ausführung eines SCSI-Befehls notwendig sind, einschließlich der lokalen Speicheradresse und Eigenschaften von Daten, die durch den Befehl übertragen werden sollen. Das FCP führt dann die folgenden Aktionen unter Verwendung der FC-FS-Dienste aus, um den SCSI-Befehl auszuführen.

Der FCP_Port, der der Initiator für den Befehl ist, startet einen Austausch durch Senden einer unangefragten Befehls-IU, die die FCP_CMND IU Nutzdaten enthalten, einschließlich einiger Befehlssteuerungen, Adressinformation und dem SCSI-Befehlsdeskriptorblock (CDB).

Wenn der Vorrichtungsserver für den Befehl die Interpretation des Befehls abgeschlossen hat, bestimmt hat, dass eine Schreibdatenübertragung benötigt wird und darauf vorbereitet ist, den Datenübertragungsdienst anzufragen, sendet er eine Datendeskriptor-IU, die die FCP_XFER_RDY IU Nutzdaten enthält, an den Initiator, um anzuzeigen, welcher Teilbereich der Daten übertragen werden soll. Der FCP_Port, der der Initiator ist, überträgt dann die angefragten Daten-IU an das Ziel, das die FCP_DATA IU Nutzdaten enthält, die von der FCP_XFER_RDY IU angefragt wurde. Die Datenübertragungsanfrage und das Rückgeben der Nutzdaten wird vorgeführt, bis die Datenübertragung, die von dem SCSI-Befehl angefragt wurde, vollendet ist.

Alternativ, wenn der Vorrichtungsserver für den Befehl die Interpretation des Befehls vollendet hat und bestimmt hat, dass eine Lesedatenübertragung benötigt wird, überträgt der FCPPort, der das Ziel ist, eine angefragte Daten-IU an den Initiator, der die FCP_DATA IU Nutzdaten enthält.

Datenübertragungen, die Nutzdaten enthalten, werden fortgeführt, bis alle Daten, die durch den SCSI-Befehl beschrieben wurden, übertragen wurden.

Nachdem alle Daten übertragen worden sind, überträgt der Vorrichtungsserver die Sende-Befehl vollständige Protokoll-Dienst-Antwort (siehe SAM-2) durch Anfragen der Übertragung einer IU, die die FCP_RSP IU Nutzdaten enthält. Die Nutzdaten enthalten den SCSI-Status, und wenn der SCSI-Status eine Prüfbedingung ist, die Autoerkennungsdaten, die die Bedingung beschreiben. Die FCP-RSP IU zeigt die Vervollständigung des SCSI-Befehls an. Wenn keine Befehlsverbindung, Fehlerwiederherstellung oder bestätigte Vervollständigung angefragt ist, ist die FCP_RSP IU die Schlussabfolge des Austauschs. Andere Details des Protokolls sind über www.t10org. verfügbar.

Zurückkommend zu 9, ist an dem Front-End 186 des VTL-Servers 188 ein Vorrichtungstreiber 200, der als ein SCSI-Ziel fungiert und die Host-(Initiator)-Anfrage (Befehl) akzeptiert. Folglich empfängt der Treiber 200 Faserkanalframes, die einen SCSI über FC (FCP)-Befehl enthalten (der FCP_CMND Informationssatz). Der Treiber 200 speichert die Frames in dem Speicher 201 in dem VTL-Server 188. Dann leitet der Treiber 200 die Frames (die den FCP-Befehl enthalten) an einen Zielemulator 204 weiter.

Der Zielemulator 204 empfängt die Hostanfrage (Befehl) und identifiziert sich selbst als entweder ein Bandlaufwerk (SCSI-Streamvorrichtung) oder eine Band-Bibliotheks-Einheit-Robotik (SCSI-Medienwechsler). Die Zielemulatorsoftware versteht den Inhalt dessen und verarbeitet FCP-Befehle. Für diesen Zweck muss sie vier Felder in dem FCP-Befehl verstehen, nämlich:

  • • Opcode
  • • Logische Einheitsnummer (LUN)
  • • Lesen/Schreiben (hier in dem Zielemulator bedeutet lesen und schreiben "Daten im Übertragungsdienst" oder "Daten aus dem Übertragungsdienst")
  • • Befehls-/Aufgabenverwaltung.

In diesem Zusammenhang ist ein SCSI-Befehl an eine bestimmte LUN (zum Beispiel eine bestimmte Bandvorrichtung-Bandlaufwerk oder TLU-Robotik adressiert). Das Ziel (zum Beispiel eine TLU) kann das Front-End für mehrere LUN sein. Im Gegensatz dazu ist ein SCSI-Aufgabenverwaltungsbefehl für das gesamte Ziel vorgesehen. Der Zielemulator 204 überprüft, ob er sieht, wenn die Bandvorrichtung, die durch die LUN in dem Befehl identifiziert ist, existiert. Der Zielemulator 204 überprüft auch das Schreibfeld des Befehls, und wenn es gesetzt ist, überprüft er, ob ein Puffer verfügbar ist, um die Daten zu halten. Wenn dem so ist, sendet der Emulator 204 ein Übertragungs-Fertig-Signal zurück an den Host. Er fügt FCP-Details der Antwort hinzu, ohne zu spezifizieren, welche Art von Speicher verbunden ist.

Genauer gesagt kann der Emulator 204, der das Format des FPCCMND-Informationssatzes kennt, auf den Speicher 201 zugreifen, in dem der Befehl gespeichert ist und damit fortfahren, diesen zu analysieren:

  • • Er überprüft den "SCSI CDP opcode" und verifiziert, dass er ein gültiger opcode ist.
  • • Er überprüft die LUN (welche eine bestimmte virtuelle Bandlaufwerksvorrichtung oder eine virtuelle Bandbibliotheksrobotik identifiziert) und verifiziert, dass sie existiert.
  • • Wenn der opcode illegal ist oder keine virtuelle Vorrichtung existiert (Bandlaufwerk oder Robotik), die zu der LUN gehört, verwirft der Emulator 204 den Befehl, indem er eine Antwort an den Host 182 zurücksendet (durch Treiber 200) mit einem Fehlercode (diese Antwort wird FCP_RSP genannt).
  • • Wenn der opcode legal ist und eine virtuelle Vorrichtung existiert, die zu dem Befehl gehört:
  • • Wenn der Befehl ein "Datenausgabe"-Befehl ist, was bedeutet, dass die Hosts Daten an den VTL-Server senden (schreiben), startet der Emulator 204 die Datenübertragung (das heißt benachrichtigt Host 182, dass der VTL-Server 188 bereit ist und der Host das Senden der Daten an den VTL-Server starten kann). Die Daten werden an einen bestimmten Puffer im Speicher 201 des VTL-Servers übertragen (es existieren zwei Puffer, die jeweils einem VTL virtuellem Bandlaufwerk für diesen Zweck zugewiesen sind).
  • • Wenn es kein "Datenausgabe"-Befehl ist, oder wenn es ein "Datenusgabe"-Befehl ist und alle Daten bereits an die VTL übertragen worden sind, leitet der Emulator 204 (durch eine Schlange) den FLP-CMD (und den Puffer, der die Daten enthält, wenn es ein "Datenausgabe"-Befehl war) an den Band/Platten-Befehlsumwandler 206 weiter.

Folglich wird der Befehl als nächstes zu dem Umwandler 206 gesendet, der den Bandbefehl in einen Plattenbefehl umwandelt und ein Plattenspeichermodell erzeugt. Die Umwandlungssoftware weiß, wie sie die Daten auf der Platte speichern muss, wie sie katalogisieren kann, welche Daten dort geschrieben sind und wie die Platte verwaltet werden soll.

Umwandler 206 wird den SCSI CDB opcode überprüfen und die/den bestimmte Aktion/Vorgang, die von dem opcode angefragt wurde, ausführen. Umwandler 206 führt entweder die/den Aktion/Vorgang selbst aus oder durch Aufrufen einer Funktion der DLU 196. Die DLU 196 ist für die Speicherung der Daten in den Platten verantwortlich und für die Verwaltung des Status der virtuellen Bandbibliothek. Jedes simulierte Bandlaufwerk und Bandrobotik wird einer unterschiedlichen LUN entsprechen. Folglich kann die LUN in dem Adressfeld des FCP_CMD entweder für eine Streamvorrichtung (Bandlaufwerk) oder einen Medienwechsler (Bandrobotik) sein. Umwandler 206 weiß, wie er Befehle an die Platte entweder in einem Bandvorrichtungsformat oder Robotikformat senden muss.

Wenn die/der angefragte Aktion/Vorgang vollendet ist, sendet der Umwandler 206 eine Antwort über den Emulator 204 an den Host 182, der den Vollendungsstatus anzeigt (FCP_RSP).

10 ist das entsprechende schematische Softwareblockdiagramm für den VTL-Server 188 von 9. Ein erster Block, der mit dem Eingang FCP Verbindung 184 verbunden ist, ist ein FC-Treiberblock 220, der dem Vorrichtungstreiber 200 in 9 entspricht. Ein zweiter Block ist ein FC-SCSI Portblock 222, der die Funktionalität des Zielemulators 204 bereitstellt. Ein dritter Block stellt eine emulierte SCSI-Bandspeichervorrichtung 224 bereit. Der Block 224 kann mehrere Instanzen (eine Instanz 226 pro virtuellem Bandlaufwerk oder virtuellen Roboter) der VTL-Band- und Roboterobjekte aufweisen, die jeweils eine verschiedene LUN aufweisen, und das Bandspeichermodell umfassen; er weist weiter einen Satz 228 von zugehörigen DLU-Band- und Roboterobjekten auf, die auch das Plattenspeichermodell umfassen. Jedes VTL-Bandobjekt 227 hat ein entsprechendes DLU-Bandobjekt 229 in dem Speichermodell 228. Auf ähnliche Art und Weise weist jedes VTL-Roboterobjekt 230 ein entsprechendes DLU-Roboterobjekt 231 in dem Plattenspeichermodell auf. Die Objekte in dem Plattenspeichermodell 228 entsprechen den Daten, die dann in der Platten-Bibliotheks-Einheit 196 gespeichert werden. Die DLU 196 hält sowohl die Daten, die sie von dem Host 82 empfangen hat, und die Daten, die die emulierte Bandvorrichtung beschreiben (siehe zum Beispiel 11). Letzteres kann eine Datenbank umfassen, wie beispielsweise eine relationale Tabelle, die in der DLU gespeichert ist. Eine detailliertere Beschreibung einer bestimmten DLU-Systemarchitektur folgt.

Ein genaueres Ausführungsbeispiel einer DLU-Systemarchitektur zur Emulation einer Band-Bibliotheks-Einheit (TLU) ist in 11 gezeigt. Diese Figur veranschaulicht auch die Korrelation eines LUN-Kennzeichners 317 mit VTL-Vorrichtungen (Bandlaufwerke 319 und TLU-Robotik 315).

Ein VTL-310-Server, der schematisch gezeigt ist, hat zwei Front-End-Ports, Front-End-Port 0 (312) und Front-End-Port 1 (314). Der VTL-Server 310 hat zwei Back-Eend-Ports 316, 318, die über eine FC-Faser 320 mit dem DLU-Plattenarray 322 verbunden ist. Plattenarray 322 weist eine DLU-Datenbankvorrichtung 324 auf und mehrere DLU-Kassettenvorrichtungen 326.

Der VTL-Server 310 hat darauf eine VTL-Software 311 angesiedelt, mit einem DLU-Modell 313 der emulierten Bandvorrichtungen – virtuelle Bandlaufwerke 319 und virtuelle TLU-Robotik 315. Das DLU-Modell 313 verwaltet den DLU-Plattenarraydauerspeicher, der aufweist:

  • • DLU-Kassetten; und
  • • DLU-Robotik, Behälter, Import-/Export-Einschübe und Bandlaufwerke.

DLU 322 emuliert die TLU-Robotik und eine einrichtbare Anzahl von Bandlaufwerkvorrichtungen; die DLU virtuellen Bandlaufwerke stellen einen "sequentiellen Zugriff" auf Zufallzugriffsvorrichtungen bereit (DLU-Kassettenvorrichtung 326).

Die DLU-Datenbankvorrichtung 324 enthält Einrichtinformationen für alle Elemente in der virtuellen Bandbibliothek, die durch die DLU emuliert wird. Sie enthält weiter den Status all dieser Elemente in der virtuellen Bandbibliothek:

  • • Roboter;
  • • Behälter (Einschübe, die die virtuellen Kassetten enthalten);
  • • Bandlaufwerke;
  • • Import-/Exporteinschübe; und
  • • geteilte Einschübe, die es ermöglichen, zwei oder mehr VTL-Server demselben DLU-Plattenarray zuzufügen.

Die Information in der DLU-Datenbankvorrichtung 324 wird jedes Mal aktualisiert, wenn ein Befehl vorhanden ist, der den Status eines oder mehrerer Elemente in der virtuellen Bandbibliothek verändert. Zum Beispiel fragt ein SCSI-Bewegen-Befehl, der an den DLU-Roboter (315) im DLU-Modell 313 gesendet wurde, den Roboter, eine Kassette von einem Behälter in ein Bandlaufwerk (319 in DLU-Modell 313) zu bewegen; dies verändert den Status des entsprechenden Behälters und den Status des entsprechenden Bandlaufwerks, während entsprechende Statusänderungen in der DLU-Datenbankvorrichtung 324 vorgenommen werden.

Die DLU-Datenbankvorrichtung 324 dieses Beispiels hat eine Datenstruktur 330, wie in 12 veranschaulicht, mit den folgenden Feldern:

  • • Einrichtinformation (322), die aufweist: Anzahl von Robotern; Anzahl von Behältern; Anzahl von Bandlaufwerken; Anzahl von Import-/Exporteinschüben; Anzahl von geteilten Einschüben; virtuelle Kassetteninformation;
  • • Roboterbrieffach 334, das die Information und den Status des Roboters enthält; wobei jeweils ein Eintrag für jeden eingerichteten Roboter existiert (normalerweise existiert nur ein eingerichteter Roboter);
  • • Brieffachbehälter 336, der die Information und den Status des Behälters enthält; zum Beispiel kann der Behälter voll oder leer sein; wenn er voll ist, wird die Kennzeichnung der virtuellen Kassette bereitgestellt, die den Behälter besetzt; es gibt so viele Einträge wie es eingerichtete Behälter gibt;
  • • Bandbrieffach 338, das den Informationenstatus des Bandlaufwerks enthält; zum Beispiel kann das Bandlaufwerk voll oder leer sein; wenn es voll ist, wird die Kennzeichnung der virtuellen Kassette, die das Bandlaufwerk besetzt, bereitgestellt; es gibt so viele Einträge wie eingerichtete Bandlaufwerke;
  • • Import-/Exportbrieffach 340, das die Information des Status des Import-/Exporteinschubs enthält; es gibt so viele Einträge wie eingerichtete Einschübe;
  • • Geteiltes Brieffach 342, welches die Information des VTL-Servers enthält, der mit dem DLU-Plattenarray verbunden ist; es existiert ein Eintrag für jeden VTL-Server, der mit dem DLU-Plattenarray verbunden ist.

Das DLU-Plattenarray 322 (siehe 11) weist eine oder mehrere DLU virtuelle Kassetten 326 auf. Jede virtuelle Kassette enthält:

  • • Einige Einrichtinformationen, wie beispielsweise die virtuelle Kassettenkennzeichnung, den virtuellen Kassettenstrichcode, usw.;
  • • die Daten, die von dem Benutzer geschrieben wurden;
  • • das Kassettenverzeichnis, das die Daten beschreibt, die auf die Kassette geschrieben wurden und die aktuelle Position der Kassette.

Die DLU-Kassettenvorrichtung (siehe 11) dieses Beispiels hat eine Datenstruktur 350, wie in 13 veranschaulicht, mit den folgenden Feldern:

  • • DLU virtuelle Kassette 352, welche Einrichtinformationen enthält, wie beispielsweise Kennzeichen, Strichcode, usw.;
  • • DLU virtuelles Kassettenverzeichnis 354;
  • • DLU virtuelle Kassenbenutzerdaten 356;
  • • Frühwarnanzeiger 358;
  • • Ende-des-Mediums-Anzeiger 360.

Die aktuelle Verzeichnisposition 353 in Feld 354 und die aktuelle Datenposition 355 in Feld 356 speichert den aktuellen Status der Kassette und stellt ein sequentielles Zugriffsverfahren auf die DLU-Kassettenvorrichtung 326 bereit.

Zum Beispiel kann ein 32 K SCSI Schreibbefehl folgendermaßen verwirklicht werden:

  • • Die DLU wird einen Eintrag in das Kassettenverzeichnis 354 hinzufügen an der Position, auf die durch die "aktuelle Verzeichnisposition" 353 gezeigt wird. Dieser Eintrag wird die Größe des IO (zum Beispiel 32 K) festsetzen;
  • • Die "aktuelle Verzeichnisposition" 353 wird um einen Eintrag nach vorne bewegt;
  • • Die DLU wird die 32 K-Daten, die in dem Schreibbefehl gesendet wurden, an der Position speichern, auf die durch die "aktuelle Datenposition" 355 gezeigt wird;
  • • Die "aktuelle Datenposition" 355 wird um 32 K vorwärtsbewegt;
  • • Wenn die "Frühwarnanzeige" 358 oder die "Ende-des-Mediums-Anzeige" 360 während des Schreibens der Daten erreicht wird, wird die entsprechende Anzeige in der Antwort dem Schreibbefehl (in dem FCP_RSP) zurückgesendet.

Als ein weiteres Beispiel kann ein SCSI-Platzbefehl ("Platz zurück um einen Block") auf folgende Art und Weise verwirklicht werden;

  • • Die "aktuelle Verzeichnisposition" 353 wird um einen Eintrag zurückbewegt;
  • • Der Inhalt des Eintrags, auf den durch die "aktuelle Verzeichnisposition" 353 gezeigt wird, wird gelesen (zum Beispiel 32 K);
  • • Die "aktuelle Datenposition" 353 wird entsprechend dem Verzeichniseintrag 32 K gelesenen Wert zurückbewegt.

11 veranschaulicht auch die Zuweisung eines VTL-Front-End FC-Ports (312, 314) zu einer oder mehreren VTL-Vorrichtungen (VTL-Band 319 und/oder VTL-Roboter 315). Sie veranschaulicht weiter "sichtbare LUN" 317, die jeweils mit einer VTL-Vorrichtung (zum Beispiel LUND und LUN1, die zum Port 0 gehören und LUN 4 und LUN 1, die zum Port 1 gehören) verknüpft sind.

Front-End-Ports 312, 314 und sichtbare LUN 317 sind in einer VTL-Einrichtungsdatei festgelegt: vtl.cfg. Fast alle SCSI-Befehle sind an eine bestimmte LUN adressiert. Befehle, die nicht an eine bestimmte LUN adressiert sind, werden von dem Fron-End-Port selbst gehandhabt ("Zielsammler"); ein Beispiel ist eine Bericht-LUN. SCSI-Befehle können klassifiziert werden als: Daten-Eingangsbefehle (zum Beispiel Lesen); Daten-Ausgabebefehle (zum Beispiel Schreiben); und keine Datenbefehle (zum Beispiel zurückspulen).

14 veranschaulicht eine Zeitfolge zum Weiterleiten und Ausführen eines SCSI-Daten-Eingabefehls für den Lesevorgang. Der Host sendet einen FCP_CMD-Befehl an den Zielsammler (222 in 10); er wird an die VTL-Vorrichtung (226 in 10) weitergeleitet und dann an die DLU-Vorrichtung (228 in 10). Die DLU-Vorrichtung 228 führt den Befehl aus, durch Lesen der Daten von dem physikalischen DLU-Plattenarray (126 in 10). Die gelesenen Daten werden zurück zur VTL-Vorrichtung 226 übermittelt und in eine FCP_DATA Antwort eingeschlossen, die durch die VTL-Vorrichtung 226 erzeugt wurde und über einen Zielsammler 222 zurück zu dem Host weitergeleitet. Die VTL-Vorrichtung 226 erzeugt auch eine FCP_RSP Antwort, die zurück an den Host gesendet wird.

15 veranschaulicht eine Zeitabfolge für einen SCSI-Schreibbefehl. Der Host stellt einen FCP_CMD (einen SCSI-Schreibbefehl) aus, der von einem FCP_DATA (der Datenübertragung) gefolgt wird, die dann zu dem Zielsammler 222 des VTL-Servers gesendet werden. Der Zielsammler leitet die Daten an die VTL-Vorrichtung 226 weiter, welche als Antwort eine FCP_RSP Antwort zurück an den Host sendet. Die VTL-Vorrichtung 226 leitet die Daten an die DLU-Vorrichtung 228 weiter, welche wiederum die Daten an das physikalische DLU-Plattenarray 296 weiterleitet.

15 veranschaulicht weiter einen Dual-Puffermechanismus, der die VTL-Software in die Lage versetzt, Befehle sowohl an ihrem Front-End, das mit dem Host verbunden ist, und dem Back-End, das mit dem Plattenspeicher verbunden ist, gleichzeitig zu verwalten. Während das Back-End beschäftigt ist, auf die Platte zu schreiben, kann das Front-End den nächsten Schreibbefehl verarbeiten (siehe gepunkteter Pfeil mit FCP_CMD Befehl in 15).


Anspruch[de]
Verfahren zum Speichern von Sicherungsdaten in einem System, bei welchem sich ein virtueller Band-(VT)-Server (54) in einem Netzwerk befindet und mit einer oder mehreren Plattenspeichervorrichtungen (59) verbunden ist und mit mehreren verschiedenartigen Sicherungscomputern (50) in einer Offensystem-Umgebung, wobei der VT-Server Initiatorbefehle von den Sicherungscomputern für Ziel-Bandspeichervorrichtungen empfängt, wobei die Initiatorbefehle Befehle aufweisen, die eine Bandlaufwerkvorrichtung adressieren, und Befehle, die eine Robotikvorrichtung adressieren, wobei das Verfahren mit dem VT-Server umfasst:

Annehmen einen der Initiatorbefehle und Antworten, wenn der VT-Server die Ziel-Bandspeichervorrichtung war; und

Emulieren der Ziel-Bandspeichervorrichtung durch Umwandeln des empfangenen Initiatorbefehls in einen Plattenspeicherbefehl zum Umsetzen des empfangenen Initiatorbefehls mit der einen oder den mehreren Plattenspeichervorrichtungen (59), wobei die Initiatorbefehle SCSI-Befehle sind, die an Bandspeichervorrichtungen mit logischen Einheitsnummern (LUNs) adressiert sind, wobei der VT-Server ein Modell (313) aufweist, das Bandobjekte (221) und Roboterobjekte (230) aufweist, die eine Bandbibliothek mit Robotik- und Bandlaufwerkvorrichtungen beschreiben, wobei der VT-Server die Bandlaufwerkvorrichtungen und Robotik der emulierten Ziel-Bandspeichervorrichtung emuliert.
Verfahren nach Anspruch 1, bei welchem wenigstens einer der Computer (120) eine Sicherungsanwendung (121) aufweist, welche die Initiatorbefehle ausstellt und als ein Einpunkt der Verwaltung und Steuerung für Sicherungsvorgänge dient. Verfahren nach Anspruch 1, bei welchem Emulationsdaten, die die emulierten Ziel-Bandspeichervorrichtungen beschreiben, gespeichert sind. Verfahren nach Anspruch 3, bei welchem die Emulationsdaten eine Datenstruktur aufweisen, die eines oder mehrere der folgenden Felder aufweist: Konfigurierinformation, Roboterbrieffach, Brieffachabfalleimer, Bandbrieffach, Import/Export-Brieffach und Teil-Brieffach. Verfahren nach Anspruch 3 oder 4, bei welchem die Emulationsdaten eine Datenstruktur aufweisen, die eines oder mehrere der folgenden Felder aufweist: Konfigurierinformation, Kassettenverzeichnis und Kassettendaten. Virtueller Band-Server, umfassend:

ein Front-End (53), das mit einem oder mehreren verschiedenen Computern (50) in einer Offensystem-Umgebung verbindbar ist und eingerichtet ist, Initiatorbefehle von dem einem oder mehreren Computern anzunehmen, die für Ziel-Bandspeichervorrichtungen vorgesehen sind, wobei die Initiatorbefehle Befehle aufweisen, die eine Bandlaufwerkvorrichtung adressieren, und Befehle, die eine Robotikvorrichtung adressieren;

einen Zielemulator (204), der mit dem Front-End verbunden ist, um den Initiatorbefehl zu empfangen und als eine virtuelle Bandspeichervorrichtung die Ziel-Bandspeichervorrichtung zu emulieren, die durch den Initiatorbefehl adressiert ist;

einen Befehlsumwandler (206), der mit dem Zielemulator verbunden ist, um den Initiatorbefehl zu empfangen und den Initiatorbefehl in einen Plattenspeichervorrichtungsbefehl umzuwandeln;

ein Back-End (55), das mit dem Befehlsumwandler und mit einer oder mehreren Plattenspeichervorrichtungen (59) verbunden ist,

wobei die Initiatorbefehle SCSI-Befehle sind, die mit logischen Einheitsnummern (LUNs) an die Bandspeichervorrichtungen adressiert sind, der virtuelle Band-Server ein Modell mit Bandobjekten (221) und Roboterobjekten (230) aufweist, die eine Bandbibliothek mit Robotik- und Bandlaufwerkvorrichtungen der Ziel-Bandspeichervorrichtung beschreiben, wobei die Emulation der Ziel-Bandspeichervorrichtung das Emulieren der Bandspeichervorrichtungen und Robotik umfasst.
Server nach Anspruch 6, bei welchem die SCSI-Befehle für eine Faserkanal-(FC)-Übertragung eingerichtet sind. Server nach Anspruch 6, bei welchem die eine oder mehrere Plattenspeichervorrichtungen ein oder mehrere Plattenlaufwerke und Plattenarrays umfasst. Server nach Anspruch 6, bei welchem der Zielemulator (204) sich selbst entweder als eine SCSI-Datenstrom-Vorrichtung oder einen SCSI-Medium-Wechsler kennzeichnet. Server nach Anspruch 6, bei welchen die Emulationsdaten, die gespeichert sind, die emulierten Ziel-Bandspeichervorrichtungen beschreiben. Server nach Anspruch 10, bei welchen die Emulationsdaten eine Datenstruktur aufweisen, die eines oder mehrere der folgenden Felder aufweist: Konfigurierinformation, Roboterbrieffach, Brieffachabfalleimer, Bandbrieffach, Import/Export-Brieffach und Teil-Brieffach. Server nach Anspruch 10 oder 11, bei welchem die Emulationsdaten eine Datenstruktur aufweisen, die eines oder mehrere der folgenden Felder aufweist: Konfigurierinformation, Kassettenverzeichnis und Kassettendaten. Computer-Programm-Produkt, umfassend ein Programmcodemittel, das, wenn es in den Computer geladen wird, den Computer veranlasst, ein Verfahren zum Handhaben von Sicherungsdaten nach einem der Ansprüche 1 bis 5 auszuführen.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com