Azure HPC Cache에서 파일 쓰기 되돌림 사용자 지정
HPC Cache 사용자는 flush_file.py 유틸리티를 사용하여 요청 시 캐시가 특정 개별 파일을 백 엔드 스토리지에 쓰도록 요청할 수 있습니다. 이 유틸리티는 Linux 클라이언트 컴퓨터에 설치하고 사용하는 별도로 다운로드된 소프트웨어 패키지입니다.
이 기능은 캐시를 탑재하지 않은 시스템에서 가능한 한 빨리 캐시된 파일의 변경 내용을 사용할 수 있도록 하려는 상황을 위해 설계되었습니다.
예를 들어, Azure HPC Cache를 사용하여 클라우드에서 컴퓨팅 작업을 크기 조정하지만 데이터 세트를 온-프레미스 데이터 센터에 영구적으로 저장할 수 있습니다. Azure HPC Cache로 만들어진 변경 내용에 따라 데이터 센터에서 컴퓨팅 작업이 발생하는 경우 이 유틸리티를 사용하여 클라우드 작업에서 만들어진 출력 또는 변경 내용을 다시 온-프레미스 NAS 스토리지로 "푸시"할 수 있습니다. 이렇게 하면 온-프레미스 컴퓨팅 리소스에서 새 파일을 거의 즉시 사용할 수 있습니다.
사용자 지정 쓰기 되돌림과 플러시 중에서 선택
Azure HPC Cache에 기본 제공되는 "스토리지 대상 플러시" 옵션을 사용하여 데이터를 강제로 다시 쓸 수 있지만 이 방식은 모든 상황에 적합하지 않을 수 있습니다.
수정된 모든 파일을 다시 스토리지 시스템에 쓰는 작업은 데이터 양과 온-프레미스 시스템으로 다시 연결되는 네트워크 링크의 속도에 따라 몇 분 또는 몇 시간이 걸릴 수 있습니다. 또한 작성을 완료한 파일만 선택할 수 없습니다. 여전히 수정 중인 파일이 이 계산에 포함됩니다.
캐시는 플러시 프로세스 중에 해당 스토리지 대상의 일부 요청 처리를 차단할 수 있습니다. 동일한 스토리지 대상에 있는 파일을 사용하는 다른 컴퓨팅 클라이언트가 있는 경우 이로 인해 처리가 지연될 수 있습니다.
이 작업을 트리거하려면 최종 사용자에게는 없을 수 있는 Azure Resource Manager에 대한 기여자 액세스 권한이 필요합니다.
예를 들어, 동일한 HPC Cache 스토리지 대상에 상주하는 데이터를 사용하는 여러 개의 병렬(겹치지 않음) 컴퓨팅 작업이 있을 수 있습니다. 하나의 작업이 완료되면 해당 작업의 출력을 캐시에서 백 엔드의 장기 스토리지에 즉시 쓰기를 원할 것입니다.
다음 세 가지 옵션이 있습니다.
캐시된 파일이 캐시에서 자동으로 다시 쓰여질 때까지 기다립니다. 하지만 파일이 완전히 다시 쓰여지기까지 한 시간 이상 캐시에 있을 수 있습니다. 타이밍은 네트워크 링크 성능 및 파일 크기와 같은 다른 요인과 함께 캐시 사용 모델의 쓰기 저장 지연에 따라 다릅니다. (쓰기 저장 지연에 대해 자세히 알아보려면 캐시 사용 모델 이해를 참조하세요.)
즉시 전체 스토리지 대상에 대해 캐시된 파일을 플러시합니다. 하지만 이렇게 하면 이 스토리지 대상의 데이터도 사용 중인 다른 컴퓨팅 작업이 중단됩니다.
이 사용자 지정된 쓰기 되돌림 유틸리티를 사용하여 원하는 특정 파일만 쓰기 저장 위해 캐시에 특수 NFS 요청을 보냅니다. 이 시나리오는 다른 클라이언트에 대한 액세스를 방해하지 않으며 컴퓨팅 작업의 어느 지점에서나 트리거될 수 있습니다.
쓰기 저장 유틸리티 정보
쓰기 저장 유틸리티에는 캐시에서 장기 스토리지 시스템으로 기록될 개별 파일을 지정하는 데 사용할 수 있는 스크립트가 있습니다.
이 스크립트는 작성할 파일의 입력 스트림과 스토리지 대상 내보내기에 대한 캐시 네임스페이스 경로 및 HPC Cache 탑재 IP 주소를 사용합니다.
이 스크립트는 특수 인수가 사용하도록 설정된 NFSv3 "커밋" 호출을 사용합니다. Linux nfs-common 클라이언트는 이러한 인수를 적절하게 전달할 수 없으므로 flush_file.py 유틸리티는 Python 라이브러리의 NFS 클라이언트 에뮬레이터를 사용하여 HPC Cache NFS 서비스와 통신합니다. 라이브러리에는 컴퓨팅 클라이언트의 Linux 커널 기반 NFS 클라이언트에 존재할 수 있는 모든 제한 사항을 바이패스하는 데 필요한 모든 것이 포함되어 있습니다.
이 기능을 사용하려면 다음을 수행해야 합니다.
https://github.com/microsoft/hpc-cache-nfsv3-client의 GitHub Microsoft HPC-Cache-NFSv3-client 리포지토리에서
hpc-cache-nfsv3-client
라이브러리를 설치합니다. 하나 이상의 컴퓨팅 클라이언트에서. 필수 조건 정보 및 지침은 리포지토리의 추가 정보 파일에 포함되어 있습니다.포함된 'flush_file.py' 스크립트를 사용하여 필요한 정확한 파일을 장기 스토리지 시스템에 다시 쓰도록 캐시에 지시합니다.
GitHub 리포지토리에서 flush_file.py 스크립트 설치 및 사용에 대해 자세히 알아봅니다.