이 페이지에서는 FlexCache 기능을 간략히 설명합니다.
FlexCache 정보
NetApp FlexCache는 특히 클라이언트가 동일한 데이터에 반복적으로 액세스하는 경우 데이터 액세스를 가속화하고, WAN 지연 시간을 줄이며, 읽기 집약적인 워크로드의 WAN 대역폭 비용을 절감합니다. FlexCache 볼륨을 만들면 기존 (원본) 볼륨의 원격 캐시 역할을 합니다. 이 캐시는 자주 액세스하는 원본 볼륨의 핫 데이터만 저장합니다.
FlexCache 볼륨이 포함된 인기 데이터에 대한 읽기 요청을 수신하면 데이터가 클라이언트로 이동하는 거리가 짧기 때문에 원본 볼륨보다 빠르게 응답합니다. FlexCache 볼륨이 자주 액세스하지 않는 콜드 데이터에 대한 읽기 요청을 수신하면 원본 볼륨에서 필요한 데이터를 가져와 저장한 다음 클라이언트 요청을 처리합니다. 그런 다음 해당 데이터에 대한 후속 읽기 요청은 FlexCache 볼륨에서 직접 처리됩니다. 첫 번째 요청 후에는 데이터가 더 이상 네트워크를 통해 이동하거나 과부하가 걸린 시스템에서 제공될 필요가 없습니다.
애플리케이션은 FlexCache 볼륨에 쓸 수 있지만 이러한 쓰기는 캐시 일관성을 유지하기 위해 원본 볼륨으로 전송됩니다.
FlexCache와 Google Cloud NetApp Volumes를 통합하면 Google 네트워크 내에 캐시 볼륨을 프로비저닝하여 하이브리드 클라우드 환경의 성능을 개선할 수 있습니다. 이 기능은 온프레미스 데이터 센터의 데이터를 클라우드에 캐시하여 워크로드를 하이브리드 클라우드로 전환하는 것을 지원합니다.
NetApp Volumes의 볼륨은 원본 볼륨으로 사용할 수 없습니다.
FlexCache에는 다음과 같은 기능이 있습니다.
쓰기 동작
데이터가 FlexCache 볼륨에 작성되면 쓰기 작업이 원본 볼륨에 전달됩니다. 원본에서 확인하면 캐시에서 쓰기를 승인합니다. 파일에 쓰면 캐시된 사본이 무효화되고 다음 액세스 시 캐시에서 다시 가져옵니다.
액세스 시간 업데이트로 인한 캐시 무효화
ONTAP는 READ
, READLINK
, READDIR
을 사용하여 읽은 파일 및 디렉터리의 액세스 시간 업데이트를 관리하는 -atime-update
라는 볼륨 수준 필드를 제공합니다.
원본 또는 캐시 볼륨의 액세스 시간 업데이트는 캐시 효율성을 줄이고 파일 액세스 성능을 저하시키며 지연 시간을 높이는 파일 무효화를 트리거할 수 있습니다. 이를 방지하려면 ONTAP volume modify -atime-update
명령어를 사용하여 원본 볼륨에서 액세스 시간 업데이트를 사용 중지하세요.
NetApp Volumes의 FlexCache 볼륨은 원본의 -atime-update
설정을 상속하므로 캐시 무효화가 증가할 수 있습니다. 따라서 원본 볼륨에서 액세스 시간 업데이트를 사용 중지하는 것이 좋습니다.
전역 파일 잠금
기본적으로 사용 중지된 전역 파일 잠금은 모든 관련 캐시 파일에서 읽기를 방지합니다. 사용 설정하면 모든 FlexCache 볼륨이 온라인 상태가 될 때까지 원본 볼륨의 수정이 일시중지됩니다. 이 기능은 캐시와 원본 간 연결의 안정성을 제어할 수 있는 경우에만 사용 설정해야 합니다. FlexCache 볼륨이 오프라인이면 수정이 일시중지되거나 시간 초과될 수 있기 때문입니다.
CIFS 변경 알림
SMB 프로토콜은 다른 클라이언트가 볼륨에 적용한 변경사항을 SMB 클라이언트에 알리는 메커니즘을 제공합니다. 이렇게 하면 Windows 탐색기와 같은 애플리케이션이 볼륨을 폴링하지 않고도 뷰를 업데이트할 수 있습니다. 이 선택적 기능은 대화형 사용자가 Windows 탐색기를 통해 SMB 볼륨의 파일에 액세스하는 캐시에 유용합니다. 그렇지 않으면 알림 로드를 줄이기 위해 사용 중지해야 합니다.
캐시 자동 입력
NetApp Volumes는 캐시를 미리 채우기 위한 API 지원을 제공하지 않지만 클라이언트 측에서 미리 워밍할 수 있습니다. 이 프로세스에는 데이터가 캐시에 로드되도록 파일을 읽는 작업이 포함됩니다.
다음 탭에는 다양한 클라이언트 운영체제의 캐시를 사전 워밍하는 명령어가 나와 있습니다. 이러한 명령어는 일반적으로 디렉터리 목록을 미리 워밍합니다.
Linux 또는 UNIX 클라이언트
캐시를 예열하려면 다음 단계를 따르세요.
find DIR_PATH -type f -print -exec sh -c 'cat "$1" > /dev/null' sh {} \;
Windows 클라이언트
캐시를 예열하려면 다음 단계를 따르세요.
for /f "delims=" %i in ('dir /b /s /a-d DIR_PATH') do @type "%i" >NUL
자동 입력 프로세스를 가속화하려면 XCP와 같은 데이터 이전 도구를 사용하는 것이 좋습니다.
XCP를 사용하여 데이터를 읽고 캐시를 채우려면 다음을 실행하세요.
xcp -md5 -q SERVER:/PATH