VM 스냅 샷이 성능에 영향을 미치는 이유는 무엇입니까?


27

스냅 샷이 VM 성능에 직접 영향을 미친다는 VMware KB 기사 중 하나를 읽었습니다.

그러나 팀은 스냅 샷이 성능에 어떤 영향을 미치는지 계속 묻습니다.

스냅 샷이 성능 저하 요인이라는 진술 뒤에 확실한 이유를 제시하고 싶습니다.

스냅 샷이 실제로 성능에 어떤 영향을 미치는지에 대해 약간의 이론을 설명 할 수 있습니까? 하드 디스크의 디스크 I / O 속도가 느리기 때문입니까?


2
이 기사가 읽은 KB 기사 인지 확실 하지 않습니다. 나는 그것을 참조로 추가 할 것이라고 생각했다.
Aaron Copley

답변:


28

스냅 샷을 만들면 원본 디스크 이미지가 일관된 상태로 "고정 된"상태가되며 이후의 모든 쓰기 액세스는 새로운 차등 이미지로 이동합니다. 더 나쁜 것은 여기여기에 설명 된 것처럼 차등 이미지는 변경 로그의 형식을 가지며 스냅 샷을 만든 이후 파일에 대한 모든 변경 사항을 기록합니다. 즉, 읽기 액세스는 하나의 파일뿐만 아니라 모든 차이 데이터 (원본 데이터와 원본 데이터에 대한 모든 변경 사항)도 읽어야합니다. 스냅 샷을 캐스케이드 연결하면 숫자가 훨씬 증가합니다.


2
최고의 설명. IOPS를 두 배로 늘릴뿐만 아니라 블록 수준 차이를 계산할 때 CPU 오버 헤드가 있습니다.
Aaron Copley

3
Aaron Copley ( kb.vmware.com/selfservice/microsites/… )가 링크 한이 기사를 읽은 후에 는 그보다 나빠 보입니다. 스냅 샷은 차등 이미지가 아니고 변경 로그이므로 동일한 장소에 동일한 데이터를 10 번 쓰면 스냅 샷에 기록한 데이터 크기에 10이 곱해집니다. 대신 차등 이미지는 동일한 위치에서 다시 작성된 데이터를 덮어 써야하므로보다 효율적이어야합니다.
최대

1
@zespri이 문제는 Hyper-V를 포함한 이러한 종류의 스냅 샷 기술을 사용하는 모든 가상화 플랫폼에 영향을줍니다.
Ansgar Wiechers

1
이것은 명백한 잘못입니다. 정답은 @Falcon Momot의 의견을 참조하십시오. 링크 된 기사조차도 "공간이 부족할 수 있습니다"라는 디스크 만 표시합니다. 이는 스냅 샷을 만들기 전에 남은 공간이 스냅 샷 된 디스크보다 작고 델타 디스크가 확장 할 공간이 충분하지 않은 경우에 분명합니다.
다니엘

2
@AnsgarWiechers이 답변은 분명히 틀 렸습니다. 링크 된 기사 ( kb.vmware.com/s/article/1015180 )는 다음과 같습니다. "스냅 샷으로 생성 된 하위 디스크는 스파 스 디스크입니다. 스파 스 디스크는 COW (Copy-On-Write) 메커니즘을 사용합니다.이 메커니즘은 가상 디스크에 데이터를 기록하지 않고 기록 할 때까지 데이터를 저장하지 않습니다." 뒤에; "가상 시스템에서 스냅 샷이 부족한 경우 하위 디스크 나 스파 스 디스크가 변경됩니다.이 디스크에 대한 쓰기 작업이 많을수록 기본 디스크 크기의 상한과 적은 양의 오버 헤드. "
Steve365

5

VM에서 스냅 샷을 생성하면 델타 디스크가 생성되고 운영 체제는 원래 VMDK 대신이 파일에 씁니다. 이 파일을 VM_Name-Delta.VMDK라고하지만 시스템이 스냅 샷 전에 파일을 참조해야하는 경우이 조작의 I / O를 증가시키는 VM_Name.VMDK를 참조합니다. 여러 스냅 샷을 생성하는 경우 원래 VMDK가 아닌 마지막 스냅 샷의 마지막 델타 파일을 참조하므로 I / O가 증가합니다.

예.

OS ---> 스냅 샷 (파일 A 작성) ---> (스냅 샷 파일 B 작성)

파일 A를 참조 해야하는 경우 3 개의 VMDK를 통해이를 찾습니다.

또한 스냅 샷 생성시 VM의 메모리 상태를 포함 시키면 다시 델타 파일이되고 필요한 경우 원래 메모리 파일을 참조합니다.

스냅 샷 프로세스 시점에 생성 된 모든 파일을 나열하는 파일이 생성됩니다.


2

내가 알 수있는 한 VMWare는 COW (Copy-On-Write) 로직을 사용하여 스냅 샷을 구현합니다. 따라서 하나를 생성 할 때 VM에서 수행되는 모든 작업 (예 : 거의 모든 런타임)은 전체가 본질적으로 복제 될 때까지 약간의 VM이 복사되도록합니다.

이것의 또 다른 성능 문제는 작업 사본에 아직 데이터가없는 경우 (복사본을 변경하도록 아무것도 변경하지 않았기 때문에) 읽기는 원본 사본으로 캐스케이드되어야한다는 것입니다.

스냅 샷을 백업으로 만들고 싶지만 약간의 성능 저하를 견딜 수없는 경우 대신 VM 복제를 고려하십시오.


-2

에서 높은 공동 스톱 (%의 향후 과제는) 가상 머신 스냅 샷 활동을하는 동안 볼 값들 :

가상 머신의 스냅 샷 크기 및 수가 증가함에 따라 vmkernel 내에서 스토리지 명령 조작 수가 늘어납니다. 가상 머신 게스트 OS에서 발행 한 각 스토리지 명령에 대해 가장 적절한 데이터 블록을 읽으려면 전체 스냅 샷 체인을 통과하는 여러 스토리지 명령 조작이 필요할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.