Efficiently Synchronizing Virtual Machines in Cloud Computing Environments

2013. 11. 19. 11:27Cloud/VM image Distribution

Efficiently Synchronizing Virtual Machines in Cloud Computing Environments

- Shuntaro Tonosaki, Hiroshi Yamada, and Kenji Kono

Keio University

3-14-1 Hiyoshi, Kohoku-ku, Yokohama, Japan

 

System Overview

간단하게 말하면 관리자의 Development VM에서 Update된 내용을 델타 파일로 만들어 Public VM에 배포시킴으로써 동기화를 한다라는 내용이 이 논문에 이슈이다. 델타 파일에는 새롭게 생성된 파일, 수정된 파일, 삭제된 파일의 경로를 저장한다. 이러한 델타 파일을 얻기 위해서 Development VM에서 파일이 어떤식으로든 생성되거나, 수정되거나 삭제되거나 하는 파일과 해당 경로를 기록한다. Development VM에서 실행된 파일 시스템 이벤트를 알기 위해 관리자가 동기화를 시작할 때 파일 시스템 로그의 마지막 기록에 체크포인트를 찍고, 마지막 체크포인트에서부터 현재까지의 체크 포인트까지 모든 파일 시스템 로그 기록을 모아, 만들어지거나, 개정된 파일에 대한 내용과 파일의 경로를 델타로 압축한다. 삭제된 파일은 델타에 경로만 기록한다. 이러한 델타 파일은 Virtual Disk Image Repository에 저장되고, 델타는 모든 Public VM에게 분배한다. 각 Public VM의 Local Virtual Disk는 자신이 보유한 Disk Image에 델타를 적용 시켜 새로운 이미지를 만든 후 재부팅 시킴으로써 동기화를 완료한다.

< 델타 파일이 만들어지는 과정 >

1) Recording File Updates

Development VM 의 파일 시스템의 업데이트 내용을 모니터링 하고 기록하기 위해 Inotify를 사용한다. Inotify를 사용함으로써 파일 시스템 이벤트를 모니터링할 수 있다. 파일 업데이트 모니터링 과정이 Inoftify를 통해 이벤트 정보를 가져올 때 마다 이를 MySQL에 기록한다.

2) Delta Transfer

관리자가 Development VM의 변화를 Public VM에 동기화시키는 것을 시작하면, 델타 업로더는 먼저 데이터베이스에서 체크포인트를 만들고, 데이터베이스의 마지막 업데이트부터 파일 갱신 정보를 수집한다. 새롭게 생성되거나, 업데이트된 파일은 파일, 파일 경로와, 파일 속성을 단 하나의 *.Tar (Update.tar)이 되도록 만든다. 삭제된 파일은 파일의 경로를 (removal.txt)로 기록한다. 이후, 업데이트된 파일(Update.tar), 삭제된 파일(removal.txt)을 다시 zip파일로 압축한다. 델타가 만들어지면, 델타 업로더는 델타를 Development VM의 Public Web Directory에 위치시키고 새로운 델타가 이용가능하다고 Virtual Disk Image Repository에 통보한다.

3) Virtual Disk Image Repository

Virtual Disk Image Repository는 3가지 모듈로서 구성된다. Update Receiver, Disk Image Manager, Delta Distributor로 구성되는데, Update Receiver는 위에 기술된 Delta Transfer로부터 델타를 수신하며, Disk Image Manager는 새로운 이미지를 만든다. 마지막으로 Delta Distributor는 델타를 모든 Public VM에 분배한다.

 

4) Public VM

Public VM의 Process Manager는 Virtual Disk Image Repository로부터 갱신 통지를 수신한다. Process Manager는 통지에 명시된 URL로부터 델타를 다운로드하고, 업데이트한다.