为了做毕设,搭建了Hadoop的集群。因为实验室的机器有限,而且做实验的同学多,实验室采用了在实体机器上安装kvm虚拟机的方式搭建集群。本来的集群有4台机器。实验需要扩展集群。想到了kvm管理中有克隆和迁移的功能。但不清楚具体操作带来的后果。经询问后,记录如下: KVM的克隆是个比较复杂的过程。它是只读的克隆。即在虚拟机A克隆出虚拟机B的过程中,虚拟机B最初的镜像只是一个很小的文件,里面存储了原本A的镜像中的一些映射,当虚拟机B被访问的时候,会根据镜像中的映射向原有的A的镜像拷贝具体的文件过来。这时A的原有镜像是只读的,因为一旦改变,则B中的映射就会失效。在更具体的实现过程中,会产生第三个文件C。用于保持虚拟机A和B都能正常的运行。克隆那一时刻的原有镜像为只读,但虚拟机A和虚拟机B分别在不同的镜像中工作,互不影响。

大概理解的是如此。如果有不正确的地方,再改正。

p.s.虚拟机的迁移是将虚拟机挂起,在另一台机器上重建这个虚拟机的状态。(很复杂的样子。)先了解到这,扩展集群还是用了最土的办法,就是复制一份镜像,重建一个虚拟机。