Xen Cloud Platform学习笔记

云计算被炒的火热,而我对它一无所知。总觉得它并没有什么新技术,无非就是把以前的一些老东西拿出来换个新名字交给市场部门去宣传去卖。不过话说回来,ajax也没有用到什么新技术,反正就是突然就火了,然后就流行了这么长时间了。

Xen最让我着迷的就是它所谓的30秒迅速迁移。一台机器坏了,没关系,30秒内立刻迁移到另一台机器上。据说迁移速度主要取决于网络速度和domU的RAM大小。

Xen Cloud Platform (XCP)无非也就是把以前的那些工具整合了起来。多台xen物理主机,组成一个resource pool,然后再配合上监控、负载均衡、灾难发生时自动迁移工具。

做resource pool,难点在于storage上。先抛开XCP不谈,传统的、最简单的做法就是做统一中央存储。例如N个dell 1950加一个Netapp的盘阵。domU的存储都在盘阵上。如果某个主机down了,那么我们损失的仅仅是CPU、网卡、内存而已。

XCP的Storage部分,有这么几个基本概念:

  • PBD:物理块设备
  • VBD:虚拟块设备
  • VDI:虚拟磁盘镜像文件
  • SR:Storage Repositories ,VDI的集合。

关系如下:

vbdpbd

为SR提供资源的硬件可以是本地的硬盘(IDE/SATA/SAS/SCSI/…),也可以是网络存储如(iSCSI、NFS、远端的SAS、远端的光纤)。SR和VM之间的关系是多对多的关系。一个SR可以为多个VM服务,一个VM也可以从多个SR获取存储。

VDI可以是基于VHD或是基于LUN的。我比较关注后者,因为它效率最高。比如这样:采购一批差不多一样的主机,本机先做好raid1,然后把它们用iscsi导出,然后把这些iscsi硬盘组成一个sr,然后再往上装VM。但是我有个疑问,它会优先使用本地的iscsi硬盘吗?如果不,会有多大程度的效率差别?

困,明天在ubuntu下试下

此博客中的热门博文

在windows下使用llvm+clang

少写代码,多读别人写的代码

tensorflow distributed runtime初窥