IntelliCache

참고:

이 기능은 Citrix Virtual Desktops에서 Citrix Hypervisor를 사용하는 경우에만 지원됩니다.

GFS2 SR을 사용하는 VM에는 Intellicache가 지원되지 않습니다.

IntelliCache와 함께 Citrix Hypervisor를 사용하면 공유 스토리지와 로컬 스토리지의 조합을 사용할 수 있으므로 호스팅된 가상 데스크톱 인프라 배포를 비용 효율적으로 수행할 수 있습니다. 다수의 VM(가상 컴퓨터)이 공통 OS 이미지를 공유하는 경우 특히 유용합니다. 스토리지 어레이에 대한 부하가 줄어들고 성능이 개선됩니다. 또한 로컬 스토리지가 공유 스토리지의 마스터 이미지를 캐시하므로 공유 스토리지를 드나드는 네트워크 트래픽이 줄어듭니다.

IntelliCache는 VM 호스트의 로컬 스토리지에 있는 VM 상위 VDI의 데이터를 캐시하는 방식으로 작동합니다. 이 로컬 캐시는 상위 VDI에서 읽은 데이터로 채워집니다. 다수의 VM이 공통의 상위 VDI를 공유하는 경우 VM은 다른 VM에서 캐시로 읽은 데이터를 사용할 수 있습니다. 공유 스토리지에 있는 마스터 이미지에 추가로 액세스할 필요가 없습니다.

IntelliCache에는 씬 프로비저닝된 로컬 SR이 필요합니다. 씬 프로비저닝은 사용 가능한 스토리지의 사용을 최적화하는 방법입니다. 이 접근 방식을 사용하면 공유 스토리지 대신 로컬 스토리지를 더 많이 사용할 수 있습니다. 이 접근 방식에서는 데이터 블록이 필요에 따라 할당됩니다. 이와 달리 다른 접근 방식의 경우 모든 블록이 미리 할당됩니다.

중요:

씬 프로비저닝은 호스트의 기본 로컬 스토리지 유형을 LVM에서 EXT4으로 변경합니다. Citrix Virtual Desktops 로컬 캐싱이 제대로 작동하려면 씬 프로비저닝을 사용하도록 설정해야 합니다.

씬 프로비저닝을 사용할 경우 관리자는 SR(스토리지 저장소)에 연결된 VM에 해당 SR에서 사용할 수 있는 공간보다 더 많은 스토리지 공간을 제공할 수 있습니다. 간을 항상 확보하고 있지 않으며 LUN이 할당되어도 VM이 데이터를 쓰기 전까지는 데이터 블록을 요청하지 않습니다.

경고:

씬 프로비저닝된 SR은 필요에 따라 해당 VM의 디스크 사용량이 증가할 수 있으므로 물리적 공간을 모두 써버릴 수 있습니다. IntelliCache VM은 로컬 SR 캐시가 가득 찰 경우 자동으로 공유 스토리지를 사용함으로써 이 문제를 해결합니다. 동일한 SR에 기존의 가상 컴퓨터와 IntelliCache VM을 혼합하여 사용하면 IntelliCache VM의 크기가 빠르게 증가할 수 있으므로 이 방법은 사용하지 마십시오.

IntelliCache 배포

IntelliCache는 호스트를 설치하는 동안 사용하도록 설정하거나, 실행 중인 호스트에서 CLI를 통해 수동으로 사용하도록 설정해야 합니다.

가능한 가장 빠른 데이터 전송을 위해 고성능 로컬 저장 장치를 사용하는 것이 좋습니다. 예를 들어 SSD(Solid State Disk) 또는 고성능 RAID 배열을 사용합니다. 로컬 디스크의 크기를 결정할 때는 데이터 처리량과 스토리지 용량을 모두 고려해야 합니다. 소스 VDI (가상 디스크 이미지) 를 호스팅하는 데 사용되는 공유 스토리지 유형은 NFS 또는 EXT3/EXT4 기반이어야 합니다.

호스트 설치 시 사용하도록 설정

호스트를 설치하는 동안 IntelliCache를 사용하도록 설정하려면 Virtual Machine Storage(가상 컴퓨터 스토리지) 화면에서 Enable thin provisioning(씬 프로비저닝 사용)을 선택합니다. 이 옵션을 선택하면 호스트의 로컬 SR이 VM VDI의 로컬 캐싱에 사용되도록 선택됩니다.

설치 화면의 가상 시스템 스토리지 패널입니다.

기존 호스트를 씬 프로비저닝을 사용하도록 변환

기존 LVM 로컬 SR을 삭제하고 씬 프로비저닝된 EXT3/EXT4 SR로 교체하려면 다음 명령을 입력합니다.

