你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

配置 NFS 导出

Azure CycleCloud 提供用于导出简单网络文件系统的内置支持。

创建 NFS 导出

要将目录从节点导出为共享 NFS 文件系统,请提供带有 type=nfs 和导出路径的装载配置部分:

[[[configuration cyclecloud.exports.nfs_data]]]
type = nfs
export_path = /mnt/exports/nfs_data

上述配置 cyclecloud.exports.nfs_data 指定将目录 /mnt/exports/nfs_data 配置为导出成名为 nfs_data 的 NFS 文件系统。 配置部分中的属性描述导出的文件系统属性。

每个群集只能有一个文件服务器。 否则,发现机制会产生干扰。

创建导出

还可以在群集模板中配置 NFS 导出。 节点可以具有任意数量的导出,但群集中只有一个节点可以是文件服务器。 以下示例演示了要添加到节点的配置,以禁用默认的 NFS 导出并添加新的名为 备份的导出。 其他节点可以通过本文中所述的装载配置访问此导出。

        [[[configuration]]]
        run_list = recipe[cshared::directories],recipe[cshared::server]
        cyclecloud.discoverable = true
        cshared.server.shared_dir = /shared
        cyclecloud.mounts.sched.disabled = true
        cyclecloud.mounts.shared.disabled = true
        cshared.server.legacy_links_disabled = true

        [[[configuration cyclecloud.exports.backup]]]
        type = nfs
        export_path = /mnt/raid/backup
        options = no_root_squash
        samba.enabled = false

配置 NFS 服务器和文件共享

大多数 HPC 工作流将网络文件系统(NFS)装载到可用于共享应用程序数据和作业结果的节点。 可以在 CycleCloud 群集模板中定义文件服务器节点。 可以通过模板配置设置文件系统属性。 使用 volumesmounts 定义本地文件系统,使用 exports 定义 NFS 服务。

以下示例将这些主题组合在单个节点文件共享中。

    [[node fileserver]]
        Credentials = my-creds
        Region = northeurope
        MachineType = Standard_D16s_v3
        KeypairLocation = ~/.ssh/cyclecloud.pem
        SubnetId = /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1

        [[[configuration]]]
        run_list = recipe[cshared::server]
        cyclecloud.discoverable = true
        cyclecloud.mounts.sched.disabled = true
        cyclecloud.mounts.shared.disabled = true
        cshared.server.legacy_links_disabled = true

        [[[volume v00]]]
        SSD = true
        Size = $VolumeSize
        Mount = all

        [[[volume v01]]]
        SSD = true
        Size = $VolumeSize
        Mount = all

        [[[configuration cyclecloud.mounts.all]]]
        fs_type = ext4
        raid_level = 0
        options = noatime,nodiratime,nobarrier,nofail
        mointpoint = /data

        [[[configuration cyclecloud.exports.nfs_data]]]
        type = nfs
        export_path = /data/export

[parameters NFS]
    [[parameter VolumeSize]]
    DefaultValue = 1024

configuration 部分包含节点在启动时解释的自动化参数。 调用 NFS 配置需要这些说明。

此示例定义了两个 SSD 卷或 Azure 高级磁盘,在 RAID 0 配置中装载到装入点 /data。 两个 volume 部分定义了卷,而 cyclecloud.mounts 部分定义卷的装载方式。

exports 节指定要导出的目录。 由于 export_path 位于 RAID 卷下,因此 RAID 卷会处理写入此导出的数据。

注释

不能将本地磁盘用于文件共享。 volume 部分指 Azure 磁盘存储。

导出配置选项

选项 定义
类型 必填 将类型属性设置为 nfs 所有 NFS 导出,以便与其他共享文件系统类型区分开来。
export_path 设置要导出为 NFS 文件系统的本地路径。 如果目录不存在,该过程将创建它。
所有者 设置拥有导出目录的用户帐户。
设置拥有导出目录的用户组。
mode 对导出的目录设置默认文件系统权限。
网络 设置导出目录的网络接口。 默认为全部:*
同步 设置同步/异步导出选项。 默认为 true
可写 设置文件系统的 ro/rw 导出选项。 默认为 true
选项 导出文件系统时要使用的任何非默认选项。

深入阅读