Amazon EFS 성능 문제 해결 - Amazon Elastic File System

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

Amazon EFS 성능 문제 해결

일반적으로 Amazon에서 문제를 해결하는 데 문제가 EFS 있는 경우 최신 Linux 커널을 사용하고 있는지 확인하십시오. 엔터프라이즈 Linux 배포판을 사용하는 경우 다음을 권장합니다.

  • Amazon Linux 2(커널 4.3 이상)

  • Amazon Linux 2015.09 이상

  • RHEL7.3 이상

  • Ubuntu 16.04 버전 모두

  • 커널 3.13.0-83 이상의 Ubuntu 14.04

  • SLES12 Sp2 이상

다른 배포판이나 사용자 지정 커널을 사용하고 있는 경우 커널 버전 4.3 이상을 권장합니다.

참고

RHEL6.9는 다음과 같은 이유로 인해 특정 워크로드에 적합하지 않을 수 있습니다. 병렬로 많은 파일을 열 때 성능 불량

파일 시스템을 생성할 수 없습니다. EFS

EFS파일 시스템 생성 요청이 실패하고 다음 메시지가 표시됩니다.

User: arn:aws:iam::111122223333:user/username is not authorized to perform: elasticfilesystem:CreateFileSystem on the specified resource.
취할 조치

AWS Identity and Access Management (IAM) 정책을 확인하여 지정된 리소스 조건으로 EFS 파일 시스템을 생성할 권한이 있는지 확인하십시오. 자세한 내용은 Amazon의 자격 증명 및 액세스 관리 EFS 단원을 참조하십시오.

파일 시스템에서 허용된 NFS 파일에 대한 액세스가 거부되었습니다.

16개 이상의 액세스 그룹 IDs (GIDs) 이 할당된 사용자가 파일 시스템에서 작업을 수행하려고 하면 NFS 파일 시스템에서 허용된 파일에 대한 액세스가 거부될 수 있습니다. 이 문제는 NFS 프로토콜이 GIDs 사용자당 최대 16개를 지원하고 5531에 정의된 대로 추가 GIDs 프로토콜은 NFS 클라이언트 요청에서 잘라내기 때문에 발생합니다. RFC

취할 조치

각 사용자에게 16개 이하의 액세스 그룹을 할당하도록 NFS 사용자 및 그룹 매핑을 재구성하십시오 (). GIDs

Amazon EFS 콘솔에 액세스할 때 발생하는 오류

이 섹션에서는 Amazon EFS 관리 콘솔에 액세스할 때 사용자가 겪을 수 있는 오류를 설명합니다.

ec2:DescribeVPCs에 대한 보안 인증 정보를 인증하는 중 오류가 발생했습니다.

Amazon EFS 콘솔에 액세스할 때 다음 오류 메시지가 표시됩니다.

AuthFailure: An error occurred authenticating your credentials for ec2:DescribeVPCs.

이 오류는 로그인 자격 증명이 Amazon EC2 서비스에 성공적으로 인증되지 않았음을 나타냅니다. Amazon EFS 콘솔은 사용자가 선택한 EFS 파일 시스템을 생성할 때 사용자를 대신하여 Amazon EC2 서비스를 호출합니다. VPC

취할 조치

Amazon EFS 콘솔에 액세스하는 클라이언트의 시간이 올바르게 설정되었는지 확인하십시오.

Amazon EC2 인스턴스가 정지됨

먼저 파일 시스템을 마운트 해제하지 않고 파일 시스템 탑재 대상을 삭제했기 때문에 Amazon EC2 인스턴스가 중단될 수 있습니다.

취할 조치

파일 시스템 탑재 대상을 삭제하기 전에 파일 시스템의 탑재를 해제합니다. Amazon EFS 파일 시스템 마운트 해제에 대한 자세한 내용은 을 참조하십시오파일 시스템 탑재 해제.

대용량 데이터를 쓰는 애플리케이션이 중단됨

Amazon에 대량의 데이터를 쓰는 애플리케이션이 EFS 중단되고 인스턴스가 재부팅됩니다.

취할 조치

애플리케이션이 모든 데이터를 EFS Amazon에 쓰는 데 시간이 너무 오래 걸리면 프로세스가 응답하지 않는 것처럼 보이기 때문에 Linux가 재부팅될 수 있습니다. 이러한 동작은 두 가지 커널 구성 파라미터, 즉 kernel.hung_task_panickernel.hung_task_timeout_secs로 정의합니다.

