次の方法で共有


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_datanfs_data という名前の NFS ファイル システムとしてエクスポートするように構成することを指定しています。 構成セクション内の属性では、エクスポートされたファイルシステムのプロパティについて説明します。

クラスターごとに 1 つのファイル サーバーのみを持つことができます。 それ以外の場合は、検出メカニズムが干渉します。

エクスポートの作成

クラスター テンプレートで NFS エクスポートを構成することもできます。 ノードには任意の数のエクスポートを含めることができますが、ファイル サーバーにできるのはクラスター内の 1 つのノードのみです。 次の例は、既定の 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 サービスを定義します。

次の例では、これらのトピックを 1 つのノード ファイル共有にまとめます。

    [[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 構成を呼び出すには、次の手順が必要です。

この例では、RAID 0 構成でマウント ポイント /data にマウントする 2 つの SSD ボリュームまたは Azure Premium ディスクを定義します。 2 つの volume セクションではボリュームを定義し、 cyclecloud.mounts セクションではボリュームのマウント方法を定義します。

exportsセクションでは、エクスポートするディレクトリを指定します。 export_pathは RAID ボリュームの下にあるため、RAID ボリュームはこのエクスポートに書き込まれたデータを処理します。

ファイル共有にローカル ディスクを使用することはできません。 volumeセクションでは、Azure Disk Storage を参照します。

エクスポート構成オプション

選択肢 定義
必須 他の共有ファイルシステムの種類と区別するために、すべての NFS エクスポートに対して type 属性を nfs に設定します。
export_path NFS ファイルシステムとしてエクスポートするローカル パスを設定します。 ディレクトリが存在しない場合は、プロセスによって作成されます。
所有者 エクスポートされたディレクトリを所有するユーザー アカウントを設定します。
グループ エクスポートされたディレクトリを所有するユーザーのグループを設定します。
mode エクスポートされたディレクトリに対する既定のファイルシステムのアクセス許可を設定します。
ネットワーク ディレクトリをエクスポートするネットワーク インターフェイスを設定します。 既定値はすべてです: *
同期 同期/非同期エクスポート オプションを設定します。 既定値は true です。
書き込み可能な ファイルシステムの ro/rw エクスポート オプションを設定します。 既定値は true です。
options ファイルシステムをエクスポートするときに使用する既定以外のオプション。

もっと読む