클라우드 캐시 개요
클라우드 캐시는 복원력과 고가용성을 제공하기 위해 프로필 및 ODFC 컨테이너와 함께 작동하는 기능입니다. Cloud Cache는 로컬로 탑재된 컨테이너를 사용하여 원격 스토리지 공급자에게 주기적인 업데이트를 제공합니다. Cloud Cache는 단기 또는 간헐적인 로컬(내부 지역, 근접) 스토리지 문제로부터 사용자를 격리하도록 설계되었습니다. 구성에 따라 서로 다른 지역에서 원격 스토리지 공급자를 사용할 때 BCDR(비즈니스 연속성 또는 재해 복구) 계획의 일부로 사용할 수도 있습니다. Cloud Cache를 사용하면 로컬 캐시에 필요한 추가 I/O 작업 및 스토리지를 수용하기 위해 가상 머신에 성능 및 스토리지 요구 사항이 적용됩니다.
클라우드 캐시 고려 사항:
- Cloud Cache는 에 있는 항목의 순서에 따라 스토리지 공급자를
CCDLocations
사용합니다. - 스토리지 공급자는 근접한 다음 기본 설정 순서로 나열되어야 합니다.
- 스토리지 공급자에서 데이터를 수화 할 때는 하나의 공급자만 사용됩니다.
- 데이터는 데이터 수화 중에 사용되는 공급자에 관계없이 모든 스토리지 공급자에게 기록됩니다.
- 스토리지 공급자의 성능(대기 시간, 사용률, 병목 현상)은 로컬 복사본과의 동기화 상태 영향을 줍니다.
- 로컬 캐시의 업데이트에 뒤처진 공급자가 하나 이상 있으면 성능이 저조한 스토리지 공급자를 나타내는 지표가 될 수 있습니다.
Ping
또는Test-NetConnection
명령 결과가 트랜잭션 I/O와 동일하지 않으며 스토리지 공급자가 수행하거나 수행할 수 있는 방법에 대한 잘못된 지표입니다.
그림 1: 클라우드 캐시 구성 요소를 보여 주는 자세한 다이어그램
클라우드 캐시 구성 요소
로컬 캐시
사용자 프로필에 사용되는 컨테이너가 만들어지고 가상 머신(로컬 캐시)에 로컬로 저장되므로 Cloud Cache는 원격 스토리지 공급자에 대한 연결 문제로부터 사용자를 격리할 수 있습니다. 처음 로그인하는 동안 FSLogix는 사용자 C:\ProgramData\FSLogix\Cache
에 대한 컨테이너를 만들고 컨테이너를 가상 머신에 탑재합니다. 다음으로, FSLogix는 사용자 프로필에 필요한 모든 리디렉션을 설정합니다. 그런 다음 사용자 프로필 서비스는 로컬 캐시에 사용자의 프로필을 만듭니다. 사용자 프로필에 기록된 모든 데이터는 일시적으로 동일한 디렉터리에 블록 수준 캐시 개체로 저장됩니다. 그런 다음 이러한 블록 수준 캐시 개체가 로컬 캐시에 커밋됩니다. 블록 수준 캐시 개체를 만들기 전에 사용자의 프로필에 대한 쓰기는 프록시 파일을 통해 메모리에서 처리됩니다.
2번째 또는 N번째 로그인 중에 FSLogix는 가상 머신에 저장된 이전 로컬 캐시 VHD를 찾아 탑재하려고 시도합니다. 로컬 캐시를 찾는 것은 기본 구성 설정이며 디스크 공간 이벤트가 낮아질 수 있으므로 원하지 않을 수 있습니다. 자세한 설정은 클라우드 캐시 설정 참조 페이지를 검토하세요.
그림 2: 클라우드 캐시 로컬 캐시
원격 스토리지 공급자(수화, 플러시, 복제)
Cloud Cache는 사용자 세션 중에 로컬 캐시에서 사용자의 프로필을 작동하며, 지정된 CCDLocations
대로 하나 이상의 원격 스토리지 공급자로 구성해야 합니다. 이러한 원격 스토리지 공급자는 로컬 캐시의 복사본을 저장하며 현재 세션 및 후속 로그인에 사용됩니다. 사용자 세션 중에 모든 공급자가 비정상 상태가 되면 하나 이상의 공급자가 정상 상태로 돌아올 때까지 로컬 캐시가 계속 작동하고 1씩 증가합니다.
1 로컬 캐시는 설정에 지정된 SizeInMBs
대로 컨테이너의 최대 크기까지만 증가합니다.
하이드 레이트
로컬 캐시에 파일 시스템에서 요청한 데이터가 포함되어 있지 않으면 Cloud Cache는 원격 스토리지 공급자 1개에서 로컬 캐시로 데이터를 수화(읽기 및 복사)합니다. 이 작업은 사용자 프로필에 대한 로컬 캐시를 채울 때 로그인 프로세스의 일부이기도 합니다.
플러시
플러시 작업은 일반적으로 세 가지 방법으로 발생합니다.
- 지연 비동기 작업에서 Cloud Cache는 각 공급자가 자체 스레드에서 플러시될 때 모든 스토리지 공급자에 대한 변경 내용을 동시에 플러시합니다. FSLogix는 이 작업을 제한하지 않으며 시스템에서 허용하는 만큼의 처리량을 활용합니다.
- 하나 이상의 공급자가 모든 업데이트를 포함하지 않는 경우 로그아웃하는 동안 모든 공급자가 동일한 시퀀스에 있을 때까지 사용자의 로그아웃이 2로 지연됩니다.
- 스토리지 공급자에 대한 연결이 비정상 상태가 되면 사용자 세션 중에 FSLogix는 모든 변경 내용을 큐에 대기한 다음 정상 상태로 돌아갈 때 공급자에게 플러시합니다.
2 값을 사용하여 Cloud Cache를 구성하는 방법에 따라 사용자의 로그아웃이 HealthyProvidersRequiredForUnregister
지연됩니다.
복제
전체 VHD(x) 클론은 Cloud Cache가 로그인 시 스토리지 공급자가 동일한 시퀀스에 있지 않다고 판단할 때 수행됩니다. 이 작업 중에 보류 중인 모든 쓰기는 모든 스토리지 공급자가 동일한 시퀀스에 있을 때까지 로컬 캐시에 유지됩니다. 완료되면 플러시 작업이 스토리지 공급자에게 새 데이터를 보내기 시작합니다.
인덱싱(시간 제한 쓰기 캐시)
클라우드 캐시는 로컬 캐시 내에서 인덱싱을 사용합니다. 시간 제한 쓰기 캐시는 로컬 캐시에 아직 커밋되지 않은 쓰기를 나타내는 파일입니다. 이러한 파일은 숫자 확장자를 사용하여 주석이 지정됩니다. 인덱스가 로컬 캐시에 커밋되면 캐시 개체로 변환됩니다.
인덱스 파일은 가상 머신이 예기치 않게 종료되거나 다시 부팅될 때마다 고려해야 합니다. 이러한 파일은 로컬 캐시에 커밋되지 않은 데이터를 나타내며 데이터가 손실될 수 있습니다. 최악의 경우 손상된 컨테이너입니다. 비영구 또는 다중 세션 환경에서 가상 머신이 예기치 않은 이벤트에서 복구되면 사용자는 일반적으로 동일한 가상 머신에 연결하지 않습니다. 이러한 경우 제대로 커밋되지 않았고 스토리지 공급자로 플러시되지 않은 데이터가 손실되어 사용자 프로필 컨테이너에 문제가 발생할 수 있습니다.
프록시 파일
클라우드 캐시는 실제 VHD 파일이 아닌 것처럼 Profile_%username%.vhd
표시되는 프록시 파일의 개념을 사용합니다. 프록시 파일은 로컬 캐시로 향하는 모든 I/O 쓰기를 수집하고 처리하는 수단으로 사용됩니다. I/O 쓰기는 캐시 디렉터리에서 블록 수준 캐시 개체로 기록되기 전에 메모리에 버퍼링되고 프록시 파일을 통해 추적됩니다. 프록시 파일의 크기는 로컬 캐시 파일과 동일하지만 이 파일에 데이터가 기록되지 않은 디스크의 실제 크기는 0입니다.
그림 3: 클라우드 캐시 프록시 파일
보조 파일
Cloud Cache는 로컬 캐시의 제어 및 시퀀스를 기본 위해 두 개의 보조 파일을 사용합니다.
참고 항목
이러한 보조 파일은 FSLogix에서 사용되며 제품 외부에서 열거나 사용할 수 없습니다. 해당 파일의 모든 관련 정보는 로그 파일 또는 이벤트 로그 항목을 통해 사용할 수 있습니다.
파일 잠금
잠금 파일은 해당 이름이 암시할 수 있으며, 파일은 컨테이너에 I/O 잠금이 있는 가상 머신을 결정하는 데 사용합니다. Cloud Cache는 이 정보를 사용하여 지정된 공급자에 대한 컨테이너의 소유권을 확인합니다. ProfileType이 '3'(다중 또는 동시 세션)으로 설정된 Cloud Cache를 사용하는 경우 잠금 파일 메커니즘이 중요합니다.
메타 파일
메타 파일은 컨테이너의 상태를 추적하는 다목적 파일입니다. 메타 파일 내에서 Cloud Cache는 시퀀스 번호 매기기 시스템을 사용하여 가장 최근 데이터가 있는 공급자를 결정합니다.
스토리지 공급자
FSLogix는 스토리지 공급자가 아니라 스토리지 공급자의 기본 아키텍처를 사용합니다. FSLogix에서 지원하는 스토리지 공급자에 대한 자세한 내용은 Container Storage 옵션을 검토 하세요.