C.3. Eredità, Il blocco delle <risorse>, ed il riutilizzo delle stesse
Alcune risorse possono ereditare i valori della risorsa genitore, ciò è comune nel caso di un servizio NFS. Esempio C.5, «Impostazione del servizio NFS per il riutilizzo e l'eredità della risorsa» mostra una configurazione del servizio NFS tipica ed una impostazione per l'utilizzo e l'eredità delle risorse.
Esempio C.5. Impostazione del servizio NFS per il riutilizzo e l'eredità della risorsa
¶ ¶ <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>¶ ¶
Se il servizio è solo (cioè senza alcun rapporto genitore/figlio), esso dovrà essere configurato nel modo seguente:
- Il servizio avrà bisogno di quattro risorse nfsclient — una per file system (un totale di due per file system), ed una per la macchina target (un totale di due per macchine target).
- Il servizio dovrà specificare il percorso di esportazione e l'ID del file system per ogni nfsclient, il quale introduce le modifiche per gli errori nella configurazione.
Tuttavia in Esempio C.5, «Impostazione del servizio NFS per il riutilizzo e l'eredità della risorsa» le risorse del client NFS nfsclient:bob e nfsclient:jim vengono definite una sola volta; similmente la risorsa di esportazione NFS nfsexport:exports viene definita una sola volta. Tutti gli attributi necessari dalle risorse sono ereditati dalla risorsa genitore. Poichè gli attributi ereditati sono dinamici (e non entrano in conflitto tra loro), sarà possibile utilizzare nuovamente le suddette risorse — ecco perchè esse vengono definite all'interno del blocco delle risorse. Potrebbe non essere pratico configurare alcune risorse in posizioni multiple, per esempio una risorsa del file system, poichè tale procedura potrebbe causare il montaggio di un file system su due nodi creando qualche problema.