-
SACHGEBIET
DER ERFINDUNG
-
Diese Erfindung bezieht sich allgemein
auf einen Datenspeicher, und, insbesondere, auf einen Administrator
für logische
Datenträger
innerhalb eines Speichernetzwerks.
-
HINTERGRUND DER ERFINDUNG
-
So, wie sich Computersysteme weiterentwickelt
haben, so haben sich auch die Verfügbarkeit und die Konfiguration
von Datenspeichervorrichtungen, wie beispielsweise magnetische oder
optische Platten, weiterentwickelt. Zum Beispiel können diese Speichervorrichtungen
mit dem Computersystem über
einen Bus verbunden werden, oder sie können mit dem Computersystem über ein
verdrahtetes oder ein drahtloses Netzwerk verbunden werden. Zusätzlich können die
Speichervorrichtungen getrennt oder zusammen in einem einzelnen
Gehäuse
vorliegen.
-
Ein Speicherdatenträger ist
eine Softwareabstraktion der unterlegenden Speichervorrichtungen und
ist die kleinste, selbstständige
Einheit eines Speichers, installiert durch ein Betriebssystem und verwaltet
durch ein Dateisystem. Speicherdatenträger abstrahieren die physikalische
Topologie der Speichervorrichtungen und können einen Teil einer Disk,
eine ganze Disk oder sogar mehrere Disks sein, die in einen virtuell
fortlaufenden Bereich von logischen Blöcken eingebunden sind. Dieses
Einbinden kann die Fehlertoleranz, die Funktion oder die Kapazitätscharakteristika
der hinterlegenden Speichervorrichtungen erhöhen.
-
Eine Technik zum Verbessern einer
Fehlertoleranz, bekannt als Spiegelung oder Plexing einer Platte
bzw. Disk, verwendet mehrere Disks; demzufolge ist die zweite Disk
ein „Spiegelbild" der ersten Disk.
Falls eine Disk ausfallen sollte, ist die zweite Disk noch zur Verwendung
verfügbar
und besitzt eine exakte Kopie der Informationen auf der ersten Disk.
-
Datenträger sind aus einem oder mehreren Extent(s)
aufgebaut, die fortlaufende Speicheradressenräume, präsentiert durch die unterlegenden
Speichervorrichtungen, sind. Ein Extent ist typischerweise durch
die Größe des Adressenraums
und einem startenden Offset für
den Adressenraum von einer Basis der Medien charakterisiert. Eine
Datenträger-Auflistung
ist der Prozess einer Auflistung des fortlaufenden Adressenraums,
präsentiert
durch den Datenträger
auf den nicht fortlaufenden Speicheradressenräumen der unterlegenden Extents.
Datenträger-Auflistungen
werden entweder auf einer Steuereinheit für eine spezialisierte Hardware,
bezeichnet als eine Hardware-Datenträger-Bereitstellungseinrichtung (Hardware-Volume-Provider),
oder in einer Software durch eine Software-Datenträger-Bereitstellungseinrichtung
(Software-Volume-Provider) ausgeführt.
-
Herkömmliche Volume- bzw. Datenträger-Verwaltungseinrichtungen
werden mit eindeutigen lieferanten-spezifischen Tools konfiguriert
und verwaltet. Jede Bereitstellungseinrichtung verwendet typischerweise
ein Eigentumsprotokoll für
ein Kommunizieren zwischen der Speichervorrichtung und dem Treiber.
Diese eindeutigen Applikationen machen es für einen Administrator schwierig,
ein System, das mehrere Speichervorrichtungen besitzt, zu verwalten.
Zum Beispiel werden zwei RAID Storage Kabinetts für unterschiedliche
Treiber betrachtet, die kombiniert werden, um einen einzelnen, isolierten Datenträger zu bilden.
Ein erstes vertreiber-spezifisches Datenträger-Verwaltungs-Tool ist oftmals
erforderlich, um die Disks innerhalb des ersten RAID Kabinetts zu
konfigurieren, während
ein vollständig unterschiedliches
Tool erforderlich ist, um die Disks bzw. Platten innerhalb des zweiten
Kabinetts zu konfigurieren. Zusätzlich
ist ein drittes Tool erforderlich, um die zwei Storage Kabinetts
zu kombinieren, um einen Datenträger
bzw. ein Volume zu bilden. Deshalb ist ein Bedarf im Stand der Technik
nach einem Mechanismus zum gleichförmigen Konfigurieren und Koordinieren
von mehreren Datenträger-Bereitstellungseinrichtungen
vorhanden.
-
Es wird Bezug auf die nachfolgenden
Dokumente genommen:
Der Artikel von Gelb JP mit dem Titel „SYSTEM-MANAGED
STORAGE" IBM SY-STEMS JOURNAL, IBM
CORP. ARMONK, NEW YORK, US, vol. 28, no. 1, 1989, Seiten 77–103, XP000054276
ISSN: 0018–8670
behandelt das Data Facility Storage Management Subsystem, ein Produkt,
das das Konzept eines durch das System verwalteten Speichers umsetzt.
Er offenbart einen Ressource-Manager für einen externen Speicher,
der die logische Ansicht von Daten von physikalischen Vorrichtungs-Charakteristika
separiert und die Schnittstellen zur Verwendung und zur Verwaltung
des Speichers vereinfacht.
Die EP-A- 0 482 853 befasst sich
mit einem Datenträger-Verwaltungssystem,
bei dem physikalische Datenträger
logisch unterteilt werden, und dient zum Überwachen, Aktualisieren und
Wiederherstellen von Operationen. Strategieebene (fängt die
I/O-Anforderung
ab), Schedule-Ebene, physikalische Ebene (verbindet schnittstellenmäßig mit
den Disk-Vorrichtungstreibern, logisch und physikalisch).
Die
US-A-5 897 661 beschreibt einen Logik-Datenträger-Manager, wie er in dem
AIX Betriebssystem verwendet wird. Es liefert eine logische Ansicht
des Speichersystems, das physikalische Vorrichtungsgrenzen maskiert.
Es liefert auch einen Pseudo-Vorrichtungs-Treiber
zu Untersystemen und Kernel-Komponenten, und eine Interface-Library zum Erleichtern
des Zugriffs auf die Volumes bzw. Datenträger von den Managementanwendungen.
Der
Artikel von XVERITAS SOFTWARE CORPORATION mit dem Titel „Veritas
Volume Manager – Getting
Started Guide – Release
3.0.1" VERITAS DOCUMENTATION,
[online], Mai 1999 (1999–05), XP002180470,
aufgesucht aus dem Internet: URL:ftp://ftp.support.veritas.com/pub/support/products/VolumeManager_UNIX/vm301_gsg _236740.pdf
[aufgesucht am 17.10.2001] ist eine Dokumentation für den VERITAS
Volume Manager, und offenbart logische Volumes, eine logische Ebene, und
eine Zusammensetzung von logischen und physikalischen Vorrichtungen,
RAID, Administration, Überwachung.
Die
US-A-5 964 886 schlägt
ein Verbundsystem vor, bei dem ein logischer Datenträger-Manager
in jedem Knoten einen Zugriff auf ein virtuelles Disk-System besitzt.
Auf diese Art und Weise kann jeder Knoten ein Volume bzw. einen
Datenträger
definieren, der sich über
mehrere Knoten hinweg erstreckt.
Der Artikel mit dem Titel „The storage
server as virtual volume manager" von
Buck A.L. et al in PROCEEDINGS TWELFTH IEEE SYMPOSIUM ON MASS STORAGE
SY-STEMS. PUTTING
ALL THAT DATA TO WORK (CAT. NO.93CH3246-6), PROCEE-DINGS OF THE 12TH IEEE SYMPOSIUM ON MASS STORAGE SYSTEMS,
MONTEREY, CA, USA, 26.–29.
April 1993, Seiten 79–86; XP002180471
1993, Los Alamitos, CA, USA, IEEE Comput. Soc. Press, USA ISBN:
0-8186-3460-X gibt eine Übersicht
von unterschiedlichen, kommerziellen Volume-Managern und eine Beschreibung
der Speicher-Server-Funktion
des IEEE Storage System Reference Model an.
Die US-A-5 940
849 beschreibt eine Verwaltungseinheit für einen logischen Datenträger, die
einen nahtlosen Zugriff auf unterschiedliche Speichervorrichtungen,
arbeitend unter der Betriebssystemebene, liefern kann.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Den vorstehend angegebenen Unzulänglichkeiten,
Nachteilen und Problemen wird sich durch die vorliegende Erfindung
zugewandt. Gemäß einem
Aspekt ist die Erfindung ein Speicherverwaltungssystem, in dem eine
Mehrzahl von Datenträger-Verwaltungseinrichtungen
logische Speicher-Datenträger auf
einer oder mehreren Speichervorrichtungen eines Speichernetzwerks
auflisten. Die Mehrzahl der Datenträger-Verwaltungseinrichtungen stimmt mit
einer gemeinsam geteilten Schnittstelle überein. Ein gemeinsamer Datenträger-Manager,
der auf einem Computer innerhalb eines Speichernetzwerks arbeitet,
kommuniziert selektiv einen oder mehrere Befehle) zu einem oder
mehreren der Datenträger-Verwaltungseinrichtungen,
um die Speichervorrichtungen zu steuern. Jeder Befehl wird als eine
Funktion einer empfangenen Speicherverwaltungsanforderung erzeugt.
Auf diese Art und Weise integriert das erfindungsgemäße Speicherverwaltungssystem
nahtlos eine Verwaltung von mehreren Datenträger-Verwaltungseinrichtungen. Der gemeinsame
Datenträger-Manager
schafft eine gemeinsame Applikations-Programmier-Schnittstelle (API),
mit der Applikationen in der Lage sind, Hardware- und Software-Datenträger-Verwaltungseinrichtungen
zu kontrollieren und zu überwachen,
ohne eine detaillierte Kenntnis der Datenträger-Verwaltungseinrichtungen
oder der unterlegenden Speichervorrichtungen zu erfordern. Die Schnittstelle
ist so erweiterbar, um provider-spezifische Speicherverwaltungsanforderungen
zu unterstützen.
Gemäß einem
Aspekt stimmt die Schnittstelle mit einer Component Object Model
(COM) Schnittstelle überein.
-
Gemäß einem anderen Aspekt ist
die Erfindung ein Verfahren zum Verwalten der Mehrzahl von Datenträger-Verwaltungseinrichtungen
Gemäß dem Verfahren
wird eine Speicherverwaltungsanforderung in einem gemeinsamen Datenträger-Manager von
einer Softwareapplikation empfangen. Ein Befehl oder mehrere Befehle
werden als eine Funktion der empfangenen Speicherverwaltungsanforderung
erzeugt. Die erzeugten Befehle werden dann selektiv über eine
gemeinsam geteilte Schnittstelle mit einem oder mit mehreren der
Datenträger-Verwaltungseinrichtungen
kommuniziert. Gemäß einem
Aspekt umfasst das Verfahren weiterhin ein Sammeln von Antwortinformationen
von der Vielzahl von Datenträger-Bereitstelleinrichtungen
bzw. -Providern und ein Kommunizieren der gesammelten Informationen
zu der Softwareanwendung, die die Speicherverwaltungsanforderung
ausgegeben hat.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 stellt
ein Diagramm der Hardware und der Betriebsumgebung dar, in Verbindung
mit denen Ausführungsformen
der Erfindung praktiziert werden können;
-
2 zeigt
ein Blockdiagramm, das eine System-Ebenen-Übersicht eines Speichernetzwerks darstellt,
das zwei Rechensysteme und eine Vielzahl von Speichervorrichtungen
besitzt;
-
3 zeigt
ein Blockdiagramm, das eine Ausführungsform
eines Speicherverwaltungssystems für ein gleichmäßiges Verwalten
von Software- und Hardware-Datenträger-Bereitstellungseinrichtungen gemäß der Erfindung
darstellt; und
-
4 zeigt
ein Flussdiagramm, das einen Betriebsmodus des erfindungsgemäßen Speicherverwaltungssystems
darstellt.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Nachfolgend wird eine detaillierte
Beschreibung von beispielhaften Ausführungsformen der Erfindung
vorgenommen, wobei Bezug auf die beigefügten Zeichnungen, die einen
Teil davon bilden, genommen wird, und in denen, anhand einer Darstellung,
spezifische, beispielhafte Ausführungsformen gezeigt
sind, mit denen die Erfindung praktiziert werden kann. Diese Ausführungsformen
werden in einem ausreichenden Detail beschrieben, um Fachleute auf
dem betreffenden Fachgebiet in die Lage zu versetzen, die Erfindung
zu praktizieren, und es sollte verständlich werden, dass andere
Ausführungsformen
verwendet werden können,
und dass Änderungen
innerhalb des Schutzumfangs der vorliegenden Erfindung vorgenommen
werden können.
Die nachfolgende, detaillierte Beschreibung wird deshalb nicht in
einem einschränkenden
Sinne betrachtet werden, und der Schutzumfang der vorliegenden Erfindung
ist nur durch die beigefügten
Ansprüche
definiert.
-
Die detaillierte Beschreibung wird
in sechs Abschnitte unterteilt. In dem ersten Abschnitt wird ein Glossar
von Ausdrücken
angegeben. In dem zweiten Abschnitt werden die Hardware- und die
Betriebsumgebung, in Verbindung mit denen Ausführungsformen der Erfindung
praktiziert werden können,
beschrieben. In dem dritten Abschnitt wird eine System-Ebenen-Übersicht
der Erfindung präsentiert.
In dem vierten Abschnitt werden Ver fahren für eine beispielhaften Ausführungsform
der Erfindung angegeben. In dem fünften Abschnitt wird eine beispielhafte Ausführungsform
der Erfindung angegeben. Schließlich
wird in dem sechsten Abschnitt eine Zusammenfassung der detaillierten
Beschreibung angegeben.
-
Definitionen
-
- Compromised kompromittiert) – ein Status, der anzeigt,
dass einem fehlertoleranten Datenträger (volume) eine oder mehrere
Disks) oder Datenträger-Extents
(volume extents) fehlt bzw. fehlen; zum Beispiel ein Spiegelsatz
mit nur einem Spiegel, der momentan verfügbar ist.
- Configuration data (Konfiqurations-Daten) – beschreibt die Auflistung
von physikalischen Ressourcen zu logischen Datenträgern.
- Directed configuration (gerichtete Konfiguration) – eine Bereitstellungseinrichtung
(Provider) liefert explizit Regeln zum Auswählen einer Wiederauflistung eines
logischen Blocks.
- Disk platter (Disk-Platter) – ein Untersatz eines Plattenstapels,
verwendet zum Exportieren oder Importieren von Datenträgern von
einem Plattenstapel.
- Diskpack (Plattenstapel) – eine
Zusammenstellung von logischen Datenträgern und unterlegenden Platten
bzw. Disks. Ein Plattenstapel ist die Einheit einer transitiven
Hülle für einen
Datenträger.
- Export (Exportieren) – Bewege
einen Disk-Platter und alle Datenträger, enthalten auf dem Platter,
aus einem Plattenstapel heraus.
- Mounted (installiert) – ein
Datenträger
wird durch ein Betriebssystem installiert, wenn der Datenträger einen
zugeordneten Datenträger-Namen
besitzt (Laufwerk-Buchstabe
oder Datenträger-Installationspunkte).
Der Datenträger
kann für
ein Dateisystem oder einen anderen Datenspeicher verfügbar gemacht werden.
- Free agent drive (freies Agent-Laufwerk) – ein Plattenlaufwerk, das
nicht ein Element eines Plattenstapels ist. Freie Agent-Laufwerke
können
nicht logische Datenträger
enthalten, die installiert sind.
- Health (Gesundheitszustand) – Datenträger-Fehler-Verwaltungs-Status.
Ein Datenträger
kann initialisieren, gesund, beeinträchtigt, nicht gesund oder wiederherstellend
sein.
- Healthy (gesund) – gültige Daten
enthaltend oder in der Lage zu sein, gültige Daten zu enthalten.
- Hot-spotting – temporäres Plexing
eines Datenträgers
oder Zusammenstellung von Datenträger-Extents.
- Import (importieren) – bewege
einen Platten-Platter und alle Datenträger, enthalten auf dem Platter,
in einen Plattenstapel hinein.
- Initializing (initialisieren) – ein Status, der anzeigt, dass
ein Datenträger
eine Datenträger-Konfiguration wieder
entdeckt.
- LBN – logische
Block-Zahl.
- Logical block mapping (Auflistung eines logischen Blocks) – Beziehung
zwischen den logischen Blöcken,
freigegeben für
den Provider des logischen Datenträgers, zu solchen, die durch
denselben Provider aufgedeckt sind.
- Logical volume provider (Provider bzw. Bereitstellungseinrichtung
des logischen Datenträgers) – Software,
die logische Datenträger
aufdeckt. Ein Bereitsteller umfasst Laufzeit-Service-Dienste, Konfigurationsdaten
und Management-Servicedienste.
- Management service (Verwaltungsservice) – Software, um eine Datenträger-Konfiguration, eine Überwachung
oder eine Fehlerbearbeitung durchzuführen.
- Mapped volume (aufgelisteter Datenträger) – eine einfache, lineare, logische
Blockauflistung, die Datenträger
verknüpft,
um einen einzelnen, größeren Datenträger aufzudecken.
- Mirrored volume (gespiegelter Datenträger) – logischer Datenträger, der
zwei oder mehr identische Datenkopien beibehält. Auch benannt als RAID 1.
- Parity striped volume (paritäts-aufgedeckter
Datenträger) – logischer
Datenträger,
der Paritäts-Prüf-Informationen
ebenso wie Daten aufrechterhält.
Das exakte Auflistungs- und Schutzschema ist lieferanten-spezifisch.
Umfasst RAID 3, 4, 5, 6.
- Plexed volume (geplexter Datenträger) – ein temporärer Spiegeldatenträger. Ein
Plexing wird dazu verwendet, eine Kopie eines Datenträgers zu
erzeugen, im Gegensatz dazu, eine Fehlertoleranz vorzusehen. Der
Spiegel wird zu dem Datenträger
mit der Absicht eines Entfernens hinzugefügt, nachdem die Inhalte synchronisiert
worden sind.
- RAID – redundant
array of independent disks – redundantes
Feld von unabhängigen
Disks.
- Rebuilding (Wiederherstellen) – ein Status, der anzeigt,
dass ein zuvor beeinträchtigter,
fehlertoleranter Datenträger
wieder alle Datenträger-Extent-Daten resynchronisiert.
- Runtime service Laufzeit-Service) – Software, die auf einer Pro-IO
Anforderungsbasis ausführt.
- SCSI – Small-Computer
Systems Interface – Schnittstelle
für Klein-Computer-Systeme.
- Stacked volume (gestapelter Datenträger) – Datenträger ist durch mehr als eine
einen logischen Block auflistende Operation aufgebaut worden. Ein
Beispiel ist ein Band-Satz
von Spiegeldatenträgern.
Ein Stapeln umfasst ein Stripping, Mapping und Plexing.
- Striped volume – eine
logische Blockauflistung, die fortlaufende, logische Datenträger-Extents über mehrere
Datenträger
verteilt. Auch bezeichnet als RAID 0.
- Unhealthy (nicht gesund) – ein
Status, der anzeigt, dass ein nicht-fehlertoleranter Datenträger eine
oder mehrere Disks) oder Datenträger-Extents
vermisst; auf Daten, enthalten in nicht gesunden Datenträgern, muss
nicht zugegriffen werden.
- Volume configuration stability (Konfigurationsstabilität des Datenträgers) – Status,
um zu bestimmen, ob eine logische zu physikalische Auflistung eines
Datenträgers
einer Änderung
unterliegt. Ein Datenträger kann
stabil sein, sich erweitern, schrumpfen, Plexing oder wiederauflisten
(remapping).
- Volume extent (Datenträger-Extent) – ein fortlaufender
Bereich von logischen Blökken,
enthalten auf einem Datenträger.
Datenträger-Extents
sind die kleinste, handhabbare, logische Datenträgereinheit.
- Volume status (Datenträger-Status) – momentane Verwendung
eines Datenträgers
durch das System. Ein Datenträger
kann ungenutzt, installiert, in Verwendung oder unbekannt sein.
-
Hardware-
und Betriebsumgebung
-
1 zeigt
ein Diagramm der Hardware- und Betriebsumgebung, in Verbindung mit
der Ausführungsformen
der Erfindung praktiziert werden können. Die Beschreibung von 1 ist dazu vorgesehen, eine
kurze, allgemeine Beschreibung einer geeigneten Computerhardware
und einer geeigneten Berechnungsumgebung, in Verbindung mit denen
die Erfindung ausgeführt
werden kann, zu liefern. Obwohl es nicht erforderlich ist, wird
die Erfindung in dem allgemeinen Zusammenhang von durch einen Computer
ausführbaren
Instruktionen, wie beispielsweise Programm-Modulen, beschrieben,
die durch einen Computer ausgeführt
werden, wie beispielsweise einen Personal-Computer. Allgemein umfasst ein
Programm Routines, Programme, Objekte, Komponenten, Datenstrukturen, usw.,
die besondere Aufgaben durchführen
oder bestimmte, abstrakte Daten-Typen implementieren.
-
Weiterhin werden Fachleute auf dem
betreffenden Fachgebiet erkennen, dass die Erfindung in Verbindung
mit anderen Computer-Systemkonfigurationen praktiziert werden kann,
einschließlich
in der Hand haltbare Vorrichtungen, Mikroprozessor-Systemen, auf
einem Mikroprozessor basierenden oder programmierbaren Verbraucherelektroniken,
Netzwerk-PCs, Minicomputern, Mainframe-Computern, und dergleichen.
Die Erfindung kann auch in verteilten Berechnungsumgebungen praktiziert
werden, wo Aufgaben durch entfernt verarbeitende Vorrichtungen durchgeführt werden,
die über
ein Kommunikationsnetzwerk miteinander verknüpft sind. In einer verteilten
Berechnungsumgebung können
Programm-Module in sowohl lokalen als auch entfernten Speichervorrichtungen
angeordnet sein.
-
Die beispielhafte Hardware- und Betriebsumgebung
der 1 zum Umsetzen der
Erfindung umfasst eine Berechnungsvorrichtung für allgemeine Zwecke in der
Form eines Computers 20, umfassend eine Verarbeitungseinheit 21,
einen Systemspeicher 22 und einen Systembus 23,
der betriebsmäßig verschiedene
Systemkomponenten, einschließlich
des Systemspeichers 22, mit der Verarbeitungseinheit 21 verbindet.
Dabei kann nur eine Verarbeitungseinheit 21 vorhanden sein
oder es können
mehrere vorhanden sein, so dass der Prozessor des Computers 20 eine
einzelne, zentrale Verarbeitungseinheit (CPU) oder eine Mehrzahl
von Verarbeitungseinheiten aufweist, allgemein bezeichnet als eine
parallele Verarbeitungsumgebung. Der Computer 20 kann ein
herkömmlicher
Computer, ein verteilter Computer oder irgendein anderer Typ eines
Computers sein; die Erfindung ist so nicht eingeschränkt.
-
Der Systembus 23 kann irgendeiner
von verschiedenen Typen von Busstrukturen sein, einschließlich eines
Speicherbusses oder einer Speichersteuereinheit, eines peripheren
Busses oder eines lokalen Busses, unter Verwendung irgendeiner Vielzahl
von Busarchitekturen. Der Systemspeicher kann auch einfach als der
Speicher bezeichnet werden, und umfasst einen Read Only Memory (ROM) 24 und
einen Random Access Memory (RAM) 25. Ein Basis-Eingangs/Ausgangs-System
(BIOS) 26, das die Basis-Routines enthält, die dabei unterstützen, Informationen
zwischen Elementen innerhalb des Computers 20 zu übertragen,
wie beispielsweise während
eines Hochfahrens, ist in dem ROM 24 gespeichert. Der Computer 20 umfasst
weiterhin ein Festplattenlaufwerk 27 zum Lesen von einer
Festplatte oder zum Schreiben darauf, die nicht dargestellt ist,
einen Magnetplattenantrieb 28 zum Lesen von einer entnehmbaren,
magnetischen Platte 29 oder zum Schreiben darauf, und einen
Antrieb 30 für eine
optische Platte zum Lesen von einer entnehmbaren, optischen Platte 31 oder
zum Schreiben darauf, wie beispielsweise einem CD ROM, oder einem anderen,
optischen Medium.
-
Das Festplattenlaufwerk 27,
das Magnetplattenlaufwerk 28 und das Laufwerk 30 für die optische Platte
sind mit dem Systembus 23 über eine Festplattenlaufwerkschnittstelle 32,
eine Magnetplattenlaufwerkschnittstelle 33 und eine Laufwerkschnittstelle 34 für die optische
Platte, jeweils, verbunden. Die Laufwerke und deren zugeordnete,
mittels Computer lesbare Medien bilden einen nicht flüchtigen
Speicher für
mittels Computer lesbare Instruktionen, Datenstrukturen, Programm-Modulen
und anderen Daten für
den Computer 20. Es sollte für Fachleute auf dem betreffenden
Fachgebiet ersichtlich werden, dass irgendein Typ eines mittels
Computer lesbaren Mediums, das Daten speichern kann, auf die durch einen
Computer zugreifbar ist, wie beispielsweise Magnetkassetten, Flash-Memory-Cards, Digital-Video-Disks,
Bernoulli-Cartridges, Random Access Memories (RAMs), Read Only Memories
(ROMs), und dergleichen, in der beispielhaften Betriebsumgebung
verwendet werden können.
-
Eine Anzahl von Programm-Modulen
kann auf der Festplatte 27, der Magnetplatte 29,
der optischen Platte 31, dem ROM 24 oder dem RAM 25 gespeichert
sein, umfassend ein Betriebssystem 35, ein oder mehrere
Anwendungsprogramme) 36, andere Programm-Module 37 und
Programmdaten 38. Ein Benutzer kann Befehle und Informationen
in dem Personal-Computer 20 über Eingabevorrichtungen, wie
beispielsweise ein Tastenfeld 40 und eine Hinweisvorrichtung 42,
eingeben. Andere Eingabevorrichtungen (nicht dargestellt) können ein
Mikrofon, einen Joystick, ein Game-Pad, eine Satellitenschüssel, Scanner,
oder dergleichen, umfassen. Diese und andere Eingabevorrichtungen
sind oft mit der Verarbeitungseinheit 21 über eine
Seriell-Port-Schnittstelle 46 verbunden, die mit dem Systembus
gekoppelt ist, können
allerdings durch andere Schnittstellen, wie beispielsweise einen
parallelen Port, einen Game-Port oder einen universellen, seriellen
Bus (USB), verbunden sein. Ein Monitor 47 oder ein anderer
Typ einer Anzeigevorrichtung ist auch mit dem Systembus 23 über eine
Schnittstelle, wie beispielsweise einem Video-Adapter 48, verbunden. Zusätzlich zu
dem Monitor umfassen die Computer typischerweise andere, periphere
Vorrichtungen (nicht dargestellt), wie beispielsweise Lautsprecher
und Drucker.
-
Der Computer 20 kann in
einer Netzwerkumgebung, die logische Verbindungen zu einem oder
zu mehreren entfernten Computer(n) verwendet, wie beispielsweise
einem entfernten Computer 49, arbeiten. Diese logischen
Verbindungen werden durch eine Kommunikationsvorrichtung, verbunden
mit dem oder als Teil des Computers 20, dem lokalen Computer, erreicht;
die Erfindung ist nicht auf einen bestimmten Typ einer Kommunikationsvorrichtung beschränkt. Der
entfernte Computer 49 kann ein anderer Computer, ein Server,
ein Routen, ein Netzwerk-PC, ein Client, eine Peer-Vorrichtung oder
ein anderer, üblicher
Netzwerkknoten sein, und umfasst typischerweise viele oder alle
der Elemente, die vorstehend beschrieben sind, relativ zu dem Computer 20,
obwohl nur eine Speichervorrichtung 50 in 1 dargestellt worden ist. Die logischen
Verbindungen, die in 1 gezeigt
sind, umfassen ein Local Area Network (LAN) 51 und ein
Wide Area Network (WAN) 52. Solche Netzwerkumgebungen sind
in Büros,
in weltweiten Computernetzen, in Intranets und dem Internet üblich.
-
Wenn der Computer 20 in
einer LAN-Netzwerkumgebung verwendet wird, ist er mit dem lokalen
Netzwerk 51 über
eine Netzwerk-Schnittstelle oder einen Adapter 53 verbunden,
der ein Typ einer Kommunikationsvorrichtung ist. Wenn der Computer 20 in
einer WAN-Netzwerkumgebung verwendet wird, umfasst er typischerweise
ein Modem 54, einen Typ einer Kommunikationsvorrichtung,
oder irgendeinen anderen Typ einer Kommunikationsvorrichtung, um
Kommunikationen über
das Wide Area Network 52, wie beispielsweise das Internet,
einzurichten. Das Modem 54, das intern oder extern sein
kann, ist mit dem Systembus 23 über die Seriell-Port-Schnittstelle 46 verbunden.
In einer Netzwerkumgebung können
Programm-Module, dargestellt relativ zu dem Personal-Computer 20,
oder Bereiche davon, in der Fernspeichervorrichtung gespeichert
sein. Es ist ersichtlich, dass die Netzwerkverbindungen, die dargestellt
sind, beispielhaft sind, und dass andere Einrichtungen für, und Kommunikationseinrichtungen
für, ein
Einrichten einer Kommunikationsverbindung zwischen den Computern
verwendet werden können.
-
Die Hardware- und die Betriebsumgebung, in
Verbindung mit denen Ausführungsformen
der Erfindung praktiziert werden können, ist beschrieben worden.
Der Computer, in Verbindung mit dem Ausführungsformen der Erfindung
praktiziert werden kann, kann ein konventioneller Computer, ein
verteilter Computer, oder irgendein anderer Typ eines Computers
sein; die Erfindung ist nicht eingeschränkt. Ein solcher Computer umfasst
typischerweise eine oder mehrere Verarbeitungseinheiten) als deren
Prozessor, und ein mittels Computer lesbares Medium, wie beispielsweise
einen Speicher. Der Computer kann auch eine Kommunikationsvorrichtung,
wie beispielsweise einen Netzwerkadapter oder ein Modem, umfassen,
so dass er in der Lage ist, sich kommunikativ mit anderen Computern
zu verbinden.
-
System-Ebenen-Übersicht
-
2 zeigt
ein Blockdiagramm, das eine System-Ebenen-Übersicht eines Speichernetzwerks 100 darstellt,
das einen Computer 105, einen Computer 110 und
Speichervorrichtungen 106 umfasst, die kommunikativ über ein
Netzwerk 120 gekoppelt sind. Computer 105 und 110 stellen
irgendein geeignetes Berechnungssystem, wie beispielsweise einen lokalen
Computer 20 oder einen entfernten Computer 49 in 1, dar. Speichervorrichtungen 106 umfassen
eine Speichervorrichtung 108, eine Speichervorrichtung 112 und
eine Speichervorrichtung 114, die irgendein geeignetes
Speichermedium sein können,
wie beispielsweise eine einzelne, interne Disk, mehrere externe
Disks oder auch ein RAID-Kabinett.
-
Speichervorrichtungen 108 und 114 sind
direkt mit Computern 105 und 110, jeweils, verbunden, während eine
Speichervorrichtung 112 direkt mit einem Netzwerk 120 verbunden
ist, und, in der dargestellten Ausführungsform, ein RAID-Speicher-Kabinett
ist, das mehrere Disks besitzt. Speichervorrichtungen 106 besitzen
entsprechende Datenträger-Bereitsteller (nicht
dargestellt), um logische Speicher-Datenträger auf einer oder mehreren
Speichervorrichtungen) 106 des Speichernetzwerks 100 aufzulisten.
Diese Datenträger-Bereitsteller können in
irgendeiner Software oder Hardware ausgeführt sein und können innerhalb
der jeweiligen Speichervorrichtungen 108, 112 und 114 oder
innerhalb von Computern 105 und 110 vorhanden
sein. Wie im Detail nachfolgend dargestellt ist, schafft die Erfindung
eine nahtlose Maßnahme,
um die Hardware- und Software-Datenträger-Bereitstellungseinrichtungen eines Speichernetzwerks 100 zu
verwalten.
-
3 zeigt
ein Blockdiagramm, das eine Ausführungsform
eines Speicherverwaltungssystems 200 zum Verwalten von
verschiedenen Datenträger-Bereitstellungseinrichtungen 203 des
Speichernetzwerks 100 (2)
darstellt. Das Speicherverwaltungssystem 200 umfasst Applikationen 210, eine
gemeinsame Datenträger-Verwaltungseinrichtung 202 und
Datenträger-Verwaltungseinrichtungen 203.
Die Applika tion 210 kann eine Softwareapplikation eines
Management-Typs sein, verwendet durch einen Systemadministrator,
um Datenträger
(Volumes) zu konfigurieren, oder kann eine Applikation vom Benutzer-Typ
sein, die auf die Speichervorrichtungen 106 zugreift. Wie
in 3 dargestellt ist,
bestehen Datenträger-Bereitstellungseinrichtungen 203 aus
Software-Datenträger-Bereitstellungseinrichtungen 204 und
Hardware-Datenträger-Bereitstellungseinrichtungen 206,
die in einem Benutzerraum 218 ausführen. In anderen Ausführungsformen führen die
Datenträger-Bereitstellungseinrichtungen 203 in
irgendeiner Kombination eines Benutzerraums 218 und eines
Kernel-Raums 220 aus. Treiber 212 und 214 unterstützen Laufzeit-Servicedienste,
die durch das Betriebssystem vorgesehen sind, und führen in
dem Kernel-Raum 220 aus.
-
Der gemeinsame Datenträger-Verwalter bzw.
-Manager 202 integriert Software-Bereitstellungseinrichtungen 204 und
Hardware-Bereitstellungseinrichtungen 206, um eine vereinheitlichte
Ansicht zum Zugreifen und Konfigurieren von Speichervorrichtungen 106 zu
präsentieren.
Die gemeinsame Datenträger-Verwaltungseinrichtung 202 empfängt Datenträger-Verwaltungs-Anforderungen
für Anwendungen 210 und
gibt Befehle zu Datenträger-Bereitstellungseinrichtungen 203 entsprechend
aus. Um dies so vorzunehmen, erzwingt die gemeinsame Datenträger-Verwaltungseinrichtung 202 Speicherpolicen,
um eine Einheitlichkeit über
Bereitstellungseinrichtungen 203 zu erzwingen, und liefert
Service-Routines
auf einem hohen Niveau bzw. einer hohen Ebene für das Speichernetzwerk 100.
Beispiele umfassen: (1) Durchführen
eines Daten-Löschens
an einem Knoten des Speichernetzwerks 100 vor Unterbrechen
eines Spiegel-Plex, (2) Entscheiden, ob ein logischer Datenträger aufzulösen ist,
der mehrere Speichervorrichtungen 106 überspannt, (3) Verwenden der
unterlegenden Charakteristika der Speichervorrichtung 106,
um Spiegelkopien eines Datenträgers,
basierend auf Paaren von Vorrichtungen, zuzuordnen, die ähnliche
Such- und Daten-Raten-Charakteristika haben, (4) Umordnen von Datenträgern zu
einer besser geeigneten Speichervorrichtung 106, (6) nur
Zulassen, dass Speichervorrichtungen, die ähnliche Charakteristika haben,
gestrippt werden, und (7) Durchführen
der gesamten Sicherheits-Authentifikation und Authorisierung. Wenn
eine neue Speichervorrichtung zu dem Speichernetzwerk 100 hinzugefügt wird,
werden deren Speichercharakteristika analysiert, mit den existierenden
Speichervorrichtungen 106 verglichen, und die neue Speichervorrichtung
wird entsprechend verwendet. Zum Beispiel kann, falls die neue Speichervorrichtung
gespiegelte Datenträger
stützt
und eine Suche und Latenz besser als solche eines existierenden
Paars von Vorrichtungen besitzt, die gleichzeitig einen gespiegelten
Datenträger
implementieren können,
als dies eine gemeinsame bzw. übliche
Datenträger-Verwaltungseinrichtung 202 tun
kann, den gespiegelten Datenträger
von den zwei Speichervorrichtungen 106 zu der neuen Speichervorrichtung
bewegen.
-
Datenträger-Bereitstellungseinrichtungen 203 nehmen
die Befehle von der Datenträger-Verwaltungseinrichtung 202 auf
und führen
eine Vielzahl von Verwaltungsaufgaben in Abhängigkeit von beispielsweise
einer Datenträger-Konfiguration,
einer Funktionsüberwachung
und einer Handhabung eines asynchronen Ereignisses aus. Datenträger-Bereitstellungseinrichtungen 203 empfangen
die Befehle von der Datenträger-Verwaltungseinrichtung 202 und führen eine
Mehrzahl von Verwaltungsaufgaben in Abhängigkeit einer solchen Datenträger-Konfiguration,
einer Funktionsüberwachung
und einer Handhabung eines asynchronen Ereignisses, durch. Datenträger-Verwaltungseinrichtungen 203 können lieferanten-spezifische
Regeln umfassen, um verbindende Konfigurationen zu optimieren, zu überwachen und
dynamisch die Funktionsweise abzustimmen, automatisch Fehler zu
handhaben, oder für
irgendeine andere, lieferantenspezifische, hinzugefügte Funktionalität. Zusätzlich decken
Datenträger-Verwaltungseinrichtungen 203 Konfigurations-Daten auf,
die physikalische Ressourcen identifizieren, die die logischen Datenträger eines
Speichernetzwerks 100 aufweisen.
-
Um Datenträger-Bereitstellungseinrichtungen 203 zu
integrieren, präsentiert
die gemeinsame Datenträger-Verwaltungseinrichtung 202 eine
Application Programming Interface („API") 209, die einen Satz von Funktionen,
oder Schnittstellen, durch die Anwendungen 210, wie beispielsweise
administrative Tools, in der Lage sind, Datenträger-Verwaltungseinrichtungen 203 zu
verwalten, ohne eine detaillierte Kenntnis über die Datenträger-Bereitsteller 203 oder die
unterlegenden Speichervorrichtungen 106 zu haben. Zum Beispiel
müssen
sich Anwendungen 210 nicht über die unterlegenden Policen,
die physikalischen Charakteristika, usw., jeder Datenträger-Bereitstellungseinrichtung 203 bewusst
sein. Applikationen müssen
nicht wissen, ob die Bereitstellungseinrichtung 203 eine
Software-Bereitstellungseinrichtung 304 oder eine Hardware-Bereitstellungseinrichtung 206 ist.
Die Erfindung ermöglicht,
Anwendungen 210 zu überwachen
und nachzuvollziehen, wie I/O-Anforderungen über Speichervorrichtungen 106 hinweg
verteilt sind, ohne individuell jede Speichervorrichtung 106 zu
prüfen.
Zum Beispiel ist, sogar obwohl Speichervorrichtungen 106 unterschiedliche Plattformen
laufen lassen können,
und durch unterschiedliche Lieferanten hergestellt sein können, eine Anwendung 210 in
der Lage, eine überladene
Speichervorrichtung 106 und eine Belade-Balance über Speichervorrichtungen 106 mittels
einer gemeinsamen Datenträger-Verwaltungseinrichtung 202 zu identifizieren.
-
Eine gemeinsame Datenträger-Verwaltungseinrichtung 202 erfordert,
dass jede Datenträger-Bereitstellungseinrichtung 203 mit
einer Schnittstelle 208 übereinstimmt. Die Schnittstelle 208 stützt eine Gruppe
von Grundstrukturen, die die Konfigurationen für die verschiedenen Speichervorrichtungen 106 eines
Speichernetzwerks 100 beschreiben, wie beispielsweise eine
Anzahl von Platten bzw. Disks und deren Organisation. Als Minimum
wandeln die Datenträger-Bereitstellungseinrichtung 203 die
Funktionen der Schnittstelle 208 zu einem Industrie-Standard
oder lieferanten-spezifischen Protokollanforderungen zu der Steuereinheit
um. Zusätzlich
ermöglicht
die Schnittstelle 208, dass Speichervorrichtungen 106 eine
Vielzahl von Funktions-Informationen zu Anwendungen 210 hindurchführen. Falls
Vorrichtungen zu den Speichervorrichtungen 106 hinzugefügt werden,
können
neue Datenträger-Bereitstellungseinrichtungen 203 einfach
in das Speicherverwaltungssystem 200 integriert werden.
In einer Ausführungsform
werden die Schnittstelle 208 und die API 209 unter
Verwendung eines Component Object Model (COM) ausgeführt.
-
Jede Datenträger-Bereitstellungseinrichgung 203 innerhalb
des Speichermanagementsystems 200 besitzt einen entsprechenden
Hardware-Treiber 214. Zusätzlich kann eine Software-Datenträger-Verwaltungseinrichtung 204 eine
Schnittstelle mit einem entsprechenden Software-Treiber 212 ausführen oder
kann eine Hardware-Datenträger-Bereitstellungseinrichtung 206 über eine
gemeinsame Datenträger-Verwaltungseinrichtung 202 verwenden.
Treiber 212 und 214 handhaben alle Kommunikationen
mit Speichervorrichtungen 106 und können eines einer Vielzahl von
Protokollen, wie beispielsweise SCSI („Small-Computer Systems Interface"), IP („Internet
Protocol"), usw.,
umsetzen.
-
Obwohl die Datenträger-Verwaltungseinrichtungen 203 mit
einer Schnittstelle 208 übereinstimmen können, weist
die Erfindung keine Einschränkungen
auf, die die Datenträger-Bereitstellungseinrichtungen 203 mit
den Software-Treibern 212 oder den Hardware-Treibern 214 kommunizieren,
und können
irgendein erwünschtes
Protokoll verwenden. Auf diese Art und Weise erfordert ein Speicherverwaltungssystem 200 keine Änderungen
in Bezug auf herkömmliche
Treiber 212 und 214. Demzufolge sind Vertreiber
bzw.
-
Lieferanten von Speichervorrichtungen 106 frei,
deren eigene Kommunikationsprotokolle zu entwickeln.
-
Um eine gleichförmige Kommunikation mit verschiedenen
Bereitstellungseinrichtungen 203 zu erleichtern, identifiziert
die gemeinsame Datenträger-Verwaltungseinrichtung 202 jeden
logischen Datenträger,
jede Speichervorrichtung 106 und jede Datenträger-Bereitstellungseinrichtung 203,
mit einem Globally Unique Identifier (GUID). Zusätzlich liefert API 209 abstrahierte
Datenträger-Typen
und definiert Voreinstellung, Wildcard und Fehler-Werte. Die nachfolgende
Liste stellt eine Ausführungsform
von abstrahierten Datenträger-Typen
dar: Default, FaultTolerant, NotFaultTolerant, Simple, Span, Stripe,
Mirror, Parity, Plex.
-
API 209 ist in dem Sinne
erweiterbar, dass Datenträger-Bereitstellungseinrichtung 203 eine
provider-spezifische Erweiterung zum Freigeben von provider-spezifischen
Konfigurationen-Attributen und -Parametern unterstützt. Applikationen 210,
die diese provider-spezifischen
Erweiterungen verwenden, sind für
ein Interpretieren dieser Erweiterungen verantwortlich und werden
dahingehend angenommen, dass sie eine Kenntnis über deren Bedeutung haben. In
einer Ausführungsform
besteht jedes freigegebene Attribut aus einem kurzen Namen, einem
längeren Beschreibungstext
und einem momentanen Wert. Diese Ausführungsform ermöglicht,
dass Anwendungen 210 allgemein wahlweise Provider-Erweiterungen
aufnehmen.
-
Eine Datenträger-Konfiguration und Abfrage-Operationen,
aufgerufen durch Anwendungen 210, können eine beträchtliche
Zeit zum Verarbeiten durch Provider bzw. Bereitstellen 203 benötigen. Als solcher
ermöglicht
die gemeinsame Datenträger-Verwaltungseinrichtung 202,
dass alle Funktionen von API 209 asynchron aufgerufen werden.
Anwendungen 210 liefern ein Rückruf-Routine und Parameter, um
das asynchrone Ereignis zu handhaben, das ausgegeben ist, als die
Anforderung verarbeitet wurde. In einer Ausführungsform handhaben Anwendungen 210 und
gemeinsame Datenträger-Verwaltungseinrichtungen 202 die
asynchronen Ereignisse über
eine COM Schnittstelle.
-
Die System-Ebenen-Übersicht
der Betriebsweise einer beispielhaften Ausführungsform der Erfindung ist
in diesem Abschnitt der detaillierten Beschreibung beschrieben worden.
So, wie es beschrieben ist, liefert das erfindungsgemäße Datenträger-Verwaltungssystem
eine gemeinsame Übersicht für ein Zugreifen
und Konfigurieren von Software-Bereitstellungseinrichtungen und
Hardware-Datenträger-Bereitstellungseinrichtungen.
-
Verfahren
einer beispielhaften Ausführungsform
der Erfindung
-
In dem vorherigen Abschnitt wurde
eine System-Ebene-Übersicht über die
Betriebsweise einer beispielhaften Ausführungsform der Erfindung beschrieben.
In diesem Abschnitt werden die besonderen Verfahren, durchgeführt durch
einen Computer, der eine beispielhafte Ausführungsform ausführt, unter
Bezugnahme auf ein Flussdiagramm beschrieben. Die Verfahren, die
durch einen Computer durchgeführt
werden sollen, bilden Computerprogramme, aufgebaut aus mittels einem
Computer ausführbaren Instruktionen.
Die Beschreibung der Verfahren unter Bezugnahme auf ein Flussdiagramm
ermöglicht
einem Fachmann auf dem betreffenden Fachgebiet, solche Programme
zu entwickeln, einschließlich
solcher Befehle, um die Verfahren auf geeigneten Computern auszuführen (der
Prozessor der Computer, die die Befehle von einem mittels Computer
lesbaren Medium ausführen).
-
4 zeigt
ein Flussdiagramm 400, das ein beispielhaftes Verfahren
einer Betriebsweise einer gemeinsamen Datenträger-Verwaltungseinrichtung 202 (3) zum Verwalten von verschiedenen
Datenträger-Bereitstellungseinrichtungen
eines Speichernetzwerks 100 (2)
darstellt. Die gemeinsame Datenträger-Verwaltungseinrichtung 202 beginnt das
Flussdiagramm 400 mit einem Block 402 und schreitet
zu einem Block 404 fort. In dem Block 404 empfängt die
gemeinsame Datenträger-Verwaltungseinrichtung 202 eine
Speicherverwaltungsanforderung von einer Anwendung 210 über API 209,
wie dies im Detail vorstehend diskutiert ist.
-
Am Block 405 erzeugt die
gemeinsame Datenträger-Verwaltungseinrichtung 202 einen
oder mehrere Befehl(e), notwendig, um die Speicherverwaltungsanforderung
auszuführen.
Am Block 406 gibt die gemeinsame Datenträger-Verwaltungseinrichtung 202 die
Befehle zu geeigneten Datenträger-Bereitstellungseinrichtungen 203 aus.
Falls ein Befehl eine Aktion durch mehr als eine Bereitstellungseinrichtung 203 erfordert,
dann kommuniziert die gemeinsame Datenträger-Verwaltungseinrichtung 202 den
Befehl zu allen notwendigen Bereitstellungseinrichtungen 203.
Die Datenträger-Bereitstellungseinrichtungen 203 kommunizieren
die Befehle zu Speichervorrichtungen 106 für eine Verarbeitung. Falls
allerdings Datenträger-Bereitstellungseinrichtungen 203 in
der Lage sind, auf die Befehle ohne Unterstützung zu antworten, dann müssen die
Datenträger-Bereitstelleinrichtungen
203 nicht
die Befehle zu den unterlegenden Speichervorrichtungen 106 kommunizieren
und können
Befehle lokal verarbeiten.
-
Nach einer Verarbeitung der Befehle
kommunizieren, am Block 408, die Datenträger-Bereitstellungseinrichtungen 203 Antwortinformationen
zu der gemeinsamen Datenträger-Verwaltungseinrichtung 202.
Diese Antwortinformationen können
anzeigen, ob der Befehl erfolgreich war, sie können momentane Konfigurations-Informationen
enthalten, oder sie können
eine Vielfalt von Status-Informationen, wie beispielsweise momentane
Beladung und Funktion, enthalten. Am Block 410 aggregiert
die gemeinsame Datenträger-Verwaltungseinrichtung 202 in
Bezug stehende Informationen. Zum Beispiel gibt, in vielen Fällen, die
gemeinsame Datenträger-Verwaltungseinrichtung 202 Befehle
zu zwei oder mehr Datenträger-Bereitstellungseinrichtungen 203 aus. Wenn
diese Befehle abgeschlossen sind, aggregiert die gemeinsame Datenträger-Verwaltungseinrichtung 202 die
Antwortinformationen, um eine einheitliche Antwort zu der anfordernden
Anwendung 210 am Block 412 zu kommunizieren.
-
Schritt 414 stellt den Abschluss
eines einzelnen Zyklus dar, in dem eine Anwendung 210 eine Speicheranforderung
ausgibt und daraus resultierende Antwortinformationen empfängt. Wie
vorstehend diskutiert ist, unterstützt, da bestimmte Funktionen der
Schnittstelle 208 eine wesentliche Verarbeitungszeit erfordern
können,
die Schnittstelle 208, präsentiert durch die gemeinsame
Datenträger-Verwaltungseinrichtung 202,
auch eine Handhabung eines asynchronen Ereignisses zum Aufnehmen
der Antwortinformationen.
-
Eine beispielhafte Ausführungsform
des API, geliefert durch die gemeinsame Datenträger-Verwaltungseinrichtung Dieser Abschnitt
beschreibt im Detail eine Ausführungsform
der API 209 (3),
geliefert durch die gemeinsame Datenträger-Verwaltungseinrichtung 202.
Die Funktionen, präsentiert
durch die API 209, fallen allgemein innerhalb von drei
Kategorien:
- 1. Konfigurations-Operationen,
die eine Erzeugung, Löschung,
Modifikation und Migration zwischen Systemen eines logischen Datenträgers leiten;
- 2. Topologie und Zustands-Abfragen, die eine Entdeckung der
momentanen Konfiguration ermöglichen,
umfassend die physikalischen Disks, die einen gegebenen Datenträger aufweisen,
den Typ eines Datenträgers
und einen Datenträger-Status,
wie beispielsweise eine Wiederherstellung nach einem Platten-Fehler.
- 3. Wartungs- und Überwachungs-Operationen
für ein
Fehler-Management, eine Funktionsüberwachung und eine Wartung
einer gemeinsamen Stelle.
-
Nachfolgend ist eine Ausführungsform
von spezifischen Funktionen, unterstützt durch die gemeinsame Datenträger-Verwaltungseinrichtung 202 und über die
API 209 zugreifbar, aufgelistet:
QueryLvmParameters – führt lieferanten-spezifische Parameter
zurück,
die die Bereitstellungseinrichtungen 203, den unterlegenden
Datenträger-Typ
und Informationen, die sich auf Lieferanten-Erweiterungen beziehen,
identifizieren.
CancelVolumeOperation – hebt irgendeine zuvor ausgegebene,
asynchrone Datenträger-Konfigurations-Operation
oder -Konfigurations-Frage auf.
CompleteVolumeOperation – wartet
auf den Abschluss einer zuvor ausgegebenen, asynchronen Datenträger-Konfigurations-Operation
oder -Konfigurations-Frage.
BindVolume – erzeugt und konfiguriert
zu Anfang einen Datenträger.
_
UnbindVolume – löscht und
dekonfiguriert den Datenträger.
Alle Daten sind verloren. Alle Disk-Extents, die zu dem Datenträger beitrugen,
werden für
die unmittelbare Wiederbenutzung durch die Datenträger-Bereitstellungseinrichtung 203 befreit.
Die gemeinsame Datenträger-Verwaltungseinrichtung 202 führt irgendeine
Koordination mit dem Betriebssystem durch, bevor diese Anforderung
zu der Datenträger-Bereitstellungseinrichtung 203 hindurchgeführt wird.
StripeVolume – erzeugt
und konfiguriert einen gestrippten bzw. isolierten, eingestellten
Datenträger unter
Verwendung von Extents von den spezifizierten, logischen Datenträgern oder
Platten. Gestrippte Sets werden von Extents mit gleicher Länge konstruiert;
Extents von gleicher Größe von jedem
Target (Datenträger
oder Disk) in dem Zuordnungs-Feld werden verbraucht.
UnstripeVolume – löscht und
dekonfiguriert das Stripe-Set-Volume. Alle Daten gehen verloren.
Alle Datenträger
oder Platten-Extents, die zu dem Datenträger beitrugen, werden für eine unmittelbare
Wiederbenutzung durch die stapelnde Datenträger-Bereitstellungseinrichtung befreit.
Die gemeinsame Datenträger-Verwaltungseinrichtung 202 führt irgendeine Koordination
mit dem Betriebssystem vor Hindurchführen dieser Anforderung zu
der Datenträger-Bereitstellungseinrichtung
hindurch.
MapVolume – konfiguriert
einen aufgelisteten Datenträger.
Datenträger-Extents
werden in der Reihenfolge, spezifiziert durch das Zuordnungsfeld,
angeordnet und ver knüpft.
Der sich ergebende, aufgelistete Datenträger wird durch das Betriebssystem
installiert und ein Drive- bzw. Laufwerk-Buchstabe oder ein Installationspunkt
wird zugeordnet.
UnmapVolume – löscht und dekonfiguriert den
aufgelisteten Datenträger.
Dies entfernt auch den Datenträger
von einer Benutzung durch das Betriebssystem und irgendeine zugeordnete
Disk-Zahl wird gelöscht.
Die gemeinsame Datenträger-Verwaltungseinrichtung 202 führt irgendeine
Koordination mit dem Betriebssystem durch, bevor diese Anforderung zu
der Datenträger-Bereitstellungseinrichtung 203 hindurchgeführt wird.
ExtentVolume – lässt den
spezifizierten Datenträger anwachsen.
Der Mechanismus hängt
von dem Typ des Datenträgers
ab, der erweitert werden soll. Einfache, überspannte oder aufgelistete
Datenträger werden
durch Anhängen
von Datenträger-Extents
erweitert. Gestrippte Datenträger
werden dadurch erweitert, dass man jeden beitragenden, automagischen
Datenträger
anwachsen lässt.
Geplexte Datenträger
werden durch Anwachsenlassen jedes Plex erweitert.
ShrinkVolume – entfernt
Datenträger-Extents
von dem spezifizierten Datenträger.
Gestrippte Datenträger
werden durch Schrumpfen jedes beitragenden Datenträgers kontrahiert.
AddPlex – fügt ein Plex
zu dem spezifizierten Datenträger
hinzu. Das Abschluss-Routine
wird aufgerufen, nachdem der hinzugefügte Plex mit dem originalen
Datenträger
synchronisiert worden ist.
RemovePlex – entfernt ein zuvor hinzugefügtes Plex von
dem spezifizierten Datenträger.
Die gemeinsame Datenträger-Verwaltungseinrichtung 202 synchronisiert
optional das Dateisystem, bevor bewirkt wird, dass das Plex aufgebrochen
wird. Nach einem Entfernen wird das Plex nicht länger synchron zu dem originalen
Datenträger
erhalten.
CreatePack – erzeugt
einen Plattenstapel. Die Extent-Größe muss eine Leistung von zwei
Plattensektoren haben. Falls die Extent-Größe nicht spezifiziert ist,
wird die gemeinsame Datenträger-Verwaltungseinrichtung 202 1
% des größten Plattenlaufwerks, über das
bekannt ist, dass es sich in der Konfiguration befindet, verwenden.
Zum Beispiel würde
sich die Extent-Größe auf 128MB
für Konfigurationen
mit Laufwerken von 18GB einstellen.
DeletePack – löscht einen
Plattenstapel.
AddDisksToPack – fügt Disks bzw. Platten zu einem Stapel
hinzu. Irgendein Jogischer Datenträger, ursprünglich auf den hinzugefügten Platten,
geht verloren und wird nicht zu dem Stapel importiert.
EvacuateDisks – dieses
Programm bewegt irgendwelche Datenträger-Extents von dem Plattenfeld
zu anderen Platten in dem Plattenstapel. Es ist anzumerken, dass,
um für
ein Entfernen geeignet zu sein, irgendwelche Datenträger, die
eine Platte belegen, evakuiert worden sein mussten. Mit anderen
Worten darf die Platte keine lebenden Daten enthalten. Die Platten
verbleiben evakuiert bzw. geleert, bis sie explizit für eine Belegung
oder einen Hot Spare bereiterklärt
wurden.
FreeDisksFromPack – entfernt
Disks bzw. Platten von dem Stapel und macht sie zu freien Agenten.
Es ist anzumerken, dass, um für
ein Entfernen geeignet zu sein, irgendwelche Datenträger, die
eine Platte belegen, evakuiert bzw. beseitigt sein müssen. Mit
anderen Worten darf die Platte keine lebenden Daten enthalten.
ReplaceDisk – substituiert
eine physikalische Platte gegen eine andere, um eine Medien-Migration
zu ermöglichen.
Irgendwelche Inhalte der ersetzten Platte werden migriert bzw. umgestellt,
obwohl dies nicht für eine
neue Platte notwendig ist. Bei einem Abschluss ist die ersetzte
Platte nicht länger
in Benutzung und kann physikalisch entfernt werden.
InhabitDisks – erklärt die Platten
für eine
Datenträger-Migration
oder eine andere Datenträger-Konfigurations-Operation
für verfügbar.
ImportPlatter – importiert
alle Datenträger
und fügt alle
Platten bzw. Disks, die auf dem Platter enthalten sind, zu dem Stapel
hinzu. Diese Operation kann fehlschlagen oder kann eine Rekonfiguration
der existierenden Datenträger
erfordern, falls sich der Datenträger-Zuordnungs-Extent des Platters
von demjenigen des empfangenden Platters unterscheidet. Falls eine
oder mehrere Platten bzw. Disks bei der Bewegung verlorengegangen
sind, können
Datenträger,
enthalten auf dem Platter, nicht transitiv geschlossen werden. Die
importierten Datenträger
verbinden alle anderen Datenträger
in dem Stapel.
ExportPlatter – markiert alle Platten auf
dem Platter, bereit für
einen Export. Als ein Nebeneffekt werden die Platten, enthalten
in dem Platter, aufgezeichnet, so dass dann, wenn der Platter darauffolgend
importiert wird, der empfangende Stapel bestimmen kann, ob alle
Platten vorhanden sind.
MigratePlatter – bewegt atomar den Platter
zwischen Stapeln. Beide Stapel müssen
auf demselben Prozessorknoten in einem Cluster vorhanden sein.
MoveVolumesToPlatter – präpariert
einen Platter für eine
Migration durch Bewegen von einer oder mehreren Datenträger(n) zu
einer oder mehreren Disk(s). MoveVolumesFromPlatter – bewegt
explizit Datenträger
oder evakuiert Platten und befreit sie von einem Platter.
ForgetPlatter – hebt eine
Präparation
eines Platter für eine
Datenträger-Migration
auf. Irgendwelche Datenträger
auf dem Platter verbinden wieder den Plattenstapel und können frei
migrieren.
-
Zusätzlich zu den vorstehend aufgelisteten Funktionen
unterstützt
die API 209 irgendwelche Abfragen, die eine Anwendung 210 ermöglichen,
um eine logische Datenträger-Konfiguration
zu bestimmen, umfassend eine Bestimmung der unterlegenden, physikalischen
Ressourcen einer Datenträger-Bereitstellungseinrichtung.
QueryDisks – führt alle
Disks mit der Option einer Gruppierung oder Filterung durch eine
Bereitstellungseinrichtung und/oder einen Stapel zurück.
QueryVolumes – führt alle
Datenträger
mit einem optionalen „Scoping" („Gültigkeitsbereich") (Gruppieren) mit
spezifizierten Kriterien, wie beispielsweise durch eine Bereitstellungseinrichtung,
einen Stapel oder einen Typ, zurück.
QueryVolumeExtents – führt alle
Datenträger,
die zu einem oder zu mehreren Extent(s) beitragen, zu diesem Datenträger zurück. Nur
ein Level bzw. eine Ebene einer Stapelhierarchie wird überführt; die
Fragestellung muss an jeder Stapelebene vorgenommen werden, um eine
vollständige
Ansicht aufzubauen.
QueryVolumeDiskExtents – führt alle Platten-Extents, die
zu dem Datenträger
beitragen, ungeachtet der Stapelhierarchie, zurück. Dieses Routine liefert eine
einfache, physikalische Ansicht der Ressourcen, verbraucht durch
den Datenträger.
QueryVolumesUsingDisk – findet
alle Datenträger
mit Extents, die auf der spezifizierten Platte vorhanden sind.
QueryVolumesUsingVolume – findet
alle gestapelten Datenträger
mit Extents, die auf dem spezifizierten Datenträger vorhanden sind.
QueryVolumeMount – führt die
Betriebssystem-Disk-Zahl oder den Installationspunkt für einen aufgelisteten
Datentäger
zurück.
QueryVolumeDeviceObject – führt das
unterste Niveau von logischen Identifizierern für einen Platten- oder Hardware-RAID-Datenträger zurück.
QueryVolumePlexes – findet
alle Plexe des spezifizierten Datenträgers. Das zurückgeführte Datenträgerfeld
enthält
Plexe in einer PlexID-Reihenfolge.
QueryVolumesUsingPlex – findet
den Basisdatenträger,
dem ein Plex gegeben ist. Die zurückgeführte PlexID ist diejenige des
ursprünglichen
Plex-Datenträgers.
QueryPacks – führt alle
Plattenstapel zurück.
QueryPlatters – führt alle
Disk-Platters mit einem optionalen Gültigkeitsbereich (Scoping)
durch einen Stapel zurück.
QueryPackofPlatter – führt den
Plattenstapel zurück, der
den spezifizierten Platter enthält.
QueryPlatterVolumes – führt alle
Datenträger,
enthalten auf dem spezifizierten Platter, zurück.
QueryVolumePack – führt den
Stapel, der den Datenträger
enthält,
zurück.
QueryVolumePlatter – führt den
Platter (falls einer vorhanden ist) und den Stapel, der den Datenträger enthält, zurück. Falls
sich der Datenträger
nicht auf einem Platter befindet, wird der Platter als NO_PLATTER
zurückgeführt.
QueryPlatterDisks – führt die
Disks (falls welche vorhanden sind), enthalten auf dem Platter,
zurück.
QueryDiskPack – führt den
Plattenstapel, der die Platte enthält, zurück. Falls die Platte ein freier
Agent ist, ist der zurückgeführte Stapel
NO_PACK.
QueryDiskPlatter – führt den
Platter (falls einer vorhanden ist) und den Stapel, der die Disk
enthält,
zurück.
Falls die Disk bzw. Platte nicht auf einem Platter vorhanden ist,
ist die zurückgeführte id NO_PLATTER.
Falls die Platte ein freier Agent ist, ist der zurückgeführte Stapel
NO_PACK.
-
Zusätzlich unterstützt die
API 209 zusätzliche
Fragen, die sich auf den Status eines logischen Datenträgers beziehen,
aufrechterhalten durch die Bereitstellungseinrichtungen 203,
umfassend die folgenden Attribute: einen Zugriff durch OS (VOLUME_STATUS),
Fehler-Wiederherstellungs-Status (VOLUME_HEALTH), Konfigurationsstabilität (VOLU-ME_JELLO), Plattenstapel-Mitgliedschaft
(VOLUME_PACK), ob der Datenträger
geplext ist oder nicht, ob die logische Datenträger-Auflistung festgelegt ist
oder dynamisch ist oder nicht, eine relative Wiederaufbaupriorität (hoch-niedrig).
QueryVolumeAttributes – führt einen
Datenträger-Typ,
eine Bereitstellungseinrichtung (Provider), einen Stapel, eine Größe und Attribute
zurück.
QueryVolumeSize – führt eine
Datenträger-Größe zurück.
QueryVolumeType – führt einen
Datenträger-Typ
zurück.
QueryVolumeStatus – führt einen
Datenträger-Status zurück.
QueryVolumeProvider – führt eine
Datenträger-Bereitstellungseinrichtung
zurück.
QueryVolumeLbnRemap – führt zurück, ob der
Datenträger
momentan dynamisch rekonfiguriert werden kann oder nicht.
QueryVolumeUsingStatus – führt alle
Datenträger
mit einem spezifizierten Status mit einem optionalen Gültigkeitsbereich
durch eine Bereitstellungseinrichtung und/oder einen Stapel und/oder
einen Typ zurück.
QueryVolumeUsingHealth – führt alle
Datenträger
mit einer spezifizierten Gesundheit mit einem optionalen Gültigkeitsbereich
durch eine Bereitstellungseinrichtung und/oder einen Stapel und/oder
einen Typ zurück.
ForceVolumeHealthy – zwingt
einen Datenträger
dazu, dass er gesund ist. Erlässt
möglicherweise
ein gefährliches Überlaufen
in dem Fall von katastrophalen Disk-Fehlern zu.
ForceVolumeInitialize – zwingt
einen Datenträger
dazu, dass er reinitialisiert wird. Alle Daten können verlorengehen. Lässt möglicherweise
ein gefährliches Überlaufen
in dem Fall eines katastrophalen Plattenfehlers zu.
ForceVolumeRebuild – erzwingt,
dass ein Datenträger
wieder aufgebaut wird. Lässt
möglicherweise
ein gefährliches Überlaufen
in dem Fall von katastrophalen Plattenfehlern zu.
SetVolumeLbnRemap – Freigeben
oder Sperren von erneuter Auflistung durch die logische Datenträger-Bereitstellungseinrichtung.
Sperren einer erneuten Auflistung friert die momentane logische
zu physikalische Topologie des Datenträgers ein.
SetVolumeRebuildPriority – stellt
die relative Wiederaufbaupriorität
für den
Datenträger
ein.
SetVolumeName – benennt
den Datenträger
um.
SetVolumeExtensions – stellt
provider-spezifische, erweiterte Attribute für den Datenträger ein.
QueryDiskSize – führt Größe in Bytes
der spezifizierten Disk zurück.
QueryDiskConnection – führt abstrahierte,
physikalische Verbindung zu Disk zurück.
QueryDiskProvider – führt Bereitstellungseinrichtung bzw.
Provider auf niedrigster Ebene zurück, der die Disk bzw. Platte
verwaltet.
QueryDiskStatus – führt einen momentanen Zugriff durch
das Betriebssystem zurück.
SetDiskHotSpare – erklärt Disk,
die verwendet werden soll, als eine „hot" („heiße") Reserve. Falls
die Platte momentan zu einem oder zu mehreren logischen Datenträger(n) beiträgt, wird
dieser Aufruf fehlschlagen. Die Datenträger müssen zuerst unter Verwendung
von ReplaceDisk bewegt werden.
QueryProviders – führt alle
aktiven, logischen Datenträger-Bereitstellungseinrichtungen
zurück.
QueryVolumeProviderName – führt den
Namen der spezifizierten, logischen Datenträger-Bereitstellungseinrichtung
zurück.
-
Zusätzlich schafft API 209 auch
Routines, die eine abstrakte Ansicht der physikalischen Topologie
und von Hardware-Ressourcen der Speichervorrichtungen 106 exportiert.
Zum Beispiel deckt API 209 den momentanen Zustand einer
Hardware-Steuereinheit auf, und die Parameter, die Datenträger beeinflussen,
konfiguriert unter Verwendung dieser Steuereinheit, werden durch
Steuereinheit-Attribute beschrieben, umfassend:
- – momentane
Steuereinheit in aktiver Benutzung und Pfad zu dieser Steuereinheit.
- – Batterie-Backup-Support.
- – Physikalische
Topologie, die die Steuereinheit unterlegt, wie beispielsweise die
Anzahl von Disks bzw. Platten und die Disk-Pfade.
- – Steuereinheit-Fähigkeiten,
wie beispielsweise Umlistung des logischen Blocks, Unterstützung eines
Wiederherstellen eines Datenträgers
(volume rebuild support).
- – physikalische
Attribute der Steuereinheit, wie beispielsweise Cache-Größe und Firmware-Revision.
-
- QueryVolumeController – führt die
Bereitstellungseinrichtung, einen Stapel und eine Steuereinheit,
zugeordnet zu dem spezifizierten Datenträger, zurück.
- QueryDiskController – führt die
Bereitstellungseinrichtung, den Stapel (falls einer vorhanden ist),
und die Steuereinheit, die der spezifizierten Disk zugeordnet ist,
zurück.
- QueryControllerParameters – führt das
Feld von erweiterten Parameterwerten einer lieferanten-spezifischen
Steuereinheit zurück.
- QueryControllerAttributes – führt einen
Steuereinheit-Typ, zugeordnet einer Bereitstellungseinrichtung (Provider),
irgendwelche Stapel, zu der die Steuereinheit Disks zuordnet, ob
die Steuereinheit momentan online arbeitet, die Gesundheit der Steuereinheit und
Attribute, zurück.
- QueryControllerPath – führt primäre, sekundäre und momentan
aktive Pfade für
eine mit Dualpfad versehene Steuereinheit zurück.
- QueryControllerLbnRemap – führt zurück, ob die Steuereinheit
für eine
dynamische Datenträger-Rekonfiguration
in der Lage ist oder nicht und ob der Steuereinheit momentan erlaubt
ist, dies so vorzunehmen. Falls eine Umlistung freigegeben ist,
kann die Bereitstellungseinrichtung Datenträger-Extents migrieren.
- ForceControllerHealthy – bringt
die Steuereinheit dazu, dass sie gesund ist. Lässt möglicherweise ein gefährliches Überlaufen
in dem Fall von katastrophalen Steuereinheit- oder Disk-Fehlern
zu.
- ForceControllerInitialize – bringt
die Steuereinheit dazu, zu reinitialisieren.
- ForceControllerRebuild – bringt
alle Datenträger, konfiguriert
hinter der Steuereinheit, dazu, dass sie wiederhergestellt werden.
- ForceControllerPath – erzwingt
einen aktiven Steuereinheit-Pfad zu einem spezifizierten Pfad.
- SetControllerExtensions – stellt
provider-spezifische, erweiterte Attribute für die Steuereinheit ein.
- QueryDiskParameters – führt das
Feld von lieferanten-spezifischen, in der Disk erweiterten Parameterwerten
zurück.
- QueryDiskAttributes – führt eine
zugeordnete Bereitstellungseinrichtung (Provider), einen Stapel
(falls irgendeiner vorhanden ist), einen abstrahierten Verbindungs-Typ,
eine Steuereinheit, eine Größe, einen Status
und lieferanten-spezifische Extensions (Erweiterungen) für die spezifizierte
Platte zurück.
- QueryControllerDisks – führt ein
Feld von Disks, beigefügt
zu der spezifizierten Steuereinheit, zurück. Das Feld identifiziert
jeden Plattenpfad und die Platten bzw. Disks pro Pfad.
-
Die gemeinsame Datenträger-Verwaltungseinrichtung 202 liefert
auch zwei Arten von Wartungsoptionen über API 209:
- – einfache
Target-Identifikations- und Gesundheits-Checks. Diese Funktionen
ermöglichen
einen Zugriff auf einen Untersatz von Wartungsoperationen an einem
Ort, wie beispielsweise Blitzen eines Lichts an einem Plattenlaufwerk.
Plattenlaufwerke, Steuereinheiten oder logische Datenträger können durch
diese Funktionen ins Auge gefasst werden.
- – Detaillierte
Untersuchungen der Steuereinheit und des Disk-Hardware-Status,umfassend
ein Einstellen von Hardware-Alarm-Schwellwerten. In einer Ausführungsform
folgt dieses Modell dem SCSI-3 SES Protokoll, das für einen
Fachmann auf dem betreffenden Fachgebiet bekannt ist. Diese Funktionen
beseitigen das Erfordernis nach einer detaillierten Kenntnis des
unterlegenden, lieferanten-spezifischen Protokolls.
-
Die gemeinsame Datenträger-Verwaltungseinrichtung 202 translatiert
einfache Wartungsoperationen, die auf logische Datenträger zielen,
zu Operationen auf jeder beitragenden Disk. In allen Fällen, die,
die nicht sensible Operationen spezifizieren, oder Operationen,
die nicht durch die Datenträger-Bereitstellungseinrichtungen 203 gestützt sind, werden
bewirken, dass die Operation ohne Nebeneffekte fehlschlägt.
StartMaintenance – initialisiert
eine spezifizierte Hardware-Wartungs-Operation. Die Operation wird wiederholt,
bis sie gestoppt wird.
StopMaintenance – stoppt oder hebt eine spezifizierte
Hardware-Wartungs-Operation
auf. Dies stoppt irgendwelche wiederholten Operationen, wie beispielsweise
Blinken eines Lichts.
PulseMaintenance – wiederholt eine spezifizierte Hardware-Wartungs-Operation
eine spezifizierte Anzahl von Malen.
QueryMaintenanceElements – führt die
nicht unterstützten
Wartungs-Targets und Fälle
davon zurück. Der
Wartungs-Element-Typ und eine Anzahl von jedem belegt das Feld aus
zurückgeführten Elementen.
SetMaintenanceControl – fordert
Wartungs-Steuer-Operationen.
GetMaintenanceStatus – fordert
eine Rückführung eines
Wartungsstatus.
SetMaintenanceThreshold – fordert Wartungs-Schwellwert-Änderungs-Operationen.
GetMaintenanceThreshold – fordert
eine Rückführung von
Wartungs-Schwellwerten.
-
Die gemeinsame Datenträger-Verwaltungseinrichtung 202 gibt
eine Funktionsabstimmung frei und überwacht in Bezug auf Anwendungen 210.
Datenträger-Bereitstellungseinrichtungen 203 müssen diese
Funktionen ausführen,
allerdings sind dabei nur minimale Anforderungen in Bezug auf diese
Ausführung
vorhanden. Datenträger-Bereitstellungseinrichtungen 203 könnten eine
Eigentums-Funktions-Abstimmung ausführen und nur die erforderliche Funktions-Abstimrnungs-Überwachung
freigeben. Eine Datenträger-Bereitstellungseinrichtung
könnte auch
so ausgewählt
werden, um transparent zu sein, und alle Arten von Abstimmungsknöpfen oder
eine Menge einer Funktionsüberwachung
freilegen, allerdings keine provider-spezifischen Aktionen vornehmen.
Alle Funktions-Abstimmungs-Parameter werden dahingehend angenommen,
dass sie providerspezifisch sind.
QueryPerformanceAttributes – führt gemeinsame und
lieferanten-spezifische Funktions-Attribut-Felder zurück.
EnablePerformanceCounter – gibt spezifizierte
Funktionszähler
frei.
DisablePerformanceCounter – sperrt spezifizierte Funktionszähler.
ClearPeformanceCounter – löscht (setzt
auf Null) spezifizierte Funktionszähler.
QueryPerformanceData – führt momentanes
Funktions-Zähler-Wert-Feld
zurück.
StatePerformanceMonitor – startet
Funktionszähler.
StopPerformanceMonitor – stoppt
Funktionszähler.