設定 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 匯出,並新增名為 backup的新匯出。 此匯出接著會透過此頁面的掛接組態提供給其他節點。

        [[[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 進階磁片,這會掛接在 RAID 0 組態中,並掛接至掛接點 /data。 這兩 volume 個區段會定義磁片區, cyclecloud.mounts 而 區段則定義磁片區的掛接方式。

然後,區 exports 段會指定要匯出的目錄。 export_path由於 落在 RAID 磁片區之下,寫入此匯出的資料將會由 RAID 磁片區處理。

注意

不支援針對檔案共用使用本機磁片。 本節 volume 指的是 Azure 磁片儲存體。

匯出組態選項

選項 定義
type 必填 所有 NFS 匯出的類型屬性都必須設定 nfs 為 ,才能與其他共用檔案系統類型區別。
export_path 要匯出為 NFS 檔案系統的本機路徑。 如果目錄不存在,則會建立目錄。
owner 應擁有匯出目錄的使用者帳戶。
group 應該擁有匯出目錄的使用者群組。
mode 匯出目錄的預設檔案系統許可權。
network 匯出目錄的網路介面。 預設為 all: *
sync 同步/非同步匯出選項。 預設值為 true
檔案系統的 ro/rw 匯出選項。 預設值為 true
選項 匯出檔案系統時使用的任何非預設選項。

深入閱讀