VDN: Virtual Machine Image Distribution Network for Cloud Data Centers

2013. 10. 23. 21:25Cloud/Provisioning

VDN: Virtual Machine Image Distribution Network for Cloud Data Centers - P2P구조의 VM이미지 배포에 대한 프레임워크 설계

System Design

 

가상머신 이미지 데이터를 분포할 때, 전체 가상 머신 이미지 파일 대신에 청크 단위로 분포한다. 가상머신 이미지를 고정크기 또는 가변크기의 청크로 분활 한다. 그리고 각 청크에 대한 위치 정보를 유지해야 할 필요가 있는데 이 정보를 메타데이타라 한다. 메타데이타를 관리하는 방법은 크게 두 가지 방법이 있는데, 첫 번째 방법은 중앙에서 메타데이타 서버를 운영하여 메타데이타 서버로부터 직접 받아오는 방법이며, 두 번째 방법은 본 논문에서 제시하는 VDN-TAPO방식인DHT 분산해시 테이블을 이용하여 트리 계층 별로 정보를 서로 공유하고 관리하는 방식이다.

 

왼쪽 그림은 네트워크의 계층적 구조를 나타낸 것이며, 각 똑 같은 랙내의 물리적 호스트들은 스위치를 통해 연결되어 계층의 하부를 형성하며, 이는 또 다른 수준의 스위치인 집합적 스위치를 통해 연결되고, 이는 다시 루트 스위치를 통해 연결되어 네트워크 계층적 구조를 형성한다. 오른쪽 그림은 네트워크의 계층적 구조에 따른 인덱스 노드를 트리 구조로 구성화 시킨 것 이다. 여기서 L1은 호스트들의 청크 위치정보(메타데이타)를 CAHT (Chunk at host table)에 저장하며, 다음 상위 레벨인 L2는 서브 트리의 노드가 메타데이타를 가지고 있는 인덱스인지, 또는 청크를 가지고 있는지에 대한 정보를 저장한다.

 

호스트는 메타데이타에 대한 정보 요구를 상위 L1의 인덱스 노드로 보내고, 인덱스 노드는 CHAT를 바탕으로 호스트에게 알려준다. L1의 인덱스 노드는 메타데이타 정보를 가져오기 위해 상위 계층 L2와 통신하여 메타데이타를 가져온다. 호스트의 메타데이타가 수정됫을 경우 호스트는 상위 계층 L1에게 갱신 메시지를 보내고, CHAT를 수정한다.

위 그림을 보면 어떻게 VDN이 동작하는지에 대해 나타내고 있다. 먼저 1) 이미지 서버로부터 이미지에 대한 청크를 받은 호스트는 2) 하이퍼바이저 모듈에 존재하는 캐시에 저장한다. 이 캐시는 인스턴스가 설사 종료되더라도 계속해서 데이터는 유지한다. 3) 호스트는 상위 인덱스 노드에게 청크 위치 정보를 L1에게 업데이트 시켜주고 L1은 상위 인덱스 노드인 L2에게 알려주며, L2는 L3에게 업데이트 시켜준다. 4) 위 설명의 시작 호스트와 또 다른 호스트는 L1에게 메타데이타를 요구하고 상위 인덱스 노드인 L1은 CHAT를 검색하여 같은 랙내에 위치한 호스트의 청크 위치 정보를 알려 줌으로서 호스트간의 이미지 청크 교환이 이루어지도록 한다.