탑재 문제 해결 - Amazon Elastic File System

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

탑재 문제 해결

아래에서 EFS 파일 시스템 탑재 문제 해결에 대한 정보를 확인할 수 있습니다.

Windows 인스턴스에서 파일 시스템 탑재에 실패

Microsoft Windows의 Amazon EC2 인스턴스에서 파일 시스템 탑재에 실패.

취할 조치

Windows EC2 인스턴스에 Amazon EFS를 사용하지 않습니다. 지원하지 않기 때문입니다.

서버에 의한 액세스 거부

파일 시스템 탑재가 실패하고 다음 메시지가 표시됩니다.

/efs mount.nfs4: access denied by server while mounting 127.0.0.1:/

NFS 클라이언트에 파일 시스템을 탑재할 권한이 없는 경우 이 문제가 발생할 수 있습니다.

취할 조치

IAM을 사용하여 파일 시스템을 탑재하려는 경우 탑재 명령에서 -o iam 옵션을 사용해야 합니다. 그러면 보안 인증을 EFS 탑재 대상에 전달하도록 EFS 탑재 도우미에 지시합니다. 여전히 액세스 권한이 없는 경우 파일 시스템 정책과 자격 증명 정책을 확인하여 연결에 적용되는 DENY 절이 없는지, 연결에 적용되는 ALLOW 절이 하나 이상 있는지 확인합니다. 자세한 내용은 IAM을 사용하여 파일 시스템 데이터 액세스 제어파일 시스템 정책 생성 단원을 참조하세요.

자동 탑재 실패 및 인스턴스 무응답

_netdev 옵션을 선언하지 않은 상태에서 파일 시스템을 인스턴스에 자동 탑재하는 경우에 발생할 수 있는 문제입니다. _netdev이 빠진 경우 EC2 인스턴스가 응답을 중지합니다. 컴퓨팅 인스턴스가 네트워킹을 시작한 후 네트워크 파일 시스템의 초기화를 완료해야 하기 때문입니다.

취할 조치

이 문제가 발생하면 AWS Support에 문의하세요.

/etc/fstab에 여러 Amazon EFS 파일 시스템을 탑재하는 데 실패

/etc/fstab에 2개 이상의 Amazon EFS 항목이 있는 systemd init system을 사용하는 인스턴스의 경우, 항목 일부 또는 전체가 탑재되지 않는 경우가 있을 수 있습니다. 이 경우, dmesg 출력에 다음과 유사하게 한 줄 이상의 줄이 표시됩니다.

NFS: nfs4_discover_server_trunking unhandled error -512. Exiting with error EIO
취할 조치

이 경우 /etc/systemd/system/mount-nfs-sequentially.service에 새 systemd service 파일을 생성하는 것이 좋습니다. 파일에 포함할 코드는 파일 시스템을 수동으로 탑재하는지 아니면 Amazon EFS 탑재 도우미를 사용하는지에 따라 달라집니다.

  • 파일 시스템을 수동으로 탑재하는 경우 ExecStart 명령이 네트워크 파일 시스템(NFS4)을 가리켜야 합니다. 파일에 다음 코드를 붙여넣습니다.

    [Unit] Description=Workaround for mounting NFS file systems sequentially at boot time After=remote-fs.target [Service] Type=oneshot ExecStart=/bin/mount -avt nfs4 RemainAfterExit=yes [Install] WantedBy=multi-user.target
  • Amazon EFS 탑재 도우미를 사용하는 경우 전송 계층 보안(TLS)을 사용하려면 ExecStart 명령이 NFS4 대신 EFS를 가리켜야 합니다. 파일에 다음 코드를 붙여넣습니다.

    [Unit] Description=Workaround for mounting NFS file systems sequentially at boot time After=remote-fs.target [Service] Type=oneshot ExecStart=/bin/mount -avt efs RemainAfterExit=yes [Install] WantedBy=multi-user.target

파일 생성 후 다음 두 명령을 실행합니다.

  1. sudo systemctl daemon-reload

  2. sudo systemctl enable mount-nfs-sequentially.service

그리고 Amazon EC2 인스턴스를 다시 시작합니다. 통상 1초 이내에 요청대로 파일 시스템이 탑재됩니다.

탑재 명령에 실패하고 "잘못된 fs 유형" 오류 메시지가 표시됨

탑재 명령에 실패하고 다음 오류 메시지가 표시됩니다.

mount: wrong fs type, bad option, bad superblock on 10.1.25.30:/, missing codepage or helper program, or other error (for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program) In some cases useful info is found in syslog - try dmesg | tail or so.
취할 조치

