你当前正在访问 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指定要导出为名为 nfs_dataNFS 文件系统的目录/mnt/exports/nfs_data。 配置部分中的属性描述了导出的文件系统属性。

请注意,每个群集只能有一个文件管理器,否则发现机制会干扰。

创建导出

还可以在群集模板中配置 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 群集模板中定义文件服务器节点。 模板配置提供对文件系统属性的非常精细的控制。 本地文件系统由 volumes 本地文件系统定义, mounts NFS 服务由此定义 exports

以下示例将这些主题提取到单个节点文件共享中。

    [[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 高级磁盘,这些卷将装载到装入点 /data 的 RAID 0 配置中。 这两 volume 个部分定义卷,而 cyclecloud.mounts 该部分定义卷的装载方式。

然后,该 exports 部分指定要导出的目录。 export_path由于 RAID 卷属于 RAID 卷,写入此导出的数据将由 RAID 卷处理。

注意

不支持对文件共享使用本地磁盘。 本 volume 部分指 Azure 磁盘存储。

导出配置选项

选项 定义
type 必填 必须为所有 NFS 导出设置 nfs 类型属性才能与其他共享文件系统类型区分开来。
export_path 要导出为 NFS 文件系统的本地路径。 如果目录尚不存在,则会创建该目录。
owner 应拥有导出目录的用户帐户。
group 应拥有导出目录的用户组。
mode 对导出的目录的默认文件系统权限。
network 在其中导出目录的网络接口。 默认值为 all: *
sync 同步/异步导出选项。 默认为 true
可写 文件系统的 ro/rw 导出选项。 默认为 true
选项 导出文件系统时要使用的任何非默认选项。

深入阅读