Die Ressourcentyp-Registrierungsdatei (RTR-Datei) in diesem Beispiel definiert die statische Konfiguration des DNS-Ressourcentyps. Ressourcen dieses Typs erben die in der RTR-Datei definierten Eigenschaften.
Die Informationen in der RTR-Datei werden von Resource Group Manager (RGM) gelesen, sobald der Cluster-Administrator den HA-DNS-Datendienst registriert.
Die RTR-Datei ist in einem klar definierten Format aufgebaut. In der Datei werden zuerst Ressourcentypeigenschaften definiert, dann systemdefinierte Ressourceneigenschaften und zuletzt Erweiterungseigenschaften. Weitere Informationen finden Sie in der Online-Dokumentation unter rt_reg(4) und im Abschnitt Einstellen der Ressourcen- und Ressourcentypeigenschaften.
In den folgenden Abschnitten werden die speziellen Eigenschaften der RTR-Beispieldatei beschrieben. Diese Abschnitte enthalten Listen mit den verschiedenen Teilen der Datei. Eine vollständige Liste des Inhalts der RTR-Beispieldatei finden Sie unter Auflistung der Ressourcentyp-Registrierungsdatei.
Die RTR-Beispieldatei beginnt mit Kommentaren, gefolgt von Ressourcentypeigenschaften zur Definition der HA-DNS-Konfiguration, wie in der folgenden Auflistung gezeigt.
Die Eigenschaftsnamen der Ressourcengruppen, Ressourcen und Ressourcentypen unterliegen nicht der Groß-/Kleinschreibung. Bei der Eingabe von Eigenschaftsnamen können Sie jede beliebige Kombination aus Groß- und Kleinbuchstaben verwenden.
# # Copyright (c) 1998-2005 by Sun Microsystems, Inc. # All rights reserved. # # Registration information for Domain Name Service (DNS) # #pragma ident “@(#)SUNW.sample 1.1 00/05/24 SMI” Resource_type = “sample”; Vendor_id = SUNW; RT_description = “Domain Name Service on Sun Cluster”; RT_version =”1.0”; API_version = 2; Failover = TRUE; RT_basedir=/opt/SUNWsample/bin; Pkglist = SUNWsample; Start = dns_svc_start; Stop = dns_svc_stop; Validate = dns_validate; Update = dns_update; Monitor_start = dns_monitor_start; Monitor_stop = dns_monitor_stop; Monitor_check = dns_monitor_check;
Als ersten Eintrag in der RTR-Datei müssen Sie die Resource_type-Eigenschaft deklarieren. Andernfalls schlägt die Registrierung des Ressourcentyps fehl.
Folgende Informationen liefern eine Beschreibung dieser Eigenschaften:
Sie können den Ressourcentypnamen anhand der Resource_type -Eigenschaft allein (sample) oder durch Verwendung der Hersteller-ID als Präfix, gefolgt von einem Punkt (.), gefolgt von der Ressourcentypeigenschaft (SUNW.sample) festlegen.
Wenn Sie die Hersteller-ID angeben, verwenden Sie das Börsensymbol des Unternehmens, das den Ressourcentyp definiert. Der Ressourcentypname muss im Cluster einmalig sein.
Die RT_version-Eigenschaft identifiziert die Version des Beispieldatendienstes entsprechend der Angabe des Herstellers.
Die API_version-Eigenschaft identifiziert die Sun Cluster-Version. API_version = 2 gibt z.B. an, dass der Datendienst mit jeder beliebigen Version von Sun Cluster ausgeführt werden kann, beginnend bei Sun Cluster 3.0. API_version = 5 gibt an, dass der Datendienst für jede beliebige Version von Sun Cluster beginnend mit 3.1 9/04 installiert werden kann. API_version = 5 gibt jedoch auch an, dass der Datendienst mit keiner Version von Sun Cluster installiert werden kann, die vor 3.1 9/04 herausgegeben wurde. Diese Eigenschaft wird unter dem Eintrag API_version im Abschnitt Ressourcentypeigenschaften detailliert beschrieben.
Failover = TRUE gibt an, dass der Datendienst nicht in einer Ressourcengruppe ausgeführt werden kann, der an mehreren Knoten gleichzeitig online sein kann.
RT_basedir verweist auf /opt/SUNWsample/bin als Verzeichnispfad für komplett relative Pfade, wie Rückmeldemethodenpfade.
Start, Stop und Validate liefern die Pfade für die entsprechenden Rückmeldemethodenprogramme, die von RGM ausgeführt werden. Diese Pfade sind relativ zu dem von RT_basedir angegebenen Verzeichnis.
Pkglist identifiziert SUNWsample als das Paket, das die Beispieldatendienst-Installation enthält.
Ressourcentypeigenschaften, die in dieser RTR-Datei nicht angegeben sind, wie Single_instance, Init_nodes und Installed_nodes werden auf ihre Standardwerte zurückgesetzt. Der Abschnitt Ressourcentypeigenschaften enthält eine vollständige Liste mit Ressourcentypeigenschaften, einschließlich ihrer Standardwerte.
Der Cluster-Administrator kann die Werte für Ressourcentypeigenschaften nicht in der RTR-Datei ändern.
Der Konvention gemäß werden Ressourceneigenschaften in der RTR-Datei nach den Ressourcentypeigenschaften deklariert. Ressourceneigenschaften umfassen systemdefinierte Eigenschaften, die von der Sun Cluster-Software und den von Ihnen definierten Erweiterungseigenschaften geliefert werden. Sie können für jeden Typ eine Vielzahl von Eigenschaftsattributen angeben, die von der Sun Cluster-Software geliefert werden, z.B. Mindest-, Maximal- und Standardwerte.
Die folgende Auflistung zeigt die systemdefinierten Eigenschaften in einer RTR-Beispieldatei.
# A list of bracketed resource property declarations follows the # resource type declarations. The property-name declaration must be # the first attribute after the open curly bracket of each entry. # The <method>_timeout properties set the value in seconds after which # the RGM concludes invocation of the method has failed. # The MIN value for all method timeouts is set to 60 seconds. This # prevents administrators from setting shorter timeouts, which do not # improve switchover/failover performance, and can lead to undesired # RGM actions (false failovers, node reboot, or moving the resource group # to ERROR_STOP_FAILED state, requiring operator intervention). Setting # too-short method timeouts leads to a *decrease* in overall availability # of the data service. { PROPERTY = Start_timeout; MIN=60; DEFAULT=300; } { PROPERTY = Stop_timeout; MIN=60; DEFAULT=300; } { PROPERTY = Validate_timeout; MIN=60; DEFAULT=300; } { PROPERTY = Update_timeout; MIN=60; DEFAULT=300; } { PROPERTY = Monitor_Start_timeout; MIN=60; DEFAULT=300; } { PROPERTY = Monitor_Stop_timeout; MIN=60; DEFAULT=300; } { PROPERTY = Thorough_Probe_Interval; MIN=1; MAX=3600; DEFAULT=60; TUNABLE = ANYTIME; } # The number of retries to be done within a certain period before concluding # that the application cannot be successfully started on this node. { PROPERTY = Retry_count; MIN=0; MAX=10; DEFAULT=2; TUNABLE = ANYTIME; } # Set Retry_interval as a multiple of 60 since it is converted from seconds # to minutes, rounding up. For example, a value of 50 (seconds) # is converted to 1 minute. Use this property to time the number of # retries (Retry_count). { PROPERTY = Retry_interval; MIN=60; MAX=3600; DEFAULT=300; TUNABLE = ANYTIME; } { PROPERTY = Network_resources_used; TUNABLE = AT_CREATION; DEFAULT = ““; }
Obwohl die Sun Cluster-Software die systemdefinierten Eigenschaften liefert, können Sie mithilfe von Ressourceneigenschaftsattributen verschiedene Standardwerte festlegen. Eine vollständige Liste mit Attributen, die Ihnen zum Anwenden auf Ressourceneigenschaften zur Verfügung stehen, finden Sie im Abschnitt Ressourceneigenschaftsattribute.
Beachten Sie die folgenden Punkte zu den systemdefinierten Ressourceneigenschaften in der RTR-Beispieldatei:
Sun Cluster liefert einen Mindestwert (1 Sekunde) sowie einen Standardwert (3.600 Sekunden bzw. eine Stunde) für alle Zeitüberschreitungen. Die RTR-Beispieldatei ändert den Mindestzeitüberschreitungswert in 60 Sekunden und den Standardwert in 300 Sekunden. Dieser Standardwert kann vom Cluster-Administrator übernommen oder in einen anderen Wert, 60 oder höher, geändert werden. In Sun Cluster gibt es keinen zulässigen Maximalwert.
Das TUNABLE-Attribut für die Eigenschaften Thorough_probe_interval, Retry_count und Retry_interval ist auf ANYTIME eingestellt. Diese Einstellungen weisen darauf hin, dass der Cluster-Administrator den Wert dieser Eigenschaften ändern kann, selbst bei ausgeführtem Datendienst. Diese Eigenschaften werden vom Fehler-Monitor verwendet, der für den Beispieldatendienst implementiert wurde. Der Beispieldatendienst implementiert eine Update-Methode zum Starten und Stoppen des Fehler-Monitors, wenn diese oder andere Ressourceneigenschaften durch eine Verwaltungsaktion geändert werden. Weitere Informationen finden Sie im Abschnitt Funktionsweise der Update-Methode.
Ressourceneigenschaften funktionieren wie folgt:
Erforderlich. Der Cluster-Administrator muss beim Erstellen einer Ressource einen Wert angeben.
Optional. Wenn der Cluster-Administrator keinen Wert angibt, wird vom System ein Standardwert angewendet.
Bedingt. RGM erstellt die Eigenschaft nur, wenn sie in der RTR-Datei deklariert ist.
Der Fehler-Monitor des Beispieldatendienstes verwendet die bedingten Eigenschaften Thorough_probe_interval , Retry_count, Retry_interval und Network_resources_used nur, damit sie von Ihnen in der RTR-Datei deklariert werden müssen. Weitere Informationen zur Klassifizierung von Eigenschaften finden Sie in der Online-Dokumentation unter r_properties(5) oder im Abschnitt Ressourceneigenschaften.
Am Ende der RTR-Beispieldatei befinden sich die Erweiterungseigenschaften, die in der folgenden Auflistung gezeigt werden.
# Extension Properties # The cluster administrator must set the value of this property to point to the # directory that contains the configuration files used by the application. # For this application, DNS, specify the path of the DNS configuration file on # PXFS (typically named.conf). { PROPERTY = Confdir; EXTENSION; STRING; TUNABLE = AT_CREATION; DESCRIPTION = “The Configuration Directory Path”; } # Time out value in seconds before declaring the probe as failed. { PROPERTY = Probe_timeout; EXTENSION; INT; DEFAULT = 120; TUNABLE = ANYTIME; DESCRIPTION = “Time out value for the probe (seconds)”; }
Die RTR-Beispieldatei definiert zwei Erweiterungseigenschaften, Confdir und Probe_timeout. Die Confdir-Eigenschaft gibt den Pfad des DNS-Konfigurationsverzeichnisses an. Dieses Verzeichnis enthält die in.named-Datei, die der DNS für einen erfolgreichen Betrieb benötigt. Die Start- und Validate-Methoden des Beispieldatendienstes verwenden diese Eigenschaft, um zu prüfen, ob auf das Konfigurationsverzeichnis und die in.named-Datei zugegriffen werden kann, bevor der DNS gestartet wird.
Nach Konfigurieren des Datendienstes überprüft die Validate-Methode, ob auf das neue Verzeichnis zugegriffen werden kann.
Die PROBE-Methode des Beispieldatendienstes ist keine Sun Cluster-Rückmeldemethode, sondern eine benutzerdefinierte Methode. Deshalb liefert Sun Cluster keine Probe_timeout-Eigenschaft dafür. Sie müssen eine Erweiterungseigenschaft in der RTR-Datei definieren, um einem Cluster-Administrator die Konfiguration eines Probe_timeout-Werts zu ermöglichen.