이 메시지를 수신한 경우 nfs-utils(또는 Ubuntu의 경우 nfs-common) 패키지를 설치합니다. 자세한 내용은 NFS 클라이언트 설치 단원을 참조하십시오.

탑재 명령에 실패하고 "잘못된 탑재 옵션" 오류 메시지가 표시됨

탑재 명령에 실패하고 다음 오류 메시지가 표시됩니다.

mount.nfs: an incorrect mount option was specified
취할 조치

이 오류 메시지는 주로 사용 중인 Linux 배포판이 Network File System 버전 4.0 및 4.1(NFSv4)을 지원하지 않음을 의미합니다. 이러한 경우에 해당하는지 확인하려면 다음 명령을 실행합니다.

$ grep CONFIG_NFS_V4_1 /boot/config*

앞선 명령에서 # CONFIG_NFS_V4_1 is not set이 반환되면 사용 중인 Linux 배포판에서 NFSv4.1이 지원되지 않는 것입니다. NFSv4.1을 지원하는 Amazon Elastic Compute Cloud(Amazon EC2)용 Amazon Machine Image(AMI) 목록은 NFS 지원 섹션을 참조하세요.

액세스 포인트를 사용한 탑재 실패

액세스 포인트로 탑재할 때 탑재 명령이 실패하고 다음 오류 메시지가 표시됩니다.

mount.nfs4: mounting access_point failed, reason given by server: No such file or directory
취할 조치

이 오류 메시지는 지정된 EFS 경로가 존재하지 않는 것을 나타냅니다. 액세스 포인트 루트 디렉터리에 대한 소유권과 권한을 제공해야 합니다. EFS는 이 정보를 사용하여 디렉터리를 생성합니다. 자세한 내용은 Amazon EFS 액세스 포인트 작업 단원을 참조하십시오.

루트 디렉터리 소유권 및 권한을 지정하지 않고 루트 디렉터리가 아직 없는 경우 EFS는 루트 디렉터리를 생성하지 않습니다. 이 경우 액세스 포인트를 사용하여 파일 시스템을 탑재하려는 시도가 실패합니다.

파일 시스템 생성 직후 파일 시스템 탑재에 실패함

탑재 대상 생성 후 DNS(Domain Name Service) 레코드가 AWS 리전 내에 완전히 전파되는 데 최대 90초까지 걸릴 수 있습니다.

취할 조치

프로그래밍 방식으로 파일 시스템을 만들어 탑재하는 경우(예: AWS CloudFormation 템플릿 사용), 대기 조건을 구현하는 것이 좋습니다.

파일 시스템 탑재가 중단된 후 실패하고 제한 시간 초과 오류가 표시됨

파일 시스템 탑재 명령이 1~2분 동안 중단된 후 실패하고 제한 시간 초과 오류가 표시됩니다. 다음 코드에 예가 나와 있습니다.

$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/ mnt [2+ minute wait here] mount.nfs: Connection timed out $ 

취할 조치

이 오류는 Amazon EC2 인스턴스 또는 탑재 대상 보안 그룹이 제대로 구성되지 않았기 때문에 발생할 수 있습니다. 탑재 대상 보안 그룹에 EC2 보안 그룹의 NFS 액세스를 허용하는 인바운드 규칙이 있는지 확인합니다. 자세한 내용은 보안 그룹 생성 단원을 참조하십시오.

지정한 탑재 대상 IP 주소가 올바른지 확인합니다. 잘못된 IP 주소를 지정했고 해당 IP 주소에는 탑재를 거부할 다른 이유가 없는 경우 이 문제가 발생할 수 있습니다.

DNS 이름을 사용한 파일 시스템 탑재에 실패

amazon-efs-utils 클라이언트를 사용하지 않고 NFS 클라이언트를 사용하여 파일 시스템의 DNS 이름을 사용하여 파일 시스템을 탑재하려고 하면 다음 예와 같이 실패합니다.

$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.efs.aws-region.amazonaws.com:/ mnt mount.nfs: Failed to resolve server file-system-id.efs.aws-region.amazonaws.com: Name or service not known. $ 

취할 조치

VPC 구성을 확인합니다. 사용자 지정 VPC를 사용하는 경우, DNS 설정이 활성화되어 있는지 확인합니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서VPC에 대한 DNS 속성을 참조하세요. 또한 파일 시스템 및 탑재 대상 DNS 이름은 존재하는 VPC 외부에서 확인할 수 없습니다.