경고:

이러한 명령은 기존 로컬 SR을 제거하고 SR의 VM은 영구적으로 삭제됩니다.

    localsr=`xe sr-list type=lvm host=hostname params=uuid --minimal`
        echo localsr=$localsr
        pbd=`xe pbd-list sr-uuid=$localsr params=uuid --minimal`
        echo pbd=$pbd
        xe pbd-unplug uuid=$pbd
        xe pbd-destroy uuid=$pbd
        xe sr-forget uuid=$localsr
        sed -i "s/'lvm'/'ext'/" /etc/firstboot.d/data/default-storage.conf
        rm -f /var/lib/misc/ran-storage-init
        systemctl restart storage-init.service
        xe sr-list type=ext
<!--NeedCopy-->

로컬 캐싱을 사용하도록 설정하려면 다음 명령을 입력합니다.

    xe host-disable host=hostname
        localsr=`xe sr-list type=ext host=hostname params=uuid --minimal`
        xe host-enable-local-storage-caching host=hostname sr-uuid=$localsr
        xe host-enable host=hostname
<!--NeedCopy-->

인텔리캐시를 사용한 VM 동작

VDI 플래그on-boot는 VM이 부팅될 때 VM VDI의 동작을 지시하고 VDI 플래그allow-caching는 캐싱 동작을 지시합니다.

이러한 매개변수에 사용할 값은 만들려는 VM의 유형과 용도에 따라 달라집니다.

참고:

VDI가 GFS2 SR에 있는 VM의 경우 VM 부팅 시 동작은 다른 유형의 SR에 VDI가 있는 VM과 다릅니다. GFS2 SR의 VDI의 경우 부팅 시 옵션은 VM 부팅이 아닌 VM 종료 시 적용됩니다.

구현 세부 정보 및 문제 해결

Q: IntelliCache는 라이브 마이그레이션 및 고가용성과 호환됩니까?

A: 가상 데스크톱이 개인 모드, 즉 on-boot=persist인 경우 라이브 마이그레이션 및 고가용성을 IntelliCache와 함께 사용할 수 있습니다.

경고:

해당 VDI 중 하나라도 캐싱 동작 플래그가 on-boot=resetallow-caching=true로 설정되어 있으면 VM을 마이그레이션할 수 없습니다. 이러한 속성이 설정된 VM을 마이그레이션하려고 하면 실패합니다.

Q: 로컬 캐시는 로컬 디스크의 어디에 위치합니까?

A: 캐시는 SR(스토리지 저장소)에 있습니다. 각 호스트에는 어떤 SR(로컬)이 캐시 파일에 사용되는지를 나타내는 구성 매개 변수(local-cache-sr이라고 함)가 있습니다. 일반적으로 이 SR은 EXT3/EXT4 타입 SR입니다. IntelliCache를 사용하여 VM을 실행하면 SR 내부에 이름이 uuid.vhdcache인 파일이 있는 것을 확인할 수 있습니다. 이 파일은 해당 UUID가 지정된 VDI의 캐시 파일입니다. 이러한 파일은 Citrix Hypervisor 센터에 표시되지 않으며 이들 파일을 확인할 수 있는 방법은 dom0에 로그인하여 /var/run/sr-mount/sr-uuid의 내용을 표시하는 것뿐입니다.

Q: 캐시로 사용할 특정 SR은 어떻게 지정합니까?

A: 호스트 개체 필드 local-cache-sr은 로컬 SR을 나타냅니다. 다음 명령을 실행하여 값을 볼 수 있습니다.

xe sr-list params=local-cache-sr,uuid,name-label
<!--NeedCopy-->

이 필드는 다음과 같은 경우에 설정됩니다.

첫 번째 옵션은 EXT3/EXT4 유형 로컬 SR을 사용하며 호스트 설치 중에 생성됩니다. 두 번째 옵션은 명령줄에 지정된 SR을 사용합니다.

경고:

이러한 단계는 둘 이상의 로컬 SR을 구성한 사용자에게만 필요합니다.

Q: 로컬 캐시는 언제 삭제됩니까?

A: VDI 캐시 파일은 VDI 자체가 삭제되는 경우에만 삭제됩니다. 캐시는 VDI가 VM에 연결될 때(예: VM 시작 시) 재설정됩니다. VDI를 삭제할 때 호스트가 오프라인이면 시작 시 실행되는 SR 동기화가 캐시 파일의 가비지를 수집합니다.

참고:

VM이 다른 호스트로 마이그레이션되거나 종료되는 경우에는 캐시 파일이 호스트에서 삭제되지 않습니다.