C.3. 继承、<资源>块以及重复使用资源


有些资源利用从上级资源中继承的值,通常是在 NFS 服务中。例 C.5 “资源再利用和继承的 NFS 服务设置” 演示了典型的 NFS 服务配置,资源再利用和继承设置。

例 C.5. 资源再利用和继承的 NFS 服务设置


    <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>

如果服务是平面的(即没有上级/下级关系),则需要按使用如下配置:
  • 该服务需要四个 nfsclient 资源 — 每个文件系统一个(一共两个文件系统),每个目标机器一个(一共两台目标机器)。
  • 服务需要为每个 nfsclient 指定 export path 和 file system ID,配置的这个部分容易出错。
但在 例 C.5 “资源再利用和继承的 NFS 服务设置” 中只定义一次 NFS 客户端资源 nfsclient:bobnfsclient:jim;同样也只定义一次 NFS 导出资源 nfsexport:exports。资源需要的所有属性都是从上级资源中继承的。因为继承的属性是动态的(并不与其它属性冲突),因此可能再利用那些资源 — 也就是为什么要在资源块中定义它们的原因。在很多情况下可能对配置一些资源没有可操作性。例如:在很多情况下配置文件系统资源可导致在两个节点中挂载一个文件系统,这样就会出问题。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.