mount 명령에서 DNS 이름을 사용하여 파일 시스템을 탑재하려면 먼저 다음과 같이 해야 합니다.

  • Amazon EFS 탑재 대상이 Amazon EC2 인스턴스와 동일한 가용 영역에 있는지 확인합니다.

  • Amazon EC2 인스턴스와 동일한 VPC에 탑재 대상이 있는지 확인합니다. 그렇지 않으면 다른 VPC에 있는 EFS 탑재 대상에 대해 DNS 이름 확인을 사용할 수 없습니다. 자세한 내용은 다른 AWS 계정 또는 VPC에서 EFS 파일 시스템 탑재 단원을 참조하십시오.

  • Amazon에서 제공하는 DNS 서버를 사용하도록 구성된 Amazon VPC 내에서 Amazon EC2 인스턴스를 연결합니다. 자세한 정보는 Amazon VPC 사용 설명서Amazon VPC 내의 DHCP 옵션 세트를 참조하세요.

  • 연결 중인 Amazon EC2 인스턴스의 Amazon VPC에 DNS 호스트 이름이 활성화되어 있는지 확인합니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서VPC의 DNS 속성을 참조하세요.

파일 시스템 탑재에 실패하고 "nfs 응답 없음" 오류가 표시됨

"nfs: server_name still not responding"와 TCP(Transmission Control Protocol) 다시 연결 이벤트 시 메시지와 함께 Amazon EFS 파일 시스템 탑재에 실패한 경우.

취할 조치

네트워크 연결이 다시 구현될 때 NFS 클라이언트가 새로운 TCP 소스 포트를 사용하도록 noresvport 탑재 옵션을 사용하세요. 이렇게 하면 네트워크 복구 이벤트 후 네트워크를 중단 없이 사용할 수 있습니다.

탑재 대상 수명 주기가 특정 상태에서 멈춤

탑재 대상 수명 주기 상태가 creating 또는 deleting 상태에서 멈췄습니다.

취할 조치

CreateMountTarget 또는 DeleteMountTarget 호출을 다시 시도해 보세요.

탑재 대상 수명 주기 상태에 오류가 표시됨

탑재 대상 수명 주기 상태가 오류로 표시됩니다.

취할 조치

Virtual Private Cloud(VPC)의 호스팅 영역이 충돌하는 경우 Amazon EFS는 새 파일 시스템 탑재 대상에 필요한 도메인 이름 시스템(DNS) 레코드를 생성할 수 없습니다. Amazon EFS는 고객 소유 호스팅 영역 내에 새 레코드를 생성할 수 없습니다. efs.<region>.amazonaws.com DNS 범위가 충돌하는 호스팅 영역을 유지 관리해야 하는 경우 별도의 VPC에 호스팅 영역을 생성하세요. VPC의 DNS 고려 사항에 대한 자세한 내용은 VPC의 DNS 속성을 참조하세요.

이 문제를 해결하려면 VPC에서 충돌하는 efs.<region>.amazonaws.com 호스트를 삭제하고 탑재 대상을 다시 생성하세요. 탑재 대상 삭제에 대한 자세한 내용은 탑재 대상 생성 섹션을 참조하세요.

탑재가 응답하지 않음

Amazon EFS 탑재가 응답하지 않는 것으로 나타납니다. 예를 들어 ls와 같은 명령이 중단됩니다.

취할 조치

이 오류는 다른 애플리케이션이 대량의 데이터를 파일 시스템에 쓰는 경우 발생할 수 있습니다. 기록 중인 파일에 대한 액세스를 작업이 완료될 때까지 차단할 수 있습니다. 일반적으로, 기록 중인 파일에 액세스하려고 하는 모든 명령 또는 애플리케이션은 중단 상태로 보일 수 있습니다. 예를 들어, ls 명령이 기록 중인 파일에 접근하려고 하면 이 명령이 중단될 수 있습니다. 일부 Linux 배포판에서 ls 명령에 별칭을 지정해서 이 명령이 디렉터리 내용을 나열하는 것 외에 파일 속성까지 검색하도록 했기 때문입니다.

이 문제를 해결하려면 다음 예에서처럼 다른 애플리케이션이 Amazon EFS 탑재에 파일을 쓰고 있으며 Uninterruptible sleep(D) 상태인지 확인합니다.

$ ps aux | grep large_io.py root 33253 0.5 0.0 126652 5020 pts/3 D+ 18:22 0:00 python large_io.py /efs/large_file

