이 페이지에서는 NFS 클라이언트를 연결하는 방법을 설명합니다.
시작하기 전에
Linux 배포 유형에 따라 NFS 클라이언트 도구를 설치하여 클라이언트를 준비합니다.
Red Hat
다음 명령어를 실행합니다.
sudo yum install -y nfs-utils
SuSe
다음 명령어를 실행합니다.
sudo yum install -y nfs-utils
Debian
다음 명령어를 실행합니다.
sudo apt-get install nfs-common
Ubuntu
다음 명령어를 실행합니다.
sudo apt-get install nfs-common
내보내기 정책을 사용한 볼륨 액세스 제어
NFSv3 및 NFSv4.1의 볼륨 액세스 제어는 클라이언트의 IP 주소를 기반으로 합니다.
볼륨의 내보내기 정책에 내보내기 규칙이 포함되어 있습니다. 각 규칙은 볼륨을 마운트할 수 있는 허용된 클라이언트를 정의하는 IP 또는 네트워크 CIDR의 쉼표로 구분된 목록입니다. 규칙은 클라이언트가 갖는 액세스 유형(예: 읽기 및 쓰기 또는 읽기 전용)도 정의합니다. 추가 보안 조치로 NFS 서버는 루트 사용자 (UID=0
)의 액세스를 nobody (UID=65535
)로 리매핑하여 볼륨의 파일에 액세스하는 동안 루트를 권한이 없는 사용자로 만듭니다. 해당 내보내기 규칙에서 루트 액세스를 사용으로 설정하면 루트 사용자가 루트로 유지됩니다. 내보내기 규칙의 순서가 중요합니다.
내보내기 정책에 관한 권장사항은 다음과 같습니다.
가장 구체적인 내보내기 규칙부터 가장 구체적이지 않은 내보내기 규칙 순으로 정렬합니다.
신뢰할 수 있는 클라이언트(예: 신뢰할 수 있는 클라이언트가 있는 특정 클라이언트 또는 CIDR)로만 내보냅니다.
신뢰할 수 있는 소규모 관리 클라이언트에 대한 루트 액세스 권한을 제한합니다.
규칙 | 허용되는 클라이언트 | 액세스 | 루트 액세스 | 설명 |
---|---|---|---|---|
1 | 10.10.5.3,
10.10.5.9 |
읽기 및 쓰기 | 사용 | 관리 클라이언트 루트 사용자는 루트로 유지되며 모든 파일 권한을 관리할 수 있습니다. |
2 | 10.10.5.0/24 | 읽기 및 쓰기 | 사용 안함 | 10.10.5.0/24 네트워크의 다른 모든 클라이언트는 를 마운트할 수 있지만 루트 액세스는 nobody에 매핑됩니다. |
3 | 10.10.6.0/24 | 읽기 전용 | 사용 안함 | 다른 네트워크는 볼륨에서 데이터를 읽을 수 있지만 쓰기는 허용되지 않습니다. |
클라이언트가 볼륨을 마운트하면 파일 수준 액세스에 따라 사용자가 할 수 있는 작업이 결정됩니다. 자세한 내용은 UNIX 스타일 볼륨의 NFS 파일 수준 액세스 제어를 참고하세요.
NFS 클라이언트 마운트 안내
Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 NFS 클라이언트의 마운트 안내를 가져오려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서 NetApp Volumes 페이지로 이동합니다.
볼륨을 클릭합니다.
더보기를 클릭합니다.
마운트 안내를 선택합니다.
Google Cloud 콘솔에 표시된 마운트 안내를 따릅니다.
워크로드에 특정 마운트 옵션 요구사항이 없는 경우 마운트 명령어를 확인하고 마운트 옵션을 사용합니다.
NFSv3만 해당: 애플리케이션에서 잠금을 사용하지 않거나 NSM 통신을 사용 설정하도록 클라이언트를 구성하지 않은 경우
nolock
마운트 옵션을 추가하는 것이 좋습니다.
gcloud
볼륨의 마운트 안내를 조회합니다.
gcloud netapp volumes describe VOLUME_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --format="value(mountOptions.instructions)"
다음 정보를 바꿉니다.
VOLUME_NAME
: 볼륨 이름입니다.PROJECT_ID
: 볼륨이 있는 프로젝트의 이름입니다.LOCATION
: 볼륨의 위치입니다.
추가 선택적 플래그에 대한 자세한 내용은 볼륨에 관한 Google Cloud SDK 문서를 참고하세요.
추가 NFSv4.1 안내
NFSv4.1을 사용 설정하면 서비스 등급이 Standard, Premium, Extreme인 볼륨도 NFSv4.2를 자동으로 사용 설정합니다. 마운트할 버전을 지정하지 않으면 Linux 마운트 명령어는 항상 사용 가능한 가장 높은 NFS 버전을 마운트합니다. NFSv4.1로 마운트하려면 마운트 명령어에서 -o vers=4.1
매개변수를 사용하세요.
NFSv3에서 사용자 및 그룹은 NFSv3 프로토콜을 통해 전송되는 사용자 ID (UID) 및 그룹 ID (GID)로 식별됩니다. 볼륨에 액세스하는 모든 클라이언트에서 동일한 UID와 GID가 동일한 사용자 및 그룹을 나타내는지 확인하는 것이 중요합니다. NFSv4에서는 보안 식별자를 사용하여 명시적 UID 및 GID 매핑이 필요하지 않습니다.
보안 식별자는 <username|groupname>@<full_qualified_domain>
형식의 문자열입니다.
보안 식별자의 예는 bob@example.com입니다. 클라이언트는 내부적으로 사용되는 UID와 GID를 보안 식별자로 변환한 후 서버에 NFSv4 요청을 전송해야 합니다. 서버는 수신 요청의 보안 식별자를 UID 및 GID로 변환해야 하고 응답의 경우 그 반대로 변환해야 합니다. 번역을 사용하면 모든 클라이언트와 서버가 서로 다른 내부 UID와 GID를 사용할 수 있습니다.
하지만 모든 클라이언트와 서버가 UID와 GID, 사용자 및 그룹 이름 간의 매핑 목록을 유지해야 한다는 단점이 있습니다. 클라이언트의 매핑 정보는 /etc/passwd
및 /etc/groups
과 같은 로컬 파일이나 LDAP 디렉터리에서 가져올 수 있습니다. 이 매핑의 구성은 클라이언트에서 실행해야 하는 rpc.idmapd
에 의해 관리됩니다.
NetApp 볼륨에서 LDAP는 매핑 정보를 제공해야 하며, Active Directory가 지원되는 유일한 RFC2307bis 호환 LDAP 서버입니다.
NFSv4에 Kerberos를 사용하는 경우 보안 식별자는 username@DOMAINNAME
형식으로 Kerberos 주 구성원을 저장합니다. 여기서 DOMAINNAME (대문자)은 영역 이름이 됩니다.
숫자 ID
이름 매핑을 구성하지 않고 NFSv3 대신 NFSv4를 사용하려는 사용자를 위해 NFSv4에서는 UID 및 GID 인코딩 텍스트 문자열을 보안 식별자로 전송하는 numeric ID
라는 옵션을 도입했습니다. 이렇게 하면 사용자의 구성 프로세스가 간소화됩니다.
다음 명령어를 사용하여 클라이언트 설정을 확인할 수 있습니다.
cat /sys/module/nfs/parameters/nfs4_disable_idmapping
기본값은 Y이며, 숫자 ID를 사용 설정합니다. NetApp Volumes는 숫자 ID 사용을 지원합니다.
NFS 클라이언트에서 rpc.idmapd 구성
사용하는 ID 또는 보안 식별자의 유형과 관계없이 NFS 클라이언트에서 rpc.idmapd
를 구성해야 합니다. 시작하기 전에 섹션의 클라이언트 유틸리티 설치 안내를 따른 경우 이미 설치되어 있지만 실행되고 있지 않을 수 있습니다. 일부 배포판에서는 첫 번째 NFS 볼륨을 마운트할 때 systemd
를 사용하여 자동으로 시작합니다. rpc.idmapd
에 필요한 최소 구성은 도메인 설정을 설정하는 것입니다. 그렇지 않으면 사용자 루트가 UID=65535 or 4294967295
와 함께 nobody로 표시됩니다.
다음 안내에 따라 NFS 클라이언트에서 rpc.idmapd
를 구성하세요.
클라이언트에서
/etc/idmapd.conf
파일을 열고 도메인 매개변수를 다음 중 하나로 변경합니다.볼륨이 LDAP에 사용 설정되어 있지 않은 경우
domain = defaultv4iddomain.com
볼륨에 LDAP가 사용 설정된 경우
domain = <FDQN_of_Windows_Domain>
다음 명령어를 실행하여
rpc.idmapd
변경사항을 활성화합니다.nfsidmap -c
NFSv4.2 지원
이제 표준, 프리미엄, 익스트림 서비스 수준에서 이미 NFSv4.1이 사용 설정된 볼륨의 NFSv4.1 외에 NFSv4.2 프로토콜을 지원합니다.
NFS 볼륨을 마운트할 때 Linux 마운트 명령은 사용 가능한 가장 높은 NFS 버전을 자동으로 선택합니다. NFSv4.1 지원 볼륨을 마운트하면 vers=4.1
마운트 옵션을 명시적으로 지정하지 않는 한 기본적으로 NFSv4.2가 사용됩니다.
NetApp Volumes는 NFSv4.2를 사용하여 NFS 확장 속성 xattrs
를 지원합니다. TR-4962에 자세히 설명된 xattrs
의 사용 및 제한사항도 적용됩니다.
Linux를 LDAP에 연결
NFSv3 확장 그룹 또는 보안 식별자가 있는 NFSv4.1을 사용하는 경우 스토리지 풀에 연결된 Active Directory를 사용하여 Active Directory를 LDAP 서버로 사용하도록 NetApp Volumes를 구성했습니다.
NFS 클라이언트와 서버 간에 일관된 사용자 정보를 유지하려면 사용자 및 그룹 정보에 Active Directory를 LDAP 이름 서비스로 사용하도록 클라이언트를 구성해야 할 수 있습니다.
다음 리소스를 사용하여 LDAP를 구성합니다.
Kerberized NFS를 사용하는 경우 이 섹션에 언급된 배포 가이드를 사용하여 LDAP를 구성하고 클라이언트와 서버 간의 일관성을 보장해야 할 수 있습니다.
다음 단계
여러 스토리지 엔드포인트가 있는 대용량 볼륨을 연결합니다.