1. 先说说现有的server的硬件条件。每台机器的都是双核四线程的机器,主频为3.0Ghz,内存有4G。按理说应该也不会特别差。但是比较悲剧的是不支持kvm。也就是不支持硬件虚拟化。后面会说。而且每台机器只有一个网卡连了网线。导致都只有一个ethernet接口。
2.server上的系统本来都是安装的centos5.9. 之后安装了centos6.3. 主要是centos5.*都是基于python2.4的,而openstack的主要几个部件都是基于python2.6.
3. Hypervisor的选择。使用kvm是当前配置量最少,openstack支持最方便的一个hypervisor。但是如果机器的配置比较老的话就要去寻找其他的选择。目前可以选择kvm,xcp,xenserver,qemu。 qemu的优点是配置起来简单,基于和kvm没什么区别。缺点是比较慢。使用了一段时间qemu后,还是放弃了。决定选择Xen系列的Hypervisor。
4. Xen系统的Hypervisor 。Xen,XCP和XenServer的区别和联系。
Xen 是这三种Hypervisor中最早的Hypervisor。但是主要是基于单机的虚拟化。
XCP(Xen Cloud PlatForm)是11年左右发展起来的基于Xen的Hypervisor。这种Hypervisor对多机的支持以及对云服务的各种支持比较好。比如支持vm的热迁移啊,高级网络特性啊之类的。完全开源,免费。
XenServer 是基于XCP的,是由citix主要在维护的Hypervisor。同XCP,主要用于Cloud中。目前有收费版和免费版。免费版的功能比较少。
综上,我还选择了XCP来搭建私有Cloud。而且RackSpace现在的公有云系统都是基于Xen的而不是kvm,这无疑为Xen阵营提供了一个很坚强的技术后盾。
5. 全虚拟机化与半虚拟化。全虚拟化是指虚拟机操作系统所管理的所有硬件都是虚拟的。而半虚拟化则不同。半虚拟化是指有一部分的硬件是完全虚拟的,而有一部分是可以直接由VM访问到真实的硬件。这个概念很多人都混淆了。详见下图。