여기에 해당하는 사례임이 확인되면 다른 쓰기 작업이 완료될 때까지 기다리거나 차선책을 실행해 문제를 해결할 수 있습니다. ls 예제에서는 별칭 대신 /bin/ls 명령을 직접 사용할 수 있습니다. 이렇게 하면 파일 쓰기를 중단하지 않고 명령을 처리할 수 있습니다. 일반적으로, 데이터를 쓰는 애플리케이션이 fsync(2) 등을 사용하여 정기적으로 데이터 플러시를 강행하면 다른 응용 프로그램에 대한 파일 시스템의 응답성이 개선될 수 있습니다. 그러나 이렇게 하면 해당 애플리케이션이 데이터를 쓸 때는 성능이 저하될 수 있습니다.

탑재된 클라이언트의 연결이 끊깁니다.

Amazon EFS 파일 시스템에 탑재된 클라이언트는 여러 가지 원인으로 인해 연결이 끊길 수 있습니다. NFS 클라이언트는 중단 시 자동으로 다시 연결되도록 설계되어 일상적인 연결 끊김이 애플리케이션 성능 및 가용성에 미치는 영향을 최소화합니다. 대부분의 경우 클라이언트는 몇 초 내에 투명하게 다시 연결됩니다.

그러나 이전 버전의 Linux 커널(버전 v5.4 이하)에 포함된 NFS 클라이언트 소프트웨어에는 연결이 끊긴 경우 NFS 클라이언트가 동일한 TCP 소스 포트에서 재연결을 시도하도록 하는 동작이 포함되어 있습니다. 이 동작은 TCP RFC를 준수하지 않으므로 이러한 클라이언트가 NFS 서버(이 경우 EFS 파일 시스템)에 대한 연결을 빠르게 다시 설정하지 못할 수 있습니다.

이 문제를 해결하려면 Amazon EFS 탑재 도우미를 사용하여 EFS 파일 시스템을 탑재하는 것이 좋습니다. EFS 탑재 도우미는 Amazon EFS 파일 시스템에 최적화된 탑재 설정을 사용합니다. EFS 클라이언트 및 탑재 도우미에 대한 자세한 내용은 Amazon EFS 클라이언트 수동 설치 섹션을 참조하세요.

EFS 탑재 도우미를 사용할 수 없는 경우 이 문제를 방지하려면 NFS 클라이언트가 새 TCP 소스 포트를 사용하여 연결을 다시 설정하도록 지시하는 noresvport NFS 탑재 옵션을 사용하는 것이 좋습니다. 자세한 내용은 권장 NFS 탑재 설정 단원을 참조하십시오.

새로 탑재한 파일 시스템에 대한 작업이 "잘못된 파일 핸들" 오류를 반환함

새로 탑재한 파일 시스템에 대해 수행한 작업이 bad file handle 오류를 반환합니다.

Amazon EC2 인스턴스가 지정된 IP 주소를 사용하여 파일 시스템 하나와 탑재 대상 하나에 연결되어 있는데 파일 시스템 및 탑재 대상이 삭제된 경우 이 오류가 발생할 수 있습니다. 새 파일 시스템 및 탑재 대상을 만들어 동일한 탑재 대상 IP 주소를 사용하는 Amazon EC2 인스턴스에 연결하면 이 문제가 발생할 수 있습니다.

취할 조치

이 문제를 파일 시스템을 탑재 해제한 다음 Amazon EC2 인스턴스에 파일 시스템을 다시 탑재하여 해결할 수 있습니다. Amazon EFS 파일 시스템 탑재 해제에 대한 자세한 내용은 파일 시스템 탑재 해제 섹션을 참조하세요.

파일 시스템 탑재 해제 실패

파일 시스템이 사용 중인 경우 탑재를 해제할 수 없습니다.

취할 조치

다음 방법을 통해 이 문제를 해결할 수 있습니다.

  • 지연 탑재 해제를 사용하면 실행 시 파일 시스템 계층 구조에서 파일 시스템을 분리한 umount -l가 더 이상 사용량이 많지 않은 파일 시스템에 대한 모든 참조를 즉시 정리합니다.

  • 읽기 및 쓰기 작업이 완료되기 기다린 후 다시 umount 명령을 실행합니다.

  • umount -f 명령을 사용하여 강제로 탑재 해제합니다.

    주의

    탑재 해제를 강제 적용하면 현재 파일 시스템에서 수행되고 있는 데이터 읽기 및 쓰기 작업이 중단됩니다. 이 옵션을 사용하는 방법에 대한 자세한 내용 및 지침은 umount 매뉴얼 페이지를 참조하세요.