다음 예에서는 ps 명령과 D를 사용해 인스턴스가 재부팅되기 전에 중단 프로세스의 상태를 보고함으로써 이 프로세스가 I/O 대기 중임을 알립니다.

$ 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

재부팅되지 않도록 하려면 제한 시간을 늘리거나 중단 작업이 감지되면 커널 패닉을 비활성화하도록 합니다. 다음 명령은 대부분의 Linux 시스템에서 중단 작업 커널 패닉을 비활성화합니다.

$ sudo sysctl -w kernel.hung_task_panic=0

병렬로 많은 파일을 열 때 성능 불량

애플리케이션이 여러 파일을 병렬로 열 때 I/O 병렬화를 통해 예상된 성능 향상을 보이지 않습니다.

취할 조치

이 문제는 네트워크 파일 시스템 버전 4 (NFSv4) 클라이언트와 NFSv4 .1을 사용하는 RHEL 6개 클라이언트에서 발생합니다. 이러한 NFS 클라이언트는 직렬화되고 NFS OPEN 작동하기 때문입니다. CLOSE NFS프로토콜 버전 4.1과 이 문제가 없는 권장 Linux 배포판 중 하나를 사용하십시오.

NFSv4.1을 사용할 수 없는 경우 Linux NFSv4 .0 클라이언트는 사용자 ID 및 그룹별로 열기 및 닫기 요청을 직렬화한다는 점에 유의하십시오. IDs 이러한 직렬화는 여러 프로세스 또는 여러 스레드가 동시에 요청을 발급하는 경우에도 발생합니다. 모든 항목이 일치할 경우 클라이언트는 한 번에 하나의 열기 또는 닫기 작업만 NFS 서버에 보냅니다. IDs 이러한 문제를 해결하려면 다음 중 한 가지 방법을 시도하면 됩니다.

  • 동일한 Amazon EC2 인스턴스의 다른 사용자 ID에서 각 프로세스를 실행할 수 있습니다.

  • 진행 중인 모든 요청에서 사용자를 IDs 동일하게 유지하고 IDs 대신 그룹 세트를 수정할 수 있습니다.

  • 개별 Amazon EC2 인스턴스에서 각 프로세스를 실행할 수 있습니다.

쓰기 지연을 유발하는 사용자 지정 NFS 설정

사용자 지정 NFS 클라이언트 설정이 있는 경우 Amazon 인스턴스가 다른 Amazon EC2 EC2 인스턴스의 파일 시스템에서 수행된 쓰기 작업을 확인하는 데 최대 3초가 걸립니다.

취할 조치

이 문제가 발생하면 다음 중 한 가지 방법으로 해결할 수 있습니다.

  • 데이터를 읽는 Amazon EC2 인스턴스의 NFS 클라이언트에 속성 캐싱이 활성화되어 있는 경우 파일 시스템을 마운트 해제하십시오. 그런 다음 noac 옵션을 사용해 탑재 해제해 속성 캐싱을 비활성화합니다. NFSv4.1의 속성 캐싱은 기본적으로 활성화되어 있습니다.

    참고

    클라이언트 측 캐싱을 비활성화하면 애플리케이션의 성능이 잠재적으로 저하될 수 있습니다.

  • NFS프로시저와 호환되는 프로그래밍 언어를 사용하여 요청 시 속성 캐시를 지울 수도 있습니다. 이렇게 하려면 읽기 요청 직전에 ACCESS 프로시저 요청을 보낼 수 있습니다.

    예를 들어 Python 프로그래밍 언어를 사용하여 다음 호출을 구성할 수 있습니다.

    # Does an NFS ACCESS procedure request to clear the attribute cache, given a path to the file import os os.access(path, os.W_OK)

Oracle Recovery Manager로 백업을 생성하는 속도가 느림

Oracle Recovery Manager가 120초 동안 중지된 후 백업 작업을 시작하는 경우 Oracle Recovery Manager를 사용하여 백업을 생성하는 속도가 느릴 수 있습니다.

취할 조치

이 문제가 발생하는 경우 Oracle 도움말 센터의 NFS클라이언트 직접 NFS 제어 활성화 및 비활성화에 설명된 대로 Oracle Direct를 비활성화하십시오. NFS

참고

EFS아마존은 오라클 다이렉트를 지원하지 않습니다NFS.