2.12. 논리 볼륨 확장

Red Hat Virtualization Manager은 씬 프로비저닝을 사용하여 스토리지 풀에 사용 가능한 스토리지를 오버커밋하고 실제 사용 가능한 것보다 많은 스토리지를 할당합니다. 가상 머신은 작동하면서 데이터를 씁니다. 씬 프로비저닝된 디스크 이미지를 가진 가상 머신은 결과적으로 그 디스크 이미지를 백업하는 논리 볼륨에서 감당할 수 있는 것보다 많은 데이터를 쓰게 됩니다. 이렇게 되는 경우 논리 볼륨 확장을 사용하여 스토리지가 추가되고 가상 머신이 계속 작동할 수 있게 됩니다.
Red Hat Virtualization은 LVM에서 씬 프로비저닝 메커니즘을 제공합니다. QCOW2 포맷 스토리지 사용 시 Red Hat Virtualization은 호스트 시스템 프로세스인 qemu-kvm에 의존하여 순차적으로 논리 블록에 스토리지 블록을 매핑하도록 합니다. 이를 통해 예를 들어 1 GB 논리 볼륨이 백업하는 100 GB 논리 디스크가 정의될 수 있습니다. qemu-kvm이 VDSM에서 설정된 사용량 임계값을 넘는 경우 로컬 VDSM 인스턴스에서 논리 볼륨을 1 GB 확장하도록 SPM에 요청합니다. 볼륨 확장이 필요한 가상 머신을 실행하는 호스트의 VDSM은 더 많은 공간이 필요하다는 것을 SPM VDSM에 알립니다. SPM은 논리 볼륨을 확장하고 SPM VDSM 인스턴스는 호스트 VDSM이 볼륨 그룹 정보를 새로고침하고 확장 작업이 완료되었다는 것을 인지하도록 합니다. 호스트는 작업을 계속할 수 있습니다.
논리 볼륨을 확장하려면 호스트는 다른 어느 호스트가 SPM인지 알아야 할 필요가 없습니다. 이 호스트가 바로 SPM일 수도 있습니다. 스토리지 확장 통신은 스토리지 메일박스를 통해서 진행됩니다. 스토리지 메일박스란 데이터 스토리지 도메인에 있는 전용 논리 볼륨을 말합니다. 논리 볼륨 확장에 SPM이 필요한 호스트는 스토리지 메일박스에서 해당 호스트에 대해 지정된구 역에 메시지를 씁니다. SPM은 수신 메일을 정기적으로 읽고 요청된 논리 볼륨 확장을 수행하며 송신 메일에 답메일을 작성합니다. 호스트는 요청을 보낸 후 2초마다 이에 대한 답변을 수신 메일함에서 확인합니다. 호스트가 요청한 논리 볼륨 확장에 대한 성공적인 답변을 받으면 새로 할당된 스토리지를 인식하도록 device mapper에 있는 논리 볼륨 맵을 새로고침합니다.
스토리지 풀에 사용 가능한 실제 스토리지가 거의 소진 시 여러 이미지가 사용할 수 있는 스토리지가 떨어지고 리소스를 보충할 방도가 없게 됩니다. 스토리지 풀이 스토리지 소진 시 QEMU에서 enospc error를 보내며, 이는 장치에 더 이상 사용가능 한 스토리지가 없다는 것을 의미합니다. 이 시점에서 가상 머신 실행이 자동으로 일시중지되며 볼륨 그룹에 새 LUN을 수동으로 추가하는 작업을 해야 합니다.
볼륨 그룹에 새 LUN 추가 시 Storage Pool Manager는 추가 스토리지를 필요로 하는 논리 볼륨에 스토리지를 배포합니다. 추가 리소스의 자동 할당을 통해 관련 가상 머신은 서비스 중단 없이 작업을 계속하거나 서비스가 중단된 경우 작업을 복귀할 수 있습니다.