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 ファイル システムとしてエクスポートするように構成することを指定しています。 構成セクション内の属性では、エクスポートされたファイルシステムのプロパティについて説明します。
クラスターごとに 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 クラスター テンプレートでファイル サーバー ノードを定義できます。 テンプレート構成を使用して、ファイル システムのプロパティを設定できます。 volumesとmountsを使用してローカル ファイルシステムを定義し、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 | ファイルシステムをエクスポートするときに使用する既定以外のオプション。 |