首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

实现 Xen 和 DS4800 多路存储(1)

实现 Xen 和 DS4800 多路存储(1)

如今,虚拟化技术已被业界广泛采用,而在数十年前,它是 IBM 主机的一部分。虚拟化最近之所以得到更广泛的采用,是因为企业数据中心再也无法通过增加机架式服务器来满足新应用程序的需要。就服务器的数量、耗电量、每平方英尺地板所散发的热量而言,数据中心的规模无法再进一步扩展。
虚拟化可以通过提高利用率和降低操作成本来减少服务器数量,因而是解决过度需求的极好的解决方案,与此同时,它也给系统可用性增加了负担,因为现在有更多的应用程序在每台机器中运行。现在,任何故障都会给企业带来更多的破坏。
解决这个问题的一种方法是使用全冗余路径来访问外部        SAN(存储区域网)设备 — 通过这种方式,可以减少因存储子系统访问问题导致的故障。
本文通过 Red Hat Enterprise Linux 5 update 1 (RHEL 5.1) 展示如何使用 IBM 为访问 IBM System Storage DS4800 而提供的 RDAC(冗余磁盘阵列控制器)多路驱动程序来支持多路访问 Xen 主机和客户机(guest)。
虚拟化与 Xen 已经有很多文章解释了各种不同类型的虚拟化技术,例如硬件分区、逻辑分区、hypervisor 等。Xen 是一种超虚拟化(paravirtualization)hypervisor 技术。换句话说,Xen hypervisor 是硬件之上一层薄的软件层。为了在 Xen hypervisor 上运行,每个 guest 操作系统的内核和驱动程序都必须作出修改。
这种类型的虚拟化的优点在于,在进行低级调用时,通过 guest 操作系统与 hypervisor 之间的协作,大多数情况下 Xen guest 的性能可以接近本地性能(也就是说,这种类型的虚拟化是商业硬件中性价比最高的实现)。
这种虚拟化的缺点是,只有经过修改的内核才受支持,因此不能用它来增强较旧的操作系统,例如 Windows® 2000。但是,既然虚拟化正成为一个很热的卖点,芯片厂商自然会设法进一步提供对这一趋势的支持,虽然会损失一点性能,但是具有 Intel-VT        或 AMD Pacifica 特性的处理器能支持完全的虚拟化,从而在 Xen hypervisor 上运行未经修改的 guest。
Xen hypervisor 现在到了第 3 版,并且被广泛使用,一些供应商已决定将它包括在他们的 Linux 发行版中。例如,在 Red Hat        Enterprise Linux 5 和 Novell SUSE Linux Enterprise Server 10 中,Xen 是健壮的、受支持的,同样重要的是,它是免费的!
Xen 架构 当启动一个 Xen 主机时,Xen hypervisor 首先接管系统,然后装载第一个 guest OS,在 Xen 术语中,这个 guest OS 称作 domain 0(或 Dom0)。用于访问硬件的所有设备驱动程序也都被装载到 Dom0 中。Dom0 向其他 guest OS(有时被称作 domain U 或 DomU)提供虚拟块设备和虚拟网络设备。从现在起,我不再把 Dom0 看作一个 guest OS,虽然它实际上就是一个有一些特殊功能的 guest 实例。
在每个 guest(DomU)中,有一些用于访问虚拟块设备和虚拟网络设备的轻量级设备驱动程序;它们被称作前端驱动程序(frontend driver),以区别于在 Dom0 中运行的重量级后端驱动程序(backend          drivers)。图 1 显示了 Xen 的架构。
图 1. Xen 的简化架构图 实际上,从 Xen 3.0.3 开始,虚拟块前端是在 xenblk 模块中实现的,而虚拟块后端是由 blkbk 和 blktap 模块处理的。虚拟网络前端由 xennet 模块处理,后端由 netbk 模块处理。要想查看有哪些模块被装载到 Linux 系统中,可以使用 lsmod 和         modinfo 命令查看模块信息。
多路 SAN 存储 当人们将存储从直接主机连接转移到共享的 SAN 存储基础设施中时,复杂性随之增加。主机与存储柜之间的专用 SCSI 或 Fibre Channel cable 如今变成了 FC 电缆、SAN 交换机与导控器(director)以及具有自己的控制器、磁盘柜、电缆等的存储服务器。虽然 SAN 存储的优点毋庸置疑,但是由于主机与实际的硬盘驱动器之间的组件出现故障的机率很高,其缺点也十分明显。而多路数据访问是解决这一问题的良策。
实际上,主机有不止一条独立的通道可以访问存储服务器上的同一个逻辑驱动器(使用逻辑单元号,即 LUN)。多路驱动程序将所有路径组合起来,只向操作系统显示一个块设备。每个 LUN 有一个优先路径,如果该路径失败,则多路驱动程序将 I/O 请求转发给备选路径。多路驱动程序并不都是一样的:有些可以处理更智能的负载均衡,有些只能处理故障转移。对于 DS4800 存储服务器,IBM 推荐并提供了 RDAC 驱动程序,该驱动程序可在 HBA(host bust adapter) 驱动程序上使用。记住,多路驱动程序不能替代 HBA 驱动程序:它们只能相互补充。多路驱动程序就像是大脑,而 HBA 驱动程序就像是胳膊和腿。现代操作系统也提供了它们自己的多路驱动程序,但是在使用之前应确保它已经通过您的存储供应商的认证。
返回列表