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