C.3. Vererbung, der <resources> Block, und Wiederverwendung von Ressourcen


Einige Ressourcen können davon profitieren, Werte von einer Elternressource zu erben; dies ist zum Beispiel üblicherweise bei einem NFS-Dienst der Fall. Beispiel C.5, »NFS-Dienst eingerichtet zur Ressourcen-Wiederverwendung und -Vererbung « zeigt eine typische NFS-Dienstkonfiguration, die zur Ressourcen-Wiederverwendung und -Vererbung eingerichtet ist.

Beispiel C.5. NFS-Dienst eingerichtet zur Ressourcen-Wiederverwendung und -Vererbung


    <resources>
        <nfsclient name="bob" target="bob.example.com" options="rw,no_root_squash"/>
        <nfsclient name="jim" target="jim.example.com" options="rw,no_root_squash"/>
        <nfsexport name="exports"/>
    </resources>
    <service name="foo">
        <fs name="1" mountpoint="/mnt/foo" device="/dev/sdb1" fsid="12344">
            <nfsexport ref="exports">  <!-- nfsexport's path and fsid attributes
                                            are inherited from the mountpoint &
                                            fsid attribute of the parent fs 
                                            resource -->
                <nfsclient ref="bob"/> <!-- nfsclient's path is inherited from the
                                            mountpoint and the fsid is added to the
                                            options string during export -->
                <nfsclient ref="jim"/>
            </nfsexport>
        </fs>
        <fs name="2" mountpoint="/mnt/bar" device="/dev/sdb2" fsid="12345">
            <nfsexport ref="exports">
                <nfsclient ref="bob"/> <!-- Because all of the critical data for this
                                            resource is either defined in the 
                                            resources block or inherited, we can
                                            reference it again! -->
                <nfsclient ref="jim"/>
            </nfsexport>
        </fs>
        <ip address="10.2.13.20"/>
    </service>

Wäre dieser Dienst flach (also ohne Eltern-/Kind-Relationen), müsste er wie folgt konfiguriert werden:
  • Der Dienst benötigte vier nfsclient-Ressourcen — eine pro Dateisystem (insgesamt zwei für Dateisysteme), und eine pro Zielrechner (insgesamt zwei für Zielrechner).
  • Der Dienst müsste den Exportpfad und die Dateisystem-ID für jeden nfsclient spezifizieren, was mögliche Fehlerquellen in die Konfiguration einbringt.
In Beispiel C.5, »NFS-Dienst eingerichtet zur Ressourcen-Wiederverwendung und -Vererbung « werden die NFS-Client-Ressourcen nfsclient:bob und nfsclient:jim jedoch nur einmal definiert; ebenso wird die NFS-Export-Ressource nfsexport:exports nur einmal definiert. Alle von den Ressourcen benötigten Parameter werden von der Elternressource geerbt. Da die vererbten Parameter dynamisch sind (und nicht miteinander in Konflikt stehen), ist es möglich, diese Ressourcen wiederzuverwenden — weshalb sie im Ressourcenblock definiert sind. Es ist nicht sehr praktisch, manche Ressourcen an mehreren Stellen zu konfigurieren. Wenn Sie z.B. eine Dateisystemressource an mehreren Stellen konfigurieren, kann dies dazu führen, dass ein Dateisystem in zwei Knoten eingehängt wird und dadurch Probleme verursacht.
Red Hat logoGithubRedditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

© 2024 Red Hat, Inc.