Azure 파일 공유는 SMB(서버 메시지 블록) 프로토콜 또는 NFS(네트워크 파일 시스템) 프로토콜을 사용하여 Linux 배포에 탑재할 수 있습니다. 이 문서는 NFS를 사용하여 탑재하는 데 중점을 줍니다. SMB 파일 공유 탑재에 대한 자세한 내용은 Linux에서 Azure Files 사용을 참조하세요. 각 프로토콜에 대한 자세한 내용은 Azure 파일 공유 프로토콜을 참조하세요.
적용 대상
| 관리 모델 | 청구 모델 | 미디어 계층 | 중복성 | 중소기업 | 네트워크 파일 시스템 (NFS) |
|---|---|---|---|---|---|
| Microsoft.FileShares | 프로비전된 v2 | SSD(프리미엄) | 로컬(LRS) |
|
|
| Microsoft.FileShares | 프로비전된 v2 | SSD(프리미엄) | 영역(ZRS) |
|
|
| Microsoft.Storage (마이크로소프트 저장소) | 프로비전된 v2 | HDD(표준) | 로컬(LRS) |
|
|
| Microsoft.Storage (마이크로소프트 저장소) | 프로비전된 v2 | HDD(표준) | 영역(ZRS) |
|
|
| Microsoft.Storage (마이크로소프트 저장소) | 프로비전된 v2 | HDD(표준) | 지역(GRS) |
|
|
| Microsoft.Storage (마이크로소프트 저장소) | 프로비전된 v2 | HDD(표준) | GeoZone(GZRS) |
|
|
| Microsoft.Storage (마이크로소프트 저장소) | 프로비전된 v1 | SSD(프리미엄) | 로컬(LRS) |
|
|
| Microsoft.Storage (마이크로소프트 저장소) | 프로비전된 v1 | SSD(프리미엄) | 영역(ZRS) |
|
|
| Microsoft.Storage (마이크로소프트 저장소) | 종량제 | HDD(표준) | 로컬(LRS) |
|
|
| Microsoft.Storage (마이크로소프트 저장소) | 종량제 | HDD(표준) | 영역(ZRS) |
|
|
| Microsoft.Storage (마이크로소프트 저장소) | 종량제 | HDD(표준) | 지역(GRS) |
|
|
| Microsoft.Storage (마이크로소프트 저장소) | 종량제 | HDD(표준) | GeoZone(GZRS) |
|
|
필수 구성 요소: 네트워크 보안 구성
NFSv4.1 파일 공유(클래식 및 Microsoft.FileShares를 사용하여 만든 공유 모두)는 신뢰할 수 있는 네트워크에서만 액세스할 수 있습니다. 가상 네트워크 및 기타 네트워크 보안 설정을 사용하여 데이터를 보호하는 것을 권장합니다. 계정 키 권한 부여, Microsoft Entra 보안, ACL(액세스 제어 목록)을 포함하여 데이터 보안에 사용되는 다른 도구는 NFSv4.1 요청을 권한 부여하는 데 사용할 수 없습니다. NFS 4.1 파일 공유, 가상 머신, 네트워킹 설정을 구성하는 방법에 대한 자세한 내용은 클래식 파일 공유를 만드는 방법 및 파일 공유를 만드는 방법을 참조하세요.
NFS Azure 파일 공유 탑재
Azure Portal에서 AZNFS 탑재 도우미를 사용하여 공유를 탑재하거나 CLI에서 네이티브 NFS 탑재 명령을 사용할 수 있습니다. /etc/fstab 파일에 레코드를 만들어 Linux 서버나 VM이 부팅될 때마다 공유를 자동으로 탑재할 수도 있습니다.
nconnect Linux 탑재 옵션을 사용하여 NFS Azure 파일 공유의 성능을 대규모로 향상시킬 수 있습니다. 자세한 내용은 NFS Azure 파일 공유 성능 향상을 참조하세요.
기본 탑재 지침
클래식 NFS 파일 공유(Microsoft.Storage)
- 파일 공유가 만들어지면 공유를 선택한 다음 Linux에서 연결을 선택합니다.
- 사용하려는 탑재 경로를 입력한 다음 스크립트를 복사하여 클라이언트에서 실행합니다. Azure Portal에서는 AZNFS 탑재 도우미 패키지를 설치하고 전송 중 암호화를 사용하여 공유를 안전하게 탑재하기 위해 선택한 Linux 배포에 맞게 조정된 단계별로 즉시 사용 가능한 설치 스크립트를 제공합니다. 스크립트에는 필수 탑재 옵션만 포함되어 있지만 다른 권장 탑재 옵션을 추가할 수 있습니다.
명령줄에서 NFS 클라이언트 탑재를 사용하여 클래식 NFS 공유 탑재
명령줄에서 NFS 클라이언트 탑재를 사용하여 Azure 파일 공유를 탑재할 수도 있습니다. Linux 배포에 대한 아래 탭을 선택하여 실행해야 하는 명령을 확인합니다.
<YourStorageAccountName> 및 <FileShareName>을 사용자 정보로 바꾸십시오.
sudo apt-get -y update
sudo apt-get install nfs-common
/mount/<YourStorageAccountName>/<FileShareName>
sudo mkdir -p /mount/<YourStorageAccountName>/<FileShareName>
sudo mount -t nfs <YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /mount/<YourStorageAccountName>/<FileShareName> -o vers=4,minorversion=1,sec=sys,nconnect=4
NFS 파일 공유(Microsoft.FileShares)
파일 공유가 만들어지면 공유를 선택한 다음 Linux에서 연결을 선택합니다.
사용하려는 탑재 경로를 입력한 다음 스크립트를 복사하여 클라이언트에서 실행합니다. Azure Portal에서는 AZNFS 탑재 도우미 패키지를 설치하고 전송 중 암호화를 사용하여 공유를 안전하게 탑재하기 위해 선택한 Linux 배포에 맞게 조정된 단계별로 즉시 사용 가능한 설치 스크립트를 제공합니다. 스크립트에는 필수 탑재 옵션만 포함되어 있지만 다른 권장 탑재 옵션을 추가할 수 있습니다.
명령줄에서 NFS 클라이언트를 이용하여 NFS 공유를 마운트
명령줄에서 NFS 클라이언트 탑재를 사용하여 Azure 파일 공유를 탑재할 수도 있습니다. Linux 배포에 대한 아래 탭을 선택하여 실행해야 하는 명령을 확인합니다.
<your-subscription-id>, <your-reource-group>, <your-file-share-name>을 사용자의 정보로 바꿉니다.
# Customize these placeholders:
# - `<your-subscription-id>` → Your Azure subscription ID.
# - `<your-resource-group>` → The resource group containing the file share.
# - `<your-file-share-name>` → The name of your file share.
# you will use $hostname later when mounting the file share.
hostName=$(az resource show \
--ids "/subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group>/providers/Microsoft.FileShares/fileShares/<your-file-share-name>" \
--query "properties.hostName" \
--output tsv)
echo $hostName
# you will use shortName later when mounting the file share.
prefix=$(echo "$hostName" | sed 's/\.file\.storage\.azure\.net.*//')
shortName=$(echo "$prefix" | sed 's/\.[^.]*$//')
echo $shortName
sudo apt-get -y update
sudo apt-get install nfs-common
sudo mkdir -p /mount/<your-file-share-name>
sudo mount -t nfs $hostName:/$shortName/<your-file-share-name> /mount/<your-file-share-name> -o vers=4,minorversion=1,sec=sys
/etc/fstab을 사용하여 탑재
Linux 서버 또는 VM이 부팅할 때마다 NFS 파일 공유가 자동으로 탑재되도록 하려면 Azure 파일 공유에 대한 /etc/fstab 파일에 레코드를 만듭니다. 레코드는 AZNFS 탑재 도우미 또는 네이티브 NFS 탑재 명령을 사용하는지 여부에 따라 달라집니다.
AZNFS 탑재 도우미 패키지가 클라이언트에 설치되어 있는지 확인하려면 다음 명령을 실행합니다.
systemctl is-active --quiet aznfswatchdog && echo -e "\nAZNFS Mount Helper is installed! \n"
패키지가 설치되면 AZNFS Mount Helper is installed! 메시지가 나타납니다.
클래식 파일 공유의 경우, <YourStorageAccountName> 및 <FileShareName> 부분을 사용자 고유의 값으로 바꾸세요. 파일 공유의 경우, hostName 및 shortName 부분을 올바른 값으로 바꾸세요. 자세한 내용을 보려면 Linux 명령줄에서 man fstab 명령을 입력합니다.
전송 중 암호화를 사용하여 Aznfs 도우미로 탑재
AZNFS Mount Helper를 사용하고 전송 중 암호화를 사용하여 공유를 탑재하려는 경우 /etc/fstab의 레코드는 다음과 같아야 합니다.
# For Microsoft.Storage file share, use:
<YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> aznfs defaults,sec=sys,vers=4.1,nolock,proto=tcp,nofail,_netdev 0 2
# For Microsoft.FileShares file share, use:
$hostName:/$shortName/<FileShareName> /media/$shortName/<FileShareName> aznfs defaults,sec=sys,vers=4.1,nolock,proto=tcp,nofail,_netdev 0 2
전송 중 암호화를 사용하지 않는 Aznfs 도우미로 탑재
AZNFS 탑재 도우미를 사용하지만 전송 중에 암호화를 사용하지 않으려는 경우 /etc/fstab 의 레코드는 다음과 같습니다.
# For Microsoft.Storage file share, use:
<YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> aznfs defaults,sec=sys,vers=4.1,nolock,proto=tcp,nofail,_netdev,notls 0 2
# For Microsoft.FileShares file share, use:
$hostName:/$shortName/<FileShareName> /media/$shortName/<FileShareName> aznfs defaults,sec=sys,vers=4.1,nolock,proto=tcp,nofail,_netdev,notls 0 2
네이티브 탑재 명령을 사용하여 탑재
AZNFS 없이 네이티브 NFS 탑재를 사용하는 경우 /etc/fstab 의 레코드는 다음과 같습니다.
# For Microsoft.Storage file share, use:
<YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> nfs vers=4,minorversion=1,_netdev,nofail,sec=sys 0 0
# For Microsoft.FileShares file share, use:
$hostName:/$shortName/<FileShareName> /media/$shortName/<FileShareName> nfs vers=4,minorversion=1,_netdev,nofail,sec=sys 0 0
탑재 옵션
NFS Azure 파일 공유를 탑재할 때 권장되거나 필요한 탑재 옵션은 다음과 같습니다.
| 탑재 옵션 | 권장되는 값 | 설명 |
|---|---|---|
vers |
4 | 필수 사항입니다. 사용할 NFS 프로토콜의 버전을 지정합니다. Azure Files는 NFSv4.1만 지원합니다. |
minorversion |
1 | 필수 사항입니다. NFS 프로토콜의 부 버전을 지정합니다. 일부 Linux 배포판은 vers 매개 변수에서 부 버전을 인식하지 못합니다. 따라서 vers=4.1 대신 vers=4,minorversion=1을 사용합니다. |
sec |
sys | 필수 사항입니다. NFS 연결을 인증할 때 사용할 보안 유형을 지정합니다.
sec=sys를 설정하면 AUTH_SYS를 사용하여 NFS 작업을 인증하는 로컬 UNIX UID 및 GID를 사용합니다. |
rsize |
1048576 | 권장됩니다. 단일 NFS 읽기 작업에서 전송할 최대 바이트 수를 설정합니다. 최대 수준 1,048,576바이트를 지정하면 일반적으로 최상의 성능을 발휘합니다. |
wsize |
1048576 | 권장됩니다. 단일 NFS 쓰기 작업에서 전송할 최대 바이트 수를 설정합니다. 최대 수준 1,048,576바이트를 지정하면 일반적으로 최상의 성능을 발휘합니다. |
noresvport |
해당 없음 | 5.18 이하의 커널에 권장됩니다. 탑재 지점에 대해 NFS 서버와 통신할 때 NFS 클라이언트에 권한이 없는 원본 포트를 사용하도록 지시합니다.
noresvport 탑재 옵션을 사용하면 다시 연결한 후 NFS 공유의 가용성이 중단되지 않도록 할 수 있습니다. 고가용성을 달성하려면 이 옵션을 사용하는 것이 좋습니다. |
actimeo |
30~60 | 권장됩니다.
actimeo를 지정하면 acregmin, acregmax, acdirmin 및 acdirmax가 모두 동일한 값으로 설정됩니다. 파일 및 디렉터리에 대한 특성 캐시가 너무 빨리 만료되므로 30초 미만의 값을 사용하면 성능이 저하될 수 있습니다.
actimeo를 30~60초 사이로 설정하는 것이 좋습니다. |
nconnect |
4 | 권장됩니다. Nconnect는 클라이언트와 NFS 공유 간에 여러 TCP 연결을 사용하여 성능을 향상합니다. nconnect=4의 최적 설정을 사용하여 탑재 옵션을 구성하는 것이 좋습니다. 현재 nconnect의 Azure Files 구현에 대한 4개 채널 이상의 이득은 없습니다. |
clean |
해당 없음 | TLS가 아닌 마운트는 동일한 서버에 대한 이전 TLS 마운트가 갑자기 종료되어 오래된 항목을 남길 경우 실패할 수 있습니다. 이 문제를 해결하려면 오래된 항목을 즉시 지우는 clean 옵션을 사용하여 공유를 다시 마운트해야 합니다. AZNFS 탑재에만 적용됩니다. |
연결 유효성 검사
탑재가 실패하는 경우 프라이빗 엔드포인트가 올바르게 설정되지 않았거나 액세스할 수 없는 것일 수 있습니다. 연결 확인에 대한 자세한 내용은 연결 확인을 참조하세요.
NFS 파일 공유 스냅샷
NFS Azure 파일 공유를 사용하는 고객은 파일 공유 스냅샷을 만들 수 있습니다. 이 기능을 사용하면 사용자가 전체 파일 시스템을 롤백할 수 있고 실수로 삭제되거나 손상된 파일을 복구할 수도 있습니다. Azure Files에서 공유 스냅샷 사용을 참조하세요.
다음 단계
- 문제가 발생하면 NFS Azure 파일 공유 문제 해결을 참조하세요.