2013. 11. 19. 11:27ㆍCloud/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로부터 델타를 다운로드하고, 업데이트한다.
'Cloud > VM image Distribution' 카테고리의 다른 글
Scalable Virtual Machine Deployment Using VM Image Caches (0) | 2013.11.21 |
---|---|
Improving the efficiency of deploying virtual machines in a cloud environment (0) | 2013.11.06 |
Image Transger Optimization for Agile Development (0) | 2013.10.24 |
Orchestra (0) | 2013.10.24 |
VMTorrent (0) | 2013.10.24 |