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 파일 시스템으로 내보낼 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 구성을 호출하는 데 필요합니다.
이 예제에서는 RAID 0 구성으로 탑재 지점 /data에 탑재되는 두 개의 SSD 볼륨 또는 Azure Premium Disks를 정의합니다.
두 volume
섹션에서는 볼륨을 정의하고 cyclecloud.mounts
섹션에서는 볼륨을 탑재하는 방법을 정의합니다.
그런 다음 exports
섹션에서는 내보낼 디렉터리를 지정합니다. export_path
은(는) RAID 볼륨에 속하므로 이 내보내기에 작성된 데이터는 RAID 볼륨에서 처리됩니다.
비고
파일 공유에 로컬 디스크를 사용하는 것은 지원되지 않습니다. volume
섹션은 Azure Disk Storage를 참조합니다.
구성 옵션 내보내기
옵션 | 정의 |
---|---|
유형 | 필수 다른 공유 파일 시스템 형식과 구분하려면 모든 NFS 내보내기에서 형식 특성을 nfs (으)로 설정해야 합니다. |
export_path | NFS 파일 시스템으로 내보낼 로컬 경로입니다. 디렉터리가 아직 없으면 디렉터리가 만들어집니다. |
소유자 | 내보낸 디렉터리를 소유해야 하는 사용자 계정입니다. |
그룹 | 내보낸 디렉터리를 소유해야 하는 사용자의 그룹입니다. |
모드 | 내보낸 디렉터리에 대한 기본 파일 시스템 권한입니다. |
네트워크 | 디렉터리를 내보낼 네트워크 인터페이스입니다. 기본값은 모두입니다. * . |
동기화 | 동기/비동기 내보내기 옵션입니다. 기본값은 true 입니다. |
쓰기 가능 | 파일 시스템에 대한 ro/rw 내보내기 옵션입니다. 기본값은 true 입니다. |
옵션 | 파일 시스템을 내보낼 때 사용할 기본이 아닌 옵션입니다. |