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

クラスターごとに 1 つのファイル サーバーのみを使用できることに注意してください。それ以外の場合、検出メカニズムは干渉します。

エクスポートの作成

NFS エクスポートは、クラスター テンプレートで構成することもできます。 ノードは任意の数のエクスポートを持つことができますが、1 つのクラスター内の 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 クラスター テンプレートで定義できます。 テンプレートの構成では、ファイル システムのプロパティを非常に細かく制御できます。 ローカル ファイルシステムはによって定義 volumes され、 mounts NFS サービスは exports.

次の例では、これらのトピックを 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 Disks を定義します。 2 つの volume セクションではボリュームを定義し、 cyclecloud.mounts セクションではボリュームのマウント方法を定義します。

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

注意

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

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

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

もっと読む