회사에서 여러대의 VM에 동일한 파일을 복사해야 할 일이 생겼습니다. 그런데 그 파일 갯수가... 수천만개이고 개별 크기는 고작 몇 KB 수준이라서... CIFS로 공유를 걸고 파일 복사를 해보니 참담한 속도가 나오더군요. 너무 느려서 FastCopy 프로그램을 사용해봤는데도 여전히 너무 느려서 취소하게 되었습니다.

동일한 Pool에 속한 VM 끼리는 제가 xe vdi-copy 명령어로 해결을 했습니다. 아 여기서 말하는 VDI는 그냥 VBD를 생각하시면 됩니다. (VMware의 vmdk나 MS의 VHD 정도를 생각하시면 되요)

하지만 다른 Pool에 있는 VM에는 VDI를 Copy 할 수 없기 때문에 Export/Import를 사용하고 싶은데, 문제는 XenServer에 VM Export 기능은 있지만 VDI Export 기능은 없다는 것입니다. 왜 없는지는 매우 궁금합니다.

그래서 제가 생각해낸 방법은... 깡통 VM을 하나 만들어서 거기에 VDI를 붙이고, VM을 Export 하는 것입니다. 실제로 이 방법으로 현재 작업을 걸어두었는데, 파일 단위로 Copy할 때보다는 훨씬 빠른 속도로 작업이 진행되고 있습니다. 작업이 완료되면 다시 대상 Pool에 VM을 Import 시키고, VDI를 여러개 Copy해서 각 VM들에 Attach 해줄 생각입니다.

글 내용이 혼잣말 수준인데 (Citrix XenServer로 가상화 서버를 운영하는 분은 거의 없으니) 앞으로도 이런 글을 자주 올려둘 생각입니다. 단 한명에게라도 도움될만한 내용이라면 공유하는게 좋다고 생각하기 때문입니다.