참고:
이 기능은 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는 호스트를 설치하는 동안 사용하도록 설정하거나, 실행 중인 호스트에서 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-->
VDI 플래그on-boot
는 VM이 부팅될 때 VM VDI의 동작을 지시하고 VDI 플래그allow-caching
는 캐싱 동작을 지시합니다.
이러한 매개변수에 사용할 값은 만들려는 VM의 유형과 용도에 따라 달라집니다.
공유되거나 무작위로 할당된 컴퓨터의 경우:
on-boot
매개 변수를 reset
로 설정합니다.allow-caching
같이 설정합니다. true
예:
xe vdi-param-set uuid=vdi_uuid on-boot=reset allow-caching=true
<!--NeedCopy-->
VM 부팅 시 VDI가 이전에 부팅할 때의 상태로 되돌아갑니다. VM이 실행되는 동안 수행된 모든 변경 사항은 VM이 다음에 부팅될 때 손실됩니다. 새 VM 데이터는 로컬 스토리지에만 기록됩니다. 공유 스토리지에는 쓰기 작업이 수행되지 않습니다. 이것은 공유 스토리지의 부하가 줄어든다는 것을 의미합니다. 그러나 호스트 간에 VM을 마이그레이션할 수는 없습니다.
영구적인 변경을 수행할 수 없는 사용자에게 표준화된 데스크톱을 제공하려는 경우 이 옵션을 선택합니다.
고정식 또는 전용 기계의 경우:
on-boot
매개 변수를 persist
로 설정합니다.allow-caching
같이 설정합니다. true
예:
xe vdi-param-set uuid=vdi_uuid on-boot=persist allow-caching=true
<!--NeedCopy-->
VM 부팅 시 VDI가 마지막으로 종료할 때의 상태를 유지합니다. 새 VM 데이터는 로컬 스토리지와 공유 스토리지에 기록됩니다. 캐시된 데이터를 읽을 때는 공유 스토리지에 대한 I/O 트래픽이 필요 없으므로 공유 스토리지의 부하가 줄어듭니다. 다른 호스트로의 VM 마이그레이션은 허용되며 데이터를 읽을 때 새 호스트의 로컬 캐시가 채워집니다.
사용자가 자신의 데스크톱에 영구적인 변경을 수행할 수 있도록 하려는 경우 이 옵션을 선택합니다.
참고:
VDI가 GFS2 SR에 있는 VM의 경우 VM 부팅 시 동작은 다른 유형의 SR에 VDI가 있는 VM과 다릅니다. GFS2 SR의 VDI의 경우 부팅 시 옵션은 VM 부팅이 아닌 VM 종료 시 적용됩니다.
Q: IntelliCache는 라이브 마이그레이션 및 고가용성과 호환됩니까?
A: 가상 데스크톱이 개인 모드, 즉 on-boot=persist
인 경우 라이브 마이그레이션 및 고가용성을 IntelliCache와 함께 사용할 수 있습니다.
경고:
해당 VDI 중 하나라도 캐싱 동작 플래그가
on-boot=reset
및allow-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-->
이 필드는 다음과 같은 경우에 설정됩니다.
호스트 설치 관리자에서 “Enable thin provisioning(씬 프로비저닝 사용)” 옵션을 선택한 경우 호스트 설치 후
xe host-enable-local-storage-caching host=host sr-uuid=sr
을 실행하는 경우 명령을 실행하려면 지정된 호스트를 사용하지 않도록 설정해야 합니다. 이 명령을 사용하는 경우 VM을 종료하십시오.
첫 번째 옵션은 EXT3/EXT4 유형 로컬 SR을 사용하며 호스트 설치 중에 생성됩니다. 두 번째 옵션은 명령줄에 지정된 SR을 사용합니다.
경고:
이러한 단계는 둘 이상의 로컬 SR을 구성한 사용자에게만 필요합니다.
Q: 로컬 캐시는 언제 삭제됩니까?
A: VDI 캐시 파일은 VDI 자체가 삭제되는 경우에만 삭제됩니다. 캐시는 VDI가 VM에 연결될 때(예: VM 시작 시) 재설정됩니다. VDI를 삭제할 때 호스트가 오프라인이면 시작 시 실행되는 SR 동기화가 캐시 파일의 가비지를 수집합니다.
참고:
VM이 다른 호스트로 마이그레이션되거나 종료되는 경우에는 캐시 파일이 호스트에서 삭제되지 않습니다.