NFS 클라이언트 연결

이 페이지에서는 NFS 클라이언트를 연결하는 방법을 설명합니다.

시작하기 전에

Linux 배포 유형에 따라 NFS 클라이언트 도구를 설치하여 클라이언트를 준비합니다.

RedHat

다음 명령어를 실행합니다.

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 클라이언트의 마운트 안내를 확인하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 NetApp 볼륨 페이지로 이동합니다.

    NetApp Volumes로 이동

  2. 볼륨을 클릭합니다.

  3. 더보기를 클릭합니다.

  4. 마운트 안내를 선택합니다.

  5. Google Cloud 콘솔에 표시된 마운트 안내를 따릅니다.

  6. 워크로드에 특정 마운트 옵션 요구사항이 없는 경우 마운트 명령어를 식별하고 마운트 옵션을 사용합니다.

    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입니다. 클라이언트는 NFSv4 요청을 서버로 전송하기 전에 내부적으로 사용되는 UID 및 GID를 보안 식별자로 변환해야 합니다. 서버는 수신 요청의 경우 보안 식별자를 UID 및 GID로 변환하고 응답의 경우 그 반대로 변환해야 합니다. 변환을 사용하면 모든 클라이언트와 서버에서 서로 다른 내부 UID와 GID를 사용할 수 있다는 이점이 있습니다. 그러나 단점은 모든 클라이언트와 서버가 UID와 GID, 사용자 및 그룹 이름 간의 매핑 목록을 유지해야 한다는 점입니다. 클라이언트의 매핑 정보는 /etc/passwd/etc/groups와 같은 로컬 파일 또는 LDAP 디렉터리에서 가져올 수 있습니다. 이 매핑의 구성은 클라이언트에서 실행되어야 하는 rpc.idmapd에서 관리합니다.

NetApp 볼륨에서 LDAP는 매핑 정보를 제공해야 하며, 지원되는 유일한 RFC2307bis 호환 LDAP 서버는 Active Directory입니다. NFSv4에 Kerberos를 사용하는 경우 보안 식별자는 Kerberos 사용자를 username@DOMAINNAME 형식으로 저장하며 여기서 DOMAINNAME (대문자)이 렐름 이름이 됩니다.

숫자 ID

이름 매핑을 구성하고 싶지 않고 대신 NFSv3 대신 NFSv4를 사용하려는 사용자를 위해 NFSv4에는 UID 및 GID 인코딩된 텍스트 문자열을 보안 식별자로 전송하는 numeric ID라는 옵션이 도입되었습니다. 이렇게 하면 사용자의 구성 프로세스가 간소화됩니다.

다음 명령어를 사용하여 클라이언트 설정을 확인할 수 있습니다.

     cat /sys/module/nfs/parameters/nfs4_disable_idmapping
   

기본값은 숫자 ID를 사용 설정하는 Y입니다. NetApp Volumes는 숫자 ID 사용을 지원합니다.

NFS 클라이언트에서 rpc.idmapd 구성

사용하는 ID 또는 보안 식별자 유형과 관계없이 NFS 클라이언트에서 rpc.idmapd를 구성해야 합니다. 시작하기 전에 섹션의 클라이언트 유틸리티 설치 안내를 따랐다면 이미 설치되었지만 실행되지 않을 수 있습니다. 일부 배포판은 첫 번째 NFS 볼륨을 마운트할 때 systemd를 사용하여 자동으로 시작합니다. rpc.idmapd에 필요한 최소 구성은 도메인 설정을 설정하는 것입니다. 그러지 않으면 사용자 루트가 UID=65535 or 4294967295와 함께 nobody로 표시됩니다.

다음 안내에 따라 NFS 클라이언트에서 rpc.idmapd를 구성합니다.

  1. 클라이언트에서 /etc/idmapd.conf 파일을 열고 도메인 매개변수를 다음 중 하나로 변경합니다.

    • LDAP에 볼륨이 사용 설정되어 있지 않으면 domain = defaultv4iddomain.com.

    • 볼륨이 LDAP에 사용 설정된 경우 domain = <FDQN_of_Windows_Domain>.

  2. 다음 명령어를 실행하여 rpc.idmapd의 변경사항을 활성화합니다.

     nfsidmap -c

Linux를 LDAP에 연결

보안 식별자가 있는 NFSv3 확장 그룹 또는 NFSv4.1을 사용하는 경우 스토리지 풀에 연결된 Active Directory를 사용하여 Active Directory를 LDAP 서버로 사용하도록 NetApp 볼륨을 구성했습니다.

NFS 클라이언트와 서버 간에 일관된 사용자 정보를 유지하려면 Active Directory를 사용자 및 그룹 정보의 LDAP 이름 서비스로 사용하도록 클라이언트를 구성해야 할 수 있습니다.

다음 리소스를 사용하여 LDAP를 구성합니다.

Kerberized NFS를 사용하는 경우 이 섹션에 언급된 배포 가이드를 사용하여 LDAP를 구성하고 클라이언트와 서버 간의 일관성을 유지해야 할 수 있습니다.

다음 단계

대용량 볼륨을 여러 스토리지 엔드포인트에 연결합니다.