Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

C.3. Herança, os Blocos de

Alguns recursos se beneficiam herdando valores de um recurso pai; que é comumente o caso de um serviço NFS. O Exemplo C.5, “Configuração do Serviço NFS para Reuso e Herança do Recurso” mostra uma configuração de serviço NFS típica, configure para herança e reuso do recurso.

Exemplo C.5. Configuração do Serviço NFS para Reuso e Herança do Recurso


    <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 o serviço fosse horizontal (que é, sem relacionamentos pai/filho), ele precisaria ser configurado como a seguir:
  • O serviço precisaria de quatro recursos nfsclient — um por sistema de arquivo (um total de dois por sistema de arquivo) e um por máquina alvo (um total de dois por máquina alvo).
  • O serviço precisaria especificar o caminho de exportação e o ID do sistema de arquivo para cada nfsclient, que apresenta chances de erros na configuração.
No Exemplo C.5, “Configuração do Serviço NFS para Reuso e Herança do Recurso” entretanto, os recursos de cliente NFS nfsclient:bob e nfsclient:jim são definidos uma vez; da mesma maneira, o recurso de exportação do NFS nfsexport:exports é definido uma vez. Todos os atributos necessários pelos recursos são herdados dos recursos pais. Por causa que os atributos herdados são dinâmicos (e não entram em conflito entre si), é possível reusar aqueles recursos — que é porque eles são definidos no bloco de recursos. Pode não ser prático para configurar alguns recursos em múltiplos lugares. Por exemplo, configurar um recurso de sistema de arquivo em múltiplos lugares pode resultar em montar um sistema de arquivos em dois nós causando problemas.