You are on page 1of 137

Symantec Yellow Books™

存储管理的标准化

降低存储管理复杂程度的途径
减少企业存储管理复杂程度进而降低成本的两种基本方法是:限制数据中心的服务器、存储设备和网络对象类型;
使用可以管理多种类型对象的通用管理工具。通过减少设备类型对实现标准化会起到一定作用,但此方法并不适合
于大量的存储设备,例如,在需要快速正确地管理数十或数百台计算机以及数千个存储设备时。一种更有效的方法

存储管理的标准化
是使用管理工具,管理工具可提供众多功能,同时支持数据中心的大多数计算和存储平台。

本书即介绍了这样一种工具集 — Symantec 的 Veritas Storage Foundation,并介绍了如何使用该工具集对数据中心所


有平台上的存储配置和管理进行标准化,从而以更低的管理成本提供更优质的服务。存储设计师、管理员、集成人

存储管理的标准化
员和咨询师需要了解 Storage Foundation 以及该工具集是如何降低服务成本的。Symantec 黄皮书用于向合作伙伴和
客户以及一般意义上的技术社区传播技能和关键技术。 这些书介绍 Symantec 解决方案如何处理现实中的业务和技
术难题,说明产品实现和集成的关键技术,可提高 IT 职员和咨询师安装和配置 Symantec 产品的能力。

使用 Veritas Storage Foundation™


提高整个企业存储管理的有效性

关于 Symantec Yellow Books™ Sean Derrington


Symantec 黄皮书用于向合作伙伴和客户以及一般意义上的技术社区传播技能和关键技术。这些书介绍 Symantec
解决方案如何处理现实中的业务和技术难题,提供产品实现和集成的关键技术,可提高 IT 职员和咨询师安装和配
Josh Kahn
置 Symantec 产品的能力。

Paul Massiglia

www.symantec.com
版权所有 © 2006 Symantec Corporation。保留所有权利。 09/06

SYB_SSM_FF_cs.indd 1 2006-9-14 19:34:16


版权所有 © 2006 Symantec Corporation。
保留所有权利。
Symantec 和 Symantec 徽标为 Symantec Corporation 或其附属机构在美国及其他
国家/地区的商标或注册商标。其他名称可能是各自所有者的商标。
没有发行商的事先书面授权,不得通过任何方式以任何形式复制或传送本书内容的
任何部分。
本文档按“原样”提供,对所有明示或隐含条件、陈述和担保,包括对适销性、特
定用途的适用性或非侵权的任何隐含担保,均不承担责任,除非此类免责申明在法
律上被视为无效。对于与本文档的提供或使用相关的任何偶然或必然损害,Symantec
Corporation 均不承担责任。本文档所包含的信息如有更改,恕不另行通知。
Symantec Corporation 20330 Stevens Creek Blvd. Cupertino, CA 95014 USA
http://www.symantec.com
ISBN 0-321-447794
致谢
编写本书的目的是明确表达我们对于存储管理标准化的价值主张,并说明 Symantec
Veritas Storage Foundation 如何在不同类型的大型数据中心内实现标准化联机存
储管理。编写本书期间,我们得到了 Symantec Data Center Management Group
的 Sean Derrington 的大力协助,他为我们系统阐明了标准化的基本理念。
我们在此要特别感谢 Storage Foundation Management Server 小组的 Manish
Parekh 和 Aglaia Kong,他们帮助我们在编写第 6 章时获得测试系统的使用权限;
还要感谢杰出的工程师 Craig Harmer 和 Ron Karr,他们分别对 VxFS 文件系统和
VxVM 卷管理器资料进行了辛苦的技术审查工作。另外,感谢 DCMG 技术战略副总
裁 John Colgrove,他时刻提醒我们:“这是本系列丛书中最重要的一本书。”
作者深知,撰写书稿内容只是第一步。我们要感谢 Symantec Infodev 组织的 Sarah
Connell-Smith,她在数月内对本黄皮书完成了三次细致的编辑工作。LMA Associates
的供图工作快速准确。尤其要感谢的是 Symantec 生产组的 Jim Hudgens、Fran
Heddings 和 Rossana Monzon,他们快速准确地将原始资料转换成照排图像,随即
制作封面,并始终努力适应条理性和时间观念都较随意的作者们。
最后,我们还要感谢项目经理 Kristine Mitchell。Symantec 的此一力作——《存储
管理的标准化》得以付梓面世,很大程度上托赖于她对项目全局的有力掌控、坚持
不懈的毅力和不失幽默感的心态。
尽管这个团队做出了不懈的努力,设若书中仍存在错误和疏漏,责任完全在于作者
一方。
Sean Derrington
Josh Kahn
Paul Massiglia
Mountain View, CA
2006 年 4 月
目录

第1章 标准化存储管理的内涵和起因 .......................................... 7


第2章 Storage Foundation 虚拟化平台 ...................................... 17
第3章 深入研究 Storage Foundation 核心:VxVM 卷管
理器 ........................................................................................ 29
第4章 深入研究 Storage Foundation 核心:VxFS 文件系
统 ............................................................................................ 53
第5章 深入研究 Storage Foundation:动态多径处理 ........... 73

第6章 深入研究 Storage Foundation:Storage


Foundation Management Server .................................... 89
第7章 使用 Storage Foundation ................................................. 107
第8章 实施标准化 .......................................................................... 127
4 目录
1
标准化存储管理的内涵和
起因
本章节包括下列主题:

■ 为什么需要对存储进行管理?

■ 什么是存储管理?

■ Symantec Veritas Storage Foundation

为什么需要对存储进行管理?
“存储无极限!”
在许多场合都经常会听到这种夸大其词的论调,从个人计算机用户到企业存储系统
销售人员,再到应用程序设计人员,大家都希望将未来可能有价值的所有数据存储
起来。他们最常用的理由是磁盘价格不断大幅度下降、数据中心所应用的新型存储
网络互联技术现已能够实施大规模的灵活部署,以及推出了多“层”不同成本的存
储技术。
但 CIO、IT 主管和系统管理员非常清楚地知道,存储并非无极限,甚至可以说远远
不够。对于大型企业则更是如此。由于下列三个主要原因,存储成为信息技术总成
本中最大的一项成本:
■ 目前,对大量磁盘驱动器进行组装、供电、降温和管理所需的软/硬件往往超出
这些磁盘驱动器本身的成本。再加上占地面积和 HVAC 成本,因此磁盘驱动器
在联机存储整个生命周期的成本中所占的比例非常低。
■ 存储消耗在不断增长,并且毫无趋缓的迹象。通过存储并分析有关各类主题的
数据即可以获得很大的业务价值,因此存储消耗的增长速度超过了单位成本的
下降速度。
■ 存储管理为人员密集型工作,而人员是一项随时间上升而不是下降的信息技术
成本。必须对存储进行管理,且存储量越大,需要完成的管理工作就越多。必
8 标准化存储管理的内涵和起因
为什么需要对存储进行管理?

须对硬件进行清点,出现故障时需要进行修理,还需要定期替换为更新的型号。
必须配置原始磁盘容量并将其供应给应用程序服务器(数量也在增长)。必须
将“正确”的数据保存在“正确”类型的存储设备中。必须对数据提供保护,
以防御各种可能造成损失或破坏的威胁。存储管理为人员密集型工作,而人员
无疑是一项只会随时间上升而不会下降的信息技术成本。

联机存储市场的增长
就此问题,分析师组织 Forrester Research 在其 2005 年第二季度美国信息技术支
出预测中指出:
“2005 年和 2006 年增长最快的预算将是计算机设备。在该领域,全美总支出将在
2005 年增长 12%,在 2006 年增长 13%。增长原因是在 2001 到 2002 年的科技萧
条期之后,各公司在 2003、2004 和 2005 年纷纷购买个人计算机、存储硬件和刀
片服务器来升级自己的计算设备。”(2005 年 9 月 23 日,《2005 年第二季度美
国 IT 支出:长期跟踪预测》,作者 Andrew Bartels。经作者许可引述。)
Forrester 对欧洲市场的预测结果与此相似:
“观察硬件投资,只有存储和服务器硬件会吸引 30% 以上的公司继续追加投资。与
此相比,咨询或应用程序管理外包之类的 IT 服务将保持适中的增长。”(2005 年
12 月 20 日,《2006 年欧洲 IT 支出展望》,作者 Manuel ángel Méndez。经作者
许可引述。)
这类预测报告明显表明企业数据中心的存储量仍会继续增长。存储量越大,意味着
资本支出就越高,进而运行费用也越高。随着存储成本占 IT 资本和运行支出的比例
越来越高,企业正在寻求最大限度降低这一成本的方法。最大限度降低联机存储总
体成本的两种主要技术已经出现:
■ 使用存储网络提高部署灵活性,从而提高利用率。这种技术可以将多余的存储
容量从当前位置移动到需要的位置,整个过程只需轻点鼠标,而不用实施物理
重新配置,所以企业可为不可预知的需求制定最佳方案。
■ 使用成本不同的多层存储硬件降低平均存储成本。无论是存储系统技术,还是
用于将容量分配给用户的配置都会影响有效容量的成本。例如,镜像存储的每
GB 成本至少是非冗余存储的每 GB 成本的两倍。同样,通过所谓的“近线”存
储系统中使用的低成本磁盘驱动器提供容量可能只是使用高性能驱动器提供相
同容量时所需成本的一小部分。
不可否认,这两种技术都非常有效,但都意味着必须对存储进行管理。要将多余的
存储容量从服务器的当前位置转移到需要的位置,管理员必须准确了解数据中心所
有存储的最新部署情况。随着单个磁盘阵列可提供一千多个逻辑单元 (LUN),且数
据中心正在从少数企业级系统向大量单个应用程序服务器的转移,跟踪存储配置情
况以及应用程序使用存储的情况成为了一项全天候工作,在大型数据中心内需要由
多名管理员负责。
同样,部署多层存储也可以有效降低总体成本。例如,如果能够将数据中心 80% 的
联机数据合理保存在配置为 RAID5 而不是镜像的存储中,那么在不更改硬件配置的
标准化存储管理的内涵和起因 9
为什么需要对存储进行管理?

情况下,可以将总体存储成本降低 30%。如果可以采用低成本的“第二层”磁盘驱
动器来存储非关键数据,则可以进一步降低平均存储成本。但在实现这种成本节省
时,管理员必须确保关键数据保存在冗余存储设备上,而经常访问的数据保存在高
性能设备上。对于数十个应用程序使用上百个文件系统中的数百万文件,而且单个
文件的价值不断变化的情况,有效地使用存储层成为一个不小的管理问题。这些任
务以及与管理大量存储和大量文件相关的其他任务,代表第二个主要存储成本因
素,即管理存储及其中数据的成本。

管理存储和数据的人力成本
在购买并安装数据中心存储后,成本循环即开始了。并非购买了存储设备就可以对
其放手不管,而必须对设备及其中的数据进行有效的管理。前面已经提到,重新供
应(配置原始存储和网络资源并分配给特定主机)的频率越来越高。另外,存储设
备和磁盘阵列的寿命有限,所以必须定期更换硬件,由此就需要将数据迁移到更新
的硬件中。
另外,还必须管理存储设备上的数据。必须对其定期备份以避免全部丢失;必须定
期创建基于磁盘的关键元素快照,以便需要时能够进行快速恢复;当文件的业务价
值变化时必须重定位文件,从而使保持文件联机的成本与其业务价值相称,等等。
随着数据中心的发展和其内部结构的日趋复杂,管理存储和数据所需的技能水平也
在提高。实际上,数据中心存储的体系结构和管理均已发展为单独、公认的专业信
息技术工作。行业分析网站 SearchStorage.com 在其 2005 年度薪金调查中指出:
“虽然 IT 管理工作继续占据技术类职业中的最高薪金位置,但与存储相关的职位正
在对其形成冲击,这反映了数据管理工作继续在全美具有较高的重要性。许多企业
的数据量仍然在以惊人速度增长,所以各公司纷纷成立专门从事管理和组织企业数
据的部门,而在存储领域更是如此。
根据 TechTarget 从其各系列网站提取的的薪资数据所做的年度薪金调查,名列职
位榜前 10 位的最新两个职位都与存储相关。存储架构师从榜上无名跃居到第三名,
仅位于 CIO 和 Internet 架构师之后,报告称该职位的平均薪金为 $83,368,平均总
工资为 $88,763。存储经理的职位也首次出现在榜单中,位列第 8 名,平均薪金为
$74,400,平均总工资为 $76,300。
存储相关职位日趋重要是正常的,因为各公司逐渐认识到维护稳固可靠基础架构的
重要性,并乐于为此投资。”
(http://searchstorage.techtarget.com/originalContent/0,289142,sid5_gci1002817,00.html)
该报告表明 IT 组织中正在出现专门负责数据存储和管理的工作职位,且企业非常重
视这类职位,因此也愿意为其支付高薪。鉴于此,存储管理的人力成本必然会逐渐
上升,将占数据中心预算的更大比例。由此,可得出以下结论:研究如何最大限度
降低存储管理成本中的人力成本具有重要的意义。
10 标准化存储管理的内涵和起因
什么是存储管理?

什么是存储管理?
目前,存储管理成本通常是根据一名管理员可管理的 TB 数来衡量。虽然实际应用
中会对该方法进行适当调整,但该方法往往将某些重要任务,例如备份和恢复、快
照管理、文件放置和重定位等划分到应用程序或系统管理域而不是存储管理域中,
从而导致对存储管理总体成本的估计偏向于保守。评估存储管理人力成本一种更为
准确的方法是将存储管理中包含的管理任务分类,而不考虑任务的执行者,然后研
究简化这些任务的可能性。
存储管理所涉及的管理任务通常会处理多种对象:
■ 存储硬件设备(磁盘驱动器和磁盘阵列)
■ 存储网络组件(交换机、路由器和主机总线适配器)
■ 基于主机、网络或磁盘阵列的虚拟存储
■ 文件系统及其中包含的文件
人们可能会对存储数字信息的数据库是否属于第五类存储管理对象产生争议。虽然
数据库管理本身是发展得非常完善的 IT 专业领域,但事实上,这是以文件、虚拟存
储设备以及磁盘驱动器和 LUN 实际用于保存数据库数据为前提的。

水平信息技术行业产生的影响
由于企业信息技术供应商团体近年来的发展遵循着特定模式,所以存储堆栈中的各
层(包括硬件、网络组件和软件)通常由不同供应商提供产品,且每家供应商都致
力于成为其产品供应层中的佼佼者。但糟糕的是,一些企业从项目而不是从整个企
业的角度出发来选择和部署存储。在这种环境下,企业实际上至少在一定程度上成
为了其自身的系统集成商。另外,存储应用程序链中的每个元素通常都由其供应商
或某个第三方提供的工具来管理。如果数据中心部署了两个或多个 UNIX 平台,那
么每个平台一般还需要不同的工具。
从存储管理的角度看,供应商的分散与其所带来的工具的分散将意味着更高的成
本。例如,对于数据中心内部署的每一种产品的存储和存储网络硬件供应商,企业
都需要:
■ 与供应商签订维修与备件合同,包括可实施的服务级别协议
■ 就 LUN 配置等用户级别管理操作提供培训和持续的专家指导
同样,对于数据中心内的每个系统平台,企业都需要:
■ 与供应商签订维修与备件合同,包括可实施的服务级别协议
■ 就常规系统管理提供培训和持续的专家指导
■ 就平台供应商提供的管理工具(例如,逻辑磁盘管理器和原始文件系统等等)
提供特定于存储的培训和持续的专家指导
标准化存储管理的内涵和起因 11
什么是存储管理?

最后,且可能也是最重要的一点,对于数据中心内使用的每个专用存储管理软件
包,例如,卷管理器、快照管理器、复制器和存储网络路径管理器等等,企业都需
要:
■ 与供应商签订维修合同,包括可实施的服务级别协议
■ 就每一类硬件上运行的软件包或用于连接该硬件的软件包的使用提供培训和持
续的专家指导
即使仅根据以上这一简要列表,也可以清楚看出企业存储管理需要与硬件和软件供
应商建立相当多的关系,而这些关系都会耗费管理时间和精力。要随时掌握各类技
术的最新发展,还要耗费更多的管理时间和精力。很显然,通过减少数据中心内出
现的供应商数量,或者从另外一个角度来看,对提供存储等常用 IT 服务的组件实现
标准化,将会降低存储管理的人力成本,从而提高管理员能够有效管理的 TB 数。

降低存储管理复杂性的方法
可采取两种基本方法来降低数据中心内的供应商数量导致的复杂性:
■ 如前一节中所述,限制数据中心内不同供应商和产品存在的数量。
■ 使用可用于多种用途的通用软/硬件组件。
初步来看,减少数据中心内出现的供应商数量这一措施似乎更有吸引力。出现的供
应商越少,每个供应商提供的设备和服务就越多,企业作为客户对于供应商就越重
要。但是,减少供应商数量也存在一个主要缺点,通常称之为“供应商锁定”。数
据中心越是依赖某个供应商的设备,那么为了降低成本、应用更先进的技术或与其
他供应商建立更有利的关系而更换该供应商的产品和服务就越发困难且越具破坏
性。事实证明,正是一部分用户的这种态度推动着信息技术行业向水平层“最佳”
供应商发展。
从长期看,最大限度降低存储管理复杂性和成本的更有效方法是,寻求能够为数据
中心中使用的大多数计算和存储平台提供多种管理功能的软/硬件组件。最新的服务
器虚拟化趋势验证了这一点。服务器虚拟化概念是指建立多个等效系统环境(通常
是运行 Windows 或 Linux),使部门应用程序或其他规模有限的应用程序可根据需
要交换部署这些环境。
但并非所有应用程序都运行在所有平台上,最关键的应用程序往往需要功能强大且
可靠的企业级服务器,所以,可以预见今后企业数据中心内一定会存在多种计算平
台。
对于存储本身,标准化看起来更为简单。存储的基本功能是以合理成本提供原始容
量。实际上,许多企业为了摆脱技术落后或定价不利的局面,对与辅助供应商合作
的主要存储供应商实施了标准化管理。但在最近,存储系统供应商已推出使用台式
机式磁盘驱动器的磁盘阵列,以降低保持重要性较低的数据联机的成本。这使得企
业中兴起了采用“多层”存储策略的趋势。要降低总体存储成本,企业需要接受更
多供应商或更多产品线带来的负担,并接受将正确数据保存在正确类型的存储设备
上带来的管理复杂性。
12 标准化存储管理的内涵和起因
什么是存储管理?

但影响存储管理复杂性的最大因素是存储和存储网络管理软件。存储和网络供应商
提供多种工具,用于管理其提供的组件。将各种工具集整合为有效的整体成为了用
户的责任。对于使用高级存储技术(例如,远程复制或关键数据快照)的数据中
心,情况则更为复杂。存储和平台供应商提供专用工具来为其自己的产品(有时也
为其他供应商的产品)提供这些功能。用户必须选择在应用程序存储堆栈中的哪个
位置执行这些功能(例如,基于主机或基于磁盘阵列的复制),以及使用哪些供应
商的软件工具执行它们。

图 1-1 存储管理复杂性问题

群集 卷管理 文件系统

• ServiceGuard • PolyServe • SVC • LVM • JFS2 • ReiserFS


• Sun Cluster • MSCS • ASM • DLM • GPFS • UFS
• TrueCluster • GeoSpan • LDM • SVM • SAM FS • QFS
• ClusterFrame • HACMP • EVM • SDS • Ext3 • ZFS
• SAN-FS • JFS
• OCFS • QFS

快照 复制 多径处理

• SAN Copy • SnapShot • TrueCopy • MirrorView • MPxIO • MPIO


• SnapView • Snap • DoubleTake • RepliStor • HDLM • PowerPath
• Instantlmag • FlashCopy • PPRC • Shadowlmag • SecurePath
• ShadowCopy • TimeFinder • SRDF • SNDR
• MirrorDisk -UX • Data Replication Manager

因此,大多数企业数据中心的存储管理情况如图 1-1 中所示,并且可以总结如下:


■ 数据中心存在多个计算和存储系统平台,而且由于多种原因,可以预见这种状
况在今后仍将保持不变。重要应用程序特定于平台;应用不同标准和理念的 IT
组织逐渐合并;数据中心逐步采用新的平台技术等等。成本、功能和产品可用
性的差异导致无法建立真正的同类数据中心。
■ 影响存储管理复杂性的主要因素并不是硬件组件本身,而是工具的数量,每种
工具都只为一种平台或存储硬件类型执行一种功能。
标准化存储管理的内涵和起因 13
Symantec Veritas Storage Foundation

■ 每种工具都会导致管理成本上升。从短期看,管理员必须经过培训才能使用这
些工具。从长期看,只要使用这些工具,企业就必须维护能够熟练操作各种工
具的管理部门。

理想的存储管理工具集
从直观上看,削减存储管理成本的有效方法是寻求最全面的存储管理工具集,它应
当能够提供:
■ 全面的功能,包括虚拟设备管理和文件系统管理等基本功能,以及快照、远程
复制、存储网络路径管理和多层存储管理等高级功能
■ 对各种系统和存储平台的支持,以便管理员能够多次应用一次所学的技术
■ 应用程序存储堆栈的向上和向下集成,以便在执行文件系统扩展或收缩等涉及
两层或多层的任务时,只需一次管理操作即可完成,而不需要多次的管理操作
■ 与周边软件的集成,例如,备份管理器、数据库管理系统、低级磁盘阵列、主
机总线适配器及存储网络管理工具

Symantec Veritas Storage Foundation


实际上,前一节中列举的理想存储管理工具集的特性就是 Symantec Veritas Storage
Foundation 所具有的特性。第 2 章将详细介绍 Storage Foundation,它的核心包
含一个基于主机的卷管理器 (VxVM)、文件系统 (VxFS)、用于集中管理存储硬件和
网络资产的高级工具 (CommandCentral) 以及用于集中管理 Storage Foundation 自
身所创建对象的高级工具 (Storage Foundation Management Server)。Storage
Foundation 不仅具备综合的虚拟化和文件管理功能,还具备基于主机的远程数据复
制、存储网络路径管理和多种形式的快照等多种高级功能。
Storage Foundation 支持主要的企业 UNIX 平台,如 Solaris、HP-UX 和 AIX,以
及 Red Hat 和 SuSE Linux 服务器平台。它与 Symantec NetBackup 企业备份管理
器、Oracle、Oracle Real Application Cluster (RAC)、DB2 以及 Sybase 数据库管
理系统集成在一起。CommandCentral 组件为访问由存储硬件和存储网络硬件所有
主要供应商所提供的低级管理工具提供了接口,从而使得存储资源和存储网络资源
从应用程序到磁盘驱动器或磁盘阵列 LUN 均完全可见。综上所述,Storage
Foundation 的组件是降低企业目前存储管理复杂性和成本最为有效的方法之一。

Storage Foundation 的价值主张


Veritas Storage Foundation 对数据中心内的所有 UNIX 平台实施标准化,解决了
降低存储管理复杂性和成本的问题:
■ 一组工具来管理所有 UNIX 平台的存储系统和网络组件,意味着管理员只需进行
一次培训并掌握相应管理技能即可,无需针对每一种计算平台或存储系统类型
进行培训。
14 标准化存储管理的内涵和起因
Symantec Veritas Storage Foundation

■ 一组工具意味着管理员更能够成为多面手,因为他们能够管理数据中心内任何
平台的存储。
■ 一组工具来管理存储,意味着管理员的熟练程度将更高,从而能够更加高效地
执行操作而减少出错。
■ 一组工具意味着存储管理过程实现标准化,无论数据中心存在哪些硬件组件。
■ 一组工具意味着存储管理软件的采购成本将更低。
■ 一组工具意味着通过在数据中心内引入新硬件组件能够更加容易、更加有效地
利用技术和定价趋势。
■ 一组工具意味着可优化存储硬件投资,例如,使用较旧的磁盘阵列作为复制目
标,或在不同磁盘阵列之间进行镜像。
■ 一组工具意味着无需为数据中心内每项存储管理功能维护单独的软件包和供应
商关系。
除降低基本存储管理功能的成本和复杂性外,Storage Foundation 还使企业可以利
用存储资产来获得更多利益:
■ Storage Foundation Dynamic Storage Tiering 工具可以在不增加管理成本的同
时有效地利用多层存储。
■ Storage Foundation 的优化空间快照功能使频繁创建生产数据快照不再过多占
用空间,从而显著改善了恢复点目标 (RPO)。
■ Storage Foundation 异构镜像和存储网络管理工具简化了不同类型磁盘阵列之
间的数据迁移。
■ Storage Foundation 的 Portable Data Container 功能可以直接在一种类型的
UNIX 或 Linux 平台上处理另一类型的 UNIX 生成的数据,而不使用网络复制或
交叉段装入。
■ Storage Foundation Intelligent Storage Provisioning (ISP) 可自动完成大多数
常规存储供应操作,扩展了管理员的视野且同时保证了企业对数据可用性和 I/O
性能的要求。
■ Storage Foundation Management Server 可集中管理整个数据中心的虚拟存储、
网络连接和文件系统。管理员可以通过单个控制台检查所有存储对象,并在必
要时进一步深入研究各个对象以管理重新配置、扩展和连接等等。
■ Storage Foundation Volume Server 可为基于主机的虚拟存储提供数据中心级
别的可见性,在实现由不同类型平台共享数据方面取得显著进展。
■ Storage Foundation for Databases 系列将 Storage Foundation 的基本功能与主
要数据库平台集成,其中包括 Oracle、Oracle RAC、DB2 和 Sybase,可直接向
数据库管理员提供快照和自动文件重定位等高级存储服务。
本书介绍 Symantec Veritas Storage Foundation 程序。第 3 章和第 4 章讨论组成
Storage Foundation 核心的 VxVM 和 VxFS 技术。第 5 章和第 6 章分别讨论动态多
标准化存储管理的内涵和起因 15
Symantec Veritas Storage Foundation

径处理 (DMP) 和 Storage Foundation Management Server (SFMS)。第 7 章介绍一


些常见用例,说明在常规情况下 Storage Foundation 对数据中心的价值。最后,第
8 章介绍为基于 UNIX 和 Windows 的数据中心实施标准化存储管理的准则。
16 标准化存储管理的内涵和起因
Symantec Veritas Storage Foundation
2
Storage Foundation 虚拟化
平台
本章节包括下列主题:

■ Veritas Storage Foundation

■ VxFS 文件系统

■ 与 Storage Foundation 集成的软件

■ Storage Foundation 的新增内容

Veritas Storage Foundation


Veritas Storage Foundation 的核心包含一个文件系统(称为 VxFS),它与一个卷
管理器(即存储虚拟程序,称为 VxVM)集成。Storage Foundation 软件可用于主
要的 UNIX 服务器平台,包括 Solaris、HP-UX、AIX 和 Linux(Red Hat 和 Suse)。
Storage Foundation 是一个用于管理企业存储和数据的高性能可扩展工具集,可在
所有主要的 UNIX 平台上提供通用的用户界面。Storage Foundation 具备的高性
能、可伸缩性和通用管理界面并结合存储网络 I/O 路径动态管理等高级功能,体现
了它的两个主要价值主张:
■ 最低成本机制:在不牺牲功能或性能的情况下,充分降低各种联机存储和数据
的基本管理成本
■ 高级存储管理功能:简化并实现自动化存储管理,同时提高为数据中心客户端
提供的服务质量

Storage Foundation 的组件


图 2-1 中说明了 Storage Foundation 在业务应用程序和数据之间的软件组件堆栈中
的位置。
18 Storage Foundation 虚拟化平台
Veritas Storage Foundation

图 2-1 数据访问软件堆栈中的 Storage Foundation

应用程序与数据库

文件

文件系统

虚拟卷

Volume Manager
逻辑单元 (LUN)

磁盘驱动器

如图 2-1 所示,VxVM 卷管理器控制着对连接到服务器的联机存储的访问。联机存


储设备通常是直接连接到服务器的磁盘驱动器,也可以是由磁盘阵列通过存储网络
提供的逻辑单元 (LUN)。通过适配器和主机操作系统中的设备驱动程序,VxVM 将
这些设备的块存储组织起来,然后以类似于磁盘驱动器的虚拟卷的形式提供给上一
层。

虚拟卷
VxVM 提供的虚拟卷(通常就称为卷)对文件系统和实用程序显示为磁盘驱动器形
式的块存储设备。VxVM 增强了其管理的磁盘驱动器和 LUN 的关键属性,可提高
其中所包含硬件设备的可靠性和 I/O 性能,而且提供不可用于磁盘驱动器的高级功
能,例如扩展或减小设备容量的功能或者透明转换设备(如从 RAID5 转换为镜像数
据保护)的功能。
由于卷具有与磁盘驱动器相似的行为,所以可提供显著优势。几乎所有存储实用程
序、文件系统和数据库管理系统都设计为处理存储在磁盘驱动器上的数据。通过使
卷具备与磁盘驱动器相似的行为,上述应用程序和数据管理器可以使用卷,而不会
因改造卷承担额外的工作。无需对应用程序进行专门修改,即可利用虚拟卷提供的
出众数据可靠性和 I/O 性能。
Storage Foundation 虚拟化平台 19
Veritas Storage Foundation

只要应用程序以及 VxFS 文件系统等数据管理器可识别高级卷功能属性,即可利用


这些属性。例如,通过使用管理命令,VxFS 可以增加文件系统所占用卷的大小,
并修改文件系统数据结构以利用附加的存储容量。
其他供应商开发的应用程序也可以利用 VxVM 卷的属性。例如,Oracle Disk Manager
(ODM) 工具可指示 VxVM 从镜像卷中的特定镜像读取数据,或避开镜像卷的写日
志,这是因为 ODM 在崩溃后控制“重新镀银”。

卷和 LUN
磁盘阵列提供的存储逻辑单元 (LUN) 在很多方面与卷相似。从应用程序和数据管理
器的角度看,它们的行为与磁盘驱动器相同。它们都由设计用于控制多个磁盘驱动
器的软件实施,并向上提供与磁盘驱动器相似的虚拟设备。与构成它们的磁盘相
比,它们的 I/O 性能和数据可靠性都要更高。不过,磁盘阵列提供的 LUN 与 VxVM
卷在表 2-1 中列出的 6 个重要方面不同。

表 2-1 LUN 与 VxVM 卷之间的区别

属性 VxVM 卷与磁盘阵列 LUN 之间的区别

适用范围 向存储网络提供 LUN 的软件运行在磁盘阵列中,所以其控制范围限于


该阵列中的磁盘驱动器。VxVM 运行在应用程序服务器或数据库服务器
中,所以它能够将服务器可访问的任何 LUN 组合为虚拟卷,即使这些
LUN 由不同磁盘阵列提供也是如此。

支持的设备 磁盘阵列 LUN 一定是由阵列中的磁盘驱动器组成。磁盘阵列硬件选项


通常限制为两类或三类磁盘驱动器。大体上,VxVM 可以使用主机操作
系统提供给它的任何物理或虚拟存储设备。

虚拟设备类型 与 VxVM 支持的配置选项相比,磁盘阵列 LUN 的配置选项往往更有


限。例如,VxVM 对不同设备上的数据镜像(相同副本)或条带(段)
数量没有实际限制,但大多数磁盘阵列都被限制为只能拥有少量这两类
对象。

虚拟设备命名 操作系统通常根据磁盘驱动器和磁盘阵列 LUN 的 I/O 总线或存储网络


地址来命名磁盘驱动器和磁盘阵列 LUN;管理员往往必须维护用于将
设备与应用程序和文件系统相关联的列表。VxVM 提供使用默认名称的
灵活命名体制将对象相互关联起来,同时为管理员提供完全的灵活性,
使其能够根据应用程序的相关需求(例如,物理位置、包含的文件系统
或数据库或者其他业务用途)命名卷。

支持的配置 大多数磁盘阵列要求组成单个 LUN 的所有磁盘驱动器均为相同类型。


VxVM 可以支持不同类型存储设备组成的卷。例如,企业磁盘阵列提供
的 LUN 可使用同一类型的不同阵列提供的另一 LUN,或者使用不同类
型阵列提供的 LUN,甚至使用直接与控制服务器连接的磁盘驱动器进
行镜像。
20 Storage Foundation 虚拟化平台
VxFS 文件系统

属性 VxVM 卷与磁盘阵列 LUN 之间的区别

多径访问 阵列中的磁盘驱动器通常通过一个或两个物理 I/O 路径连接到其控制


器。与之不同,磁盘阵列 LUN 通常通过两个或多个存储网络路径连接
到服务器。VxVM 管理 LUN 与主机之间的多条路径以保证容错,并且
使支持并发多径访问 LUN 的磁盘阵列可提高性能。

虚拟卷的成本与优势
获得基于服务器的卷的优势需要付出一定成本。不仅管理磁盘阵列 LUN 需要磁盘
阵列处理器提供的计算能力,由此会产生基本“沉没”成本,而且 VxVM 使用应用
程序服务器的计算能力管理它提供的卷。对于大多数类型的卷,VxVM 使用的计算
能力可忽略不计。但需要频繁向其中写入小型应用程序的 RAID5 卷例外。对于这些
卷,与采用相当的 RAID5 配置的基于磁盘阵列的卷相比,奇偶校验更新和写日志所
需的计算和 I/O 会导致写入小型应用程序的性能明显不同。

VxFS 文件系统
Storage Foundation 核心的第二个组件是 VxFS 文件系统。VxFS 是一个功能先进、
性能卓越且符合 POSIX 的文件系统,用于主要的 UNIX 和 Linux 平台。由于符合
POSIX,所以 UNIX 应用程序无需进行修改或改编,即可利用 VxFS 的优点。经过
十五年多的生产开发和部署,VxFS 已成为可在 UNIX 和 Linux 环境中使用的功能
最强大、扩展性最高且功能最先进的文件系统。

与 Storage Foundation 集成的软件


Storage Foundation 核心的价值不仅在于其功能的丰富与强大,还在于它集成了
Symantec 和其他供应商提供的其他主要数据中心软件组件。图 2-2 中给出示意图,
而 表 2-2 则对主要企业软件组件进行了介绍,Storage Foundation 与这些软件组件
进行集成,从而为数据中心和整个企业提供综合存储和文件管理功能。
Storage Foundation 虚拟化平台 21
与 Storage Foundation 集成的软件

图 2-2 Storage Foundation 与相关 Symantec 软件

数据库管理器 应用程序

数据库版本
文件
群集服务器

文件系统

Storage Foundation
Management Server
虚拟卷

逻辑单元 (LUN)
磁盘驱动器

命令中心

表 2-2 与 Storage Foundation 核心集成的组件

组件 说明

CommandCentral 从单个位置(管理控制台)管理 Storage Area Network (SAN) 的


组件(包括磁盘阵列、网络交换机和控制器)并给出相应报告。

Storage Foundation 从单个位置管理 Storage Foundation 的对象(其中包括 VxVM


Management Server 磁盘组、卷和访问路径、VxFS 和其他文件系统以及这些对象的
组)并给出相应报告。另外,合并提供某些高级服务所需的基本
任务,例如将磁盘组之间的数据迁移至更高级的服务。

Database Editions 提供对专门针对 Oracle、DB2 和 Sybase 等大型数据库管理系统


的 Storage Foundation 对象的自定义管理和报告。Database
Editions 封装数据库环境中的常见存储和文件管理任务,从而使
数据库管理员 (DBA) 能够在缺少系统管理员或存储管理员的情况
下执行这些任务。

Cluster Server 管理应用程序和它们运行所需的资源,包括在发生系统故障和站


点灾难时进行迅速恢复的本地和广域故障转移功能。
22 Storage Foundation 虚拟化平台
Storage Foundation 的新增内容

通过使用以上组件,Storage Foundation 针对数据中心、企业存储和文件管理问题


提供综合解决方案;该解决方案中的功能将不断发展,从而随着企业计算范围的扩
大和复杂程度的增加而不断满足其日益增多的需求。

Storage Foundation 的新增内容


早在二十世纪九十年代初,就已推出了构成 Storage Foundation 核心的 VxVM 卷
管理器和 VxFS 文件系统的最初版本。经过十五年多的发展,基于 UNIX 的企业计
算的性质已发生显著变化。从处理能力以及使 UNIX 系统能够处理更多数据密集型
问题的多 GB 主内存来看,UNIX 系统的功能已大幅度增强。随着企业逐渐习惯于
将重要的应用程序应用于基于 UNIX 的系统,数据中心内 UNIX 系统的数量已显著
增加,所以出现了更多的系统管理焦点;另外,也为如何管理应用程序与运行它们
的计算机之间的变动关系带来了难题。
有一点可能更重要,即联机存储已发展为“机外”存储并通过存储网络连接到使用
它的计算机系统,从而为进行灵活部署并保证数据的强大功能创造了机会;但与此
同时,这也为管理存储设备本身以及它们所连接的计算机带来了难题。
Veritas Storage Foundation 的发展完全与上述发展趋势同步。多年来,已先后推
出五个主要版本,每个版本的功能、扩展性和平台支持与其之前的版本相比都有所
提高,但同时又保证了与用户已安装配置的兼容。Storage Foundation 的最新版
本,即版本 5 的性能明显提高且新增了多项强大功能,同时针对目前企业存储和文
件管理的三个主要需求进行了改造:
■ Storage Foundation Management Server 为所有数据中心存储资源提供了中央
视图和控制点
■ 由动态分级存储工具提供的,以经济高效的方式利用联机数据中心存储的两个
或多个成本性能层的功能
■ 由 Storage Foundation Volume Server 提供的,对整个数据中心内网络存储进
行集成虚拟化的功能
以下各节说明对这些需求以及 Storage Foundation 版本 5 如何满足这些需求进行了
说明。

集中存储和数据管理
随着企业数据中心内系统和存储设备的数量不断增多,仅仅跟踪数据中心内安装的
对象就已成为一项艰巨任务。由于企业磁盘阵列能够向数十个端口上的数百个主机
提供数千个 LUN,所以即使看上去非常简单的问题实际上也很难回答:
■ 哪些主机使用给定阵列提供的 LUN?
■ 哪些阵列向给定主机提供存储?
■ 数据中心中存在哪些 VxVM 磁盘组,哪些主机正在使用它们?
Storage Foundation 虚拟化平台 23
Storage Foundation 的新增内容

■ VxVM 分别通过镜像、RAID5 或快照保护哪些存储?


■ 哪些主机安装了哪些文件系统,是否已充分利用这些文件系统?
■ 数据中心内可以重新部署未得到充分利用的哪些存储?
■ 数据中心内发出了哪些与存储和文件系统相关的警报?
■ 已执行了哪些存储管理任务,结果是什么?
■ 长时间运行的存储管理任务,例如数据迁移和在数据中心内重新部署卷的进度
如何?
在包含一个、两个或五个系统的数据中心内,一名系统管理员通过其控制台查询每
个系统,然后记录答案即可回答上述问题。但随着数据中心内的系统和存储设备数
量增加,使用电子表格完成存储管理的方法已不再有效。负责管理不同服务器中不
同应用程序和数据库的多名系统管理员必须与负责满足其应用程序的存储需要的对
应存储管理员交互。存储管理员需要一致的数据中心视图,该试图不仅能够显示示
存储分配情况和利用情况,而且还能显示他们执行常规存储管理任务(例如在主机
之间传送 VxVM 磁盘组,或在磁盘阵列之间迁移数据)所用的中心点。
从版本 5 开始,利用 Storage Foundation Management Server (SFMS) 的功能,管
理员可以获得有关所有 Storage Foundation 对象的全局视图和综合报告。另外,
SFMS 支持单个控制台来启动并控制常规存储和文件系统管理任务,无论在何处执
行这些任务。SFMS 发现 Storage Foundation 对象(磁盘和磁盘组、卷、文件系
统)以及数据库和托管服务器等相关对象,然后在中央数据库中输入它们的属性和
状态。当存储和数据环境发生变化时,SFMS 组件将调用安装了 Storage Foundation
的系统上运行的代理并提供信息,SFMS 将使用这些信息更新中央数据库。
Storage Foundation Management Server 包含有报告和监控组件,可以用这些组件
来跟踪 Storage Foundation 对象的状态并响应存储相关的事件,Storage Foundation
Management Server 还包含有活动管理工具,可以用这些工具来简化与常规存储管
理相关任务的创建和执行。
SFMS 报告能够:
■ 汇总整体数据中心存储状态(例如,分配给数据中心内各文件系统的存储的平
均利用情况)
■ 标识管理操作的目标对象(例如,为其分配的存储利用率最低的系统,即可能
成为重新部署的目标对象)。
■ 找到问题区域(例如,在其他组件失败时停止或存在危险的卷,或者已中断或
存在中断危险的存储访问路径)
SFMS 警报跟踪提供存储相关警报的综合视图,使管理员能够在各种问题导致应用
程序服务中断之前,快速地识别潜在问题区域、区分问题的优先级并作出响应。
SFMS 提供的向导将指导管理员完成至关重要的管理任务,例如在主机之间传送
VxVM 磁盘组的控制,或者在卷组之间迁移数据。基于向导的指导将最大限度地缩
24 Storage Foundation 虚拟化平台
Storage Foundation 的新增内容

短任务安装时间,并减少管理员出错的可能。忙碌的管理员在执行不太熟悉的任务
时,压力过大,所以可能出错。
另外,由于认识到每个数据中心都使用独有步骤,所以 SFMS 使用户能够通过 SFMS
控制台存储定制的存储管理任务定义,然后根据需要执行它们并跟踪进度。例如,
管理员可以定义一个 SFMS 任务,该任务由对企业中所有 Web 服务器上的网页文
件系统碎片的命令。可以将该任务定义保存在 SFMS 数据库中,然后根据需要(例
如当网站更新等某些外部事件可能导致 Web 服务器的文件系统发生重大更改时)予
以执行。
结论:Storage Foundation Management Server 提供单个便利点,管理员可以从中
查看所有数据中心的存储虚拟存储设备和文件系统,并且能够在看到各个操作对整
个数据中心存储设备的影响的情况下管理它们。

高效利用多层存储
多层存储 — 使用具有不同 I/O 性能、数据可用性和相对成本特征的虚拟或物理存储
设备的组合,为计算机系统提供独特的联机存储,该方法可以最大限度地降低联机
存储的平均成本,同时可保证满足用户需要,所以在许多企业的 IT 组织中日渐盛
行。
可以按照下列对象定义存储层:
■ 硬件类型,例如,直接连接到主机的低成本磁盘驱动器与企业磁盘阵列中的 LUN
■ 硬件的期限,例如,同一企业磁盘阵列中的 36 GB 磁盘驱动器与 73 GB 磁盘驱
动器
■ 配置,例如,相同容量的 RAID5 虚拟设备与条带化和镜像虚拟设备
上述所有选项均会提供独有的可用性和性能特征,同时具有关联成本。虚拟化技术
支持使用多种技术的组合。例如,有时由 VxVM 或相似的卷管理器镜像两个磁盘阵
列提供的 RAID LUN。
大多数企业具有相对较少,但绝对关键的数据集。通过为这类配置少量但成本较高
的存储,并将重要性较低的数据分配给价格较低的设备,企业可以将总体存储成本
减半或更多,同时不会导致所提供服务的质量显著下降。
企业也会因为其他原因而隔离数据集。例如,因为事务数据与大型数据流的访问模
式截然不同,一般会希望将这两种数据相分离以提高性能。同样,由不同应用程序
在同一时间访问的两个数据集应驻留在不同存储设备上,以尽可能减少 I/O 资源争
用。在上述以及相似情况下,将存储隔离为多个层并将不同类型的数据存储在特定
层中的做法可提供显著优势,即使所有设备都具备相同功能也是如此。
各企业一般都是将数字信息组织到文件中。文件与业务用途紧密相关。文档、事务
表、图像、音频和视频轨道等等都可以方便地存储为文件,且每类文件都有不同的
业务用途和价值。所以,在优化存储的性能、可用性和成本时,一般都会从文件对
象入手。
Storage Foundation 虚拟化平台 25
Storage Foundation 的新增内容

为了利用多个存储层,企业一般会将各类数字文件存储到不同类型的设备上,并使
设备的成本与其业务价值相对应。相对关键的文件将存储到价格更高,但性能也更
高且更可靠的设备上;重要性较低的文件将存储到价格较低,性能和可靠性自然也
较低的设备上。
将一个或一组文件与适当存储设备相匹配并不困难。管理员可通过强制方式正确放
置文件,例如,将用户或应用程序分配给在适当类型的设备上格式化的文件系统。
要有效地利用多层存储,挑战在于涉及的数量,如果不执行一定形式的自动操作,
那么将数百万个文件存储到适当设备上将是一项无法有效执行的任务。
不仅如此,给定文件所适合的存储类型会不断发生变化。随着文件时间变长,访问
文件的频率发生变化,文件增大或变小或者在文件系统的逻辑命名空间内移动,适
合的存储设备类型也会变化。例如,在签署订单后、安排送货、出具发票或进行查
询时,一般会频繁访问新创建的事务记录。随着这些记录的时间变长,访问频率会
降低,但必须保证这些记录联机以用于偶尔的查询、月终结算、数据挖掘等等用
途。通过在旧记录的时间变长,访问频率降低后将它们移至性能和价格较低的存储
设备中,可以显著减少保证事务记录联机的平均成本。
但无法在存储层之间手动重新查找数百万个文件。必须实现自动化,才能有效地利
用多层存储。企业所拥有的文件越多,使用这些文件的频率越高,就越有必要实现
自动化放置流程。
Storage Foundation 版本 5 中提供动态分级存储 (DST) 工具,用于在不产生管理开
销的前提下有效利用多层联机存储。DST 工具包含两部分:
■ 在具有不同属性的多个 VxVM 卷中分发单个文件系统(“命名空间”)的功能
■ 根据策略,自动在文件系统的卷集中放置和重定位文件的功能
VxFS 多卷文件系统使用的各个卷对应用程序透明。但 VxFS 本身仍然了解各个卷的
层分类,并且实施预定义策略以动态控制存储各个文件的设备的类型。
VxFS 管理员对多个策略进行定义,这些策略自动控制原始文件位置和 VxFS 重定位
现有文件时的情况。这些策略中包含将文件位置限制到指定存储层的规则。策略规
则会创建文件并将其扩展到指定层,并在文件符合大小、I/O 活动和命名空间中的
位置等某些条件时将它们重定位到其他层。
结论:Storage Foundation 能够在无管理干预的情况下,自动在“正确”类型的存
储上创建每个文件,并在文件的相关条件更改时将其移至新的“正确”类型存储,
从而实现了对多层联机存储的有效利用。

存储网络中的存储虚拟化
从二十世纪九十年代初第一款支持 RAID 的磁盘阵列开始,企业应用程序所使用的
存储就已经开始日渐虚拟化。目前,大多数文件系统和数据库管理系统并不是将数
据直接存储在磁盘驱动器上,而是存储在与磁盘驱动器相似的虚拟设备上。这些虚
拟设备包含一个或多个磁盘驱动器以及一个软件层,用于协调驱动器的活动并将相
当于磁盘驱动器的虚拟设备提供给文件系统、数据库管理系统和存储工具。
26 Storage Foundation 虚拟化平台
Storage Foundation 的新增内容

就读取和写入数据而言,虚拟存储设备的功能相当于磁盘驱动器,但与其中所包含
的磁盘驱动器相比,这些设备具备卓越的 I/O 性能、设备可用性、数据可靠性和功
能。随着存储从服务器中脱离出来并迁移到网络,虚拟化技术也发展为包含存储设
备与系统的逻辑连接。
存储虚拟化控制软件早期主要用于磁盘阵列固件和 VxVM 等基于服务器的卷管理
器。近年来,存储网络交换机和控制器的供应商已在他们的设备中添加了存储虚拟
化功能。虚拟化软件在数据中心的逻辑位置决定着其运行的作用域,以及它能够向
哪些应用程序和数据库服务器提供虚拟存储。表 2-3 中总结了磁盘阵列、存储网络
交换机和服务器的虚拟作用域。

表 2-3 存储虚拟化域

虚拟位置 属性

磁盘阵列固件 磁盘驱动器:可虚拟化阵列中的磁盘驱动器,但不能控制其
他阵列中的驱动器。

主机:可向与阵列的 SAN 端口建立物理和逻辑连接的主机提


供虚拟设备。

存储网络交换机固件 磁盘驱动器:可虚拟化提供给交换机的设备。其中可能包括
已由磁盘阵列固件虚拟化的磁盘驱动器和 LUN。

主机:可向与其 SAN 端口建立物理和逻辑连接的主机提供虚


拟设备。

VxVM 等应用程序或数据库服 磁盘驱动器:可虚拟化通过存储网络与其存储网络端口建立


务器软件 物理和逻辑连接的磁盘驱动器和 LUN。

主机:可向应用程序服务器或数据库服务器上运行的应用程
序提供虚拟设备,但不能向其他服务器上的其他应用程序提
供虚拟设备。

通过研究 表 2-3,显然任何一种传统存储虚拟化方法都不能在全局范围内发挥作用,
也就是说,任何方法都不能虚拟化数据中心内的任意存储设备池,并将虚拟设备提
供给任意计算机组合。如果数据中心内的服务器数量有限,且存储采用直接连接或
静态配置,那么虚拟化作用域有限只是个小问题。但随着企业部署更多小型刀片服
务器,且越来越多的企业重新部署存储,缺少用于管理存储的较大便利点的问题将
日益限制有效利用存储资产的能力。
Storage Foundation 版本 5 响应这一扩大数据中心存储控制范围的需要,增强了卷
管理器的功能,以提供对主机组可访问的存储资源池虚拟化的集中控制。通过使用
Storage Foundation Volume Server 的新增功能,连接到存储网络的任意主机组都
可以共享对同一 VxVM 磁盘组池的访问,无论这些主机运行在何种类型的 UNIX 平
台上。通过使用该卷管理器,主机可直接从存储设备中读写数据,但配置和状态管
理由代表整个主机组操作的高可用性管理服务器完成。管理员在能够看到所有资源
和存储使用者的情况下从单个点管理主机组的存储资源池。
Storage Foundation 虚拟化平台 27
Storage Foundation 的新增内容

结论:如果使用 Storage Foundation Volume Server 工具,那么对于支持的所有


UNIX 主机类型,都可以在任意主机组之间快速、无缝地共享存储资源和串行数据。
28 Storage Foundation 虚拟化平台
Storage Foundation 的新增内容
3
深入研究 Storage
Foundation 核心:VxVM 卷
管理器
本章节包括下列主题:

■ 为什么选择 Storage Foundation?

■ VxVM 卷管理器

■ Storage Foundation 的新增功能:多主机协调式存储管理

为什么选择 Storage Foundation?


Storage Foundation 的核心组件 VxVM 卷管理器和 VxFS 文件系统处于数据中心软
件堆栈的核心位置。基于主机的存储虚拟化以及文件组织和管理对于企业计算极为
重要,所以 UNIX 和 Linux 操作系统包含本机虚拟程序和文件系统。这就提出了购
买 Storage Foundation 是否物有所值的问题,换句话说,UNIX 和 Linux 本机文件
系统和卷管理器的功能是否能够满足企业的基本需求。
对于大多数企业,这一问题的答案相当肯定。Storage Foundation 的功能远远超越
了常用内置虚拟程序和文件系统提供的功能。与操作系统的本机组件相比,Storage
Foundation 为数据中心增加的价值可分为下列三个基本类别:
■ 高级功能,使 Storage Foundation 可扩展为管理数千台存储设备和上千万个文
件。
■ 平台支持,通过单个管理控制台的单一一套过程来管理数据中心内所有 UNIX 和
Linux 平台的存储和数据控制。
30 深入研究 Storage Foundation 核心:VxVM 卷管理器
VxVM 卷管理器

■ 集成,使群集和存储网络管理器等其他软件基础结构组件以及主要数据库管理
系统和应用程序可轻松获得 Storage Foundation 的 I/O 性能、数据可用性和存
储资产管理。
要详细了解 Storage Foundation 的价值所在,需要深入研究存储虚拟化的性质以及
Storage Foundation 的核心组件如何实现其功能。

存储虚拟化
在信息技术领域,虚拟化往往意味着通过组合现有的物理组件,获得通常难以(或
无法)获得的组件或服务的行为。例如,无法构建平均数据丢失时间为 1,000,000,000
小时的磁盘和每秒可执行 2,500 个 I/O 请求的磁盘,或至少构建这类磁盘的成本过
于高昂。但通过在两个或多个磁盘上镜像相同数据,并通过条带化将块地址平均分
布到十二个或更多磁盘,即可轻松创建具有上述属性的虚拟磁盘。
存储设备由管理一个或多个物理设备的软件虚拟化,即将客户机对虚拟存储的读取
和写入请求映射为对托管设备的命令。虚拟化包含两部分:
■ 确定如何将客户机的 I/O 请求映射至磁盘或磁盘阵列中 LUN 上的 I/O 操作的算
法。
■ 控制算法的配置信息。配置信息定义组成虚拟设备各个部分的物理设备,以及
用于处理这些设备的算法类型。
例如,镜像虚拟设备的算法是在所有设备上执行每个客户机写入请求,并选择一个
设备执行每个客户机读取请求。对于条带化虚拟设备,该算法将虚拟设备块地址转
换为一个或多个物理设备上的块地址,并通过向所选设备发布命令来执行客户机的
读取和写入请求。
算法是每次启动虚拟程序时加载以供执行的可执行代码。从这个角度看,算法具有
易失性,即每次重新启动虚拟程序时,都会加载其算法的新副本。如果存储设备中
包含的虚拟化软件被破坏,可以在替换设备上重新安装该软件。
另一方面,配置信息必须保持不变。虚拟程序只能通过配置信息确定虚拟设备的各
个部分包含的物理设备,从而正确地执行其算法。不仅必须在系统重新启动后保证
虚拟存储配置信息保持不变,而且在存储设备出现故障并已更换后,该信息也必须
保持不变。从这个角度看,虚拟存储配置信息是企业中最有价值的数据。该信息是
找到应用程序数据的关键。如果虚拟存储配置信息丢失,则企业会遇到非常棘手的
问题,即知道其重要数据完好无损而且保存在由其控制且正常工作的设备上,但却
完全无法找到并访问该数据。

VxVM 卷管理器
VxVM 卷管理器是基于主机的存储虚拟化工具,用于 Solaris、HP-UX、AIX、Red
Hat Linux 和 SuSe Linux 平台。如 图 3-1 所示,VxVM 在数据访问软件堆栈中的硬
件设备驱动程序层之上运行。磁盘和 I/O 适配器驱动程序一般随操作系统提供,或
者由存储和 I/O 适配器硬件的供应商提供。因为客户机上必须包含系统中安装的任
深入研究 Storage Foundation 核心:VxVM 卷管理器 31
VxVM 卷管理器

何及所有磁盘存储驱动程序,所以 VxVM 可虚拟化操作系统支持的任何磁盘存储设


备。为进行虚拟化,VxVM 以处理通用 VxVM 磁盘对象的相同方式处理通过驱动程
序提供给它的所有磁盘驱动器和磁盘阵列 LUN。
虚拟化所有类型的存储的能力是使数据中心存储策略独立于硬件供应商的主要优
势。在引入新型设备或将旧设备报废时,无需更改虚拟化策略。如果新设备的 I/O
性能和数据保护功能与旧设备相似,则新设备可以取代旧设备,VxVM 将立即对它
们进行识别和管理。

图 3-1 VxVM 在数据访问软件堆栈中的位置

文件系统

虚拟卷

Volume Manager

磁盘

设备驱动器
磁盘驱动器

逻辑单元(LUN)

VxVM 事务
VxVM 将所有通过驱动程序堆栈呈现给它的磁盘驱动器和磁盘阵列 LUN 都统一作
为抽象磁盘对象处理,并将它们组织到磁盘组中。所有 VxVM 虚拟化和其他管理操
作都发生在磁盘组的限定内。例如,一个磁盘组中的某个磁盘永远不会用另一个组
中的磁盘进行镜像。
这种磁盘组组织方式使得存储管理更可靠,特别是对于连接到许多主机的复杂网络
中的大量存储设备。例如,要将一组磁盘的控制从一个应用程序服务器传送到另一
个,管理员可以将磁盘从磁盘组中拆分出来并单独组成一个组,然后将新组逐出控
制服务器,并在目标服务器上导入它。如果在此过程中出现任何问题,磁盘可保留
在中间状态,并属于其中一个磁盘组,更糟糕的情况是同时属于两个磁盘组。
32 深入研究 Storage Foundation 核心:VxVM 卷管理器
VxVM 卷管理器

VxVM 通过将这些以及其他类似管理操作作为事务来执行,使之更加可靠。在信息
技术中,“事务”一词具有明确含义,并通常概括为“ACID 属性”。数字事务的
ACID 属性包括:
■ 原子性,指在事务处理的最后,所有构成它的基本操作都已执行完毕,或者将
这些操作保留,使得对系统的影响就好像从未发生过该事务一样
■ 一致性,指事务将某个系统从一个有效状态转换为另一个(最初是应用程序正
确性的一个属性)
■ 隔离性,指不管有多少事务同时执行,每个事务都表现为好像它是系统中唯一
运行的事务
■ 持久性,指当事务发出完成信号后,其结果将持续不变,即使它运行所在的系
统在完成信号发出后立即出现故障
VxVM 事务可管理磁盘、磁盘配置和磁盘内容布局。例如,为卷分配部分磁盘容
量,将两个磁盘组合到一个镜像卷中,向条带卷中添加磁盘,所有这些都作为事务
来处理。因为 VxVM 管理操作是事务性的,所以管理员无需关注从中间操作的故障
中进行恢复的问题;VxVM 可确保管理操作已完成或停止——磁盘和其他对象永远
不会丢失,或两个服务器的明显控制之下。

专用区域
VxVM 磁盘组具备自我描述能力,即组中的磁盘包含有关组成员、卷和其他 VxVM
对象的信息。如 图 3-2 中所示,VxVM 将其管理的每个磁盘的总存储容量分为一个
较小(数 MB)的专用区域和一个大得多的数据存储区域,在前一个区域中存储元
数据,并使后一个区域可由应用程序使用。

图 3-2 VxVM 专用区域和公共区域

Volume Manager
专用区域数据存储
磁盘

设备驱动程序
磁盘驱动器

逻辑单元(LUN)
深入研究 Storage Foundation 核心:VxVM 卷管理器 33
VxVM 卷管理器

一个磁盘组中所有磁盘的专用区域一起描述该组的完整配置。每个磁盘的专用区域
包含有关整个磁盘组的基本信息,该磁盘所属卷和其他 VxVM 对象的描述以及有关
该组中其他磁盘的信息的冗余备份。有关磁盘组的所有信息存储在两个或多个磁盘
的专用区域中,所以即使一个或多个磁盘失败,也可保证 VxVM 事务的持续性属
性,因为 VxVM 可使用组中其余磁盘的专用区域中的元数据来重建该组的卷配置。
VxVM 使用一组精心排序的专用区域更新及其自身的资源锁定机制,来获得其余的
事务属性、原子性、一致性和隔离。因此,无论是从承受多个存储设备故障的影响
的角度,还是从所应用的更新方式可保证系统在更新过程中的任何时刻遇到故障时
都可以恢复到正确起始点这个角度,虚拟存储配置信息储存库都非常可靠。因为
VxVM 磁盘具备自我描述功能且配置信息包含在每个磁盘中,所以,举例来说,当
包含条带化卷或镜像卷的磁盘组的控制从一台服务器传送到另一台服务器后,这些
磁盘上的卷配置和用户数据依然完好无损。

VxVM 对象命名
UNIX 系统启动时通过探查 I/O 总线地址,或通过查询存储网络名称服务器来发现
连接的存储设备。每发现一个设备,都会为其指定一个与发现它时所在的 I/O 总线
适配器相关,或者与其全球存储网络名称相关的名称。这些名称将包含在操作系统
的设备树中,并将用于创建虚拟卷和文件系统等管理操作。
虽然操作系统的设备命名体制可保证为系统可见的每个设备指定唯一名称,但这些
体制生成的名称存在两个缺点:
■ 这些名称与业务用途无关,所以管理员很难每天使用它们。
■ 他们无法区分单独设备以及与系统存在两个或多个连接的单个设备。
VxVM 的设备命名功能便于用户记忆,这克服了上述第一个缺点。而第 5 章中介绍
的动态多径处理 (DMP) 功能克服了第二个缺点。
对于仅连接少量存储设备的系统,设备命名相对简单。存储设备的配置经常变化,
所以管理员在完成日常工作的过程中自然需要记住各个设备的名称以及它们与其他
IT 运行环节的关系。很容易记住名为 /dev/dsk/c0t0d1s0 的磁盘或 LUN 包含应付
帐款应用程序的文件系统。但在重新配置系统,在数据中心安装更多系统和更多磁
盘阵列以及相互关系发生变化后,人的记忆力很快就会记不住存储配置。随着数据
中心需要多名管理员,由于管理员必须协调相互之间的操作,所以所有管理员对数
据中心的存储都有相同认识,这个问题变得非常复杂。
由于存储虚拟化的过程会添加更多对象,即虚拟卷和组成虚拟卷的存储组件,而且
在管理操作中必须正确指定它们的名称,所以进一步增加了难度。
VxVM 的对象命名体制解决了管理员根据设备名称快速、可靠地识别设备的问题。
VxVM 命名体制具有三个重要特点,简化了管理员识别和管理存储对象的过程:
■ 与其他 VxVM 对象建立关联关系的默认对象名
■ 用户可分配的对象名
34 深入研究 Storage Foundation 核心:VxVM 卷管理器
VxVM 卷管理器

■ 基于磁盘阵列命名 VxVM 磁盘对象


对话框 3-1 中显示的前两列分别指定 VxVM 对象的类型和名称,说明了 VxVM 对象
命名体制的上述三个特点的前两个特点。

对话框 3-1 VxVM 对象命名

[1] # vxassist -g testdg make appvol 100m nmirror=2

[2] # vxprint

[3] Disk group:testdg


[4] TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
[5] dg testdg testdg - - - - - -
[6] dm c3t1d0s2 c3t1d0s2 - 71680896 - - - -
[7] dm c3t2d0s2 c3t2d0s2 - 71680896 - - - -
[8] v appvol fsgen ENABLED 204800 - ACTIVE - -
[9] pl appvol-01 appvol ENABLED 204800 - ACTIVE - -
[10] sd c3t1d0s2-01 appvol-01 ENABLED 204800 0 - - -
[11] pl appvol-02 appvol ENABLED 204800 - ACTIVE - -
[12] sd c3t2d0s2-01 appvol-02 ENABLED 204800 0 - - -

对话框 1 中的第 [6]-[ 7 ] 行代表两个 dm(磁盘介质)对象。这些是已由 VxVM 控


制的磁盘驱动器或磁盘阵列 LUN。VxVM 管理命名中用于对磁盘寻址的名称(例如
c3t1d0s2),出现在显示的第二列中。所显示的第三列代表与 VxVM 对象关联的
对象,在这种情况下,是设备的操作系统名称。VxVM 已将用于识别设备的名称设
置为与操作系统分配的名称相同。如果因某些管理原因而应当为 VxVM 磁盘对象指
定其他名称,那么也可以指定其他名称。
第 [8 ] 行代表向客户机提供的 VxVM 虚拟卷(对象类型 v)。对话框中第 [1] 行中
的 vxassist 命令会创建镜像列,并将其命名为 appvol 以便于管理。VxVM 卷包含
称为 plex 的一个或多个对象(对象类型 pl),而这些对象中又包含子磁盘(对象
类型 sd)。第 [ 9 ] 和第 [ 11 ] 行说明 VxVM 在创建卷的过程中自动创建的 plex
对象被命名为 appvol-01 和 appvol-02,所以会立即被标识为与 appvol 卷关联。
第 [1 0 ] 和第 [1 2 ] 行代表子磁盘对象 c3t1d0s2-01 和 c3t2d0s2-01,VxVM 在
默认情况下根据它们所驻留的磁盘对象命名它们。所显示的 ASSOC 列说明这些子磁
盘与它们各自的 plex 对象关联。
对话框 3-2 中显示相似(缩略版本)的条带化卷结构,说明 VxVM 对象命名的第三
个特点,即基于磁盘阵列的名称。如果使用基于磁盘阵列的命名,VxVM 为报告特
定阵列类型(在这种情况下为 SHARK0)的所有 LUN 指定一个磁盘介质名称,标识
它们所属的磁盘阵列(对话框 3-2 中的 SHARK0_26 和 SHARK0_27)。基于磁盘阵列
的名称由 VxVM 中特定于阵列模型的模块,即阵列支持模块 (ASM) 生成。
通过使用基于磁盘阵列的命名,可以立刻标识出 LUN 的物理位置。如果更适合使
用以应用程序或业务为中心的名称,VxVM 可使用用户定义的磁盘阵列名称替换阵
列报告的名称,并根据替换的名称命名磁盘。
深入研究 Storage Foundation 核心:VxVM 卷管理器 35
VxVM 卷管理器

对话框 3-2 VxVM 基于磁盘阵列的命名

[1]Disk group:tcrundg

[2]dg tcrundg default default 16000 140131242.57.vm280r1.veritas.com

[3]dm IBM_SHARK0_26 IBM_SHARK0_26 auto 65536 1883008 -

[4] dm IBM_SHARK0_27 IBM_SHARK0_27 auto 2048 1946496 -

[5] v appvol - ENABLED ACTIVE 20480 SELECT appvol-01 gen

[6] pl appvol-01 appvol ENABLED ACTIVE 20480 STRIPE 2/128 RW

[7] sd IBM_SHARK0_26-01 appvol-01 IBM_SHARK0_26 0 10240 0/0 IBM_SHARK0_26 ENA

[8] sd IBM_SHARK0_27-01 appvol-01 IBM_SHARK0_27 0 10240 1/0 IBM_SHARK0_27 ENA

正如以上简单示例所示,VxVM 自动完成对默认对象的命名,从而轻松将相关的各
个对象相互关联。基于磁盘阵列的命名自动将 LUN 与提供它们的磁盘阵列相关联。
另外,VxVM 对象的名称完全由管理员决定。管理员可设计存储命名体制以满足企
业的需要,使对应名称以应用程序或数据中心布局为中心,或设计为满足其他业务
用途。

存储多径访问
随着数据中心发展为配置每台服务器的存储,并应用由存储网络启用的存储池概
念,在提供高可用性的数据和应用程序时,存储网络本身已成为一个重要因素。不
仅虚拟存储设备必须非常强大,还必须保护访问组成虚拟存储设备的物理设备的能
力,使其不受网络故障的影响。
保证主机与存储设备之间的连接具有容错功能的主要机制是在二者之间提供多个路
径。如果一个路径发生故障,则主机与设备可继续使用备用路径通信。
大多数数据管理器和存储工具将单个网络存储地址视为与单个设备相同。为了能够
将这些软件组件与具备多个访问路径的设备一起使用,连接该设备的路径已虚拟
化,即为主机地址伪设备上运行的存储应用程序。主机软件层将所有 I/O 请求通过
一个或多个访问路径路由至给定设备,然后跟踪未完成的请求,直到它们的执行完
成为止。
最常用的多径访问容错形式是配置两个完全独立的物理网络或光纤通道,然后将主
机服务器和存储设备与两条光纤通道连接,如 图 3-3 所示。
36 深入研究 Storage Foundation 核心:VxVM 卷管理器
VxVM 卷管理器

图 3-3 联网存储设备之间的多个路径

主机服务器

HBA1 HBA2

路径 1
路径 2

交换机 交换机

端口 端口
控制器 控制器
磁盘阵列

磁盘阵列控制器
提供的镜像 LUN

在以上框图中,图 3-3 代表服务器与存储设备之间路径中的主物理组件(在这种情


况下,为磁盘阵列固件虚拟化的镜像设备)。
图 3-3 中标记为 switch 的两个块代表独立存储网络光纤通道,除端点主机服务器
和磁盘阵列内存系统外,这些通道不带有共享组件。独立主机总线适配器 (HBA)、
电缆、磁盘控制器和磁盘控制器端口提供主机服务器与虚拟设备之间两个完全独立
的路径。上述路径中任一组件发生故障都不会中断主机服务器与数据间的连接,前
提是:
■ 主机服务器可识别它与存储设备之间的两个路径。
■ 主机服务器的 I/O 软件堆栈能够将发送到失败路径的请求重新发送给备用路径,
所以应用程序访问数据时不会中断。
VxVM 动态多径处理 (DMP) 功能可满足上述两个要求。DMP 基于基本操作系统设
备发现而构建,可识别连接到相同磁盘驱动器或磁盘阵列 LUN 的多个路径。如果
设备路径因任何原因失败,DMP 会将请求重新路由到备用路径。在大多数情况下,
重新路由对应用程序是透明的。对于所谓的主动/被动磁盘阵列,即需要特定操作才
能与备用路径上设备通信的磁盘阵列,DMP 会执行所需操作。
深入研究 Storage Foundation 核心:VxVM 卷管理器 37
VxVM 卷管理器

图 3-4 存储 I/O 堆栈中的动态多径处理

Volume Manager
DMP 创建的
V-Disk c1t0... Pseudo 设备

DMP 功能
操作系统发
现的设备 Disk c0t0... Disk c1t0...

设备驱动器

路径 0 路径 1

LUN A

图 3-4 显示 DMP 处于 I/O 堆栈中 VxVM 虚拟层下的位置。在系统启动过程中或按


需要执行发现的阶段,DMP 会查询类似设备以确定它们是确实为不同设备,还是通
过两个主机总线适配器提供给操作系统的相同设备。对于为其检测多个路径的每个
设备,DMP 都会在操作系统中创建伪设备数据结构。
VxVM 虚拟层将 DMP 提供的伪设备虚拟化(镜像和条带化等等)。VxVM 向驱动
程序发出的每个 I/O 请求都会通过 DMP 层,该层使用 I/O 路径将其路由至设备并
跟踪其进度,所以 VxVM 的 I/O 请求不会在系统中丢失。
如果 I/O 设备的一条路径发生故障,DMP 会直接将未完成请求和未来请求重新路由
到另一路径,同时执行可影响路径故障切换的任何特定于磁盘阵列的操作。
DMP 的辅助优势在于可同时使用两条或多条设备路径以提高吞吐量。该功能在配备
较大缓存内存的企业级磁盘阵列中尤为重要。对于某些类型的应用程序,相当大一
部分 I/O 请求是通过引用磁盘阵列缓存来满足的。因为不会对这些请求执行查找或
旋转中继,所以数据传输成为限制 I/O 性能的因素。如果磁盘阵列支持同时通过两
条或多条路径访问其 LUN,则 DMP 可以将每个 VxVM I/O 请求路由到相对不繁忙
的路径,从而提高总吞吐量。DMP 包含多种算法,可在多条路径之间平衡 I/O 负
载。
DMP 的主要优势是提高服务器级别的数据可用性,因为它使对存储设备的访问能够
承受 I/O 路径故障。其辅助优势是在与磁盘阵列一起使用时,如果这些磁盘阵列支
持同时访问连接到它们提供的 LUN 的多条 I/O 路径,则可提高 I/O 性能。
38 深入研究 Storage Foundation 核心:VxVM 卷管理器
VxVM 卷管理器

联机重新配置
随着数据中心增大且日趋复杂,而且数字数据处理的更改速度也越来越快,服务器
和存储的重新配置已成为一项日常工作。应用程序数据的增长超过分配的存储容
量;数据集对其所有者的价值日益增加,所以需要更严密的保护;具有多余存储容
量的系统将其部分容量分配给容量不足的其他系统。
无论出于何种原因而进行重新配置,都会导致应用程序“停机”,这对于要求保证
应用程序不间断运行的管理员来说已日益成为一个难题。从业务角度来看,停用大
型文件系统或数据库以将其备份并恢复到较大设备的做法往往不可行。即使将数据
集从镜像设备直接复制到非冗余设备所需的时间也会对操作产生负面影响。
VxVM 的体系结构能够在数据联机并由应用程序使用时执行重新配置,所以可消除
或至少减少多种上述重新配置存储问题。可以对卷的大小进行调整,既可以在应用
程序需要卷时增加其容量,也可以在必须将未使用的存储重新部署到其他主机时减
少其容量。
可以在应用程序使用卷时更改卷的配置。可以添加或删除镜像。同样,当应用程序
使用条带卷上的数据时,可以增加或减少条带卷中的列数。可通过添加卷重新配置
偶校验 RAID 卷。
VxVM 可以在磁盘或 LUN 之间重定位条带卷的单个镜像或列。如果怀疑存在潜在
的磁盘故障,则可以使用该功能,即将数据从故障磁盘移至另一个正在使用的备用
磁盘。另外,还可以使用它将数据从旧设备迁移到新设备中。
VxVM 使用应用程序未使用的 I/O 容量,在后台执行上述所有重新配置操作。但是,
重新配置所有数据的操作需要大量 I/O,因此应谨慎地安排为在生产应用程序未承
担峰值负载时执行这些操作。VxVM 联机重新配置可避免停机,在执行重新配置
时,即使应用程序达不到峰值性能,也完全可正常运行。因此,联机重新配置功能
解决了这一难题。VxVM 在重新配置存储时无需停止应用程序,只需在安排重新配
置时,将其安排在从业务角度看可以承受任何潜在的性能下降的时间。

快照
对不间断运行应用程序的要求日益提高。从空中交通管制等早期应用者,到资金划
拨等企业对企业 (B2B) 功能以及 Web 零售应用程序,这类应用程序最初只是可提供
方便,但目前已成为必备工具。不能全天候可用的信息服务根本不可行。因为一定
会存在全天候可用的竞争服务。
但与此同时,企业正在变得日益依赖其数字信息来保证运行。无论企业的规模有多
小,其运行都离不开计算机系统和数字信息。所以,企业必须保留并保护其数字数
据,就如同保留并保护现金、固定设备和其他重要资产一样。
这两种趋势相互冲突。一方面,必须保证不间断提供数据。另一方面,必须长期保
留未修改的数据,从而创建副本以便针对数据破坏保护数据。
深入研究 Storage Foundation 核心:VxVM 卷管理器 39
VxVM 卷管理器

就像捕获物理操作的摄影快照一样,VxVM 快照能够捕获大型数据集的瞬间映像,
从而帮助解决该冲突。可以将大型数据集的 VxVM 快照备份或对其执行其他处理,
同时生产应用程序可继续处理数据本身。
VxVM 同时支持完整副本和节约空间的写入时分配快照。完整副本快照是卷的“位
对位”副本,与卷本身占用相同的存储容量。完整副本快照的优势在于可以将它们
占用的存储设备移到其他主机上,因此处理它们时不会影响生产应用程序的可用资
源。它们的缺点在于初次创建时需要很长时间,这是因为必须将要为其创建快照的
数据集中每个位复制到快照卷中。
节省空间的快照是卷的虚拟快照。从物理角度看,节省空间的快照仅包括快照创建
后已修改的数据之前的映像。当应用程序更新之前的映像之后,会为它们分配存储
容量。节省空间快照作为完整数据集提供,但是它们通过引用原始映像满足获得未
修改数据的读请求。因此,不能将它们移到主机以外的其他计算机以进行辅助处
理。
节省空间的快照使用的存储容量非常有限,不经常更改的大型数据集更是如此,因
为它们使用的存储容量与其生命期内修改的数据量成比例,而不是与数据集大小成
比例。因此,可以经常创建节省空间的快照,从而在数据集被损坏之后迅速将它们
恢复到先前的状态(恢复点)。
VxVM FastResync™ 功能显著增强了完整副本和节省空间的快照在重复应用中的可
用性,并可用于从应用程序导致的数据损坏中恢复。VxVM 维护数据更改日志
(DCL),跟踪对活动快照和它们代表其快照的卷的更改。使用 DCL 作为指南,VxVM
使用快照的之前映像内容覆盖已更改的块,从而迅速将损坏的卷恢复到先前的状
态。同样,快照的有效期结束时,可以使用原始卷中已更改的块覆盖快照,将其更
新为最新快照。所以,举例来说,可以将完整副本的快照移到主机外以进行备份,
然后在备份结束后将其移回主机,将已更改的数据复制到其原始卷中以更新原始卷
的当前状态,然后再次将其移到主机外,进入下一个备份循环。
VxVM 快照可以显著延长信息服务的正常运行时间,使其能够捕获生产应用程序继
续处理活动数据时,可对其进行备份或分析的大型数据集的瞬间状态。可使用快照
将数据恢复到损坏发生之前某个点的状态,从而恢复损坏的生产数据。FastResync™
技术将恢复先前卷状态和刷新快照需要的复制量减少到最低,以提高快照的可用
性。

存储供应
随着数据中心存储迁移到服务器以外以及网络上,存储供应的管理更加复杂。简单
来说,存储供应就是配置物理设备的虚拟存储容量,并通过一个或多个应用程序服
务器或者数据库服务器控制该虚拟容量的过程。
在服务器使用直连存储 (DAS) 的数据中心中,存储供应相对简单。每个存储设备都
永久性地与一台服务器关联。唯一需要的供应操作是正确配置虚拟设备,即将磁盘
驱动器或磁盘阵列 LUN 组织到镜像、条带化或其他类型的虚拟卷中。
40 深入研究 Storage Foundation 核心:VxVM 卷管理器
VxVM 卷管理器

但是,在将存储设备连接到网络上并使所有服务器均可访问它们后,存储供应会变
得更为复杂。管理员必须从未分配的磁盘驱动器和 LUN 池中选择适合的物理设备,
通过一台服务器或群集控制它们,然后将它们配置为应用程序能够使用的卷。在拥
有数十乃至数百台服务器,并可能拥有上千个磁盘驱动器和 LUN 的数据中心内,
将难以甚至无法及时、准确地跟踪哪些物理设备可用于供应以及配置已分配设备的
方式。
在 VxVM 的发展过程中,其存储供应功能的发展始终与使用该程序的数据中心环境
的复杂性和连接息息相关。只有了解 VxVM 卷的内部结构,才能更深入地认识 VxVM
的供应功能。图 3-5 中给出主 VxVM 对象,以及如何使用它们构建提供给应用程序
的虚拟卷。

图 3-5 VxVM 对象
其他子磁盘 其他 plex

专用区域 专用区域
LUN

可用于数
据存储

磁盘阵列 LUN VxVM 磁盘 VxVM 子磁盘 VxVM plex VxVM 卷

VxVM 从图 3-5 的左侧开始识别磁盘阵列提供给主机的 LUN(或较小系统中直接提


供的磁盘驱动器)。在 VxVM 控制 LUN 或磁盘驱动器时,它会将块地址空间划分
为两个连续范围,分别称为专用区域和公共区域。VxVM 将自身的元数据存储在较
小的专用区域内,而大得多的公共区域则用于集合为最终用于用户数据存储的高级
对象。VxVM 控制的此类 LUN 或磁盘驱动器即称为磁盘。
VxVM 磁盘的公共区域可以细分为称为子磁盘的连续块地址范围。子磁盘是实现将
极大磁盘的容量划分为较小单元以作为卷提供给应用程序,或者将单个卷的容量分
配给多个物理资源以提高 I/O 性能的基础。
一个或多个子磁盘可以组织为单个块地址范围,称为 plex。虽然组成 plex 的块作
为单个块地址范围向上提供,但它也可以分布在多个磁盘阵列 LUN 或磁盘驱动器
上。
最后,一个或多个 plex 可以组织为作为虚拟存储单元的卷,将在其上将文件系统格
式化并提供给应用程序供其使用。
通过使用这一磁盘、子磁盘、plex 和卷组成的 4 级对象分层结构,管理员能够精确
控制存储资源的分配。例如,管理员可以使用 4 个不同 VxVM 磁盘的容量,来表示
由两个不同磁盘阵列提供的 LUN 对,从而定义子磁盘。两对子磁盘可以组成条带
plex,然后可以将条带 plex 相互镜像并作为卷提供。图 3-6 中说明这一结构。
深入研究 Storage Foundation 核心:VxVM 卷管理器 41
VxVM 卷管理器

图 3-6 构建 VxVM 卷:示例

LUN

镜像

条带镜像卷
LUN

磁盘 子磁盘 条带 plex

生成的卷具有两个重要的有用特征:
■ 条带化可在每个 plex 的两个子磁盘之间平衡 I/O 负载。
■ 镜像化可防止卷上的数据因组成其容量的四块磁盘中任一磁盘出现故障而丢失。
子磁盘、plex 和卷都可以使用 VxVM vxmake 控制台命令或 Veritas Enterprise
Administrator 图形界面构造。这称为高级卷管理方法。如使用该高级方法,系统
管理员负责确定合适的存储布局,例如,确保通过同一磁盘阵列的不同端口提供将
组成条带 plex 的子磁盘,并确保两个 plex 包含由不同磁盘阵列提供的存储。
虽然管理员直接使用 VxVM 子磁盘和 plex 可以精确控制卷配置,但该高级方法存
在严重不足,而且随着数据中心发展得更为复杂就会越发明显。直接管理每个基本
VxVM 对象的管理员必须跟踪每个子磁盘和 plex 的整个生命周期,而更重要的是,
必须分配每个新卷或重新配置的卷以使其符合企业的数据集业务用途。
例如,如果企业策略规定必须将每个关键数据集存储在镜像至 LUN(由不同磁盘阵
列提供)中的卷上,则每次用户需要新卷时,管理员都要负责标识和配置相应 LUN。
同样,如果企业策略规定必须可通过至少两条 I/O 路径访问关键数据集,那么管理
员要负责确保使用至少可通过两条路径访问的 VxVM 磁盘配置每个新卷。
由于磁盘阵列能够提供数千乃至更多 LUN,跟踪每个磁盘、子磁盘和 plex 显然不
切实际。更重要的是,使用基本 VxVM 组件单独配置数千个卷几乎一定会导致配置
错误,最低限度也会导致不符合企业的数据管理策略。
在认识到数据中心的发展,特别是在线存储的增长必然会产生海量的在线存储,导
致管理更加困难且更容易出错后,Veritas 于 1994 年在 Storage Foundation 版本
2 中推出了辅助卷配置功能。管理员可以通过 vxassist 控制台命令和 Veritas
42 深入研究 Storage Foundation 核心:VxVM 卷管理器
VxVM 卷管理器

Enterprise Administrator (VEA) 图形控制台,使用辅助卷配置功能创建、重新配


置和并调整卷的大小。辅助卷配置功能在下列三方面简化在线存储管理:
■ 封装操作基本对象的 VxVM 操作,使管理员只需处理卷即可。
■ 将条带宽度和镜像次数等常用安装默认参数存储在文件中,然后在执行管理命
令时使用它们作为默认值,提高了配置的一致性。
■ 通过选择在允许的情况下从其创建、扩展或配置卷的磁盘,使管理员无需跟踪
磁盘的使用。
举例来说,要使用高级配置技术创建 图 3-6 中所示的镜像条带卷,管理员需要选择
由两个磁盘阵列提供且表示为 VxVM 磁盘的两对 LUN,然后发出 vxmake 命令以创
建子磁盘、plex 以及最终的卷。假设已设置了创建镜像条带卷的默认值,则使用辅
助卷配置功能会将创建该卷的管理操作减少到 对话框 3-3 的第 [1] 行所示的单个命
令。

对话框 3-3 使用 vxassist 创建卷

[1]# vxassist -g diskgroupA make volume01 100g

[2]# vxassist -g diskgroupA make volume02 100g diskgroupA01 diskgroupA02

[3]# vxassist -g diskgroupA make volume03 100g |diskgroupA03 |ctlr:c2

[4]# vxassist -g diskgroupA make volume04 maxsize layout=raid5

vxassist 命令最大限度地简化了卷的创建,同时仍然保证管理员可以灵活配置存
储以满足独特要求。例如,对话框 3-3 中第 [2] 行说明管理员如何指定在其上创建
卷的 VxVM 磁盘。第 [3] 行说明如何在卷中不包含特定磁盘 (diskgroupA03) 和连
接到特定控制器 (ctlr:c2) 的磁盘。第 [4] 行说明如何通过指定 layout=raid5 覆
盖默认卷类型(条带镜像),以及如何通过指定 maxsize 而非数值将磁盘组的最大
可用容量添加到卷中。对话框 3-3 中给出 vxassist 的基本示例;还可以使用其他
多个选项来实现简化管理和提高管理灵活性的目标。
在对话框 3-3 中的所有示例中,VxVM 自动创建基本子磁盘和 plex 对象,并根据指
定的约束为它们选择适当位置。例如,在使用 vxassist 命令创建镜像条带卷时,
VxVM 确保条带的每个卷位于不同磁盘上,并确保镜像的各 plex 没有任何公共磁
盘。如果可能,它将卷的低级对象分配给连接到不同主机总线适配器的磁盘,从而
将卷的 I/O 争用减至最少。
通过使用辅助卷配置功能,管理员将无需完成清查存储容量和分配,以及使用低级
VxVM 命令创建卷级别以下 VxVM 对象的大部分任务。
这种形式的 vxassist 命令显著简化了虚拟卷管理,而更重要的是减少了出现配置
错误的可能。不过,随着磁盘阵列日益复杂,而且用户对于如何配置及建立在线存
储越来越精通,对更高级的虚拟存储配置的需求也就与日俱增。例如:
深入研究 Storage Foundation 核心:VxVM 卷管理器 43
VxVM 卷管理器

■ 较大的数据中心通常拥有两个或更多企业级磁盘阵列,并且会定义将关键数据
镜像至单独阵列中的 LUN 的策略。
■ 磁盘阵列执行的虚拟化必须在一定程度上与 VxVM 虚拟化相协调。例如,磁盘
阵列提供的镜像 LUN 可能不需要由 VxVM 重新镜像。
■ 随着磁盘阵列的功能日益复杂,LUN 与存储网络上的控制器端口之间的关系等
纯粹的分层结构关系不再有效。
■ 随着存储网络发展得越来越复杂,必须首先确保可通过两条或更多独立路径访
问自动配置卷的所有组件。
■ 与其用户组织签订服务级别协议的 IT 服务提供商往往会要求仅将特定物理存储
容量分配给特定用户。
为满足对更为通用的自动卷配置形式的需要,Storage Foundation 版本 4 中引入了
Intelligent Storage Provisioning 公用程序。Intelligent Storage Provisioning 支持
基于以极为通用的方式描述所需属性的模板配置虚拟卷。例如,一个模板可能指定
通过 VxVM 或提供基础 VxVM 磁盘的磁盘阵列来镜像已镜像的卷。或者,一个模
板可能指定镜像卷必须包含两个不同磁盘阵列中的镜像。
同样重要的是,使用 Intelligent Storage Provisioning 可以将称为属性的任意名称
-值对分配给磁盘。这些属性完全是由用户定义,可以使用它们代表需要的任何业务
属性。例如,如果一个数据中心的存储由放置在校园中两栋建筑内的多个磁盘阵列
组成,则可以使用属性表示单个 LUN 在建筑中的位置。然后,可以将模板定义为
使镜像卷一起或分散地放在两栋建筑中。或者,属性可以表示为其保留存储的业务
职能,如工程、销售、财务等。然后,可以为工程卷、销售卷和财务卷定义模板,
每个模板指定必须从具有对应属性的存储设备分配这些卷。
Storage Foundation 的版本 5 将 Intelligent Storage Provisioning 与辅助卷配置功
能相链接。从版本 5 开始,可以使用 vxassist 命令指定磁盘属性,从而可限制从
具有指定属性的磁盘创建卷,反之亦然。对话框 3-4 中说明如何在保证实现企业存
储目标的同时,快速方便地创建和修改用户定义的配置。

对话框 3-4 将 vxassist 与 Intelligent Storage Provisioning 结合使用

[1]# vxassist -g diskgroupB make volumeB1 100g mirror=faultzone

[2]# vxassist -g diskgroupB make volumeB2 100g department=accounting

[3]# vxassist -g diskgroupB make volumeB3 100g building=buildingA

[4]# vxassist -g diskgroupB mirror volumeB1

[5]# vxassist -g diskgroupB growby volumeB1 100g

对话框 3-4 的第 [1] 行表示固有的分隔属性。mi r ror=faultzone 参数指定将镜像


卷,且 VxVM 将在具有不同 faultzone 属性值的磁盘上构建镜像。第 [2] 行和第
44 深入研究 Storage Foundation 核心:VxVM 卷管理器
Storage Foundation 的新增功能:多主机协调式存储管理

[3] 行表示使用用户定义的参数 d e partment 和 building,分别指定应该从为财


务部保留或位于 A 建筑中的磁盘创建卷。
但 Intelligent Storage Provisioning 的真正价值在于,它不仅能够在创建卷时符合
客户的意图,而且能够在扩展该卷时仍保持意图不变。例如,对话框 3-4 的第 [4]
行中的命令将第三个镜像添加到 volumeB1。由于 volumeB1 是使用独立 faul t zone
中的镜像创建的,VxVM 将确保在执行第 [4] 行时添加的第三个镜像也包含在独立
faultzone 中。同样,当第 [5] 行中的命令使卷大小增加时,其镜像应在独立
faultzone 中这一意图也保持不变。

通过将 vxassist 命令的简单性与 Intelligent Storage Provisioning 的通用性相结


合,简化了虚拟存储配置;同时,利用高级磁盘阵列功能可在复杂存储网络中保证
符合企业的存储配置目标,并保持该目标不变。

存储设备的可移植性
VxVM 在基于主机的存储虚拟程序中可谓独一无二,因为它支持所有主要的 UNIX
平台。所以,只有它才能创建可供多个平台使用的虚拟卷。例如,可以将卷逐出
Solaris 系统,然后导入 AIX、HP-UX 或 Linux 系统并在这些系统上使用。VxVM
的该功能称为 Portable Data Container (PDC),它建立了共享串行数据的基础,即
在一个 UNIX 平台上使用不同类型的 UNIX 平台创建的数据。例如,可以将在 Solaris
平台上创建的文件传输到 HP-UX 或 AIX 平台,用于生成报告或数据分析。要在与
创建数据时使用的平台不同的平台上使用数据,还要求这两个平台使用通用文件系
统和文件数据格式。VxFS 文件系统使用所有平台中通用的文件系统格式,以及可
在 UNIX 和 Linux 之间转换的格式。部分应用程序使用独立于平台的数据格式;而
数据库管理系统等其他应用程序则提供过滤器,用于在平台之间传输数据。
随着越来越多的应用程序和数据管理器响应在不同平台上使用它们所生成数据的需
要,可移动包含文件和数据库的卷的能力将日益重要。VxVM 支持在平台之间传输
数据,且无需花费较长时间执行网络复制操作或使用低效率的 NFS 交叉装入文件系
统。

Storage Foundation 的新增功能:多主机协调式存储


管理
VxVM 从最初面世起就是一个基于主机的存储虚拟化管理器。对虚拟卷的控制和管
理一直是通过运行 VxVM 实例的主机来集中完成的。VxVM 可实施控制的范围是运
行 VxVM 实例的主机可访问的磁盘驱动器和 LUN 集。
但是,随着数据中心存储区的日趋复杂以及构成存储区的各组成部分关联程度的增
加,主机中心式的视图管理方式越发显得不足。企业希望能够通过更多的前端设备
而非单个服务器来管理他们的虚拟存储区,Symantec 看到了这一不断增长的需求,
因此已经开始通过引入 Storage Foundation Volume Server (SFVS) 来改变虚拟存
储管理的模式,从主机中心式向更具广泛性的数据中心式演变。
深入研究 Storage Foundation 核心:VxVM 卷管理器 45
Storage Foundation 的新增功能:多主机协调式存储管理

要了解卷服务器,回顾基于主机的卷管理的组成功能会对此有所帮助。图 3-7 显示
了 VxVM 所执行的两个主要功能,以此说明了 VxVM 在 I/O 堆栈中的位置,这两
个功能是:控制虚拟设备配置和内部转发应用程序 I/O 请求。

图 3-7 主机中心式 VxVM 存储虚拟化的结构图

应用程序控制 应用程序和/或
数据库文件系统

Events
VxVM
将应用程序
控制(vxconfigd) I/O 路径 I/O 请求
转换为物理
设备命令

DMP、驱动程序、存储

管理操作 控制虚拟映射 Private region metadata

如图 3-7 所示,VxVM 有两个主要的功能组件:I/O 路径和元数据管理功能。在 I/O


路径中,VxVM 将应用程序对虚拟设备的 I/O 请求转换为对 VxVM 所控制的磁盘的
读写命令,然后将这些命令发送到操作系统的设备驱动程序或发送到 DMP(如果已
安装)。
VxVM I/O 路径使用由参数控制的映射算法将虚拟 I/O 请求转换为物理命令。这些
参数指定哪些磁盘的哪些块范围代表哪些虚拟设备的哪些块范围。例如,对于镜像
条带卷,主要参数为:
■ 包含组成条带 plex 的 VxVM 子磁盘的磁盘,以及这些磁盘在 plex 中的相对位

■ 每个子磁盘的起始磁盘块编号和大小
■ 条带深度,或者说映射到每个条带磁盘的连续块的数量
条带卷、RAID5 卷和连续卷也由类似的参数来描述。
这些参数属于 VxVM 元数据内容,以冗余方式存储在磁盘组的专用区域。参数的管
理通过另一个 VxVM 主要组件(元数据管理功能)来完成,该组件也称为 vxconfigd
后台驻留程序。当 VxVM 启动以检索用于驱动 I/O 路径的现有卷参数时,vxconfigd
后台驻留程序会读取磁盘专用区域。控制功能还会对更改存储配置的外部事件做出
46 深入研究 Storage Foundation 核心:VxVM 卷管理器
Storage Foundation 的新增功能:多主机协调式存储管理

响应,磁盘故障、由管理员发送的命令以及 VxFS 文件系统一类的支持 VxVM 的应


用程序所执行的 API 调用都属于外部事件。无论事件源自何处,vxconfigd 后台驻
留程序都会对 I/O 路径算法使用的参数进行适当的更改,并始终将这些参数记录在
磁盘专用区域存储的元数据中。
VxVM 的一大优点是所有的配置更改都属于事务性的 - 系统可能会在配置期间的
任何时点发生崩溃,在重新启动时,VxVM 将完成事务或者撤销系统发生崩溃前所
执行的操作。
VxVM 的两部分结构将元数据管理与 I/O 路径分离,从而可以分别进行优化以满足
其各自的主要要求:
■ I/O 路径的性能
■ 元数据管理功能的事务性校正
此结构适合单独的主机和同类设备群集(群集中的备用存储区保持相对静态并与其
他数据中心分隔开来)。但是,就典型数据中心的服务器和存储设备的数量以及这
二者日渐频繁的动态重新配置来讲,主机中心式结构有其内在的弱点,如图 3-8 所
示。

图 3-8 大型数据中心的主机中心式存储虚拟化的弱点

管理位置 管理位置

主机 主机

应用程序和/ 应用程序和/
或数据库文件系统 或数据库文件系统
VxVM VxVM

控制(vxconfigd) I/O 路径 控制(vxconfigd) I/O 路径

DMP、驱动器、存储 DMP、驱动程序、存储

控制 I/O 控制 I/O

存储池 存储池
深入研究 Storage Foundation 核心:VxVM 卷管理器 47
Storage Foundation 的新增功能:多主机协调式存储管理

如图 3-8 所示,数据中心中 VxVM 的每个实例代表运行该实例的主机的存储虚拟化


的一个控制位置。出于有效性考虑,此结构将数据中心存储区细分为单独的存储
池,每个存储池对应单个主机或群集。自然而然的是,CommandCentral 和类似的
存储网络管理工具为存储设备和网络连接提供单个管理点。此外,VxVM 自身的结
构使得能够在主机之间转移对磁盘组的控制管理。但是,对于可在多台主机间共享
的存储区,该结构缺乏组成存储区的完整存储池的通用视图。
例如,考虑在主机 A 上创建快照以便由主机 B 来使用,或许,在执行备份或数据分
析期间主机 A 正在使用活动数据。要设置这个相对简单的操作,两个主机的管理员
必须相互合作:
■ 主机 A 的管理员创建快照。
■ 当快照完全同步时,主机 A 的管理员将包含快照的磁盘从其磁盘组分隔出来,
形成一个新的磁盘组,将这个新的磁盘组从主机 A 逐出,并向主机 B 的管理员
发送信号,通知该组已准备就绪。
■ 主机 B 的管理员导入该磁盘组(两个管理员必须对有关 VxVM 对象的非冲突命
名约定协商一致),然后运行使用该磁盘组数据的应用程序。
■ 主机 B 上的应用程序运行结束后,其管理员将这个包含快照的磁盘组逐出,并
向主机 A 的管理员发送信号,通知可以在主机 A 上重新导入该磁盘组。
■ 主机 A 的管理员重新导入这个快照磁盘组,将它重新联接到其原磁盘组,并使
用 VxVM FastResync 功能将原磁盘组的磁盘与其源卷重新同步。
如果启用了相应的处理能力值,使得在生产应用程序继续更新活动数据的同时,由
辅助应用程序处理冻结的映像数据,则此过程不是十分复杂。实际上,该结构代表
了当前很多数据中心的一般运行模式。尽管这一结构很有用,但其处理过程存在两
个内在限制:
■ 它依赖于两个或更多系统管理员进行专门的协作和同步。
■ 它不允许针对低影响的增量式备份这类应用,以脱机形式使用低成本的节省空
间的快照。
在这个简单的例子中,这些限制并不严格 - 两个管理员属于同一个应用支持组,因
此具备日常协同工作的条件。但是,对于其他类情况,比如从一个主机到另一个不
相关的主机重新部署存储容量,则可能会牵扯到那些在正常业务过程中合作并不紧
密的管理员。为了使重新部署的实施正确无误,不仅管理员之间需要互相协作,而
且他们所负责的系统也必须配置互补性(非冲突)的命名体制。此外,对于特定的
重新部署方案,在第一个位置处没有中心位置用来搜索所需的额外存储容量。
以上提到的基于主机的存储虚拟化管理的两个限制有一个共同的根本原因 - 虚拟化
功能的主机中心式性质。每个主机拥有其所连接并管理的存储区的视图,但没有它
从中获得其存储区的整个存储池的视图。在上述例子中,没有任何系统方式来帮助
主机 B 的管理员获知快照已提取完毕并可在主机 B 上使用。对于主机 B,没有任何
方法共享访问从中提取快照的原始卷,因此也无法将低影响且节省空间的快照用于
辅助应用程序。
48 深入研究 Storage Foundation 核心:VxVM 卷管理器
Storage Foundation 的新增功能:多主机协调式存储管理

针对这些限制,Storage Foundation Virtualization Manager 上实施的相应解决方


案很自然地选择了如图 3-7 所示的 VxVM 两部分结构。VxVM 的关键性能组件是
I/O 路径,该路径必须保持尽可能的短。从客户机到存储设备的直接通信也是必须
的。不过,与应用程序 I/O 相比,很少发生与配置相关的操作。此外,配置操作的
第一个优先级是事务行为而不是执行速度。这表明,VxVM 的配置控制(元数据管
理)功能可以从一组主机中剥离以集中执行,配置控制功能可以通过网络链接而非
内存数据结构的方式,与每个主机上运行的 VxVM I/O 路径功能交换配置状态变更
信息。
Storage Foundation Volume Server 就是这样做的。它将卷的配置管理功能从一组
VxVM 主机移到中心 Volume Server(卷服务器),该服务器可以显示组中各主机
上运行的所有 VxVM 实例以及这些主机共享的存储池。图 3-9 显示了 Storage
Foundation Volume Server 所代表的这种结构变化。

图 3-9 使用 Storage Foundation Volume Server 的存储虚拟化

Storage Foundation
Volume Server

主机 主机

应用程序和/ 应用程序和/ 配置
或数据库文件系统 或数据库文件系统
状态
VxVM VxVM 信息
VxVM
I/O 路径 I/O 路径
控制
(vxconfigd)

DMP、驱动程序、存储 DMP、驱动程序、存储

I/O I/O

存储池

如图 3-9 所示,Storage Foundation Volume Server 是在一台单独的服务器上运行


的存储虚拟化通用元数据管理功能,为一组运行 VxVM 变体(可与卷服务器交换配
置状态信息)的主机(应用程序服务器或数据库服务器)提供配置状态信息。卷服
务器具备容错能力;如果运行主实例的主机出现故障,备用主机上的故障切换实例
可接管卷配置和状态管理的控制权。运行 VxVM 的 Volume Server 变体的主机称为
虚拟化客户机。
深入研究 Storage Foundation 核心:VxVM 卷管理器 49
Storage Foundation 的新增功能:多主机协调式存储管理

Volume Server 实例拥有其代表所有虚拟化客户机所管理的磁盘驱动器和 LUN 的完


整集合的信息。它为存储区提供安全访问,对于单个客户机仅提供该客户机拥有访
问权限的那些卷的配置信息。虚拟化客户机将应用程序对虚拟设备的 I/O 请求进行
转换,其方式与主机中心式 VxVM(图 3-7)模式下的处理方式完全一样,但是报
告诸如磁盘故障和磁盘更换一类的事件将导致对 Volume Server 的配置发生更改,
进而更新与发生故障或进行修复的磁盘上的卷相连接的所有客户机的配置信息。

使用 Volume Server
就管理虚拟存储区而言,Storage Foundation Volume Server 所使用的是与主机中
心式 VxVM 相同的基本结构 - 磁盘、磁盘组、子磁盘、plex 和卷。但是这些对象
在多客户机情况下的显示形式会有所变化。特别是,由运行主机中心式 VxVM 的单
个服务器导入的磁盘组,现在可由 Volume Server 中拥有该磁盘组访问权限的所有
虚拟化客户机同时导入。由多个客户机同时导入磁盘组的结果是创建如图 3-9 所示
的可被所有授权的应用程序主机访问的组范围存储池,与其相对的是图 3-8 所示的
“每主机存储池”模式。使用 Volume Server,管理员可以创建由一组主机共享的
多个存储池,但是这种做法通常是出于业务原因,而不是因为虚拟化技术的主机中
心这一性质。
要访问 Volume Server 环境中的卷,被授权的客户机使用新的 VxVM 操作,它称作
“attach”(挂接)。(与此存在相对应的操作“detach”(分离)。)与主机中
心式 VxVM 磁盘组的分隔操作不同,Volume Server 的挂接操作不改变磁盘组的成
员身份,因此对于脱离主机备份、数据分析或其他需要在主机间转移卷控制权的操
作来说,Volume Server 具有明显的速度优势。
可由多个虚拟化客户机同时访问的磁盘组还有另一大显著优势 - 以脱离主机的方式
使用节省空间的快照。如上文所述,节省空间的快照可以在数秒钟内创建完成,与
完全副本快照相比,通常占用较少的存储区。总体上来讲,节省空间的快照是诸如
备份和分析这类一次性脱离主机应用的理想选择。不过,就过去的技术而言,这种
方式一直没有可行性,原因是节省空间的快照要从原始卷检索已修改的数据块的映
像,而原始卷必须保留在主机上供生产应用程序来使用。出于这个原因,节省空间
的快照一直只限于联机主机方式下的辅助应用程序来使用,而这对于生产应用程序
的性能具有潜在的负面影响。
但是,通过使用 Storage Foundation Volume Server,同时包含原始卷及其节省空
间的快照的磁盘组可同时由多个主机来访问,这使得节省空间的快照可用于脱机主
机状态下的辅助处理,如图 3-10 所示。
50 深入研究 Storage Foundation 核心:VxVM 卷管理器
Storage Foundation 的新增功能:多主机协调式存储管理

图 3-10 通过 Volume Server 以脱机主机方式使用节省空间的快照

生产服 辅助应
务器 用程序
服务器 虚拟服务器

应用程序和/或数据库 附加原 应用程序和/或数据库


文件系统 文件系统
始卷
VxVM VxVM
I/O 路径 I/O 路径 附加快照卷

读取未修
DMP、驱动程序、存储 改的数据 DMP、驱动程序、存储

I/O I/O

存储池 读取和写入修改数
据之前的镜像

原始卷 包含快照数
据的卷

在图 3-10 中,生产服务器挂接原始卷,生产应用程序在卷上读取和写入数据。在应
用程序不工作的某个时点,生产服务器的管理员将创建快照。Volume Server 管理
包含该快照的数据结构,从而使其他已导入包含这些数据结构的磁盘组的虚拟化客
户机能够使用这些数据结构。这样的话,辅助应用程序服务器就可以挂接节省空间
的快照卷(所有 VxVM 快照以虚拟卷的形式提供给主机),并装入和访问卷上的文
件系统。
当辅助应用程序服务器读取与已发生修改的原始卷块对应的快照卷块时,其 VxVM
I/O 路径从包含原始卷的磁盘获取卷块的内容。当它读取与已发生修改的原始卷块
对应的快照卷块时,VxVM I/O 路径从 VxVM 缓存卷中读取先前在创建快照后第一
次修改原始卷块时保存在缓存卷上的卷块内容。
对于 VxVM 快照卷既可以执行读取操作也可以执行写入操作。通过使用节省空间的
快照,当第一个应用程序向快照块范围执行写入操作时,VxVM 在快照卷上分配空
间,从原始卷将相应数据块范围的内容复制到快照卷,然后覆盖快照卷上相应的数
据块。因为辅助应用程序服务可以访问同时包含原始卷及快照卷(包含快照)的磁
盘组,所以这些服务器既可读取节省空间的快照,也可对其进行更新。因此,通过
引入 Volume Server,扩展了潜在的脱离主机式辅助应用程序的范围,不仅修改生
产数据冻结映像的应用程序可以成为脱离主机式辅助应用程序,并且那些只能读取
生产数据(如备份)的应用程序也能成为脱离主机式辅助应用程序。
深入研究 Storage Foundation 核心:VxVM 卷管理器 51
Storage Foundation 的新增功能:多主机协调式存储管理

迁移到 Volume Server


随 Storage Foundation 版本 5 引入的 Storage Foundation Volume Server 与先前
基于主机的虚拟化技术有显著的差异。以上讨论已经清晰地阐释了多主机存储虚拟
化的优势所在;但是,要将复杂的数据中心从主机中心式存储虚拟化转换为 Volume
Server 方式,则需要充分的计划和准备。Symantec 认识到,许多大型企业使用
Storage Foundation 来管理他们最关键的数据,因此,用户需抽出时间来充分了解
Volume Server 的结构和功能,仔细评估如何使这些功能在他们的业务运营中得到
最好的应用,并制定稳妥的迁移计划,从而使业务中断的损失降到最低,获得最佳
的迁移效果。
52 深入研究 Storage Foundation 核心:VxVM 卷管理器
Storage Foundation 的新增功能:多主机协调式存储管理
4
深入研究 Storage
Foundation 核心:VxFS 文
件系统
本章节包括下列主题:

■ 文件系统的作用

■ VxFS 的体系结构

■ VxFS 高级功能

■ Storage Foundation 基本组件概述

文件系统的作用
文件系统属于软件程序,用于将物理或虚拟存储设备提供的已进行编号但无差别的
数据块组织成文件的形式,以方便应用程序和用户使用。与块访问存储设备相比
较,文件更便于命名,而且更易于创建、扩展、截断、删除或执行其他操作。同
样,应用程序和用户对于文件这种组织形式非常熟悉和适应。UNIX 操作系统的软
件标准化组织 POSIX 已为文件访问应用程序接口集创建了标准。当应用程序在不同
的 UNIX 平台之间转换或通过端口传输数据时,如果该应用程序的文件访问操作逻
辑遵循此标准,则无需对操作逻辑进行修改。
每个商用 UNIX 平台都包括符合 POSIX 标准的原始文件系统;某些平台(比如
Linux)包括多个文件系统,允许用户根据评估最高的文件系统属性从中选择最适
合的文件系统。UNIX 系统可同时运行两个或更多文件系统;每个文件系统管理单
独的存储设备上的数据块空间。安装 Storage Foundation VxFS 文件系统时,该系
统会扩充或替换其运行所在的系统平台上的原始文件系统。
54 深入研究 Storage Foundation 核心:VxFS 文件系统
文件系统的作用

因为所有商用 UNIX 文件系统都符合 POSIX 标准,所以都为应用程序提供同样的基


本功能。这样,文件系统之间的差异需通过其他属性相区别:
■ 可靠性,或者说在出现系统崩溃、硬件故障和应用程序或用户错误时的持续运
行和恢复能力。
■ 伸缩性,或者说在实际运行中管理存储区中成百万数量文件和 TB 级字节的能
力。
■ 高级功能,如跨平台可移植性、快照以及支持两个或更多不同耗用成本的存储
设备层的能力。
可靠性、伸缩性和高级功能是将 VxFS 与随操作系统平台提供的 UNIX 原始文件系
统相区别的属性。

存储区的文件系统管理
文件系统将由一个或多个存储区或虚拟卷提供的进行编号的数据块组织为用户文件
和元数据。文件系统元数据具有以下几个作用:
■ 描述用户文件中数据块的位置以及文件的某些一般属性(如名称、所有权和访
问权限)。
■ 描述用于组织文件逻辑关系的树状层次结构。
■ 描述由文件系统管理的存储设备块的状态,包括哪些块可用于分配新文件,哪
些块已由用户数据或其他文件系统元数据占用。
■ 描述文件系统的某些整体属性,如由文件系统管理的卷的优化参数和特性。
文件系统的设计关键是它的元数据结构以及处理元数据时使用的算法,算法要能够
使数据块空间的内容始终保持内部一致,其作用之一就是保证每个存储块或者标记
为可用、或者确实已用于某个用途。
在元数据更新过程中系统可能会发生崩溃,使得元数据处于不一致的状态,文件系
统在意外停止并重新启动后,必须首先确保其元数据一致,然后才允许用户和应用
程序访问文件。由 UNIX 实用程序 fsck(文件系统检查器)执行的文件系统检查过
程会从多方面检查所有文件系统元数据,例如,确保没有存储设备块丢失(既未处
于可用状态,也未分配用于某些用途)或者被分配用于多种用途(例如,被分配给
两个文件)。
系统发生崩溃后对元数据进行完整性验证是文件系统设计的一个重要问题。执行元
数据检查的主要目的是确保文件系统的元数据一致,因此,这种检查必须是完全彻
底的。但是,随着文件不断地添加到文件系统,元数据的数据量及其结构的复杂程
度同时都在增加,崩溃后执行文件系统检查所花费的时间也越来越长。执行文件系
统检查的时间很重要,因为系统发生崩溃后,在验证文件系统结构完整性之后,应
用程序才可以重新启动,用户才可以访问数据。包含上百万文件的文件系统可能要
耗用数小时进行检查;每次系统崩溃时,无论系统如何迅速地启动,这些时间都会
记入应用程序的停机时间。出于这个原因,企业级文件系统(包括 VxFS)会在日
深入研究 Storage Foundation 核心:VxFS 文件系统 55
VxFS 的体系结构

志中记录当前进行中的元数据操作,出现系统崩溃后,重放日志来识别和修复可能
存在问题的元数据,以此来进行恢复。

VxFS 的体系结构
VxFS 不同于原始的 UNIX 文件系统的一个方面是,它从一开始即设计用于适应大
规模数量的文件和巨大的存储区数据量的处理需要。VxFS 文件系统的以下几个设
计特性使得它能够管理 TB 级容量的存储区以及上百万数量的文件:
■ 基于 Extent 的存储分配可以非常简明地描述大文件,与其他 UNIX 文件系统相
比,使得描述文件数据位置的元数据结构十分紧凑。元数据结构紧凑所带来的
结果是,处理所用开销更少,文件系统的内存使用量更低,读取和写入操作更
加快速。
■ 实际上,所有 VxFS 元数据都以内部文件的结构形式存在,这使得搜索、完整性
检查和其他元数据操作与用户的数据访问方式一致。
■ 描述单个文件的 inode 数据结构的动态分配。传统的 UNIX 文件系统用于固定数
量的 inode,inode 通常与文件系统管理的存储设备的容量相关,因此系统可以
容纳的文件有一个数量上限。在 VxFS 中,代表文件的 inode 的列表本身就是一
个文件;当有更多的文件添加到文件系统时,列表可以像文件一样扩充。对于
VxFS 系统可容纳的文件数量没有内在的限制。
■ VxFS 属于事务性文件系统,这意味着它可以自动操作其元数据 - 如果 VxFS 文
件系统所在的系统在元数据操作期间发生崩溃,则在系统重新启动时,元数据
操作始终能够完整地得以完成或撤销,因此文件系统的结构可以保持一致。
■ VxFS 是一种日志或日记文件系统,这表示它可以在保留式意向日志中跟踪可能
会影响元数据完整性的未决操作。当 VxFS 文件系统所在的系统在崩溃后重启
时,VxFS 读取文件系统的意向日志,然后对元数据进行必要的修复,以恢复文
件系统的结构一致性。
除了具有极强的伸缩性,VxFS 的内部体系结构也使得它能够实现以下所述的重要
高级功能,这是与典型的原始 UNIX 文件系统相区别的方面:
■ 在所有企业级 UNIX 平台上使用一般文件系统元数据格式,举例来说,这意味着
在 Solaris 系统上创建的 VxFS 文件系统可以移到 AIX 或 HP-UX 系统并可由这
些系统直接访问。与 VxVM 的 Portable Data Container (PDC) 技术相结合,这
表示包含 VxFS 文件系统的虚拟卷集可以从一个 UNIX 平台逐出,然后由不同类
型的平台导入、装入以及直接访问,而无需进行网络复制操作或 NFS 跨平台装
入。
■ 为了能够在企业级 UNIX 和 Linux 系统间传输数据,VxFS 实用程序对元数据进
行转换,以适应目标系统的字节排序。这使得无需进行网络复制或跨平台装入,
即可在所谓的“little endian”系统上使用由“big endian”系统生成的数据,
反之亦然。
56 深入研究 Storage Foundation 核心:VxFS 文件系统
VxFS 的体系结构

■ 单个 VxFS 文件系统可以跨多个具有不同 I/O 性能、可用性和成本特性的虚拟


卷。这一特点使得较大规模的文件系统成为可能,它可以为更多的用户或应用
程序提供服务,而且只需管理较少数量的文件系统。此外,基于多卷文件系统
的 VxFS Dynamic Storage Tiering 工具可以执行用户定义的策略,在特定类型
的卷上放置文件,并在条件更改时以透明的方式将这些文件重定位到其他卷。
动态分级存储使企业可以执行多层联机存储策略,以确保文件始终按照企业的
需求存放在正确类型的存储设备上,同时不产生补偿性管理成本,实现了成本
的节省。
■ VxFS 文件系统几乎可以即时创建“写入时复制”快照。这些称为“存储检查
点”的快照是永久性的,只要文件系统自身处于联机状态,即可以联机方式使
用这些快照从用户错误或其他形式的数据损坏中进行恢复。VxFS 的元数据结构
使得文件系统性能几乎不受并行的活动快照数量的影响。
下面几节介绍这些与众不同的 VxFS 特性。

基于 Extent 的存储分配
在 UNIX 文件系统中,文件由称为 inode(信息节点)的结构来描述。文件系统中
的每个文件和目录对应一个 inode。文件系统维护列表或其他有助于定位文件的
inode 的结构,以便文件自身可以被定位或访问。
Inode 包含有关文件的元数据、文件所有者、权限指示符(指定不同用户对该文件
的访问权限)、文件创建时间、上次访问时间、上次修改时间、文件长度,等等。
此外,inode 还包含用于标识或映射由文件的数据占用的数据块的描述符列表。
尽管应用程序会把文件当作由连续编号的数据块组成的一个数据流,但实际上,单
个文件的数据所占用的文件数据块可能分散在由文件系统管理的整个数据块空间
中。当应用程序读取或写入文件数据时,文件系统使用描述符将文件块映射到文件
系统在检索或存储数据时所访问的文件系统块。
在传统的 UNIX 文件系统中,空间按固定大小(通常为 8 KB)的文件系统块进行管
理。因为所有块大小相同,所以块可由其编号来完整描述。因此,在这类文件系统
的 inode 中,数据位置描述符为块编号或指向文件系统块的指针。第一个描述符是
文件的最初 8 KB 字节所占用的文件系统块的编号,第二个描述符是文件数据中第
9-16 KB 字节所占用的块的编号,依此类推。对于文件大小的增加超出其 inode 中
描述符(通常约为 12)所能指定的容量的文件,inode 中的最后几个描述符通常用
作间接指针 - 它们包含文件系统块的地址,而这些文件系统块又包含更多可以找到
的连续文件数据块的块地址(通常每个文件系统块约包含 2000 个地址)。某些文
件系统在执行此处理时会更进一步,将最后的 inode 指针保留为双倍间接指针。它
指向包含指针(指向其他 2000 个文件系统块)的文件系统块,其中的每个文件系
统块又包含指向存储文件数据的文件系统块的指针。
如图 4-1 中左侧图表所示,此映射结构使 UNIX 文件系统可以描述规模非常大的文
件,但是它也存在三个相互关联的限制:
■ 此结构可映射的最大文件大小尽管很大,但也是有上限的。
深入研究 Storage Foundation 核心:VxFS 文件系统 57
VxFS 的体系结构

■ 描述符可映射的数据量相对较小(8 KB),因此大文件需要使用大量的描述符。
即使分配的是连续的数据块,包含文件数据的每个文件系统块也各自需要一个
描述符。
■ 对于所有的文件(除了最小的文件),在定位文件数据块时都需要对描述符树
进行多层级搜索。

图 4-1 传统文件系统和 VxFS 文件系统的文件结构

inode inode
相同大小
任意大小
指针 文件数
描述符
扩展
指针 据块 描述符

文件数
间接 据块
间接
扩展

其他元数据 其他元数据
-名称 间接块 间接
-名称 扩展
-所有者... -所有者...

常规 UNIX 文件结构 VxFS 文件结构

VxFS 文件系统没有这些限制,原因是它所使用的数据映射结构稍有不同,如图 4-1


右侧图表所示。VxFS 文件系统确实具有文件系统块大小,但它定义的不是存储区
的分配单元,而是存储区的分配粒度。VxFS 按“extent”为文件分配存储区,而
extent 的大小可以是任意多个文件系统块大小。VxFS 的 inode 中的文件数据描述
符与传统的 UNIX 文件系统的不同之处在于,它们同时包含起始块地址和 extent 大
小(或由描述符映射的连续文件系统块的数量)。因此,如果在文件系统管理的设
备上有足够可用的相邻存储空间,并且应用程序通过一个请求来创建 GB 级或更大
的文件,则文件可由单个 extent 进行映射。
此外,当应用程序扩展文件的大小时,VxFS 会尽可能从与文件的最后一个 extent
相邻的文件系统块为文件的扩展分配所需的更多空间。如果成功地分配了相邻的文
件系统块,则没有必要创建新的 extent 以及占用更多的 inode 描述符;当前最后一
个描述符中记录的块的数量会增加,以指示它还映射了新分配的扩展空间。
这种空间分配方案称为基于 extent 的分配,它可以使 VxFS 以简洁的方式描述非常
大的文件。Inode 无需使用间接描述符即可描述多 TB 大小的文件。VxFS 确实允许
使用间接 extent 描述符来描述由增量扩展空间构成的大文件,但只是当没有相邻的
扩展空间可用或随机写入文件时才需要采取这一方式。
基于 extent 的存储分配对于处理大规模文件的应用程序尤为重要。VxFS 可以用简
洁的方式映射这类文件(文件的存储区连续的情况下使用一个描述符),因此在应
用程序读写数据时可将文件块地址简便快速地转换为文件系统块地址。由于文件大
小不受文件系统可映射多大数量文件块的能力限制,因此可以创建非常大的文件。
58 深入研究 Storage Foundation 核心:VxFS 文件系统
VxFS 的体系结构

基于 extent 的存储分配还可以使元数据占用的存储空间达到最小,这样可以有更多
的文件系统存储容量来存储用户数据。此外,它极大地减少了为存放已打开的文件
的元数据而需要占用的系统内存量。例如,基于块的传统文件系统缓存 8 TB 文件
的元数据需要占用 4 GB 的系统内存,而使用 VxFS,同样大小的文件可由小至一个
extent 描述符来映射。

元数据结构和动态 inode 分配
文件系统需要以某种结构来组织它所管理的存储设备块,以便它可以定位文件、管
理空闲空间,及存储与文件系统而不是与单独的文件相关的元数据。不同的 UNIX
文件系统以不同的结构方式来组织它们所管理的存储空间,但所有这些结构都源自
于存储在某些常见存储设备块地址上所谓的超级块。文件系统的超级块通常指向其
他结构(如 inode 列表、空闲空间映射等)的位置。它是在文件系统中找到所有结
构和数据的起始点;如果无法访问文件系统的超级块,即使文件系统中的数据完好
无损,也无法定位该数据。在许多文件系统中,会复制超级块,这样,即使在读取
主超级块副本时遇到硬件错误,文件系统也会保持可用。
与其他 UNIX 文件系统相似,VxFS 通过参考超级块中的指针来定位所有数据和元
数据。但是,VxFS 的独特之处在于它实际上以文件的形式来组织其所有元数据,
因此,用于管理元数据的算法与用于管理用户文件数据的算法相同。大体说来,大
多数 VxFS 元数据被组织成文件的形式,这一事实对用户来说是透明的。但是,就
一个重要方面来讲,它对用户是不透明的。
VxFS 的 inode 存储在 inode 列表中,该列表本身就以文件的结构形式存在。当有
文件添加到文件系统中时,如果有需要,则会从文件系统的空闲空间池中为增加的
inode 分配空间。当删除文件时,会对其 inode 进行标记,以便由其他文件重用。
由于在任何需要的情况下都可以分配新的 inode,因此对于单个 VxFS 文件系统可
以管理的文件数目,不存在任何内在限制。这与创建文件系统时保留固定大小的
inode 池的常规的文件系统做法大不相同。对于这种类型的文件系统,管理员必须
估计在文件系统的使用期内任何时点预期同时存在的最大文件数。Inode 池的大小
一旦设置好就不能改变,因此,如果所有 inode 都已被使用,则即使在常规文件系
统管理的设备上存在可用空间,文件分配也会失败。如果某个常规文件系统通常会
包含大量文件,则管理员必须监视它,这样 inode 溢出才不会引起文件分配失败,
进而导致应用程序停机。
为 inode 动态分配空间不需要估计文件系统在其使用期内将包含多少文件,也不需
要相应地计算 inode 池的大小,因此这种分配方式更加灵活、简单。如果 VxFS 文
件系统需要添加 inode,则它会从文件系统的空闲空间池中为新增的 inode 分配空
间。只要在文件系统中存在空闲空间,就可以分配文件。
对于仅包含少量文件的文件系统,动态 inode 分配有另一个重要的作用。这类文件
系统通常在数据库应用程序中使用,在数据库应用程序中,数据库管理系统使用少
量文件作为它所管理的数据的容器。此用途的 VxFS 文件系统仅对为描述必要数量
的文件而需要使用的 inode 分配存储空间。在大型文件系统中,与静态分配 inode
的文件系统相比,动态 inode 分配方式可为应用程序额外提供数 GB 的存储空间。
深入研究 Storage Foundation 核心:VxFS 文件系统 59
VxFS 的体系结构

VxFS 的内部结构具有许多看不见的优势 - 处理用户数据所使用的紧凑可靠的代码


路径同样用于处理文件系统自身的元数据。但也有许多优势是显而易见的。动态
inode 分配会自动调整专用于文件系统元数据结构的存储空间的数量,以与文件系
统中的文件数相匹配,从而为仅包含少量文件的文件系统中的用户文件节省空间,
以及在管理大量文件的文件系统中根据需要分配新的 inode。

事务和日志记录
如果文件系统要在系统崩溃时保持它所管理的数据的完整性,则它必须将其元数据
作为事务进行处理。计算机系统事务的“ACID”属性在 VxVM 事务 部分进行讨论。
实际上,每个事务都必须独立于所有其他事务,必须具有持续性(例如,在发生系
统故障时),要么运行至完成,要么即撤销而不给系统留下任何影响。
事务属性对于文件系统元数据尤为重要。例如,为了扩展文件的大小,文件系统必
须为文件扩展找到可用的空间,将该空间从空闲空间池中移除,并更新文件的 inode
结构以指示新分配的空间是该文件的一部分。这些操作要求对存储在文件系统所管
理的存储设备块中的单独的元数据结构进行更新。出于性能的原因,正如以其他应
用程序和用户名义所执行的更新一样,这两个更新通常也会发生重叠。
如果在执行以下更新的过程中系统崩溃,则文件系统完整性会受到损害:
■ 如果从空闲空间池中移除存储空间的更新已完成,但文件元数据的更新未完成,
则该空间可能会丢失 - 即不属于空闲空间池,也未分配给任何文件或其他文件
系统结构。根据系统崩溃的频率及在这种方式下丢失的空间量,丢失空间可能
是小问题,但也可能是大问题。
■ 如果文件元数据被更新以指示包含扩展的空间,但从空闲空间池移除空间的操
作并未完成,则稍后的文件分配或扩展可能会再次使用同一空间,从而导致同
一文件系统块被分配给两个或更多文件。这个问题要严重得多,因为它很可能
导致用户数据的损坏。
■ 如果这两个更新都未完成,则文件系统保持什么状态取决于这两个更新操作的
原子性。如果某个未完成的更新未留下任何更改的痕迹,则文件系统完整性不
会受到影响。但是,如果某个更新可能已部分完成,则可能导致不同类型的文
件系统损坏。
对于一个可靠的文件系统来说,这些情况都是不应存在的,因此所有文件系统都会
包含某种形式的事务元数据更新。
因为任何时候都可能发生系统崩溃,所以为文件系统元数据更新提供事务语义就是
一个包含两方面因素的问题:
■ 更新必须按顺序进行,以便元数据在磁盘上处于不一致状态的持续时间“段”
很小并可以检测得到。
■ 系统崩溃之后重新启动的情况下,文件系统必须确保其元数据处于一致的状态。
UNIX 文件系统使用一个称为 fsck 的实用程序(文件系统检查器)解决此问题的第
二个方面。对于任何未正常关闭(例如,系统发生崩溃的情况)的文件系统,fsck
60 深入研究 Storage Foundation 核心:VxFS 文件系统
VxFS 的体系结构

实用程序在系统启动后运行。它主要通过确保在文件系统的块空间中不存在任何丢
失的或多重分配的块,来验证文件系统元数据的一致性。
简单地说,文件系统检查过程要求对每个文件的 inode 中的文件数据描述符与其他
文件的 inode 描述符进行交叉检查以检测多重分配,并将 inode 描述符与文件系统
的空闲空间映射进行对照检查以检测丢失的块。对于包含大量文件的文件系统,文
件系统检查会花费几个小时。这将会成为一种问题,因为直到检查完成,应用程序
才能使用文件系统。因此,运行 fsck 所花费的时间也加到了从系统崩溃中进行恢
复所耗用的全部时间内,即使在群集环境(在这种环境中,“恢复”意味着在备用
硬件上重新启动应用程序及其所有资源)中也是如此。对于要管理数百万个文件的
企业级应用程序所使用的文件系统来说,最大限度地缩短崩溃后文件系统检查时间
成为一个重要的设计考虑因素。
VxFS 通过实施基于磁盘的日志(称为意向日志)来解决文件系统一致性检查问题,
VxFS 在执行更新元数据的事务之前,在意向日志中记录事务的执行意图。操作成
功完成后,VxFS 会从该日志删除它们的意向记录。
系统崩溃后恢复时,VxFS 会参考每个文件系统的意向日志,并修复所有可能受到
崩溃影响的元数据。例如,通过确保扩展文件的 inode 结构正确地映射添加的空间,
并确保空闲空间已真正从文件系统的空闲空间池中移除,来修复文件扩展事务。
VxFS 意向日志概念对于系统可用性具有重大的意义。系统崩溃之后,VxFS 文件系
统验证其元数据所需的时间与崩溃时正处理的事务数量有关,而与文件系统的大小
无关。对于包含数百万个文件的文件系统,这会显著缩短恢复时间。例如,对于包
含一百万个文件的文件系统来说,如果有一千个用户,每个用户在系统崩溃时都在
独立地更新一个不同的文件,则只有千分之一的文件系统元数据需要在崩溃恢复时
进行验证。剩余 99.9% 的文件系统元数据在崩溃时没有使用,因此无需进行验证。
VxFS 包含一个完整的 fsck 实用程序以用于异常环境(例如,破坏意向日志本身的
硬件故障)。但是,大多数情况下,只需要进行日志回放即可。
即使最稳定的系统有时也会发生意外崩溃的情况。VxFS 意向日志体系结构最大限
度地缩短了崩溃恢复所耗用的全部时间中用于文件系统元数据验证的那部分时间。

性能优化
文件系统所提供的数据完整性是任何文件系统的一个基本价值所在。不论在系统中
其他位置发生什么情况(包括完全崩溃),文件系统通过提供在 POSIX 界面标准中
指定的行为来提供数据完整性。
正如前面讨论的那样,UNIX 文件系统通常通过使用日志来识别和修复在崩溃瞬间
存在完整性风险的元数据,在发生系统崩溃的情况下保持元数据的一致性。
但是,通常 UNIX 文件系统仅保证文件系统元数据的一致性。它们将由应用程序写
入的数据移到一个易失性缓存中,该易失性缓存被定期或在某些事件(如文件系统
卸载)发生时刷新到非易失性存储区中。应用程序向缓存写入数据会改善 I/O 性能,
但也会产生风险:如果发生系统崩溃时缓存中的数据未及时刷新到磁盘,则表面上
已完成写入请求的数据实际上可能会丢失。
深入研究 Storage Foundation 核心:VxFS 文件系统 61
VxFS 的体系结构

对于应用程序(比如负责其文件内数据完整性的数据库管理系统),这种行为是适
合的。对于其他应用程序,则可能不适合。对于如何在用户数据完整性和文件 I/O
性能之间进行权衡,不存在通用的正确答案。出于这个原因,VxFS 文件系统提供
了以不同的方式平衡两者的几个不同的选项。这些选项(其 I/O 性能和数据完整性
属性在表 4-1 中汇集列出)使得管理员可以调整整个文件系统或单个文件,在高 I/O
性能和用户数据完整性之间找到合适的平衡点,以应对发生系统崩溃的情况。

表 4-1 VxFS 缓存刷新选项

选项 说明

Cache completely disabled 应用程序写入请求中的用户数据被写入到非易失性存储区中,


(完全禁用缓存) 并在发出请求完成信号之前更新文件系统元数据。

效果:在每个 I/O 请求之后,在非易失性介质上,所有已完


成的应用程序请求和所有文件元数据都是最新的。

Metadata updates deferred 应用程序写入请求中的用户数据被写入到非易失性存储区中,


(推迟元数据更新) 且在发出请求完成信号之前会在非易失性文件元数据中反映
所有文件的扩展名,但会推迟非关键文件系统元数据的更新。

效果:从崩溃恢复之后,所有关键文件系统元数据(例如,
atime、mtime)可能都是过时的。

Data written directly from VxFS 直接从应用程序的缓冲区写入数据,而不是从应用程序


application buffers(直接从 缓冲区向文件系统缓冲区移动应用程序写入请求中的数据。
应用程序缓冲区写入数据)
效果:应用程序负责在写入完成前不修改 I/O 缓冲区内容。

Cache flushed when file is 应用程序关闭文件时,VxFS 会将所有缓存的用户数据和元数


closed(在文件关闭时刷新缓 据刷新到非易失性存储区中。
存)
效果:从崩溃中恢复之后,应用程序成功关闭的文件中的用
户数据和元数据是最新的。用户数据可能尚未从崩溃时打开
的文件中刷新。

Cache tuned for expected I/O 可以调整单独的文件以相应地将文件系统缓存用于顺序存取


pattern(将缓存调整为预期 I/O 或随机存取 I/O。例如,“预读”可以按顺序存取,而对
的 I/O 模式) 于随机存取文件,可以完全禁用读取缓存。

效果:可以更加有效地使用文件系统缓存。

这些选项和类似的调整选项为应用程序和数据库设计者提供了灵活性,他们可以针
对每个应用程序在最大 I/O 性能和有保证的用户数据完整性之间选择适合的平衡点,
以应对系统崩溃的情况。
62 深入研究 Storage Foundation 核心:VxFS 文件系统
VxFS 高级功能

VxFS 高级功能
前面几节讨论了 VxFS 结构的基础知识 - VxFS 的独特设计是如何在不牺牲性能或
数据完整性的情况下使文件系统能够调整以满足常见的大型企业要求。VxFS 体系
结构还包含一些高级功能,可帮助 IT 组织提高他们为客户提供的服务质量:
■ 文件系统元数据格式在企业内部的多个 UNIX 平台上是通用的,并且很容易在
UNIX 和 Linux 之间进行转换,这使得可以通过转移 UNIX 系统对其所包含的存
储设备的控制权在不同的 UNIX 平台之间移动数据,由此免去了创建文件系统的
物理副本或网络跨平台装入的需求。
■ 在具有不同成本、可用性和性能属性的多个虚拟存储设备上使用单个 VxFS 文件
系统的能力,可以利用两个或更多存储“层”来减少总体成本,同时不增加补
偿性管理成本。
■ 一个称为“存储检查点”的写入时复制文件系统快照工具可以实现对由程序错
误或用户错误造成的数据丢失进行快速恢复。
以下几节会介绍这些功能。

跨平台传输能力
出于各种原因,大多数企业数据中心包含两个或更多 UNIX 平台。例如:
■ 应用程序通常会决定平台的选择。即使企业可能已在不同的平台上为其通用计
算要求进行了标准化,也可能会安装特定的平台以支持关键应用程序。
■ 当企业与其他企业合并或兼并其他企业时,它们的信息技术运营中可能会包括
无法立即进行集成的不同平台。
■ 许多数据中心部署大量可交换数据的单一应用程序 Linux 服务器,这一趋势导
致了 Linux 服务器和企业 UNIX 服务器混合使用的状况。
不可避免的是,当企业将其应用程序集成以提供整体的操作视图时,他们遇到了某
一类型平台上生成的数据必须由另一类型平台来使用的情况。这样会带来两方面的
难题:
■ 生成数据的应用程序必须按可由其他应用程序使用的形式来创建数据。有少量
应用程序对于其所支持的所有平台按相同的格式写入数据。逐渐地,类似标准
的与平台无关的数据格式(如 MP3 和 PDF)开始进入日常应用。有时会使用
XML 来统一数据格式。其他应用程序包括将一个平台上创建的数据转换用于另
一个平台的筛选器。
■ 即使某一类型的平台上由某个应用程序创建的文件中的数据可以由另一个平台
上的相关应用程序读取,但由于其元数据格式不同,前一平台的文件系统通常
无法在后一类型的平台上装入。
一般来说,有两种常用的技术允许数据在不同的平台之间进行传输。
深入研究 Storage Foundation 核心:VxFS 文件系统 63
VxFS 高级功能

■ 可以通过网络将数据从生成数据的系统复制到使用数据的系统。尽管这是一种
很有用的技术,但该技术需要高网络带宽且耗费时间,这使得它对于大多数大
型数据集不具有实用性。
■ 可以将数据存储在文件服务器中,而不是存储在由应用程序主机上的文件系统
所管理的磁盘上。由于文件服务器访问协议(常见的网络文件系统,或叫做
NFS)在 UNIX 平台之间属于标准协议,任何类型的 UNIX 平台都可以访问由
NFS 文件服务器提供的数据。同样,这也是一种有用的技术,但文件服务器的
性能和可伸缩能力会同时限制生产应用程序平台和使用数据的应用程序平台。
随着 Storage Foundation 版本 4 的推出,VxFS 为在不同类型的 UNIX 平台之间共
享串行数据问题引入了一个替代解决方案。通过在所有受支持的 UNIX 平台上使用
相同的文件系统元数据格式,VxFS 实现了装入和使用在 AIX 系统(例如,Solaris
或 HP-UX 系统)上创建的文件系统。与允许控制虚拟卷在不同的平台之间进行传
输的 VxVM Portable Data Container 相结合,VxFS 文件系统可实现从一个主机逐
出包含 VxFS 文件系统所在的卷的设备,并在不同平台类型的另一个主机上导入、
装入和访问该设备。这对于大型数据集或访问活跃的数据集尤为重要,前者的用户
无法容忍缓慢的复制时间,后者的文件服务器性能可能不足以满足应用程序的要
求。
通过与另一个 Storage Foundation 工具(完全复制快照)相结合,Portable Data
Container 和可传输文件系统为生产应用程序数据的脱离主机处理提供了有价值的
方法。图 4-2 展示了这样的一种方法。

图 4-2 使用可传输的文件系统进行脱离主机备份

应用程序服务器 辅助服务器
(AIX) (Solaris)

磁带库

数据

快照 快照

生产数据磁盘组 辅助服务器磁盘组
文件

图 4-2 显示了在 AIX 服务器上运行的生产应用程序。对于应用程序而言的某个合适


的时间(例如,下班时),会创建生产数据的 VxVM 完整空间即时快照。VxVM 使
64 深入研究 Storage Foundation 核心:VxFS 文件系统
VxFS 高级功能

快照卷与生产数据卷同步(通过从生产卷将内容复制到快照使两者的内容相同)。
同步完成后,会将包含快照卷的磁盘从包含它们的 VxVM 磁盘组中分割出来,从生
产服务器中逐出,并在辅助服务器上导入。
由于它们使用可移植的数据容器格式,可以在辅助服务器上启动 VxVM 卷。可以直
接装入和使用其上的 VxFS 文件系统,例如,用于备份、生成报告、数据分析、问
题诊断或软件测试。通过使用 Storage Foundation 的工具,可以在生产应用程序运
行的同时完成整个过程。由于辅助处理使用与生产应用程序不同的服务器和存储资
源,它对生产性能没有任何影响。通过使用 FastResync™ 技术,使用快照后快照与
生产数据的重同步过程所造成的影响会降低,而且可以将重同步安排在非高峰生产
时间进行。
在此示例中,比较独特的是辅助服务器可以与生产服务器类型不同,如图中的 Solaris
和 AIX。这样,如果企业已将 Solaris 作为其标准化备份平台,则可以使用 Solaris
来备份 AIX 和 HP-UX 生产服务器的数据。如果数据挖掘工具仅授权在某一数据中
心的平台上使用,则该平台可以用于分析所有平台的数据。只要文件中的数据可以
由生产和辅助应用程序正确解释,则从一个平台将数据传输到另一个台平几乎都可
以在瞬间完成,而不管数据集的大小如何。
对于定期运行的辅助应用程序(如每日备份或每周报告),可以使用 VxVM
FastResync™ 技术进行快速的快照周转处理。完成文件系统快照的辅助处理之后,
可以将包含快照的磁盘从辅助系统中逐出,将这些磁盘重新加入其原始磁盘组,与
其原始卷重新同步,然后再次传送到辅助主机。FastResync™ 技术通过仅复制在快
照存在期间内发生变化的块来重同步卷,因此它花费的时间通常比复制原始卷的所
有块所花费的时间要少。
在运行 Storage Foundation 的 UNIX 和 Linux 系统之间传输数据很相似,但有一点
比较复杂 - 转换元数据以适应不同处理器结构表示二进制整数地址的不同方式。三
个主要的企业 UNIX 平台全都使用所谓的“big-endian”格式来解释两字节、四字
节和八字节二进制整数。这意味着在构成整数的字节中,使用最低内存地址的字节
来包含最重要的八位,使用紧靠最低内存地址的内存地址的字节包含第二个最重要
的八位,以此类推。
显然,运行 Linux 操作系统的最普遍的处理器结构是 Intel 和 AMD 处理器结构,这
两种处理器结构都使用“little-endian”格式在内存中存储二进制整数。顾名思义,
little-endian 处理器在最低的内存地址上存储多字节二进制整数的最不重要的八位,
下一个最不重要的八位数据存储在紧邻最低内存地址的内存地址上,以此类推。
文件系统元数据会集中包含大量的二进制整数。最常出现的元数据是 inode 内包含
文件数据(如果是 VxFS,还会包含 extent 大小)的块地址的描述符。为了使在
big-endian(企业 UNIX)系统上创建的文件系统能够在 little-endian (Linux) 系统
上使用,必须将文件系统元数据中的所有整数从 big-endian 转换成 little endian 格
式。可在将文件系统从一个平台移动到另一个平台之前一次性转换所有整数;也可
以在每次访问文件系统元数据中的整数时进行转换。VxFS 利用上述的第一种技术,
选择一次性转换整数格式,而不是每次在文件系统处于使用状态下 VxFS 访问文件
系统元数据时再转换整数格式。
深入研究 Storage Foundation 核心:VxFS 文件系统 65
VxFS 高级功能

若要在 Linux 平台上从企业 UNIX 平台装入和访问 VxFS 文件系统,需要卸载该文


件系统,对文件系统运行某个实用程序以将其元数据转换成 little-endian 格式。接
着会将包含该文件系统的卷的磁盘从 UNIX 平台中逐出,并在由辅助应用程序装入
和访问该文件系统的 Linux 平台上导入这些磁盘。使用这个新增的步骤,甚至可以
将大型企业 UNIX 文件系统以逻辑方式传输到 Linux 平台上,例如在实际的生产数
据仍在使用中时对生产数据快照执行脱离主机辅助处理。对于 UNIX 到 UNIX 的文
件系统传输,在生产和辅助系统上的应用程序都必须能够正确解释文件内的数据。
在不同的 UNIX 平台或 Linux 平台上处理由某个 UNIX 平台创建和管理的数据,这
种能力可以实现将更多类型的资源用于任何特定的任务,以此增加了企业信息技术
的灵活性。凭借在不同平台之间传输文件系统的能力,可以将包含相应软件的任何
可用平台用于辅助处理,而不需要将数据集复制到其中或者限制应用程序性能以及
文件服务器方法的处理能力伸缩性。
不经复制或转换步骤即可在一个平台上立即使用来自另一个平台的数据,这种可能
性使得可传输的文件系统不仅有可能增加资源利用率,而且还可以减少对平台更改
的妨碍。

多层存储
多层存储——具有不同 I/O 性能、数据可用性和相关成本特征的虚拟或物理存储设备
的部署——作为一种降低数据中心联机存储平均成本的方式被广泛接纳。基于串行
ATA (SATA) 的磁盘阵列的引入使用户对多层存储给予了更多关注,但实际上,多
层存储早在磁盘阵列和卷管理器引入之初就已经存在了。存储系统的每个可用 GB
的成本有很大差异,即使使用相同的基础设备技术来实现它也是如此。例如:
■ 由磁盘阵列提供的镜像 LUN 或者由 VxVM 镜像生成的卷的每个可用 GB 成本要
比 RAID-5 或非冗余的成本高。
■ 基于较早的低容量磁盘驱动器的存储的每字节成本通常比属于同一性能类别的
基于较新的高容量设备的成本要高。
■ 由企业级磁盘阵列提供的 LUN 的每个可用字节成本通常比由直接连接的容量和
性能相当的磁盘构建的同等功能卷的成本高。
信息技术工作者之所以对多层存储感兴趣,主要是由于它在成本效益方面的承诺。
他们认为,对企业具有不同价值的数据对象应存储在成本与其价值相适应的设备
上。较低成本的存储会带来较低的 I/O 性能或数据可靠性等负面性,但这样做的理
由是,较低价值的数据与较低的服务质量是相配的。
在许多情况下,这种负面性并不会带来任何负面影响。在一个典型的数据中心中,
大量联机数据的访问并不频繁;其联机目的是出于策略或方便考虑,而不是出于频
繁的访问需要。这类数据也是完全可以备份的。对于不经常访问的数据,存储 I/O
性能其实无关紧要。另外,由于可以从备份中恢复丢失的对象,这也会引发人们对
这类数据的容错镜像配置的价值提出疑问。
除成本外,许多企业还会出于非技术原因创建多层存储结构。例如,出于安全原
因,业务事务或人力资源记录的数据库可能会从包含工程图的文件中分离出来。拥
66 深入研究 Storage Foundation 核心:VxFS 文件系统
VxFS 高级功能

有一组数据的组织、处理这组数据的应用程序及其通常采用的 I/O 模式有时也用作


创建不同存储层以在其上放置不同类型数据的标准。企业会出于多种原因而控制在
两个或多个存储层内放置数据对象:
■ 不同类型的数据具有不同 I/O 性能需要。数据流需要较高的数据传输性能,但可
以接受中等的 I/O 请求速率。事务需要较高的 I/O 请求速率,但只需要中等的数
据传输性能。
■ 同时运行的应用程序可能会争用 I/O 资源,除非它们的数据放置在具有单独访问
路径的单独存储设备上。
■ 不同数据集具有不同可用性要求。通常,企业可以在缺少人力资源系统的情况
下经营业务,但却不能在缺少销售点或客户关系管理系统的情况下经营业务。
■ 不同数据集具有不同的价值。丢失一天的业务事务会对企业产生明显影响,但
仍可恢复正常。丢失年度结算数字可能会带来一场灾难。丢失一整天的工作对
于视频编辑人员来说可谓损失惨重,但丢失完成的产品可能使组织遭受更大挫
折。
■ 企业帐户、安全性和管制符合策略可能要求仅在特定存储设备上存储特定文件
或文件类型。

从多层存储中获取价值
企业使用通常与业务目的密切相关的文件来组织它们的数字信息,这些信息包括文
档、事务、图像、音频曲目和其他数字业务对象,每个都具有业务价值。因此,优
化存储及 I/O 成本和性能的工作显然要围绕文件这个对象来展开。
从多存储层方式获取价值的关键是将每个文件放置到合适类型的存储设备上。通常
应该将比较关键的文件存放在性能更高且更可靠的(并因此更加昂贵的)设备上;
而那些不太关键的文件可以存放在价格相对低廉的设备上,这类设备所提供的服务
质量相对不高。
将文件与合适类型的存储设备相匹配并不困难。管理员可以将用户或应用程序分配
给不同设备上的不同文件系统。不过,面临的问题在于文件数量。如果没有严密的
结构或某种形式的自动化处理,将数百万个文件存放在相应的存储设备上会由于太
过耗时而变得不太实际。
文件的合适存储类型会随着时间而变化这一事实构成了更大的挑战。当文件变旧、
变为不活动状态、增大或者缩小、或在目录之间移动时,适用于该文件的合适的存
储设备类型也会发生变化。手动在存储设备层中重定位数百万个文件会成为一项永
无休止的任务。自动化对于有效利用多个存储层是一个必要条件,特别是对于包含
大量文件的文件系统。
深入研究 Storage Foundation 核心:VxFS 文件系统 67
VxFS 高级功能

多卷文件系统和动态分级存储工具
VxFS Dynamic Storage Tiering (DST) 工具可实现在不产生补偿性管理成本的情况
下获得多层存储所带来的成本和其他方面的益处。DST 包含两个部分:多卷文件系
统以及文件系统存储内基于策略的自动化文件放置。
顾名思义,多卷文件系统就是占用两个或更多虚拟存储卷的文件系统。VxFS 多卷
文件系统显示单一名称空间,因此多个卷的存在对于用户和应用程序是透明的。但
是,VxFS 内部仍清楚每个卷的标识,这使得管理员可以定义策略来控制单个文件
的位置。
在其上构建多卷 VxFS 文件系统的 VxVM 卷也称为 VxFS 文件系统的卷集。卷可能
具有不同的类型(例如,条带卷、RAID-5 卷、镜像卷,等等),并可能基于不同
的硬件技术(如不同类型的磁盘阵列 LUN 和不同技术的直接磁盘挂接)。将存储
层构建在 VxVM 卷之上具有一个重要的优点:出于 I/O 性能或容错方面的原因,卷
可以具有任何必需的容量和配置,甚至可以跨多个磁盘阵列。

存储层和放置级别
多卷 VxFS 文件系统的管理员通过定义文件放置策略来控制文件位置,文件放置策
略指定最初文件位置以及现有文件应在那个位置环境下重定位。VxFS 文件放置策
略由将文件位置限制到文件系统的卷集的子集的规则组成。这些子集被称为放置级
别,通常使用存储层进行标识。文件是在指定的放置级别中创建和扩展的,并在满
足某些资格要求时被重定位到其他放置级别。
例如,图 4-3 显示了一个由三个放置级别(分别称为 tier1、tier2 和 tier3)组
成的卷集。此卷集可能适合包含少量关键文件 (tier1)、具有一般重要性的较大数
量的文件 (tier2) 和更多数量的非活动文件 (tier3) 的文件系统。

图 4-3 多卷文件系统的卷集示例

卷集
带有 tier1 标记的卷 带有 tier2 标记的卷 带有 tier3 标记的卷
Volume_F Volume_E Volume_C

Volume_D Volume_B

Volume_A
68 深入研究 Storage Foundation 核心:VxFS 文件系统
VxFS 高级功能

VxVM 卷通过使用称为卷标记的字符串与放置级别相关联。在图 4-3 中,Volume_F


带有标记 tier1,Volume_D 和 Vo l ume_E 被标记为 tier2,而 Volume_A、Volume_B
和 Volume_C 被标记为 tier3。放置文件时,VxFS 同等对待放置级别中的所有卷并
在它们之间平衡空间分配。
卷标记只是一个用于对卷进行分类的字符串。任何卷都可以使用任何方便的名称进
行标记。例如,以贵重金属命名存储层是很常见的 - gold(最顶层)、si l ver
(中间层)和 bronze(最低层)。
VxFS 未对放置级别施加任何约束。通过进行标记,可以将任何卷添加到任何放置
级别。不过,将性能和可用性特性一致或至少非常相似的卷放置到一个放置级别是
一种很好的做法;换句话说,就是使用放置级别概念识别存储层。

文件放置策略
VxFS 根据文件系统的活动文件放置策略为文件分配空间。文件放置策略由用于管
理指定文件集的最初位置和后续重定位的规则组成。可以对规则指定文件,按名
称、目录、所有权或按三者的组合对文件应用规则。
文件放置策略规则是按放置级别而不是按特定卷来指定文件位置的。这避免了在从
文件系统的卷集添加或删除卷时更改放置策略的需要。此外,由于放置类别名称不
需要唯一,因此可以将一个放置策略指定给具有相似要求和存储补偿的任意数目的
文件系统。
文件放置策略规则以按优先级排序的放置类别列表的形式指定原始分配和重定位的
位置。如果空闲空间允许,会将文件分配到列表中的第一个类别中,如果在第一个
类别中没有空闲空间,则会分配到第二个类别中,以此类推。除非在任何指定的类
别中都没有空间,否则文件分配不会失败。此功能为特定存储层意外填满的文件系
统提供了一种“软着陆”方式。
VxFS 通过管理命令强制执行文件放置策略。策略强制执行通常会定期(例如,每
天)进行,并且安排在生产性活动预期比较少的时间。在策略强制执行过程中,如
果有可用空间,VxFS 会将文件重定位到这些文件所应用的规则中列出的第一个放
置类别,如果在第一个类别中没有可用空间,则会定位到第二个类别,以此类推。
文件放置策略可以指定无条件的重定位;或者,重定位可以基于某些资格条件,如
自最近访问或修改之后的时间、访问强度(有时也称为 I/O 热度)和文件大小。
文件放置策略不是针对特定系统的文件的。例如,在具有许多相似系统的数据中心
(例如,Web 或数据库服务器),可以将单个文件放置策略指定给具有相似要求和
存储配置的所有文件系统。只要包含文件系统的卷被正确标记,就可以向它指定相
同的策略。这会提高存储和数据管理的一致性(相似的文件应用相同的策略),而
不需要在许多系统上投入精力进行同样的管理操作。在第 6 章中讨论的 Storage
Foundation Management Server 可以用于在一个中央数据库中存储文件放置策略,
并在整个数据中心范围将这些策略指定给文件系统。
深入研究 Storage Foundation 核心:VxFS 文件系统 69
VxFS 高级功能

多卷文件系统中的元数据和可用性
VxFS 多卷文件系统还提供相应机制,使管理员可以控制元数据在文件系统卷集内
部的位置。可以将单个卷指定为允许包含元数据,或者限制单个卷仅存放用户数
据。卷集中的第一个卷始终允许包含元数据。
只要可以访问多卷文件系统的所有元数据,即可装入和访问多卷文件系统。如果仅
包含用户数据的卷出现了故障,则仍可以装入文件系统,而且仍可以访问那些没有
出现问题的卷。管理员可以使包含元数据的卷具备极强的容错能力,以及根据策略
调整其他卷的可用性以满足这些卷上放置的文件的要求。

动态分级存储工具概述
在两层联机存储策略中,第二层用于存储非活动或不重要的文件,该策略可以使数
据中心的联机存储成本至少降低 30%。也可以使用多层存储,通过访问权限特性或
其他业务属性来分隔数据。VxFS Dynamic Storage Tiering 工具可自动在整个存储
层范围放置文件,确保将文件分配到合适的位置,以及在条件更改时移到其他备用
位置。使用动态分级存储,在存储硬件方面节省的成本足以弥补所增加的管理成
本。

存储检查点
VxFS 文件系统包括称为“存储检查点”的节省空间快照工具。“存储检查点”是
文件系统永久性可写的即时点快照。“存储检查点”的存储容量从由文件系统管理
的空间内部进行分配,因此文件系统及其“存储检查点”完全是自包含的。“存储
检查点”通过管理命令来创建,并且会一直存在,直到由 管理命令删除或其所占用
的空间需要用于其他用途。对于使用多个文件系统的应用程序,所有文件系统的
“存储检查点”可以进行协调,以便它们在同一逻辑时间发生。图 4-4 显示了“存
储检查点”与其父文件系统的关系。
70 深入研究 Storage Foundation 核心:VxFS 文件系统
VxFS 高级功能

图 4-4 Storage Foundation 的存储检查点

使用 /mnt 使用 /mntsnap2
生产应用程序 辅助应用程序
文件系统 和 /mntsnap2
更新 存储检查点

从文件系统区
包含文件系统 域读取的未修
/mnt 的卷 改块内容

文件系统 /mnt 块空间


/mntsnap1 map 读取或写入存
分配给文 /mntsnap2 map
储检查点区域
件系统数 的修改块内容
据和元数
据的块

覆盖前将原始文
件数据复制到存
储检查点区域

如图 4-4 所示,“存储检查点”完全包含在文件系统块空间内部,不需要外部卷或
其他结构。这使得存储检查点极容易管理。它们完全包含在文件系统的卷集内部,
因此可以使用 Storage Foundation 集成卷和文件系统扩展功能通过一个操作分配
“存储检查点”或文件数据的额外空间。
实际上“存储检查点”由文件系统的 inode 列表的副本构成,该列表最初是由指向
每个文件中的数据的覆盖描述符填充而成的。VxFS 文件系统中的每个元数据结构
实质上都是文件,因此 inode 列表既描述数据也描述元数据。
当更新文件时,VxFS 使用指向更新前的块内容映像的描述符来替换“存储检查点”
的 inode 列表中的覆盖描述符。“存储检查点”对于在主文件系统中读取和写入数
据的生产应用程序而言是透明的(在快照创建后第一次执行块更新时,更新性能会
稍受影响)。
当应用程序向主文件系统发送的请求导致更新数据或元数据时,VxFS 首先确定,
在最近的一次创建“存储点”之后,所要更新的块是否已被修改。如果块是第一次
更新,VxFS 会将其内容复制到从文件系统的空闲池分配的空间,更新“存储检查
点”的映射,使其指向该副本,然后再将更新内容写入原始位置。因此,创建“存
储检查点”后对文件系统块执行的第一个应用程序更新要比随后进行的更新花费的
时间要长。
只要“存储检查点”是文件系统,即可将其装入,而且“存储检查点”一经创建即
可由联机应用程序读取和写入。当应用程序从“存储检查点”读取数据时,VxFS
参考检查点的映射,以确定所请求的块是否已被修改。如果未被修改,则读取主文
件系统块。如果已被修改,VxFS 会使用检查点的映射定位已被修改的块的以前的
内容,读取或写入这些内容以满足应用程序的请求。
深入研究 Storage Foundation 核心:VxFS 文件系统 71
VxFS 高级功能

VxFS 文件系统的内部结构规则有序,可以使用备用 inode 列表描述完整的“存储


检查点”,而且还可以实现表 4-2 中列出的高级功能,这些功能进一步增强了“存
储检查点”的作用。

表 4-2 存储检查点的高级功能

高级功能 有价值的主张

链接的存储检查点 对于同一文件系统,每个“存储检查点”链接到下一个(较
新的)和上一个(较旧的)“存储检查点”(如果存在)。
这种结构使得文件系统的写处理时间不受活动检查点数量的
限制,同时可以做到删除“存储检查点”时不会影响较新的
或较旧的检查点。

存储检查点的存储检查点 对于辅助应用程序,“存储检查点”既是文件系统。“存储
检查点”是可写的,因此可用于测试软件,使用新的应用程
序和数据模型对“what if”(如果...怎样)这类方案进行研
究,以及用于其他一些应用。在用于破坏性测试之前,可以
为文件系统“存储检查点”自身生成“存储检查点”。测试
完成后,可以从所创建的二级检查点恢复原始检查点,以便
使用相同初始数据进行第二次测试,而且这一过程可以无限
次重复。

可以将文件回滚到任何作为起始点的活动“存储检查点”,以从数据损坏中进行恢
复。从“存储检查点”恢复文件系统时,VxFS 使用“存储检查点”的 inode 列表
替换主文件系统的 inode 列表,删除所有比用于恢复的检查点旧的活动检查点,将
其所占用的存储空间返还到空闲空间池。由于复制的数据很少或不复制数据,因此
恢复的过程十分快速。此外,任何比用于恢复的检查点新的检查点都会得以保留。
Symantec NetBackup 使用叫做“无数据存储检查点”的特殊类型检查点为使用
VxFS 文件系统作为其基础存储区的数据库执行块级增量式备份工具。传统的增量
式备份技术基于文件活动 - 如果文件被修改,即使改动很小,也会对整个文件执行
增量式备份。这种技术对于使用文件系统来包含其数据文件(通常数量不多)的数
据库而言效率很低。每次数据库启动时,数据库管理系统通常会更新所有数据文
件,对数据库执行实际等同于完全备份的增量式备份。
无数据检查点映射已修改的文件系统块,而不是这些数据块以前的内容。它们可以
作为列表来有效地保存某个特定时点后发生更改的文件系统数据块和元数据块。
Symantec NetBackup 使用无数据存储检查点中的信息来创建文件系统的块级增量
式备份,备份中仅包含自创建检查点后发生更改的文件系统块的内容。可以通过从
较早的完全备份或正常的“存储检查点”恢复的文件系统的映像,来恢复块级增量
式备份,使该增量式备份成为具有更近恢复时点的增量式备份。
“存储检查点”可以实现多种复杂的存储和数据管理技术。当实际文件系统处于使
用状态时,可以使用检查点备份或分析(“挖掘”)文件系统的即时点映像。可以
使用检查点来测试需要修改所测试数据的软件更新和用户数据结构更改。检查点可
以在有限期间内处于联机状态,这使得用户可以恢复被错误删除或发生损坏的文
72 深入研究 Storage Foundation 核心:VxFS 文件系统
Storage Foundation 基本组件概述

件。“存储检查点”的创建和删除可通过脚本操作来完成,因此在定期管理过程中
可以方便地使用存在期限很短的“存储检查点”。

Storage Foundation 基本组件概述


VxVM 卷管理器和 VxFS 文件系统为企业使用的 UNIX 和 Linux 系统提供企业级基
本存储管理。它们的存储虚拟化和文件管理功能具有可靠、可伸缩和高性能的特
点,不过更重要的是,像快照和动态分级存储这类高级功能也简化了存储管理工
作,提高了复杂的大型数据中心存储服务的质量。
VxVM 同 VxFS 相集成产生了更多的联合效应,使得数据中心的运转更加流畅,例
如,可以在文件扩充时自动增加虚拟卷的大小,在创建卷快照时自动冻结文件系统活
动并刷新缓存。与诸如备份和数据库管理系统这类常配合使用的应用程序相集成,
可以带来更多的应用和价值。例如,通过使用块级增量式技术,备份管理员可以对
实际有增量数据的数据库进行增量式备份。基于 Storage Foundation 的 Database
Edition 可以提供从基于快照的低影响备份进行无缝恢复和重新同步的功能。
Storage Foundation 的另一个强有力的优势就是,它可在企业的所有 UNIX 和 Linux
平台上提供通用的外观和同样的操作体验。通用的外观和同样的操作体验不仅降低
了管理员的培训成本,而且这种一致的操作方式对于管理员来讲更加熟悉,这通常
会减少数据中心运转中存在的人为错误。
通过所提供的这种通用管理模式,VxVM 和 VxFS 一同构成了数据中心级统一存储
管理的基础平台。下一章讨论动态多路经工具如何在复杂的存储网络中帮助维护数
据的可访问性,并介绍 Foundation Management Server,它可以将对大量运行
Storage Foundation 的服务器的监控和活动管理合并在单一位置来实现的。
5
深入研究 Storage
Foundation:动态多径处

本章节包括下列主题:

■ 对联网的存储设备实现可靠的访问

■ 支持多路径访问的磁盘阵列

■ DMP:有效使用多个 I/O 路径

■ 存在其他路径管理器的情况下使用 DMP

■ 并存的例子

■ 动态多径处理概述

对联网的存储设备实现可靠的访问
随着数据中心越来越多地采用存储网络,网络本身已成为提供数据可用性方面的一
个重要因素。不但虚拟存储设备必须可靠,而且对于构成虚拟设备的物理设备的访
问也必须具备防故障能力。在实现主机和存储设备间连接容错功能方面,所采用的
主要技术是在二者之间提供两个或更多连接路径。如果其中一个路径出现故障,可
使用另一个路径继续通信。

使存储网络硬件具备可靠性
一种在主机和存储设备之间建立可靠连接的方式是安装两个完全独立的存储网络或
布线结构,每个都与主机和存储设备相连接,图 5-1 显示了这种配置。
74 深入研究 Storage Foundation:动态多径处理
对联网的存储设备实现可靠的访问

图 5-1 联网存储设备之间的多个路径

主机服务器

HBA1 HBA2

路径 1
路径 2

交换机 交换机

端口 端口
控制器 控制器
磁盘阵列

磁盘阵列控制器
提供的镜像 LUN

图 5-1 显示了主机和存储设备之间的物理线路中的主要组件(在此例子中,存储设
备为由磁盘阵列固件虚拟并作为 LUN 提供的镜像设备)。
■ 主机总线适配器 (HBA) 提供主机内存和存储网络协议之间的接口,并通过电缆
连接到存储网络交换机的端口。
■ 交换机在连接 HBA 的端口与连接磁盘阵列控制器的端口之间路由消息。
■ 磁盘阵列控制器提供磁盘阵列协议与存储设备协议之间的接口。
如图 5-1 所示,在主机和存储设备之间提供两条完全独立的线路,在任何一条线路
出现故障时允许主机和存储设备之间继续通信。通常的做法是使用此种配置的各种
不同形式。例如,某些企业级存储网络交换机(称为控制器)设计为具有内部容错
能力。在使用这些设备构建的网络中,就没有必要使用完全独立的布线结构。 采用
多条线路虽然可以使存储网络达到容错目的,但需要重视的一点是关键设备之间的
多条线路无法共享不具备容错能力的组件。

存储区 I/O 堆栈
图 5-2 提供了在 UNIX 存储区 I/O 软件堆栈中执行的主要功能的概览图,同时显示
了存在和不存在基于主机的虚拟化和路径管理的情况。尽管不同的平台在执行的细
深入研究 Storage Foundation:动态多径处理 75
对联网的存储设备实现可靠的访问

节上会有所差异,但 UNIX I/O 软件堆栈都具有如图 5-2 所示的一般总体结构,这


仅仅是因为它们都执行相同的基本功能。
在不具备基于主机虚拟化的系统中,文件系统(和配置为使用“原始设备”的数据
库管理器)直接向通过主机总线适配器与磁盘驱动器进行交互的操作系统驱动程序
发送 I/O 请求。图 5-2 中的路径 [1] 显示了文件系统与存储设备之间的直接软件接
口。
UNIX 操作系统驱动程序由以下部分构成:
■ SCSI 层,将操作系统 I/O 请求转换为存储设备所要求的形式(例如 SCSI 命令数
据块或 CDB)
■ 主机总线适配器 (HBA) 层,与 HBA 交互,对主机和存储设备之间的命令、设备
响应和数据的传输进行设置。
在图 5-2 路径 [1] 代表的方案中,文件系统直接向操作系统的 SCSI 驱动程序发送
I/O 请求,后者会将 I/O 请求格式再转换为 SCSI 命令,并将其传送到 HBA 驱动程
序,以便传输到指定地址的设备。HBA 驱动程序传输命令并接收响应,而不对其进
行解释。出于性能的原因,通常会使用直接内存访问 (DMA) 硬件来传输数据,但数
据传输在用于发送指示传输数据的命令的路径上进行。

图 5-2 UNIX I/O 软件堆栈的各种不同形式

主机服务器
文件系统或数据库管理器

VxVM 虚拟层 虚拟化


[1]
DMP 路径管理 [2]
[3]
操作系统 SCSI 驱动程序
操作系统
驱动程序
操作系统 HBA 驱动程序

HBA1 到存储设备 HBA2

基于主机的虚拟化软件
类似 VxVM 这样的基于主机的存储虚拟化结构在 I/O 软件堆栈中增加了一个层。虚
拟层对它以类似于磁盘虚拟卷的形式提供给文件系统的存储设备集合进行管理。
图 5-2 中的路径 [2] 显示了将 I/O 请求发送到虚拟卷这一情形下的软件堆栈。在此
方案中,虚拟层将文件系统的 I/O 请求转换为指向磁盘驱动器和 LUN 所在地址的存
储设备命令,并将其发送给操作系统驱动程序。
76 深入研究 Storage Foundation:动态多径处理
支持多路径访问的磁盘阵列

例如,VxVM 将应用程序对镜像卷发送的每个写入请求转换为对每个卷镜像的写入
命令,以及将每个读取请求转换为对其中某个镜像的读取命令。也有更复杂的转换
过程。例如,VxVM 将对 RAID 卷的写入请求转换为一系列带有奇偶校验计算的读
取和写入命令,所有这些计算共同维护了更新用户数据时的奇偶一致性。
UNIX 操作系统通常将每个独立的存储网络地址(路径)识别为一个存储设备。如
果设备可通过两个或更多地址来访问,则会将其视为两个或多个独立设备。为了使
卷管理器能够使用多路径设备,必须将设备虚拟化,并以看上去设备只有一个访问
路径的形式提供该设备。虚拟多路径磁盘驱动器和 LUN 需要在卷管理器和操作系
统设备驱动器之间有一个软件层,以通过其中某个路径将每个 I/O 命令路由到该路
径指向的设备。
图 5-2 中的路径 [3] 显示了存在路径管理器的 I/O 堆栈。在此方案中,虚拟层发送
的命令由路径管理器截获,管理器确定使用哪个路径与指定地址的设备通信,并将
命令通过该路径发送到操作系统驱动器。

支持多路径访问的磁盘阵列
实现多路径访问磁盘阵列 LUN 的一个复杂因素是,不同的磁盘阵列以不同的方式
支持 LUN 的多路径访问。基本上讲,以下两类磁盘阵列有所差别:
■ 可同时通过两个或更多阵列控制器对一个 LUN 执行命令的磁盘阵列。这类阵列
称为“主动-主动”阵列。如果一个“主动-主动”阵列的路径出现故障,则命令
可重新路由到其他路径,这样就保证了持续的数据访问。
EMC 的 Symmetrix 和 DMX 阵列、Hitachi Data Systems 的 9900 系列 (Lightning)
以及 IBM 的 ESS 系列 (Shark) 都属于“主动-主动”阵列。
■ 只能通过一个控制器对一个 LUN 执行命令的磁盘阵列,如果需要,可以将 LUN
访问切换或“故障切换”到备用的控制器。这类阵列称为“主动-被动”阵列。
EMC 的 Clariion Cx600 和 Cx700、Hitachi Data Systems 的 95xx 和 9200 系列、
IBM FASt-T 以及 Sun 的 T3 和 T4 都属于“主动-被动”阵列。
除了这种宽泛的分类,不同“主动-被动”磁盘阵列的功能在以下三个影响可用性和
I/O 性能的方面会有所差异:
■ 如果“主动-被动”阵列对单个 LUN 执行的命令能同时为同一阵列控制器的两个
或更多端口接收,则将其称为“主动-被动”并行阵列。只用当主控制器的所有
路径都出现故障时,“主动-被动”并行阵列的 LUN 才会故障切换到次级控制器
路径。大多数“主动-被动”阵列都可以配置进行“主动-被动”并行操作。
EMC 的 CLARiiON、Hitachi Data Systems 的 9500V 系列、IBM 的 FASt-T 以及
Sun 的 T3 和 T4 都属于“主动-被动”并行阵列。
■ 当通过次级路径接收到发送给 LUN 的命令时,某些“主动-被动”阵列可以自动
从主路径故障切换到次级路径。而其他阵列只是在接收到来自主机的明确命令
时才进行故障切换(显式故障切换)。显式故障切换简化了对有多个主机可发
送命令的群集中的“主动-被动”阵列的支持。在没有配置显式故障切换的情况
深入研究 Storage Foundation:动态多径处理 77
DMP:有效使用多个 I/O 路径

下,在初始化显式故障切换之前,群集软件必须对所有主机的 LUN 访问进行同


步,以便来自多个主机的 I/O 请求不会导致连续的故障切换。
Sun Microsystems 的 T3 和 T4 阵列具有显式故障切换功能。
■ 某些“主动-被动”阵列可以对整个 LUN 组一同进行故障切换,而不用逐个进行
切换。在这类阵列中,如果 LUN 的某个主控制器路径出现故障,则该路径所在
的组中所有 LUN 都会故障切换到次级路径。LUN 组的故障切换比单个 LUN 故
障切换要快,因此可以降低由于控制器故障而对应用产生的影响,对于提供大
量 LUN 的磁盘阵列尤其如此。
Hitachi Data Systems 的 9200 系列阵列具有 LUN 组故障切换的功能。

DMP:有效使用多个 I/O 路径
有效使用多个 I/O 路径要求了解存储网络拓扑结构以及能够迅速和自动响应存储网
络中的情况变化。Storage Foundation Dynamic Multi-pathing (DMP) 工具可根据
预定义的策略自动进行多路径管理。DMP 通过三种方式增强了系统可用性和 I/O 性
能:
■ DMP 改进了数据可用性。如果一个 I/O 路径出现故障,DMP 会自动 将分配给
它的命令重新路由到备用路径上。重新路由对于存储应用程序是透明的。当出
现故障的路径恢复服务时,DMP 会自动并以透明方式恢复原始配置。
■ DMP 改进了 I/O 性能。对于支持即时多路径访问存储设备的磁盘阵列,DMP 会
使用若干预定义的多路径 I/O 负载平衡策略之一,在所有可用路径中分布 I/O 命
令。
■ DMP 改进了应用程序弹性。在群集配置中,DMP 通过消除可能由 I/O 路径故障
引起的应用程序故障改进了系统可用性。
DMP 是 Storage Foundation Volume Manager (VxVM) 的一项集成功能。启用 DMP
后,管理员可以通过单一控制台或图形界面同时管理存储虚拟化和 I/O 路径策略。

UNIX 存储区 I/O 软件堆栈中的 DMP


DMP 在 UNIX 存储区 I/O 软件堆栈中以层的形式运行。图 5-3 显示了一般 UNIX 存
储区 I/O 软件堆栈的简化模型,其中包括 VxVM 虚拟层和 DMP 路径管理层。
78 深入研究 Storage Foundation:动态多径处理
DMP:有效使用多个 I/O 路径

图 5-3 UNIX I/O 软件堆栈中的 VxVM 和 DMP

主机服务器
文件系统或数据库管理器

VxVM 虚拟层

DMP 路径管理层

操作系统 SCSI 驱动程序

操作系统 HBA 驱动程序

HBA1 到存储设备 HBA2

在典型的服务器中,几乎所有对虚拟或物理存储设备的 I/O 请求都由文件系统来发


送(少数情况下,数据库会直接向原始设备发送 I/O 请求)。VxVM 虚拟层将这些
请求转换为相应的一系列对物理磁盘或 LUN 的读取和写入命令。DMP 在 I/O 堆栈
中位于虚拟层下方的作用在于,它从 VxVM 虚拟层接收 I/O 命令,为每个命令选择
路径(实际上是选择 HBA),然后将其发送到 SCSI 操作系统驱动程序来执行。

磁盘阵列的 DMP 支持
要提供对磁盘阵列 LUN 的多个访问路径支持,需要清楚各个阵列的特征。DMP 具
有一个模块式体系结构,使之能够迅速、方便地集成对不同类型的多路径访问控制
的支持。
具有多路径 LUN 访问能力的磁盘阵列可由 DMP 支持,而无需定制软件。如果磁盘
阵列具有以下属性,则 DMP 可以通过将磁盘阵列的 LUN 视为磁盘来管理对它的多
路径访问:
■ LUN 是主动-主动式的
■ LUN 使用唯一序列号来响应 SCSI 查询命令,每个 LUN 序列号以相同方式报告
在所有路径上
■ LUN 的唯一序列号可以从 SCSI 标准模式页位置读取
如果阵列具有这些属性,DMP 可以将其 LUN 作为磁盘驱动器处理;这里并不需要
特别支持。对于需要特殊处理的阵列,DMP 体系结构提供了对阵列支持库 (ASL) 和
内核模式阵列策略模块 (APM) 的支持;ASL 用于发现和配置 LUN,APM 用于在
I/O 路径中执行特定阵列功能。图 5-4 显示了 ASL 和 APM 是如何切入 VxVM 的配
置工具和 I/O 路径的。
深入研究 Storage Foundation:动态多径处理 79
DMP:有效使用多个 I/O 路径

图 5-4 DMP 设备发现层 (DDL) 体系结构

ASL 1
文件系统 读/写路径
...
vxconfigd DDL ASL n
用户
内核
vxio 驱动器 vxdmp 驱动器
配置路径

APM 1 ... APM n

对于它发现的每个设备,VxVM 设备发现层 (DDL) 将依次调用每个安装的 ASL,直


至某个 ASL 根据其供应商和产品标识符将设备归类。归类将阵列模型与设备相关
联,进而确定 VxVM I/O 路径为执行诸如路径选择、路径故障切换以及 SCSI 保留
和释放等功能而调用的 APM 集。

DMP 和设备发现
UNIX 操作系统在启动时,通过探测其 I/O 总线和存储网络连接来发现可由系统访
问的存储设备。在操作系统执行完发现设备的过程后,VxVM 配置后台驻留程序
vxconfigd 执行其自己的设备发现步骤,以确定在操作系统发现的设备中哪些可通
过多个路径来访问。
对于所发现的每个磁盘或 LUN,UNIX 操作系统会在系统设备树中创建称为节点的
数据结构。例如,Solaris 操作系统在 /dev/rdsk 和 /dev/dsk 分支中为它所检测到
的每个磁盘驱动器或 LUN 创建节点。 对于可通过两个或更多路径访问的设备,操
作系统为每个路径创建单独的节点,这样可以有效地将每个路径作为单个设备来处
理。
在路径发现期间,VxVM 的 vxconfigd 后台驻留程序通过从每个操作系统设备请求
唯一的产品信息来识别多路径设备。那些看似不同但具有相同产品信息的操作系统
设备实际上代表的是同一设备的多个路径。后台驻留程序在 Storage Foundation 的
设备树分支中为它所检测到的每个唯一存储设备创建称为元节点的结构。
VxVM 元节点代表虚拟化的元设备。每个元设备由磁盘或 LUN 以及可访问它的所
有 I/O 路径组成。图 5-5 显示了 Solaris 环境中的单路径和多路径设备在 DMP 元设
备和操作系统设备树节点之间的关系。
80 深入研究 Storage Foundation:动态多径处理
DMP:有效使用多个 I/O 路径

图 5-5 单路径设备的 VxVM 子树 (Solaris)


DMP 元节点
/dev/vx/rdmp/c1t0d0s2 /dev/vx/rdmp/c1t0d0s2

/dev/rdsk/c1t0d0s2 /dev/rdsk/c1t0d0s2 /dev/rdsk/c2t0d0s2

操作系统设备
树节点

通过 DMP,VxVM 虚拟层向元设备发送其 I/O 命令,而不是直接将命令发送到操作


系统设备。DMP 通过操作系统驱动程序将命令传送给单路径设备。对于多路径设
备,DMP 根据对元设备有效的负载平衡策略来选择通过哪个路径向操作系统发送每
一个命令。

DMP I/O 负载平衡策略


DMP 的首要用途是通过在 I/O 路径出现故障时保持存储设备可访问来保证数据的可
用性。当所有路径都在运行时,DMP 还可以通过在最优路径上路由每个命令来改进
I/O 性能。管理员可以设置六个不同策略之一来定义 DMP 如何为指定设备路由 I/O
命令:
■ 平衡路径
■ 循环
■ 最小队列长度
■ 自适应
■ 优先级
■ 单个活动路径
以下各小节描述了这六个策略。

平衡路径路由
DMP 的平衡路径策略将设备的块地址空间划分为许多不连贯的区域(有多少活动路
径,就有多少区域),并将每个命令路由到与指定数据地址所在区域相对应的路
径。例如,图 5-6 显示了具有两条路径的设备的策略。在此示例中,DMP 将指定起
始块地址在 00 到 03 之间的命令路由到路径 0,将指定地址在 04 到 07 之间的命令
路由到路径 1,将指定地址在 08 到 11 之间的命令路由到路径 0,等等。(4 块划
分单位只是为了图示方便;DMP 的实际默认划分单位是 2048 块,或 1 MB。)
深入研究 Storage Foundation:动态多径处理 81
DMP:有效使用多个 I/O 路径

图 5-6 使用平衡路径路由策略的 I/O 路径选择

/dev/vx/dmp/c1t0d0s0

路径 0 路径 1

/dev/dsk/c1t0d0so /dev/dsk/c2t0d0so

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

存储设备块

平衡路径路由策略是 DMP 针对“主动-主动”阵列提供的 LUN 的默认策略。它对


于从 LUN 和具有预读缓存的双端口磁盘驱动器进行高速序列化读取尤其有益。

循环路由
循环 I/O 请求路由策略在每个活动路径上发出数量大致相同的命令。如果设备的多
数 I/O 请求指定的数据传输量大致相同,以及在负载分布相对均匀的存储网络中,
循环策略通常是最佳选择。

最小队列长度路由
最小队列长度策略通过具有最小数量的未完成命令的活动路径来路由每个命令。此
策略通常可以调节临时性负载不平衡的情况,比如,由于来自其他 LUN 的错误恢
复或过载而导致的存在路径瓶颈的情况。

自适应路由
自适应路由允许 DMP 根据路径优先级来路由命令,优先级定期从最近的数据吞吐
量计算得出,这样就会优先选择那些吞吐量最高的路径。DMP 按照路径的相对优先
级分配路径来路由命令。例如,如果有三个活动路径,计算得出的优先级分别为
3、2 和 1,则所有要发送的请求中,有一半通过路径 1 发送,三分之一通过路径 2
发送,剩余的六分之一通过路径 3 发送。当较高优先级路径上的负载增加时,该路
径的吞吐量通常会较低,其结果是下次重新计算时会降低其优先级。
对于诸如同时包括事务(快速传输)和定期表扫描(慢速传输)的数据库应用程序
这类迅速变化的 I/O 负载,自适应路由策略通常可以优化吞吐量。对于可区别不同
82 深入研究 Storage Foundation:动态多径处理
存在其他路径管理器的情况下使用 DMP

路径平均性能的存储网络,该策略也很有用,包含具有不同数量网络“跃点”的长
距离路径以及不同速度的单个链接的网络既属于此类存储网络。

优先级路由
与自适应路由策略一样,优先级路由按路径优先级为命令分配传输路径。不过,使
用此策略时,路径优先级由管理员指定,而且只能通过管理员的操作来更改。优先
级策略允许管理员根据诸如应用程序对于企业的相对重要性等因素(而非性能)来
指定路径优先级。

单个活动路径(首选路径)路由
顾名思义,单个活动路径策略通过一个称为“首选路径”的路径来路由所有命令。
仅在首选路径出现故障时,DMP 才使用第二个路径来路由命令。单个活动路径策略
通常用于“主动-被动”阵列,该类阵列在某一时刻仅支持通过一个路径发送对 LUN
的 I/O 请求。

存在其他路径管理器的情况下使用 DMP
某些磁盘阵列和系统供应商可提供与 DMP 在功能上类似的路径管理器。DMP 与通
常由硬件供应商提供的路径管理器之间存在三个主要的差异:
■ 一般来说,硬件供应商提供的路径管理器都针对自己的产品进行了优化,有的
时候,会不支持其他供应商的存储设备和系统。而 VxVM 本来就具有兼容性,
不仅体现在平台和存储设备方面,而且体现于它在单个虚拟设备配置中混合不
同类型存储区的能力。
■ VxVM 与 VxFS 文件系统以及硬件供应商提供的虚拟化和路径管理软件通常使用
的主要数据管理器具有更紧密的集成性。在 I/O 软件堆栈中与相邻层的集成通常
可以使管理的复杂性最低,进而成本降到最低。
■ 供应商提供的路径管理器通常是磁盘阵列的附加产品,需要额外付费购买,而
DMP 是 VxVM 必不可少的一部分。
出于各种原因,安装了 DMP 的系统中有时会存在其他路径管理器。这两类路径管
理器都有其自身的优点和局限。要对存在两个路径管理器的系统进行管理,管理员
应该充分了解 DMP 和其他路径管理器的交互方式。

路径管理器操作
多路径管理进一步提高了数据可用性和 I/O 性能。图 5-2 中的路径 [3] 显示了包括
诸如 DMP 这样的路径管理器的 I/O 软件堆栈。在此方案中:
■ 虚拟层将每个对虚拟卷的请求转换为向代表磁盘驱动器或 LUN 的元设备发送的
一个或多个命令。
深入研究 Storage Foundation:动态多径处理 83
存在其他路径管理器的情况下使用 DMP

■ 路径管理层将每个元设备命令发送到单个操作系统设备(代表对实际磁盘驱动
器或 LUN 的特定访问路径)。
再执行一次第二步的转换没有任何价值;也就是说,通过两个路径管理器进行操作
没有必要。通常,路径管理器之间不会意识到对方的存在,因此也不会对它们所发
送的命令进行协调。更重要的是,它们也不会协调它们各自的错误恢复操作。
一般而言,可以针对单个设备或在系统范围内启用或禁用路径管理器。默认情况
下,VxVM 管理它识别为磁盘或 LUN 的所有设备,包括控制这些设备的访问路径。
设备的 VxVM 路径管理可通过管理命令来禁用。

DMP 与其他路径管理器并存
实际上,所有路径管理器都执行同一功能,因此所有管理器的工作方式实质上是一
样的。管理器创建某种形式的元节点来代表它们所控制的设备,将指向元节点的命
令重定向到代表实际设备的操作系统驱动程序节点。为确保控制所有的设备访问,
某些路径管理器会隐藏操作系统设备节点,这样,尽管这些节点代表存储设备,但
不向 DMP 显示。

隐藏路径式路径管理器
隐藏设备路径的路径管理器通过以下两种方式之一来隐藏设备路径:
■ 对于它们所控制的每个设备只保留一个操作系统设备节点,其他全部隐藏。执
行路径隐藏的路径管理器使用未隐藏的路径来作为这些路径所代表的设备的元
节点。
■ 完全使用管理器自己的元节点来替换代表管理器所控制的设备的路径的操作系
统设备节点。执行这类隐藏操作的路径管理器通常会以某种易识别的方式来命
名其元节点。
这两种技术都可以有效地针对每个设备隐藏所有路径而只保留一个路径。DMP 的元
节点(如图 5-5 所示)可以链接到隐藏路径式路径管理器的元节点,不过,由于这
些节点以单路径设备形式存在,因此执行 DMP 没有任何用处。

非隐藏路径式路径管理器
其他类型的路径管理器对于它们所控制的设备不隐藏操作系统设备树节点。非隐藏
路径式路径管理器保留它们所控制设备的操作系统节点不被修改。这类管理器以下
列两种方式之一来表示元设备:
■ 将其元节点添加到操作系统设备树。
■ 将其元节点放置在单独的文件系统目录中。就提供允许 DMP 确定元节点和操作
系统设备节点关系的 API 而言,此类路径管理器的供应商一直步履迟缓,因此,
从历史上看,虽然形势有所改观,但 DMP 一直难以同这类管理器协同工作。
表 5-1 列出了一般路径管理器的路径隐藏特性。
84 深入研究 Storage Foundation:动态多径处理
并存的例子

表 5-1 一般路径管理器的路径隐藏特性

路径管理器 供应商 类型 平台

ATF(Automatic EMC Corporation 路径隐藏 Solaris


Transparent
Failover,自动透明故
障切换)

RDAC(Redundant IBM Corporation 路径隐藏 Solaris


Disk Array
AIX
Controller,冗余磁盘
阵列控制器)

STMS Sun Microsystems 路径 隐藏 Solaris

SDD(在 AIX 平台上 IBM Corporation 非路径隐藏 Solaris


称为 VPATH)

PowerPath(本机模 EMC Corporation 非路径隐藏 Solaris


式)
HP-UX

Linux

PowerPath(伪模 EMC Corporation 非路径隐藏 Solaris


式)

除非禁止,否则 DMP 既搜寻操作系统节点,也搜寻非路径隐藏管理器的元节点。


两类路径管理器在尝试管理同一设备的访问时会存在明显的冲突。为避免这一点,
管理员可以将设备声明为 VxVM 的外部设备。DMP 不对外部设备的访问路径进行
控制,但是 VxVM 虚拟层仍可以将这些设备添加到磁盘组,并将其作为卷的组成部
分来使用。

并存的例子
在安装 DMP 的系统上经常会发现也安装了 EMC Corporation 的 PowerPath 软件。
PowerPath 既可在伪设备模式(也称为 emcpower 模式)也可在原始设备模式下运
行,两种模式都属于非路径隐藏式。

PowerPath 伪设备模式
在伪设备模式下,PowerPath 为它所控制的每个设备创建概念上与 DMP 的元节点
类似的元节点。图 5-7 显示了在同时安装了 DMP 和伪设备模式下的 PowerPath 的
系统上穿过 I/O 软件堆栈的两个路径。
深入研究 Storage Foundation:动态多径处理 85
并存的例子

图 5-7 DMP 与伪设备模式下的 EMC PowerPath


仅 DMP 仅 PowerPath

主机服务器
文件系统或数据库管理器

虚拟层(例如 VxVM)

DMP

操作系统 SCSI 驱动程序


操作系统
驱动程序
操作系统 HBA 驱动程序

HBA1 HBA2
HBA1 HBA3
HBA1 HBA4
HBA1

PowerPath PowerPath
不支持的设备 支持的设备

伪设备模式下的 PowerPath 的操作系统节点在设备树中是可见的。DMP 不识别


PowerPath 的伪设备,但它会识别并尝试控制相应的操作系统节点(如果这些节点
没有声明为外部设备)。EMC Corporation 提供了将 PowerPath 控制的设备声明为
VxVM 的外部设备的脚本。

PowerPath 本机模式
主要是出于与现有应用程序和脚本兼容的考虑,在某些平台上(表5-1),PowerPath
还可以在本机模式下运行。应用程序和脚本按操作系统名称来指定本机模式下
PowerPath 控制的磁盘驱动器和 LUN 的地址,因此不经修改即可以工作。
在本机模式下,PowerPath 不创建元节点。而是根据其负载平衡策略将每个 I/O 命
令请求发送到某个操作系统节点,而不管最初是哪个节点接收了这个 I/O 请求。如
图 5-8 中标有“DMP and PowerPath”(DMP 和 PowerPath)的四边形所示,如
果 DMP 要控制 PowerPath 的本机模式设备,VxVM 虚拟层命令可以传送到与发送
命令所用路径不同的路径上的目标设备。
86 深入研究 Storage Foundation:动态多径处理
动态多径处理概述

图 5-8 DMP 与本机模式下的 EMC PowerPath

仅 DMP DMP 和
仅 PowerPath
PowerPath
主机服务器
文件系统或数据库管理器
向软件堆栈上层
公开的所有路径
虚拟层(例如 VxVM)

DMP
PowerPath
管理的实际 PowerPath
路径分配

操作系统 SCSI 驱动程序


操作系统
驱动程序
操作系统 HBA 驱动程序

HBA1 HBA2
HBA1 HBA3
HBA1 HBA4
HBA1

PowerPath PowerPath
不支持的设备 支持的设备

如果 PowerPath 是堆栈中唯一的路径管理器,其 I/O 请求的重新路由过程对于虚拟


层而言是不可见的。但是,如果 DMP 也尝试管理路径,则 PowerPath 可能会重新
路由 DMP 的命令,这可能会对 I/O 性能造成负面影响。更糟的是,DMP 和
PowerPath 的错误恢复几乎肯定会相互冲突,产生不可预料的结果。
DMP 和本机模式下的 PowerPath 已在 Veritas 的群集应用程序中得以成功使用。
当两个服务器之间的连接中断时,Veritas 群集会使用 SCSI 永久性组保留 (PGR) 来
防止所谓的分脑行为。DMP 在设备的所有路径上传播 PGR 请求。通过在本机模式
下使用 PowerPath,所有设备路径对于 DMP 都可见,因此可以传播 PGR 请求。

动态多径处理概述
有效地管理多条存储设备访问路径可以保证数据在存储网络组件失败时,仍可供应
用程序使用。对于支持在多条路径上同时访问 LUN 的磁盘阵列,平衡两条或多条
路径间的 I/O 负载还可以提高 I/O 的性能。若要使之生效,必须实现路径管理的自
动化,而且负载平衡必须与数据中心策略保持一致。
Storage Foundation 动态多径处理工具利用可帮助实现各种 I/O 性能目标的策略来
实现路径故障切换和 I/O 负载平衡的自动化。
深入研究 Storage Foundation:动态多径处理 87
动态多径处理概述

磁盘阵列可以是主动-主动 (Active-Active) 式结构,允许两台或多台控制器同时访


问 LUN,也可以是主动-被动 (Active-Passive) 式,每次只允许一台控制器访问每个
LUN。主动-被动式阵列可能支持在两条或多条路径上同时访问 LUN。在主动-被动
式阵列中,故障切换可以是隐式的(由在次级路径上发布 I/O 命令引发),也可以
是显式的(由特定于阵列的命令引发)。磁盘阵列可以单独或成组地将故障 LUN
从主路径切换到次级路径。
主要的系统和存储供应商通常都会提供路径管理软件,用于管理其产品的访问路
径。虽然供应商提供的路径管理软件可与系统中的 DMP 共存,但应尽量避免两者
同时尝试管理同一设备的配置情况出现。大多数情况下,DMP 和供应商提供的路径
管理软件应分别管理不同设备集的路径访问。
与典型的供应商提供软件相比,DMP 可以控制更多不同类型的设备。此外,它还实
现了一组更加全面的 I/O 负载平衡策略。总之,DMP 规范要比大部分供应商提供的
路径管理器规范更为出色,但即便如此,在从系统中删除任何路径管理软件时,都
需慎重行事,因为可能会产生不可预知的结果。
88 深入研究 Storage Foundation:动态多径处理
动态多径处理概述
6
深入研究 Storage
Foundation:Storage
Foundation Management
Server
本章节包括下列主题:

■ 单点存储管理

■ 使用 SFMS 实现资源管理

■ SFMS 资源组

■ 警报监视

■ Storage Foundation Management Server 服务

■ 查找特定的 Storage Foundation 对象

■ Storage Foundation Management Server 概述

单点存储管理
VxVM 卷管理器和 VxFS 文件系统可以通过 Veritas Enterprise Administrator 图形
控制台,或通过可编写脚本的命令行接口集中管理所有联机存储和单一 Storage
Foundation 主机控制的数据资源。但随着数据中心需要越来越多的服务器和存储资
源,而存储又逐渐从服务器内部移出到网络,单独的应用程序和数据库服务已不能
满足存储管理的需要。例如,企业需要一种可全面管理其存储和数据的视图,以便
90 深入研究 Storage Foundation:Storage Foundation Management Server
单点存储管理

在数据中心范围内访问各种实用工具,或者在不造成负面影响的前提下,采取效果
优于单一服务器或应用程序的管理措施。

Storage Foundation Management Server (SFMS)


随 Storage Foundation 第 5 版引入的 Storage Foundation Management Server
(SFMS) 解决了存储和数据对数据中心范围视图的需求。Storage Foundation
Management Server 是一个基于浏览器的客户端-服务器应用程序,负责管理数据
中心中所有管理客户端(应用程序和数据库服务器)的 Storage Foundation 资源
(磁盘、卷、文件系统和其他相关资源)。图 6-1 说明了 SFMS 在多服务器数据中
心中所处的位置。

图 6-1 数据中心中的 Storage Foundation Management Server

应用程序服务器 SFMS
(管理客户端) 管理服务器

文件系统
快照
SFMS

数据库
检查点
磁盘
应用程序服务器
(管理客户端)

SFMS
提供者
文件系统
快照
应用程序服务器
(管理客户端) 卷

磁盘 检查点

文件系统
快照

磁盘 检查点

图 6-1 显示了多台配置了 SFMS 提供程序软件的应用程序服务器(在 SFMS 术语中


称为管理客户端)。SFMS 提供程序可以发现服务器上运行的 Storage Foundation
资源,并将其状态报告给运行 Storage Foundation Management Server 软件的服
务器。SFMS 服务器为其连接的所有管理客户端维护着一个包含 Storage Foundation
资源状态信息的数据库。每当本地服务器上有更改发生时,这些提供程序都会更新
SFMS 服务器的状态信息。
深入研究 Storage Foundation:Storage Foundation Management Server 91
使用 SFMS 实现资源管理

SFMS 软件可以在专用系统上运行,也可以在同时作为 SFMS 客户端的应用程序或


数据库服务器上运行。SFMS 服务器可以配置为一个 Veritas Cluster Server 应用程
序服务组,这样其运行所在系统的故障便不会对中央存储管理服务造成影响。
管理员通过浏览器与 SFMS 服务器进行交互。经授权的管理员可以对 SFMS 进行自
我认证,并可以从任何装有浏览器且可通过网络连接到管理服务器的系统管理 Storage
Foundation 资源。
由于 SFMS 服务器维护着一个包含数据中心所有 Storage Foundation 资源相关信息
的中央存储库,因此从整个数据中心角度看,SFMS 服务器的主要作用在于执行以
下四个重要功能:
■ 管理 Storage Foundation 资源
■ 报告数据中心间 Storage Foundation 资源的状态
■ 监视和响应与 Storage Foundation 资源有关的警报
■ 执行常见的和用户定义的 Storage Foundation 相关服务
接下来的部分将更加详细地讨论这些功能。

使用 SFMS 实现资源管理
在包含大量存储资源的数据中心中,很难得到一个全面展示数据中心存储执行情况
下的视图,如哪些资源功能正常、哪些资源存在问题,以及哪些问题由于某些冗余
组件失败而存在风险。如果没有全面的资源执行情况视图,管理员便很难制定更为
深入的知情决策,采取可能影响资源的最优化措施,而不是执行直接作用于资源的
措施。
管理员可以选择使用基于服务器的管理工具(包括 Storage Foundation 工具)按服
务器收集关于 Storage Foundation 资源状态的信息。但是对于具有数十台甚或数百
台服务器的数据中心,单独监视每台服务器的资源状态信息,然后再手动合并和关
联信息并不是一个切实可行的方案。
Storage Foundation Management Server 资源管理工具可以收集、存储、合并所有
Storage Foundation 资源(磁盘、卷、快照、文件系统、存储检查点,等等)的状
态信息,并在不同用途的视图中显示它们。此外,它还提供了一个单一控制台,从
此控制台可以对用户定义的 Storage Foundation 资源组启动管理操作。
SFMS 使用基于 Web 浏览器的用户界面以分层方式提供信息,开始是图 6-2 中显示
的仪表板简洁视图。登录时显示的仪表板视图包含所有高度汇总的托管存储、服务
器和应用程序资源信息,使您可以一览无余。可以使用图形和颜色标记来快速描绘
需要管理员特别关注的资源,因为这些资源可能存在问题(没有正常行使其职能)
或存在风险(配置为容错,但仍存在一个或多个故障组件,如果再有组件出现故
障,这些故障组件便很可能会导致更多问题)。
92 深入研究 Storage Foundation:Storage Foundation Management Server
使用 SFMS 实现资源管理

图 6-2 Storage Foundation Management Server 管理控制板

从此仪表板视图开始,管理员可以深入查看关于特定服务器、存储设备、文件系
统、网络连接和其他 Storage Foundation 资源的信息。例如,图 6-2 中的箭头突出
显示了指向 SFMS 页的热链接,这些 SFMS 页显示了关于管理客户端系统上 VxVM
卷的信息。不同的链接使管理员可以立即切入到相关视图,查看关于有错误、有风
险和正常卷的相关信息。
图 6-3 用一个示例说明了管理员隔离问题是何等的轻松快速,该示例包含三个阶段,
这三个阶段层层深入地为管理员提供了越来越详细的信息。
图 6-3 中标记为 [1] 的浏览器窗口(通过单击图 6-2 中箭头所指的 Faulted 链接可
以到达此窗口)用表格的形式显示了 SFMS 服务器 habsansol10- mv0 1 所管服务
器上有错误的 VxVM 卷和卷集的信息。在此表中,与所有 SFMS 显示中一样,卷本
身(最左列)、控制这些卷的主机以及卷所属的磁盘组等托管对象都通过热链接的
形式表示,只需单击这些热链接,管理员便可以立即显示更为详细的信息。
例如,图 6-3 中标记为 [ 2 ] 的窗口(通过单击错误卷 concat_vol_3 的名称可以到
达此窗口)便切入到了该卷的摘要信息。单击窗口中其他两个选项卡中的任意一
个,将分别显示该卷的磁盘或快照信息。单击窗口 [2 ] 中 Administer 链接将显
示图 6-3 中标记为 [ 3 ] 的窗口。此窗口显示组成卷的磁盘的相关信息,包括名称、
布局、状态、总容量以及目前可供分配的容量。此外,窗口 [ 3 ] 中箭头所指的可
用命令下拉列表使管理员可以立即采取适当的更正措施。
深入研究 Storage Foundation:Storage Foundation Management Server 93
使用 SFMS 实现资源管理

图 6-3 Storage Foundation Management Server 步骤切入图

因此,管理员只需单击几次鼠标便可从数据中心存储摘要界面快速准确地定位到可
能需要管理操作的特定存储对象,并对控制该对象的服务器执行所需操作。这一顺
序说明了 Storage Foundation Management Server 的一般规则:
■ 从摘要界面快速切入到特定信息—在图 6-3 的示例中,单击三次鼠标便可到达发
出补救命令的位置。
■ 灵活的浏览—无论在任何窗口中,托管对象都显示为热链接,管理员只需单击便
可浏览其指向的信息。
■ 用户友好的排列顺序—SFMS 生成的任何表格显示都可按任意列排序,因此管理
员可以决定视图的哪些属性最适合当前的情况。
■ 从监视到主动管理的迅速转换—显示可操作对象的 SFMS 窗口包括 Administer
热链接,这些链接可以指向特定的窗口,管理员可在这些窗口中对选定对象执
行下拉列表中的命令。
因此,SFMS 不但为管理员提供了轻松获取数据中心存储摘要信息的能力,同时还
提供了深入隔离和修复个别问题的能力。基于浏览器的图形用户界面消除了管理员
记忆命令语法或 Storage Foundation 对象间相互关系的烦恼。
94 深入研究 Storage Foundation:Storage Foundation Management Server
使用 SFMS 实现资源管理

使用 SFMS 查看信息
SFMS 可在不同的视图中显示其所监视的信息,因此,那些对存储、网络、文件系
统、数据库、服务器、群集、应用程序,甚至用户定义的任意 Storage Foundation
资源组分外关注的专家们可以立即精确地查看与这些问题相关的信息。
对于所显示的每种类型资源,SFMS 提供了一些常见子类别的过滤器。例如,在查
看磁盘的相关信息时,管理员只需单击,便可以筛选显示下列信息:
■ 所管理的全部磁盘
■ 正常磁盘(不存在任何问题的磁盘),无论其是否为 VxVM 磁盘组的一部分
■ 脱机磁盘(磁盘不存在问题,但不能进行配置)
■ 在托管系统上发现的尚未被 VxVM 初始化的磁盘
■ 已被 VxVM 初始化,但不属于卷或磁盘组一部分的磁盘(空闲磁盘)
■ 不属于上述分类中任何一种分类的其他磁盘
同样,在查看 VxVM 卷的相关信息时,管理员可以有选择地查看:
■ 所管理的全部卷
■ 仅条带卷、RAID-5 卷、镜像卷或连续卷
■ 仅正常卷、错误卷或风险卷
这些过滤器提供了对数据中心级存储分配视图的迅速访问,适用于各种不同的用
途。例如:
■ 快速标识存在故障且可能影响应用程序可用性的磁盘和卷
■ 快速标识已配置为容错,但由于当前冗余组件的故障而仍存在风险的卷
■ 获得存储在数据中心间配置情况的概要信息(例如,有多少存储已做成镜像以
及其连接到哪些系统)
■ 获得关于数据中心间文件系统中可用空间的概要信息
除内置的过滤器外,SFMS 还为管理员提供了可根据任何业务相关条件对资源进行
分组并快速查看组中资源的属性和状态的功能。在本章稍后的部分中将详细讨论
SFMS 资源组。

SFMS 主动管理操作
SFMS 的显示特意设计得非常规则,以便尽量减少最初的培训、记忆和重新熟悉等
要求。信息以表格形式提供,每个表格的最左列包含所示对象的名称,其余列则表
示对象属性。对显示对象的类型可执行的操作是一个下拉列表,位于每个表格列表
的上方。例如,图 6-4 显示了对 VxVM 卷对象可执行的操作。
深入研究 Storage Foundation:Storage Foundation Management Server 95
使用 SFMS 实现资源管理

图 6-4 SFMS 中的主动管理操作

图 6-4 中的对象名称列左侧是一列复选框,用来选择对象。要通过 SFMS 控制台主


动管理一个或多个对象,管理员应选中与每个对象相关的复选框,从下拉列表中选
择要执行的操作,并单击 Go 按钮,启动用于指定执行该操作所必需的任何参数的
向导。该向导收集了所需参数后,SFMS 协同拥有必需的每个对象的主机对对象执
行指定操作。例如,如图 6-4 所示,SFMS 可对 VxVM 卷执行的管理操作包括:
■ 将所选卷添加到被管理对象的新分组或现有分组中
■ 使用任意字符串标注所选卷
在下一节中将介绍 SFMS 组。批注是命名的字符串,可以挂接到 SFMS 数据库中的
对象记录,作提示之用。批注的名称和值均可完全由管理员任意决定。它们可用于
永久记录有关 Storage Foundation 资源的任何有用信息:
■ 命名为 Creator 的批注可用于记录创建磁盘组或卷的管理员的名称。
■ 命名为 Intent 的批注可用于记录创建磁盘组的初始目的。
■ 命名为 History 的批注可用于记录一个重新指定用途的磁盘先前的磁盘组成员
资格。
在所有这三种情况下,对批注指定的值完全由管理员任意决定,因此,例如,对于
命名为 Creator 的批注,可以提供负责的管理员名称或员工编号作为值。
对于某些对象,挂接批注可能会导致 SFMS 对对象本身执行其他操作。例如,挂接
到 VxVM 卷的批注会成为动态分级存储 (DST) 工具所用的标记。(在存储层和放置
级别 中将介绍卷标记。)图 6-5 显示了如何使用 SFMS 管理操作来批注 DST 工具
使用的卷(或对这些卷指定标记)。
96 深入研究 Storage Foundation:Storage Foundation Management Server
使用 SFMS 实现资源管理

图 6-5 使用 SFMS 为动态分级存储指定卷标记

图 6-5 中标记为 [1] 的显示表明了要应用批注的多个卷的选择。选择 Add New


Annotation 命令并单击 Go 可以调用图中标记为 [2] 的向导面板。DST 工具以
vxfs_placement_class. 类名称形式识别卷标记名称,其中,类名称是卷的位置类
或存储分层的名称(示例中的 tier1)。DST 不使用标记值,因此它可以用作提示
性注释。在示例中,单击 Local 单选按钮,可将批注发送到控制卷分配的主机,以
及存储在 SFMS 数据库中。单击“确定”执行操作。标记为 [3] 的显示展开到
test_srl_3 卷,以表明卷标记批注已添加到 Creator 批注中,后者已因其他原因
应用到该卷。
深入研究 Storage Foundation:Storage Foundation Management Server 97
SFMS 资源组

SFMS 资源组
授权管理员可以使用 SFMS 查看他们所控制的资源状态,无论这些资源与一个还是
多个应用服务器相关联。他们可以快速确定哪些资源已失效以及失效的原因,因此
可以开始采取被提示的纠正措施。
SFMS 不仅报告失效的资源,而且报告有风险的资源(容错资源),这些资源正在
使用中,但因包含它们的某些组件失效而处于失效的危险中。例如,对于其组成磁
盘已配置为具有两个或更多访问路径的 VxVM 卷,如果它的其中一个磁盘的可用访
问路径减少到一个,则该卷将处于危险中。同样,具有出错磁盘的 RAID-5 或镜像
卷或者具有不可用的纯数据卷的多卷 VxFS 文件系统即使仍然正常工作,也将处于
危险中。获得了有风险资源的相关信息后,管理员可以采取纠正措施,例如,通过
修复失败的网络链接或更换出错的磁盘,进而预防在其他组件发生失效的情况下可
能导致的停机。
SFMS 的资源监视工具拓展了数据中心的管理专家的工作范围。例如,一个管理员
可能负责:
■ 一个或多个服务器或群集
■ 一个或多个磁盘组,这些磁盘组独立于与其相关联的服务器
■ 一个或多个服务器上的一组文件系统或数据库
■ 包含一个应用程序或其他业务组织单元的 Storage Foundation 资源的任意组合
SFMS 包括这样一些工具,这些工具可以对资源进行任意分组,并对组的状态进行
监视和报告。图 6-2 中显示的 SFMS 控制板提供了组状态的概图,并允许管理员监
视和管理各个组中的资源。
SFMS 支持两种类型的资源组—应用程序组和自定义组。对于应用程序组,SFMS 跟
踪资源之间的关系,并根据需要将资源添加到组中或将它们从组中删除。例如,如
果一个应用程序组包括一个 Storage Foundation 磁盘组,SFMS 将自动使添加到磁
盘组中的任何磁盘成为应用程序组的一部分。应用程序组可以由用户定义,也可以
由 Storage Foundation 组件自动发现,这些组件的示例包括 Veritas Volume
Replicator (VVR) 或 Database Edition。接受命令后,这些组件将创建应用程序组
并将所有相应资源添加到这些应用程序组中,因此管理员不需要记住哪些资源应位
于这些类别的组中。创建 VVR 或数据库组,可以创建该组所使用 Storage Foundation
资源的精确视图,提供了该组状态的一个完整视图,而不受与其操作无关的其他资
源干扰。
为避免自动添加或删除组中的从属资源,管理员可以创建自定义组。自定义组也是
选定资源组合的视图,但不像应用程序组那样,它们对资源的相互关系不进行假
设。例如,如果一个磁盘已添加到作为自定义资源组一部分的 VxVM 磁盘组中,该
磁盘将不会自动成为该自定义组的一部分。自定义组对于监视可共享基础对象的资
源非常有用,这些对象的示例包括磁盘组中的一系列卷,其中的磁盘组也可以导出
并非自定义组一部分的卷。
98 深入研究 Storage Foundation:Storage Foundation Management Server
SFMS 资源组

资源报告
一个大型数据中心可能拥有数百个文件系统以及数千个卷、磁盘和存储网络访问路
径。仅仅跟踪 Storage Foundation 资源及其利用程度就可能是一项重大的任务。而
且,数据中心越复杂,拥有存储资源分配和利用的全局视图就变得越重要。
例如,大部分大企业按年度或其他定期计划大批购买联机存储。在计划下次购买
时,通常要根据用户对其预期要求的估计,做出大量工作来确定需要多少存储。但
是,一个接一个的分析报告表明,企业存储利用程度可能非常低。而用户有时候计
划将需要更多的存储,因为让他们分析其现有存储的利用情况以及计划多余容量的
重新部署方式,是一项非常繁杂的工作。
另一个重要的问题,特别是对于运行许多小型单个应用程序服务器的数据中心而
言,则是存储和数据资源的准备就绪状态。拥有许多单个应用程序服务器的数据中
心能够将存储设备和服务器汇聚成池,并根据需要对它们进行部署。要成功完成部
署,资源必须是可用的、完全正常运行的,甚至可能是预先配置好的。
Storage Foundation Management Server 报告提供有关 Storage Foundation 文件
系统、卷、磁盘、网络路径、数据库和服务器的操作状态和利用情况的即时信息。
如同使用监视功能一样,数据中心范围内的概述信息以控制板形式提供,必要时使
用“切入”功能来观察各个资源的情况。图 6-6 显示了 SFMS 报告主页。

图 6-6 SFMS 使用率报告主页

如图 6-6 中建议的那样,SFMS 对针对下列内容提供报告:


■ 由 VxVM 管理的存储量
■ VxVM 卷上的文件系统的利用
■ 防止因镜像和 RAID5 引起的数据丢失以及因快照引起的损坏而保护的存储容量
深入研究 Storage Foundation:Storage Foundation Management Server 99
SFMS 资源组

例如,图 6-7 显示了单击图 6-6 中显示的链接后所显示的 Storage Utilization 汇总


报告。饼形图汇总了被管理的主机上的所有存储的使用率,其中涉及的是这些存储
是否受 VxVM 管理,以及在如果是的情况下,存储是否为 VxVM 卷的一部分。例
如,管理员可以使用该图快速确定整个数据中心可用的总存储量。
条形图列出了特定的主机,这些主机具有未受 VxVM 管理的最大存储容量以及受
VxVM 管理但尚未作为卷导出的最大存储。单击任何一个条码,将会显示所选主机
的存储分配汇总报告列表。例如,这些报告可用于将管理员快速引导至从中可对未
用存储重新归类的服务器,或者用于确定在创建或导出其他卷之前是否必须向主机
提供存储。

图 6-7 SFMS 汇总报告(存储分配)

从报告到主动管理
SFMS 报告的用途是允许管理员快速查看整个数据中心的存储状态,使潜在的问题
归零,并快速从被动观察模式切换到主动管理模式。SFMS 的唯一价值是,它从单
一位置向数据中心的所有被管理的主机和 Storage Foundation 对象提供该工具。
例如,单击图 6-7 中显示的条码,可以显示主机 habsol10-mv03 的概述信息。再进
行双击,将显示图 6-8 中所示的显示内容,从中可以向一个或多个所选卷发出管理
命令,例如突出显示的 Create File System。
100 深入研究 Storage Foundation:Storage Foundation Management Server
SFMS 资源组

每个管理命令都会调用一个向导,引导管理员按照所需步骤执行所选的功能。例
如,图 6-8 显示了用于在所选卷上创建文件系统的 Create File System 向导的第
一个和最后一个面板。
此示例显示了 Storage Foundation Management Server 报告用户界面的风格。所
有 SFMS 报告共有的重要特性如下:
■ 开始是相关对象在数据中心范围内的视图,然后迅速展开到可能的相关区域(示
例:单击可以查看拥有不含任何文件系统的卷数量最多的主机)
■ 单击可以从报告视图转换到主动管理视图,从主动管理视图中可以对所选对象
执行操作(示例:双击可从主机视图转换到卷的主动管理视图)
■ 按执行管理操作所需的步骤进行的完整引导(示例:提供创建文件系统所需的
所有信息和选项的向导面板)

图 6-8 在卷上创建文件系统

此图通过提供数据中心的存储的完整视图,说明了 SFMS 报告如何扩展管理控制范


围,通过该视图,可以快速识别问题并采取所需的管理操作。
深入研究 Storage Foundation:Storage Foundation Management Server 101
警报监视

警报监视
复杂的数据中心中的有效存储管理的一个重要部分是能够识别发生的异常情况并对
其作出反应。必须在可能包含数千个被管理对象的数据中心的上下文中,检测到可
能需要采取管理措施的磁盘、存储网络、应用程序和其他事件,隔离它们的位置,
评估它们的原因和严重程度,并作出反应。
在受 SFMS 管理的应用程序和数据库服务器上运行的提供程序通过向中央 SFMS 服
务器报告 Storage Foundation 警报来解决这种问题。SFMS 服务器控制台的
Monitoring 标签显示了整个数据中心的被管理对象的概述。图 6-9 显示了从数据中
心范围内的概述到针对单个资源引起的各个警报的视图进展情况。另外,单击或双
击后,管理员将从数据中心状态的全局视图被引导至精确问题的详细描述。
102 深入研究 Storage Foundation:Storage Foundation Management Server
Storage Foundation Management Server 服务

图 6-9 SFMS 警报摘要和详细信息页

Storage Foundation Management Server 服务


Storage Foundation Management Server 通过提供向导,集中并简化了特定的公用
存储管理服务,这些向导可以确保将这些服务进行完整定义并有选择地将它们存储
在 SFMS 数据库中以便将来执行。SFMS 包括创建和存储以下内容的服务定义所用
的向导:
■ 所有的动态分级存储功能,包括文件放置策略创建、分配、删除、修改和显示
■ 两个 VxVM 卷之间的数据迁移,例如,对于将数据从旧磁盘阵列移动到新磁盘
阵列非常有用,此移动将替代旧磁盘阵列,而不会导致应用程序停机
深入研究 Storage Foundation:Storage Foundation Management Server 103
Storage Foundation Management Server 服务

■ 磁盘组从一个主机到另一个主机的传送控制
■ 修改动态多径(DMP—第 5 章)配置并验证现有配置是否符合有关连通性的管理
意向
除了这些服务之外,SFMS 还便于管理员定义自定义服务、预存储在 SFMS 数据库
中并在需要时执行的命令的任意列表。图 6-10 中显示的 SFMS 服务构建程序页是
创建预定义服务的起始点,该页可通过 SFMS Service 标签访问。

图 6-10 SFMS 服务构建程序起始页

单击该页上十一种服务定义类型中的任何一种,将会调用特定于所代表的该类服务
的向导。每个向导都会引导管理员从头至尾创建相关服务,确保提供的所有需要的
参数均语法正确。在服务创建阶段结束时,可以在 SFMS 数据库中保存服务定义以
便将来执行,或者也可以马上执行。
图 6-10 中显示的 Manage Custom Services 链接提供了一种机制,管理员通过这
种机制可以控制台命令脚本的形式来定义自己的服务。就像该页上的其他链接一
样,Manage Custom Services 引导管理员从头至尾创建由服务组成的相关命令。
它可以在 SFMS 数据库中保存已完成的服务定义,也可以执行该定义。这种工具可
以使管理员预定义管理操作的任何公用顺序,存储该定义,以及在任何需要的情况
下调用该服务。
例如,管理员可以定义一个自定义服务,以便整理数据中心所有 Web Server 上的
文件系统的碎片,并可以将该服务存储到数据库中。这种服务可以定期调用(例
如,每周六夜间),或者,只要特定的一组网页更新使文件系统遗留的碎片比保持
最佳性能时多,就执行该服务。
104 深入研究 Storage Foundation:Storage Foundation Management Server
查找特定的 Storage Foundation 对象

图 6-11 SFMS 服务执行和维护页

一旦定义了一个服务并将其存储到 SFMS 数据库后,就可以通过从 Service 导航标


签访问的 Saved Services 页来调用。图 6-11 显示了 Saved Services 页,其中所
选的一个服务名为 Migration1,而 Run Service 命令正准备执行。 在该页中,
也可以随要求更改而编辑服务,以及在不再使用服务时将其删除。
SFMS 能够定义和预存储公用存储管理服务,这可以消除执行定期重现的存储管理
所需的大量重复性管理工作。一旦定义并保存了一个服务,则可以使用图 6-11 中所
示的简单双击调用协议,按需要的频率执行该服务。用于保存服务定义的工具对于
仅偶尔调用的公用服务也非常有用。预定义这些服务可以大大降低产生人为错误的
可能性,无需管理员在需要时回忆如何执行服务。
总之,SFMS 能够将任意命令顺序记录为自定义服务,这使得特定于数据中心的几
乎所有管理程序均可能快速准确地执行。

查找特定的 Storage Foundation 对象


在一个拥有数千个被管理对象的数据中心,仅仅查找某个对象(由此可以执行管理
操作)可能并不是一个微不足道的过程。Storage Foundation Management Server
包含一种搜索工具,可以快速识别特定对象或一系列对象。图 6-12 使用这样一个示
例,即在数据中心范围内搜索占用存储空间超过 100 兆字节的 VxFS 文件系统,说
明了 SFMS 的搜索功能。
深入研究 Storage Foundation:Storage Foundation Management Server 105
Storage Foundation Management Server 概述

图 6-12 SFMS 对象搜索(搜索占用存储空间超过 100 兆字节的 VxFS 文件


系统)

管理员使用搜索页左上角的下拉列表选择对象类型(磁盘、磁盘组、卷、文件系统
等等)并输入搜索条件。可以输入任何数量的搜索条件。当一种搜索按要求彻底设
计完毕后,既可以将其保存供将来参考,也可以执行它。图 6-12 显示了搜索最小存
储大小为 100 兆字节的 VxFS 文件系统的开头几个结果。通常,这些结果以表格形
式显示,可按任何列进行排序。

Storage Foundation Management Server 概述


Storage Foundation Management Server 提供了一个中心点,通过该中心点,管理
员可以对数据中心内与存储相关的资源有一个全面了解,并对这些资源执行管理操
作。SFMS 提供了相关的中心工具,可用来监视、报告、反馈和主动管理各种系列
的 Storage Foundation 资源,从而将单个管理员的访问范围拓展到整个数据中心。
管理员使用 SFMS 可以在整个数据中心上下文中快速识别并解决存储问题,同时能
够看到其决策和措施可能造成的外部后果。如同使用其他 Storage Foundation 组件
一样,SFMS 促进了 IT 组织向其客户端提供的存储服务的质量提高,与此同时,通
过扩大管理员可执行的观察和控制范围降低了管理成本。
106 深入研究 Storage Foundation:Storage Foundation Management Server
Storage Foundation Management Server 概述
7
使用 Storage Foundation
本章节包括下列主题:

■ 使用高级 Storage Foundation 工具

■ 在磁盘阵列之间移动数据

■ 实施多层存储体系结构

■ Bunker 复制

■ 在不同平台之间移动数据

■ 存储容量回收

■ Storage Foundation 高级功能概述

使用高级 Storage Foundation 工具


Veritas Storage Foundation 提供一组综合的基础存储和数据管理服务:基于主机
的存储虚拟化、可扩展文件管理、存储网络资源管理以及所有 Storage Foundation
资源的集中管理。除上述服务外,Storage Foundation 的高级功能简化了企业数据
中心每天面对的多种存储和数据管理问题。本章描述其中的 5 种问题,并说明如何
使用 Storage Foundation 来迅速、可靠地以较低成本解决它们:
■ 在不同磁盘阵列之间迁移或移动数据,例如,使用新磁盘阵列替换较陈旧的磁
盘阵列
■ 为一个或多个现有文件系统实施多层存储体系结构
■ 发生灾难后在远程地点使用 Bunker 样式复制恢复数据,实现零损失;同时通过
同步复制减轻复制对应用程序的影响
■ 在不同平台之间移动数据,要么作为计算策略变更的一部分,要么为了在不同
平台上运行的应用程序之间共享数据
108 使用 Storage Foundation
在磁盘阵列之间移动数据

■ 从文件系统上回收不需要的存储容量,并将其合并到可重新部署给其他主机的
独立磁盘上
在下面几节中,将更为详细地描述这 5 种功能。它们代表在整个数据中心实施 Storage
Foundation 标准化,从而简化存储管理、降低资本成本和运营成本、提高为客户提
供服务的质量的方法。

在磁盘阵列之间移动数据
数据中心会因为多种原因更换磁盘阵列。例如:
■ 数据增长需要更大的联机存储容量
■ 新技术促使企业将磁盘阵列更换为较新型号
■ 因价格方面的考虑希望改用不同存储供应商
■ 磁盘阵列的使用寿命或租约到期
无论出于何种原因更换存储硬件,几乎在所有情况下,都决不能因更换而丢失存储
在其上的数据,也就是说必须将数据从旧阵列移动到新阵列。在目前的典型数据中
心,单个磁盘阵列的存储容量由多个通过存储网络与其连接的应用程序服务器和数
据库服务器共享。通常,在阵列之间移动数据意味着将应用程序停机,还需要协调
所有共享该源阵列的应用程序。
移动数据会产生各种影响:应用程序停机和可能出现的数据丢失影响业务运营,使
用管理资源或支付负责移动数据的存储顾问费用而影响 IT 预算。
但在磁盘阵列之间移动数据的流程本身并不复杂。不过,它确实要求正确地逐步执
行多个步骤。该任务的手动性和需要正确执行多个步骤导致可能出现人为错误。

在磁盘阵列间移动数据的流程
当计划在磁盘阵列之间移动数据时,企业必须首先决定在移动期间是否重建数据。
例如,如果新阵列的容量比旧阵列的容量大,是否在新阵列上创建更大 LUN?是否
应该使用多卷文件系统将现有文件系统合并到较少数量的命名空间中,从而使用动
态分级存储工具(多层存储 )进行管理?
假定目前在移动期间不重建数据,则移动过程从目标阵列开始。使用阵列供应商提
供的工具时,必须定义与源阵列上的 LUN 相当的一组 LUN,将其与阵列的存储网
络端口关联(通常称为绑定过程),然后为其使用掩码并放置在存储网络区域中,
以使其仅对需访问这些 LUN 的主机可见,对其他主机则不可见。
当目标磁盘阵列完全准备好后,将数据从源阵列移动到其中实际上主要取决于源阵
列与目标阵列的类型是否相同。大多数磁盘阵列供应商提供的复制工具都支持在相
同类型的阵列之间移动数据。通常,可以在应用程序使用数据的同时将其从源阵列
复制到目标阵列。完成复制后,必须将应用程序调整为从目标阵列而非源阵列上的
LUN 访问其数据。
使用 Storage Foundation 109
在磁盘阵列之间移动数据

在不同类型的磁盘阵列之间移动数据一般来说较为棘手。通常,应用程序服务器必
须找到目标阵列 LUN,从而在其上创建文件系统。然后,将数据从源阵列上的文件
系统复制到目标阵列上相当的文件系统。要在复制数据的同时保持业务一致性,必
须通过一定方式将数据冻结,即停止更新数据的应用程序或使用快照制作副本,然
后记录复制过程中的更新以便之后应用它们。
无论是在相同类型还是不同类型的磁盘阵列之间进行移动,过程都非常复杂,企业
往往将其作为数据中心的一项主要任务,通常支付大笔金额给外包商,由其管理整
个过程并为最终结果负责。

Storage Foundation 的作用


Storage Foundation 通过两种重要方法简化在磁盘阵列之间移动数据,并减轻该类
操作对运行的影响:
■ 它实现通过相同方式在相同/不同类型的阵列之间移动数据。
■ 它支持移动使用中的数据,而且无需事后回放日志以获得移动期间的更新。
如前文所述准备好目标阵列,并在受影响主机上执行操作系统设备发现过程后,
Storage Foundation 管理员将新发现的目标阵列 LUN 添加到包含源卷(从这些卷
复制数据)的 VxVM 磁盘组。然后,管理员使用目标阵列 LUN,将更多在 VxVM
术语中称为“plex”的镜像添加到每个源卷。镜像可以进行同步,之后,从卷中删
除从源阵列 LUN 创建的 plex。通过该方式将所有源阵列的 LUN 从服务删除后,源
阵列可以作废或改变用途。
该过程说明使用 VxVM 卷作为移动数据的基础提供两个重要优势:
■ 可以在应用程序使用数据的同时执行所有 VxVM 操作,包括将镜像添加到现有
卷、将添加的镜像内容与卷内容同步,以及在同步完成后删除基于源阵列的
plex。Storage Foundation 操作不会导致任何应用程序停机。这极大地减少了
对阵列间数据移动进行仔细计划的需要。
■ VxVM 可以在任何类型的 LUN 上创建 plex 并将其与一个卷关联,该卷的 plex
是从不同供应商提供的不同类型磁盘阵列的 LUN 中创建的。因此,如果使用
Storage Foundation,可通过相同操作在相同/不同类型的阵列之间移动数据。
所以,极大地减少了在不同类型阵列之间移动数据的障碍。
该过程仅使用 Storage Foundation 的 VxVM 组件。无论数据卷包含 VxFS 文件系
统、其他类型的文件系统还是原始数据库数据,VxVM 都可以在阵列之间移动这些
卷。所以,该过程同样适用于数据中心的所有数据。
其他基于主机的卷管理器,特别是操作系统供应商提供的卷管理器也提供相似功
能。但如果使用 Veritas Storage Foundation,则共享阵列访问的所有平台都可以
应用相同操作过程和管理范例。单一管理流程意味着可提高员工的熟练度,使他们
能够更加高效地执行操作并减少迁移过程中的程序错误。
110 使用 Storage Foundation
实施多层存储体系结构

其他内容:Storage Foundation Management Server


对于使用 Storage Foundation 在阵列之间移动数据的说明无疑过于简化。例如,在
实际情况中,企业数据中心必须使用多条路径将存储连接到应用程序服务器。在将
新磁盘阵列添加到网络中时,还必须配置存储网络路径管理器来处理新 LUN。
但这一说明最大的简化之处在于,它省略了将镜像添加到 VxVM 卷所需的步骤数以
及必须创建和协调的辅助对象数。所以,尽管从应用程序用户的角度来看,VxVM
过程消除了停机时间并简化了阵列之间的数据移动,但其实仍存在多种管理任务。
因此,在磁盘阵列之间移动数据是 Storage Foundation Management Server (SFMS)
引入的预定义服务之一。基于网络的 SFMS Service Builder 包括基于向导的卷移动
服务,它通过提供从任意数量的 VxVM 卷移动数据至基于不同存储阵列卷所需的信
息来指导管理员。获得有关源阵列、要移动的卷和目标阵列的信息后,Service
Builder 编写脚本来创建并操作完成移动必需的 VxVM 对象。这些脚本可以立即执
行,也可推迟至更方便的时间执行。由于 SFMS 基于网络,所以管理员可通过与
SFMS 服务器建立网络连接,并且安装了浏览器的任何计算机管理所有 Storage
Foundation 资源。
因此,Storage Foundation Management Server 基于 VxVM 的基本功能而构建,
可自动完成具体移动操作,所以在磁盘阵列之间移动数据时不必中断应用程序,并
将管理任务减少为只需指定移动的源和目标。

Storage Foundation 的实际结果


在磁盘阵列之间移动数据时,Storage Foundation 的主要价值是使数据移动不受阵
列类型的约束,并且不会因移动本身造成应用程序停机(根据磁盘阵列和服务器平
台,可能仍需要停机来进行存储网络配置、设备恢复等等,但这些停机原因与移动
数据的技术无关)。
SFMS Service Builder 将移动数据过程中与 Storage Foundation 相关的步骤自动
化,将涉及的管理任务减少为指定数据源和目标阵列以及安排移动开始时间。自动
化数据移动不仅简化了管理员工作的例行部分,而且减少了发生导致停机甚至丢失
数据的人为错误的可能。

实施多层存储体系结构
多层存储部署策略有可能节约高额成本。随着逐渐以配置低成本硬盘驱动器阵列的
形式应用低成本在线存储,或创建低成本 RAID5 配置来存储不常访问的数据,数据
中心可节约一半甚至更高的在线存储资本成本。
在大多数情况下,降低这类成本不会产生或产生有限的负面影响。通过将低成本存
储的内容限制为非关键数据或不常访问的数据,数据中心可以在整个运营活动中完
全消除或将低成本设备的低 I/O 性能导致的任何不利影响降至最低。
使用 Storage Foundation 111
实施多层存储体系结构

采用多层存储的障碍
然而实施多层存储的前景却不容乐观。管理员不仅必须定义何种类型的存储最适合
于企业的在线数据,还必须定义应用程序和以下操作策略:首先将数据存储在正确
设备上,随着数据时间变长,“正确设备”的概念发生变化后,再将其转移到其他
设备。此外,每次数据集的位置发生变化时,管理员都必须调整所有可能使用此数
据集的应用程序和操作过程来反映其新位置,否则就有可能导致应用程序故障和停
机。

Storage Foundation 的作用


Storage Foundation 多卷文件系统和动态分级存储 (DST) 工具的组合运用能够以两
种重要方式简化多层联机存储的实现:
■ DST 策略规则自动将新数据集放在最适当的虚拟存储设备类型上,并导致现有
数据集被重定位到备用设备(如果满足特定条件,例如,自上次访问或修改后
的时间长度)。
■ VxFS 多卷文件系统可在不同类型的多个虚拟卷中分布单一的文件系统命名空
间。当 DST 将某个存储层中的文件重定位到另一个存储层时,逻辑命名空间中
的文件位置并不会改变,因此不必对应用程序或操作过程进行任何改动。
这样,Storage Foundation 便消除了采用多层联机存储的两大障碍——管理的复杂
性和后续操作错误风险,并能得益于采用这种联机存储后的成本节约。

使用 Storage Foundation 规划多层存储


动态分级存储会自动执行管理员定义且用于在多卷文件系统的限制内放置和重定位
数据的策略。使用 DST 将无需完成多个存储层带来的管理任务,但该功能确实需要
提前进行规划,以定义用于实现企业的数据管理目标的策略规则。
规划 DST 的使用需要三个基本类型的管理决策:
■ 运行每个 DST 实例的数据的范围
■ 每个 DST 实例需要的存储设备的类型和容量
■ 用户在目录中以何种形式组织数据可便于创建策略规则
DST 的优势之一在于它能够合并可能已创建的多个文件系统,这主要是为了重新在
单个命名空间中管理文件的位置。规划应用 DST 的第一个阶段是决定将哪些文件系
统(如果有)合并为单个多卷文件系统。要合并的每组文件系统都代表单个应用程
序或一组相关应用程序的数据,可以将它们视为独立转换项目。
通常选择要合并的文件系统组中最大的文件系统作为起始点。在实施过程中,保存
该文件系统的卷被转换为卷集,其他卷则会添加到该卷集以创建存储层。驻留起始
点文件系统的卷必须足够强大,或必须采取适当措施以保证其足够强大,以作为转
换得到的多卷文件系统的根元数据卷。
112 使用 Storage Foundation
实施多层存储体系结构

规划 DST 的第二步是确定多层卷集最适合包含的存储设备类型,以及每层的初始容
量。该选择受财务问题、现有硬件的可用性和文件的常规 I/O 访问模式的影响,更
有可能的是受这三个因素的综合影响。
例如,如果通过购买低成本磁盘阵列引入多层存储,则基于低成本阵列提供的 LUN
的卷可能组成第二层存储。或者,如果要将相对不活动的数据分配到基于现有阵列
中的 RAID5 LUN 的卷中,则必须使用阵列的自有管理工具配置这些卷。对于事务
数据,应当准备面向高 I/O 请求率优化的 LUN;对于流数据,应准备高带宽 LUN。
除存储层中要包含的设备类型外,还应当为每个层选择适当的初始容量。只需选择
初始容量的估算值,因为可以通过添加卷,或者通过增加卷的可用存储资源来扩展
卷容量,从而随时向文件系统卷集中的任意层添加容量。
规划 DST 的第三步是确定其如何识别文件以应用放置策略规则。可选择的识别条件
包括驻留文件的目录或子树、所有者的标识符、所有组的标识符或用于命名文件的
模式。通常,企业的文件已经按上述规则组织,但可能需要进行一定调整以简化文
件放置策略。
某些企业并不是出于成本原因创建多层存储分层结构。例如,出于安全原因,可能
会将机密业务事务或人力资源记录的数据库从通用存储池中分离出来。有时,也会
使用负责数据集、处理数据集的应用程序和数据集的正常 I/O 模式的部门,作为创
建放置不同类型数据的不同存储层的条件。
企业会出于多种原因而控制在两个或多个存储层内放置数据对象:
■ 不同类型的数据具有不同 I/O 性能需要。数据流需要较高的数据传输性能,但可
以接受中等的 I/O 请求速率。事务需要较高的 I/O 请求速率,但只需要中等的数
据传输性能。
■ 同时运行的应用程序可能会争用 I/O 资源,除非它们的数据放置在具有单独访问
路径的单独存储设备上。
■ 不同数据集具有不同可用性要求。通常,企业可以在缺少人力资源系统的情况
下经营业务,但却不能在缺少销售点或客户关系管理系统的情况下经营业务。
■ 不同数据集对于企业具有不同价值。丢失一天的业务事务会很严重,但并不致
命。丢失年度结算数字可能会带来一场灾难。同样,丢失一整天的工作对视频
编辑人员来说可谓重大损失,但丢失完成的作品给编辑公司带来的挫折要惨重
得多。
■ 财务、安全和法规符合策略可能要求限制某些存储设备只能包含特定类型的文
件。
只要可以通过文件的名称、它们所在的目录或所有者标识对企业具有不同价值、具
有不同 I/O 访问模式、策略要求等等的文件,DST 就可以将它们放置到多层存储分
层结构中的适当位置。

使用 Storage Foundation 实施多层存储


为特定数据集实施 DST 包括 5 个主要步骤:
使用 Storage Foundation 113
实施多层存储体系结构

■ 创建将保存数据的多卷文件系统
■ “标记”文件系统的卷来标识存储层或放置级别
■ 创建并指定文件放置策略
■ 将合并中的任何数据移至目标多卷文件系统
■ 定义策略实施计划

创建多卷文件系统
VxFS 多卷文件系统存储在 VxVM 卷集对象上。从管理角度来看,卷集就是对其进
行相应标识的一系列 VxVM 卷。如果创建新的多卷文件系统,会首先创建存储它的
卷集,然后使用 VxFS mkfs 命令或 Storage Foundation Management Server 提供
的等价图形界面在该卷集上创建文件系统。如果将单卷文件系统转换为多卷文件系
统,会将其中原有的卷转换为单卷的卷集,然后向其中添加其他卷。
请注意,卷集中的第一个卷称为卷 0。与其他卷不同,卷 0 必须符合包含元数据的
条件(默认情况下,卷集中只有该卷符合包含元数据的条件)。由于卷 0 中包含文
件系统中最关键的元数据结构,所以该卷必须是卷集中容错功能最强的卷。至少应
将其镜像。将多个单卷文件系统合并为一个多卷文件系统实际上相当于“将多个鸡
蛋放在一个篮子中”。在将多个文件系统合并为一个文件系统时,由于“丢失”卷
的后果会变得更严重,所以应考虑提高卷 0 的容错功能。
根据 I/O 性能和数据保护的要求向卷集中添加其他卷。例如:
■ 应当为价值较高的数据配置镜像卷。对于企业中最关键的数据,3 至 4 个镜像卷
较为合理。
■ 对于通常由事务应用程序传输或访问的数据,应配置条带化卷,并根据性能要
求确定“列”数。
■ 对于不会频繁更新且写入请求较少的具有适中价值的数据,可以配置 RAID5 卷。
由低成本磁盘组成的磁盘阵列所提供的 LUN 一般适合这类数据。
卷容量可以是估计值,因为可以扩展卷并向文件系统的卷集中添加其他卷,但文件
系统存储的平均成本由其中包含的卷决定,所以过度配置更多高成本层会导致总存
储成本高于应有水平。

标记卷
从 DST 的角度看,存储层就是文件系统卷集中具有相同文件放置策略标记值的一个
或多个卷。因此,用于给定文件系统的存储层由哪些卷组成完全由管理员决定。不
过,由于 VxFS 将文件大致均匀地分布在组成一层的各卷中,所以最佳做法是创建
由相同或至少容错属性和性能基本相同的卷组成的层。
如果基于卷 I/O 性能和容错属性定义存储层,则在大多数情况下两到三层即可。如
果因法规遵从性等其他原因而隔离文件,可能需要更多层。通常,开始时每层只需
114 使用 Storage Foundation
实施多层存储体系结构

一个卷。随着数据量增加,可将更多卷添加到层中。但是,对于因添加/删除文件而
大小经常伸缩的文件系统来说,最好创建包含多个卷的存储层,以便必要时能够将
卷删除并重新部署到其他位置。

定义并分配文件放置策略
文件在多卷文件系统中的位置由为其分配的活动文件放置策略控制。管理员使用文
本编辑器创建 XML 文件放置策略文档,或者在创建某些公用类型的策略时,使用
随 VxFS 和 Storage Foundation Management Server 提供的图形向导。
文件放置策略中包含多条规则,每条规则按名称、所有者或目录应用于选定的文件
集。每条规则指定 VxFS 在其中创建所选文件的存储层或放置类,以及一条或多条
用于确定是否应将文件移至其他存储层的判断条件。
按照存储层而不是特定卷指定文件放置策略中的规则。该方法具有两个重要优势:
■ 由于定义存储层需要的卷标记在系统中并不需要唯一,所以任意数量的文件系
统都可以使用相同的标记值。对于任何文件系统,只要其卷标签中包含一个文
件放置策略中指定的名称,就可以对这些文件系统应用该规则。
■ 可以通过添加或删除一个存储层中包含的卷,轻松扩展或缩小该层。不需要对
活动策略进行修改;VxFS 直接对文件系统的卷集中卷应用该策略。
所以,包含多个相似服务器(例如,数据库或 Web 服务器)的数据中心可以使用
Storage Foundation Management Server 定义单个文件放置策略,并将其分配给所
有服务器。这样不仅可以减轻管理工作负担,还可以促进在数据中心内实现存储管
理标准化,甚至在不同类型的平台上也是如此。
VxFS 文件放置策略指定初始文件放置和重定位的规则。对于大多数文件,都是在
刚刚创建后会频繁访问它们,所以策略规则一般应指定在高性能存储层上进行创
建。
当文件时间变长后,往往会成为非活动文件。因为很可能已将非活动文件备份,所
以可将它们重定位到 I/O 性能较低且容错功能相对不强,因此对数据中心总体性能
影响不大的低成本存储设备中。放置策略规则中可以指定访问时限、修改期限、I/O
热度和访问热度等任何限制因素作为重定位条件。
VxFS 可自动将文件从较高存储层重定位到较低存储层,反之亦然。在向下重定位
时,通常会指定访问时限和修改期限的下限,或者 I/O 热度和访问热度的上限。例
如,如果访问时限超过 30 天或者 I/O 热度下降到 10 度以下,则可以将顶层存储上
的所选文件向下重定位。对于向上重定位,会指定相反的条件,例如,如果访问时
限下降到 10 天以下或 I/O 热度上升到 7 度以上,则可以将较低存储层上的文件重
定位到上一层存储。
另外,可以使用放置策略规则从通用存储池中分离指定文件(例如,出于财务或法
规符合性原因)。要执行分离,可以为文件系统卷集中的一个或多个卷指定唯一标
记,然后编写一条放置策略规则,以指定应当在具有唯一标记的卷上创建要分离的
文件并且不将其重定位。
使用 Storage Foundation 115
实施多层存储体系结构

VxFS 的文件放置行为受指定策略规则的顺序影响。策略中指定给定文件的第一条
规则是 VxFS 用于放置或重定位该文件的唯一规则。所以,管理员在创建文件放置
策略时应当非常谨慎。在策略文档中,相对特定的规则应位于相对通用的规则之
前。

将数据移入多卷文件系统中以及在其中移动数据
如果动态分级存储实施中包含合并两个或多个文件系统得到的文件系统,则最后一
个实施步骤是在从文件系统的原始位置删除并重新部署它们占用的存储空间之前,
将文件复制到合并后的多卷文件系统中。无论合并后的文件系统是新创建的文件系
统,还是多卷文件系统原来包含的原始文件系统之一,向其中复制文件都确实会创
建新文件。会根据初始放置规则放置新创建的文件,而不是根据从中复制这些文件
的源文件的最新活动放置它们。
如果合并后的文件系统的策略以期限为中心,即在顶层存储上创建文件并当它们在
一段时间内不活动时将它们重定位到较低存储层,则必须先到达该期限,然后 VxFS
才能发现非活动文件并重定位它们。
如果策略规则指定了“安全阀门”,即在主存储层已满时使用的辅助存储层,则将
大量文件复制到合并后的文件系统中的顺序并不重要。当 VxFS 发现在一段时间后
某些文件确实不活动时,它会执行“额外”重定位。不过,如果未指定辅助层,装
载合并后的文件系统的文件复制操作可能会失败。
因此,将多个文件系统中的文件合并为单个多卷文件系统,以供 DST 工具使用的管
理员应当考虑在初始填充后的文件系统时创建并分配临时策略。一般,这些临时策
略将在较低存储层上创建指定文件。例如,如果文件系统中包含历史数据的文件被
复制到合并后文件系统的 /history 路径,则一条临时策略规则可能会指定在第二
层存储上创建 /history 目录及其所有子目录中的文件。
上述临时策略会在将文件添加到合并后文件系统时影响是否能够正确放置大部分文
件。因为 VxFS 作出重定位决策时需要文件的相关历史信息,而且在将文件新添加
到文件系统时这类历史信息不可用,所以需要该临时策略。完成初始填充后文件系
统后,应该分配准确反映该数据中心的长期用途的永久策略来替换该临时策略。

定义文件放置策略执行计划
VxFS 通过管理命令强制执行文件放置策略。通常,通过定期(如每天)在生产活
动较少的时间安排 cron 作业来执行策略。在执行策略期间,VxFS 在有可用空间的
情况下将每个符合要求的文件(如不活动的文件)重定位至目标放置级别。如果目
标放置级别已满,则不会进行重定位。
116 使用 Storage Foundation
Bunker 复制

Storage Foundation 的实际结果


VxFS Dynamic Storage Tiering (DST) 工具实现多层存储在成本、性能及安全性方
面的实际优势,而且不会给数据中心增加管理负担。DST 包含两个部分:多卷文件
系统以及文件系统存储内基于策略的自动化文件放置。

Bunker 复制
企业日渐认识到某些数字数据集对其运营非常关键,在极端情况下甚至决定其是否
能够生存。由于对近年发生的自然灾难和其他灾难刻骨铭心,他们已变得极为重视
防止关键数据证据因破坏数据中心的灾难而受损。法律及其他法规要求国防、金
融、医疗保健等大多数社会公认的关键行业必须防止其数字记录因任何可能的威胁
受损。

灾难恢复计划的参数
在大型企业中,有关保留数据并保证在灾难后可访问性相应数据的灾难恢复计划已
经日益普及,而且部分小型企业也开始使用这类计划。灾难恢复计划各不相同,但
一般都包含两个决定性的关键参数:
■ 恢复时间目标,或发生灾难到恢复对关键数据和应用程序的访问之间的时间
■ 恢复点目标,或进行恢复时关键数据所表示的时间点
灾难恢复时间受多个变量的影响,其中包括识别并响应灾难的速度、IT 与环境恢复
设施的准备情况、运行恢复地点的人员是否到位、灾难对物理环境的影响等等。其
中多个因素是企业无法控制的。
恢复点主要受针对破坏保留数据时使用的方法影响。过去,主要恢复机制是使用存
储在数据中心以外的磁带上的关键数据时间点备份副本。如果将备份磁带集(可能
代表发生灾难之前数天或数周的时间点)传送到恢复站点并进行恢复,那么恢复点
可能实际上远在灾难发生前的数周。目前,该机制无法满足大多数企业的需要。一
般,企业会为其真正重要的数据应用某种形式的网络复制,即将关键数据的更新传
输到远程位置,然后将其应用于生产数据的副本,以保证更新或基本更新这些数
据。

数据复制解决方案的属性
可以在多个级别复制联机数据。提供复制磁盘阵列 LUN、VxVM 卷、文件和数据库
的对应工具。就复制的更新、执行复制的时间以及对恢复位置上的生产数据副本应
用更新的方式而言,每个复制级别都是唯一的。最常用的复制形式是 LUN 或虚拟
卷复制,这可能是因为复制虚拟设备会复制设备上的数据库表、索引和所有辅助文
件、软件映像、脚本等全部内容,所以可能需要运行应用程序。在复制虚拟设备
后,生产数据更新、应用程序修补程序、运行脚本的修改等内容都会实时或接近实
使用 Storage Foundation 117
Bunker 复制

时地复制到恢复位置。只要复制了正确设备,则无需担心在恢复位置需要关键控制
文件、软件库等等时它们不可用。
与灾难恢复的主要问题一样,数据复制的主要问题是成本。恢复站点是 IT 灾难恢复
的最大资本成本,即发生灾难后恢复企业关键应用程序所需的设施、设备和连接。
大多数大型企业希望将恢复数据中心建立在距离生产数据中心数百甚至数千公里以
外的地点,这样,灾难基本不可能同时影响两者。
但是,在位于生产中心数百公里的地点建立恢复数据中心会产生一个难题。一方
面,恢复中心上的最新数据比旧数据更重要。对于商业资金转帐等重要应用程序,
它甚至可能是至关重要的。但保证远程数据完全更新(同步)意味着必须先完成生
产数据和远程数据的更新,然后才能继续执行应用程序线程。在企业级事务处理系
统中的更新速度可能达到每秒数百次,保证更新远程数据需要极高(昂贵)的网络
带宽。另外,对于距离生产数据中心数百或数千公里的恢复中心,不太可能完全更
新数据,因为通过包含各类复杂拓朴的远程网络传播更新需要较长时间,所以应用
程序响应时间增加到了无法忍受的程度。

传统解决方案
图 7-1 显示灾难恢复时维护关键生产数据的最新副本的传统机制,有时称为 Bunker
策略。在距离生产数据中心足够远的地点建立物理安全的 Bunker 站点,以避免受
到生产中心灾难的影响,但该距离不能超过可进行同步复制生产数据的距离。Bunker
站点仅需要基本的处理资源,但需要足够镜像存储以复制整个生产数据集。

图 7-1 传统灾难恢复数据复制方案

同步 恢复站点

生产数据中心

定期

Bunker 站点
118 使用 Storage Foundation
Bunker 复制

除 Bunker 站点外,还会在距离生产中心更远的地方建立设备齐全的恢复中心。在
确定距离时,应保证恢复中心能够针对几乎所有可能的灾难提供保护,但不能实现
生产数据同步复制。
如使用该配置,数据会同步复制到 Bunker 站点上的镜像存储设备,因此,始终在
生产数据中心以外保存着最新副本。Bunker 站点上的镜像将定期分割,从而有效
创建生产数据的快照。会将快照异步复制到恢复中心中的存储设备,完成复制后,
会将 Bunker 站点上的镜像与不间断进行同步的生产数据副本重新同步。
在该方案中,恢复站点还配备两套存储设备,以提供两个完整的生产数据副本。将
数据交替复制到每套设备中。复制完成后,旧设备可与新设备同步。因此,无论在
复制周期中的何时发生灾难,恢复站点都能提供生产数据的最新完整快照。副本期
限由 Bunker 站点的定期复制频率,即恢复点决定,也就是恢复开始后经过多长时
间数据过期。
虽然该过程能够针对物理灾难导致的数据丢失提供妥善保护,但也存在某些缺点:
■ 存储成本较高。除存储实际生产数据外,需要为 Bunker 站点和恢复站点上的生
产数据副本提供足够存储,总存储量可包含五倍的生产数据。基于磁盘阵列的
解决方案要求复制的所有存储均为相同类型,如果为生产数据使用优质磁盘阵
列,那么也必须使用优质阵列保存所有副本。
■ 需要大量带宽。要保持较低的恢复点目标,应当频繁将数据从 Bunker 站点复制
到恢复站点,但这实际上意味着要不间断地使用二者之间的链接。如果为 Bunker
站点与恢复站点之间配置的带宽不足,会导致定期复制的速度缓慢,并且恢复
的数据比发生灾难时的数据旧。
■ 这会导致恢复站点上的副本原本就是过时版本。每次将数据从 Bunker 站点复制
到恢复站点时,它将在复制开始时被及时冻结。直到复制完成,才能使用恢复
站点上的副本。因此,该副本至少落后于复制整个数据集所需的时间。
因此,该传统过程虽然基本有效,但就对于消耗的存储和网络资源而言成本过高,
而且它生成的恢复点存在先天限制。

Storage Foundation 的作用


Storage Foundation 版本 5 中的 Veritas Volume Replicator (VVR) 可选组件显著简
化了 Bunker 复制。VVR 是基于主机的工具,用于将任意 VxVM 卷集复制到多达
32 个目标位置。VVR 同步或异步地将生产数据更新复制到每个复制目标。由于 VVR
会复制 VxVM 虚拟卷的内容,所以不要求源硬件和目标硬件相同。因此,在任何可
能只是短期使用副本作为生产数据的情况下,都可以使用低成本存储作为复制目
标。
基于日志的 VVR。在将每个应用程序对生产数据的更新传送到复制目标之前,都会
先将其写入存储复制日志 (SRL) 中。该数据将保留在 SRL 中,直到所有复制目标已
确认收到它为止。直到所有同步复制的目标均已确认收到更新数据,应用程序写入
请求才会完成。如果所有副本均为异步副本,则应用程序写入请求在数据写入 SRL
后立即完成。称为复制卷组 (RVG) 的单个源卷集可能同时包含同步和异步目标。
使用 Storage Foundation 119
Bunker 复制

在复制卷组中,将保留完全一致的写入顺序。会按照应用程序更新源卷的相同顺序
来应用对组中所有卷的更新。因此,可以对 RVG 中的卷应用任何依赖于数据写入
顺序的文件系统或数据库崩溃恢复机制,就像在系统崩溃时对生产数据应用它们一
样。
Storage Foundation 第 5 版中新增了一项,即 VVR 能够高效地在 RVG 中包含 RVG
存储复制日志并进行复制。该功能可显著简化灾难恢复的 Bunker 样式复制,如
图 7-2 中所示。

图 7-2 Storage Foundation 灾难恢复数据复制方案

异步

恢复站点
生产数据
中心

排干 bunker
同步
SRL 的链接
SRL

Bunker 站点

如图 7-2 中所示,VVR 将生产数据直接异步复制到恢复站点,同时将 SRL 内容(但


不是生产数据)同步复制到 Bunker 站点。由于 SRL 的大小取决于预计生产更新速
度和任何临时网络中断的预计持续时间,所以它们通常小于生产数据集的大小。所
以,Bunker 站点的存储要求明显少于图 7-1 中所示传统解决方案的存储要求。
举例来说,在使用异步复制时,如果暂时出现网络过载,或出现较长时间的高负载
生产数据更新活动,则目标站点上的状态数据可能落后于生产数据。如果发生上述
情况之一,则 VVR 直接写满 SRL,并预期在短暂过载之后将其排干。该原则可以
扩展到网络临时短时间中断的情况,VVR 允许在网络中断时使用生产数据更新写满
SRL,然后在网络连接恢复时将其排干到复制目标站点。管理员可以调整异步复制
落后于生产数据更新的数量。
在使用 VVR Bunker 复制时,生产数据会被异步复制到恢复站点,所以在发生灾难
时,生产数据可能会过时几秒或几分钟。但是,由于 SRL 复制与 Bunker 站点同
步,因此它将与生产数据保持一致。如果生产中心发生灾难,则 Veritas Cluster
Server Global Cluster Option (VXS GCO) 将协调生产站点、Bunker 站点和恢复站
点上的 VVR 实例。Bunker 站点上的 VVR 实例实际上将成为复制源。它将 SRL 排
干到恢复站点的 VVR 实例,后者对其副本应用更新。在 SRL 完全排干后,恢复站
120 使用 Storage Foundation
在不同平台之间移动数据

点上的数据映像代表发生灾难时生产数据的状态。事实上,将实现零恢复点,即将
生产数据恢复到其在发生灾难时的状态。
将图 7-1 与图 7-2 进行简单对比,就能够明确 VVR Bunker 复制解决方案的优势:
■ 显著减少存储要求。使用 VVR,生产站点和恢复站点需要足够虚拟存储以包含
生产数据集。可能会将其中之一或两个站点上的存储镜像以满足业务需求,但
VVR 不需要其他副本。在 Bunker 站点上,只需要为 SRL 提供足够存储空间,
而其大小一般远远小于生产数据集的大小。另外,不要求所有站点部署相同类
型的存储。如果存在业务需要,可以在 Bunker 和恢复站点上部署低成本或改变
用途的存储。
■ 显著减少带宽要求。使用 VVR 时,需要在生产站点和恢复站点之间提供足够带
宽,才能保证与稳定的生产数据更新速度保持一致。VVR 通过允许写满 SRL 来
处理暂时过载的情况。另外,需要在生产站点和 Bunker 站点之间提供足够短程
带宽,以满足 SRL 活动的需求。不需要在 Bunker 站点与恢复站点之间提供较
高带宽,因为在发生灾难时,二者之间的唯一操作就是排干 SRL。
■ 零恢复点目标。如果使用 VVR,则在发生灾难时恢复站点上的数据为最新数据,
除非灾难是在网络过载或中断期间发生的。如果恢复站点上的数据已过期,则
Bunker 站点上的 VVR 继续将 SRL 发送到恢复站点,直到它被排干且已更新恢
复站点上的数据。可以将恢复站点上的数据副本更新到发生灾难时生产数据的
状态。
因此,VVR Bunker 复制能够大幅度降低 Bunker 样式复制的成本,同时,通过实
现所谓的零恢复点显著提高服务质量。

Storage Foundation 的实际结果


Storage Foundation VVR 选项,可避免在 Bunker 样式的灾难恢复环境中使用大多
数额外存储,而且提供发生灾难时具备较高数据可恢复性的优势。该选项可为使用
传统 Bunker 技术时成本过高或速度不够的应用程序和大型数据集实现灾难可恢复
性。

在不同平台之间移动数据
随着数字数据处理在商业、政府和教育领域的日益普及,以及数据中心通过部署越
来越多的服务器力求降低成本并提高灵活性,在服务器之间移动数据几乎成为 IT 组
织的日常任务。实际上,对于拥有一千台服务器的企业,五年的服务生命周期意味
着大约每两天就要更换一台服务器。在几乎所有情况下,更换服务器都不得影响应
用程序以及更重要的数据。几乎每天都必须将数据从旧服务器移到新服务器。
通过使用存储网络,将数据从旧服务器移到相同类型的新服务器非常简单。管理员
从数据的网络区域删除旧服务器,然后将替换服务器添加到该区域。会引导新服务
器并发现包含数据的存储设备。管理员安装文件系统,移动即已完成。
使用 Storage Foundation 121
在不同平台之间移动数据

更换平台的障碍
本次讨论的缺点是只适用于新旧服务器为相似平台的情况,例如,都是
Solaris/SPARC 或 HP-UX/PA-RISC 系统。要在不同类型的平台之间移动数据,需
要将数据从一种格式复制为另一种格式,通常使用网络文件传输协议 (FTP) 或备份
到中性磁带格式,然后在新的服务器平台上恢复到文件系统中。无论使用上述哪一
种技术在不同平台之间移动数据,都会导致难以管理和应用程序停机。FTP 传输通
常比备份和恢复速度快且便于管理,但缺点是复制期间需要额外存储空间,并且需
要消耗大量的网络带宽。所以,实际结果是需要在平台之间移动数据,使 IT 组织不
够灵活。如果服务器成本或技术改进意味着更改平台,并需要将应用程序数据从一
种平台格式转换为另一种平台格式,那么企业可能放弃应用这类改进。
不同 UNIX 和 Linux 操作系统使用不同的联机数据格式,所以还会在其他方面限制
数据中心的灵活性。例如,低成本 Linux 服务器是对企业 UNIX 系统处理的生产数
据快照进行主机外备份的经济方式。但由于转换 Solaris 或 AIX 数据供 Linux 使用
需要大量资源和时间,所以排除了该选项。同样,由于一个平台无法处理其他平台
使用的格式的数据快照,因此往往不会使用备用平台上的数据挖掘等辅助应用程
序,也不会在备用平台上测试新软件或数据库格式。

问题的根源
之所以需要转换数据供备用平台使用,主要原因是每个平台为基于主机的虚拟存储
设备以及文件系统数据和元数据使用自身的格式。该问题主要是历史原因导致的。
目前使用的大多数服务器平台是在数据处理大致相同的时代开发的,即在相对长的
时期内,企业希望对所有应用程序实现标准化,即使用单个供应商的产品线。不过
最近,两个因素的综合影响已经使这一动态发生了变化:
■ IT 行业已从垂直集成阶段发展到水平集成阶段。目前,企业更希望标准化为在
信息技术堆栈中的每层使用首选供应商的产品线,如存储、服务器、网络组件、
操作系统、数据库管理系统、基础架构软件和应用程序。
■ 技术变化的速度已经明显加快,特别是在存储和服务器领域。目前,企业替换
服务器和磁盘阵列的原因往往不是因为其使用寿命已结束,而是因为随着更新
型技术的推出,拥有并维护它们不再具有经济优势。数据中心设备的使用寿命
已从五年缩短到三年,在某些情况下甚至更短。
但随着更换速度的加快,每个平台仍然使用传统的独有联机数据格式,这限制了使
用联机信息资产的灵活性和创造性。

Storage Foundation 的作用


目前推出的 Storage Foundation 版本可以解决转换数据以便在不同企业 UNIX 平台
上使用的所有问题。该解决方案首先进行 VxVX 跨平台数据共享 (CDS) 磁盘格式
化,使其能够在支持的任意两个 UNIX 或 Linux 平台之间完整地传送卷控制。CDS
是新创建的 VxVM 磁盘组的默认格式,使用管理操作可将旧组升级为该格式。在
CDS 格式的磁盘上创建的卷称为 Portable Data Container (PDC)。
122 使用 Storage Foundation
在不同平台之间移动数据

同样,VxFS 第 6 版文件系统的布局在支持的所有企业 UNIX 平台(除部分平台自


身对最大文件名长度和目录树深度等施加的小限制)上都相同。所以,只需传送
VxVM 卷上的 VxFS 文件系统所占用磁盘的控制,即可在不同 UNIX 平台之间完整
传送它们。
由于企业 UNIX 和 Linux 系统的基础处理器具有不同体系结构,所以在这二者之间
传送文件系统略为复杂。文件系统元数据包含多个多字节整数,一般来说,运行企
业 UNIX 系统的大端序计算机与运行 Linux 的小端序系统以不同方式存储并进行解
释。VxFS 提供的实用程序可在两种格式之间转换已卸载文件系统中的元数据。如
果一个文件系统已被卸载,且对其运行该实用程序,则可以通过传送包含其卷的磁
盘控制,将该文件系统从 UNIX 系统移到 Linux 系统,反之亦然。
如果结合快照,则在不同主机之间传送整个系统(同时仅对少量资源造成影响)的
功能会更加强大。例如,可以将文件系统的卷级快照从 AIX 主机传送到 Solaris 主
机,以便在其中备份或挖掘数据,方法就是将组成卷的磁盘从所属磁盘组分割出
来,逐出并在 Solaris 主机上导入它们,然后启动卷。可以直接安装和使用卷上的
文件系统。

使用 Storage Foundation 在不同平台之间移动数据


若要使用 Storage Foundation 工具在不同平台之间移动数据,这两个平台都必须物
理连接到同一个存储网络。传输数据控制包括下列步骤:
■ 从主机系统卸载包含要移动的数据的文件系统(可能为多卷文件系统)。
■ 如果源系统和目标系统运行使用不同整数地址的处理器(“字节顺序”),会
对包含未卸载文件系统的卷运行 VxFS 实用程序以转换文件系统元数据。如果源
系统和目标系统使用相同的整数格式,则不需要执行这一步。
■ 会将包含要移动的文件系统的卷所在的磁盘从其磁盘组中分离,并从源系统中
逐出。如果这些卷实际上代表源主机中其余生产数据的快照,则必须随快照本
身逐出快照的缓存卷。
■ 根据需要调整存储网络区域和磁盘阵列 LUN 掩码,使目标能够访问包含数据的
磁盘。如果安装策略需要,可能还会进行其他调整,以确保源系统不再能访问
所移动的磁盘。
■ 包含已逐出卷的磁盘被导入目标系统,启动它们包含的卷并安装对应的文件系
统。此时,目标系统上的辅助应用程序可以使用数据。如果数据是像示例中那
样永久地从已报废服务器移动到其替换服务器,则对应数据会与替换服务器永
久关联。
■ 如果辅助应用程序定期执行每周备份或分析,则会在该应用程序完成后从目标
系统逐出卷(包括缓存卷)。然后,会将这些卷导入源系统,重新将它们添加
到原始磁盘组中,VxVM 在其中使用 FastResync™ 将它们重新与生产文件系统
同步,以便可以在下一个辅助处理周期内重复该过程。
使用 Storage Foundation 123
存储容量回收

要在运行 Storage Foundation 的两个不同平台之间移动数据,要求要移动的磁盘不


能包含任何不能从源系统删除的 VxVM 对象。最佳做法是使用专用的磁盘或 LUN
构建包含可在主机之间移动的数据的卷。

Storage Foundation 的实际结果


网络文件复制可能能够满足在不同平台之间复制适中数量的数据的需要。但当相关
数据集的大小达到 TB,而复制速度约为 3 小时/TB 时,会导致长时间停机。如果源
系统和目标系统都在 Storage Foundation 上运行,使用 CDS 卷和 VxFS 第 6 版文
件系统布局,则通过将包含数据的磁盘的控制从源系统传送到目标系统,将无需复
制数据,且只需数分钟即可完成该任务。
对于永久性的服务器更换,Storage Foundation 可显著缩短将应用程序和数据从旧
服务器迁移到新服务器所需的停机时间。这主要会消除更改系统体系结构的一大障
碍,即应用程序仍然移植到新平台,或使用专为新平台设计的新版本,但即使新服
务器的整数数据体系结构(“字节顺序”)不同,只要时机成熟,即可使数据可用
于新系统。
通过将在不同平台间移动大量数据集的时间从数小时缩短至几分钟,同时消除网络
通信量,Storage Foundation 确实能够支持在其他情况下根本不可用的辅助应用程
序。特别是所移动数据是一组经协调的 VxVM 卷快照的情况下,Storage Foundation
允许分析生产数据的最新映像,可提供业务优势。

存储容量回收
关于存储网络经常被提及的一个重要价值主张,是能够将存储资源从不再需要它们
的系统重新部署到需要更多存储区的系统。该主张基本成立,但获得这一优势实际
上非常困难,因为要回收的存储区很可能被数据占用。在已通过实施第二存储层释
放顶层存储区,并使用动态分级存储工具将数据重定位至第二层的情况下更是如
此。DST 的价值主张是释放顶层存储区用于其他位置,但顶层存储区由原来包含整
个文件系统而且还包含文件系统元数据的 VxVM 卷占用。
例如,文件系统的顶层存储区可能是一个 1 TB 的条带化镜像卷,它占用 10 个 200
GB 磁盘,其存储的 90% 已通过安装低成本第二存储层并且用 DST 将数据重定位到
第二层释放。从理论上讲,可以重新部署顶层磁盘中的 8 块磁盘,但保留在顶层存
储区的 100 GB 数据条带化在所有 10 对镜像磁盘上。在磁盘阵列 LUN 上条带化数
据时,也会出现相同情况。

传统解决方案
在网络中回收存储的传统机制是按新要求的大小创建 LUN 或卷(在本例中为 200
GB,以允许顶层数据今后可增加 100%),将数据复制至该卷或 LUN,并将原来由
数据占用的整个 LUN 或卷回收。这一过程会带来较高的停机和带宽成本,还可能
导致需要修改应用程序和脚本。由于复制期间系统中同时存在新设备和要回收的设
124 使用 Storage Foundation
存储容量回收

备,所以必须为二者都提供唯一的存储网络地址。完成数据复制并从系统中删除被
回收设备后,必须进行一些调整,或者调整应用程序和脚本对新设备的寻址方式,
或者调整新设备的网络地址,以便调整大小后的数据对需要它的应用程序可见。两
种技术都会导致更长停机时间和更高的出错风险。

Storage Foundation 的作用


收回存储容量以便重新部署是说明 Storage Foundation 组件之间的紧密集成如何简
化数据中心管理的典型示例。管理员只需完成两个简单操作,即可减小 VxFS 文件
系统的大小,收回它所占用卷上的存储容量并合并剩余的卷容量,从而将收回的存
储放在单独设备上并能够重新部署到其他位置。图 7-3 中显示了 Storage Foundation
如何从占用分布在五个以上磁盘的条带卷的 VxFS 文件系统收回存储容量。

图 7-3 使用 Storage Foundation 收回存储容量

disk-01 disk-02 disk-03 disk-04 disk-05 原始


子磁盘

执行 vxresize
操作后的
disk-01 disk-02 disk-03 disk-04 disk-05 子磁盘
释放的容量

执行 vxassist
disk-04 disk-05 重布局后剩余的
两个子磁盘
disk-01 disk-02 disk-03
回收的
存储

VxVM 卷由称为子磁盘的磁盘存储容量块组成。图 7-3 中最上面的第一行代表占用


五个磁盘的全部容量的条带化卷。该卷的全部容量由 VxFS 文件系统确定。
vxresize 管理命令可以将 VxFS 文件系统减小(或增大)任意指定的数量。执行的
命令是缩小对应的基础 VxVM 卷。VxVM 尝试将组成卷的所有子磁盘缩小相同大
小。如图 7-3 中所示,该操作能够释放部分而非组成卷的所有磁盘中的全部容量。
在该状态下,重新部署存储的选项相对有限。可以使用释放的容量创建一个或多个
新卷,但由于包含所释放容量的磁盘必须仍然可供原始主机访问(因为它们包含调
整大小后的原始卷),所以释放的容量不能与原始主机断开逻辑连接并部署到其他
位置。
需要执行称为 vxassist relayout 的第二个操作以合并调整大小后的卷占用的空
间,该过程还会合并释放的容量。在该示例中,调整大小后的卷合并到两列(子磁
使用 Storage Foundation 125
Storage Foundation 高级功能概述

盘)中,而且该过程会释放其他三个磁盘的全部容量以便在同一主机(或其他主
机,因为不再需要将释放的磁盘保留在同一磁盘组或逻辑连接到主机)上重新部
署。
文件系统重定卷大小和重布局序列都可以在文件系统联机且可由生产应用程序访问
时执行,虽然后台 I/O 负载可能会导致卷重布局对生产应用程序的性能产生一定影
响。

Storage Foundation 的实际结果


Storage Foundation 能够缩小使用中的文件系统的大小、自动缩小基础卷的大小,
并将释放的存储容量合并以重新部署到其他主机上,这简化并减少了回收存储容量
以部署在数据中心其他位置所需的资源和导致的停机。Storage Foundation 保证了
实现存储网络带来的存储灵活性。由于两个步骤的 Storage Foundation 回收操作对
生产应用程序影响甚微,数据中心可能会更积极地回收和重新部署联机存储,从而
提高利用率、降低成本,并为应用程序提供更高质量的服务。

Storage Foundation 高级功能概述


对于 Storage Foundation 如何为企业,尤其是部署多个服务器平台的大型复杂数据
中心简化存储管理,本章给出 5 个代表性示例。还可以引用其他示例,包括使用节
省空间的快照在主机之间移动数据以进行辅助处理;自动化存储供应,使企业数据
目标在卷和文件系统扩展时得以保持不变;在设备之间复制数据时最大限度降低对
使用这些数据的生产应用程序的影响。部署多种计算平台和数十台服务器的数据中
心通常都会收到有关 Symantec Storage Foundation 功能的详细研究报告,重点说
明如何使用 Storage Foundation 提高联机存储资产管理水平。
126 使用 Storage Foundation
Storage Foundation 高级功能概述
8
实施标准化
本章节包括下列主题:

■ 实现存储管理标准化的情况

■ 明确标准化的目标

■ 存储管理标准化的两方面

■ 实施存储管理标准化

■ 从这里开始标准化

■ 摘要:基于 Storage Foundation 实现标准化

实现存储管理标准化的情况
实现软件标准化是企业控制联机存储管理成本的主要途径。在前几章中,已说明
Symantec Veritas Storage Foundation 中包含下列必需属性,可以作为在企业数据
中心内管理联机存储的标准工具集:
■ 实现存储管理功能的“一站式购物”的全部基本功能和高级功能
■ 完成系统和存储平台支持,以便可在数据中心应用管理技能
■ 与其余应用程序存储堆栈集成,对存储管理操作进行合并
■ 与备份管理器、数据库管理系统和供应商提供的低级管理工具等应用程序进行
集成,以进行端到端存储管理
虽然此主张是很具有吸引力的,但是对于正在观察现有安装的数据中心经理或 CIO,
实现标准化的路径仍然不容乐观。本章描述从专门的存储管理环境迁移到与已知的
存储实用程序概念更加一致的环境的一组步骤:标准化服务主要通过使用标准化工
具进行高效传递。
128 实施标准化
明确标准化的目标

明确标准化的目标
古语说,“如果不知所往,就会迷失所终”。对于存储管理标准化以及任何其他有
组织的活动来说,情况确实如此。在制定存储管理标准化计划之初,首先应明确一
个切实的目标,并估计预期的潜在收益。
将存储管理的工具、技术和实践标准化可带来三方面收益:
■ 通过自动化过程和更精湛的专业技能来提高管理员团队效率,进而降低运营成
本。
■ 通过减少软件许可证和维护协议的数量以及降低存储硬件的日常运行成本,节
约资本成本。
■ 通过提高存储利用率、I/O 性能、用户错误可修复性、容错性能和灾难恢复能力
来改进服务质量。
目标的实现要从第一步开始。目前的一个普遍情况是,IT 组织通常并不完全清楚其
数据中心所拥有的存储系统,它们的利用情况如何,以及使用的是什么管理工具。
因此,IT 组织必须首先摸清当前状况,包括运营成本和资本成本方面,以及希望或
要求提供的服务方面,然后才能明确在整个数据中心实施存储管理标准化所能带来
的潜在收益。下面各小节为明晰数据中心的存储管理现状提供了一些指导,由此深
入可进一步确定实施标准化后的合理预期收益。

资本成本节省潜力
在确定数据中心的当前存储管理成本时,首先要采取的一步行动就是获取主要硬件
和软件组件以及主要数据集的情况明细,表 8-1 列举了一些建议。

表 8-1 存储明细

项目 明细表中包含的组件和属性

存储硬件 磁盘阵列和直接挂接的磁盘。应包括供应商、型号、硬件和
固件版本、磁盘驱动器的数量和类型、控制器端口、当前连
接,等等

存储网络 交换机、控制器和其他存储网络硬件。应包括型号、硬件和
固件版本、端口数量和类型、当前连接,等等

虚拟化 虚拟存储的类型和实现。应包括镜像、RAID、条带、重复和
其他形式的虚拟存储、使用的虚拟化工具(基于主机、基于
网络或基于磁盘阵列)及其运行所在的主机和存储平台

高级功能 高级存储功能(如快照、复制、存储网络路径管理)、实现
的类型(基于主机、基于网络、基于磁盘阵列)及其运行所
在的主机和存储平台
实施标准化 129
明确标准化的目标

项目 明细表中包含的组件和属性

管理工具 使用中的存储管理工具的数量、它们所提供的功能及其运行
所在的主机和存储平台

数据集 数据中心中主要文件系统和数据库的数量、大小和临界状态。
所维护的数据集的副本数、其当前性以及维护的原因

存储客户机 使用存储系统的应用程序和数据库服务器。应包括应用程序
使用的数据库和文件系统,以及其他与存储相关的应用程序
特征

这样一份明细表连同其他一些准备工作,可帮助企业明确有关存储管理标准化的潜
在收益的各种有用信息:
■ 增加现有存储系统利用率和存储网络容量能否实现节约
■ 针对联机数据实施多层存储策略能否实现节约
■ 不同数据集对于企业的业务价值是否与包含它们的存储配置所提供的服务质量
相配
存储系统和数据明细的调查结果应清楚表明存储管理标准化的资本节约潜力。例
如:
■ 在防范数据损坏时,如果节省空间的快照可以替代较大或更改缓慢的数据集的
整个副本,则必要时,任意点处可能只需要较少的存储硬件。
■ 如果可以将非关键性的或很少访问的数据集移到成本较低的存储硬件中,或由
RAID5 而不是由镜像来提供保护,则可以降低每个可用存储字节的平均成本。
■ 如果可以在不同平台间移动数据集以实现序列化的重复使用,则可以削减用于
创建和维护中间或冗余数据集副本的存储和网络带宽成本。
■ 如果可以减少软件许可证数量,则运行中的维护费用会更低。
节约潜力针对每个企业和每个信息技术运营会有所不同。上述示例旨在揭示某些可
缩减成本的明显途径。

管理成本节省潜力
存储系统和数据的情况明细是评估企业存储管理现状的前期活动之一。第二项,或
许也是更重要的一项前期活动,就是获取存储管理任务及其成本(以管理时间和发
生频率测量)的情况明细。表 8-2 列出了某些常见存储管理任务。

表 8-2 存储管理任务明细

任务 包括内容

存储配置 应用程序和数据库服务器所要求的虚拟存储设备的配置
130 实施标准化
明确标准化的目标

任务 包括内容

存储网络管理 创建分区和 LUN 掩码,使分配给它的主机能够访问配置的存


储系统;管理主机和存储设备之间的多个访问路径

与数据保护相关的任务 创建、迁移和删除备份的快照,创建复制组,修复测试

文件管理 创建、 扩展、迁移和删除文件系统。将文件重定位到适当的


存储类型。定义和监视备份、复制和重定位计划

在记录诸如表 8-2 中所列任务的明细时,应记录其所用时间、发生的频率以及所需


管理技能水平。管理技能水平提供了每小时管理成本的粗略估计。
这三个因子的乘积就给出了指定任务的管理总成本估计。例如,如果一家企业每周
要为 3 种不同平台类型(其中两个使用磁盘阵列技术,第三个使用基于主机的技
术)的 10 个系统上的数据库创建快照,则此任务的月成本估计可如表 8-3 所示。

表 8-3 单一存储管理任务的月成本

任务 每月发生次数 每个发生的成本 成本合计

Timefinder 快照 12(3 个系统 x 4 星期) 2 小时 @ $95 $2,280

HDS 快照 20(5 个系统 x 4 星期) 1.5 小时 @ $75 $2,250

基于主机的快照 8(2 个系统 x 4 星期) 1 小时 @ $60 $480

总计(每月) $5,010

如表 8-3 中的第三列所示,使用不同工具来执行任务或在不同平台上执行任务时,
由于所需技能水平和执行任务的频率不同,会导致不同的管理成本。
您可以针对数据中心管理员执行的所有重要存储管理任务进行类似这种假象案例的
成本估计。这种估计可以为计算存储管理工具、技术和过程的标准化的节约潜力提
供依据。

服务质量
在存储管理标准化所能带来的三种收益中,或许最难以量化的就是可提供给企业的
服务质量改进。改进的存储服务质量可源自多个方面。表 8-4 列举了标准化的存储
管理可以改进 IT 组织提供给用户的存储服务质量的四个常见方面。

表 8-4 存储服务质量改进的原因

服务质量度量标准 改进原因

I/O 性能 将数据存储在与其对于企业的价值更相适应的设备上;在存
储和网络资源间更均匀地平衡 I/O 负载
实施标准化 131
存储管理标准化的两方面

服务质量度量标准 改进原因

可用性 因存储设备故障引起的应用程序中断情况更少;由于管理员
对管理任务更加熟悉,因而应用程序的中断时间更短;由于
为主机上和脱离主机的辅助处理使用了快照,因而停机时间
更短。

从损坏中修复 由于更频繁的快照以及更快的与损坏数据集的重新同步,因
而可以获得更短的修复点和修复时间目标

灾难恢复 由于可以向恢复位置复制关键数据以及在灾难后自动重新启
动应用程序,因而可以获得更短的恢复点和恢复时间目标

表 8-4 中列出的每个服务质量度量标准都具有可用时间进行量化的业务价值——由于
I/O 性能更好,因而每个员工每天可以进行更多事务处理;由于与存储相关的停机
时间更短,因而可以减少销售机会或客户的流失;由于灾难恢复更迅速,因而可以
维护或赢得更好的商誉,如此等等。每个度量标准对于每个企业的价值是不同的。
这些以及其他类似的潜在服务质量改进应作为存储管理标准化的积极价值加以评
估。

存储管理标准化的两方面
掌握了当前资本成本、运营成本和服务质量改进潜力后,IT 组织可以估计存储管理
标准化能够为其创造效益的程度。存储管理标准化的实施有两种方式:
■ 外向标准化旨在使提供给客户端组织的存储服务更趋合理
■ 内向标准化旨在使用来提供存储服务的 IT 过程更趋合理

外向标准化
外向标准化是指向客户端组织提供一个标准存储服务菜单,而不是提供针对客户端
配置的特定设备。例如,在调查了客户端组织的需要后,IT 部门决定提供四类服
务:
■ 非冗余卷
■ RAID5 保护卷
■ 镜像卷
■ 镜像和复制卷
基于对存储消耗客户端的分析,该部门决定以 100 GB 和 250 GB 为单位提供这四类
存储。
外向标准化可为用户提供指定质量的容量,而不是设备。它通过使现有存储组件能
够彼此互换来帮助控制成本。在短期内,由于以它为基础的虚拟容量可用于有需要
132 实施标准化
实施存储管理标准化

的任何用户,因而可以增加数据中心所拥有的存储硬件的利用率。从长远看来,将
存储服务标准化可在客户端方面引入一个行为规范,从而便于进行存储规划和提供
服务。它使 IT 组织在向数据中心引入新的不同技术时更具灵活性,因为提供给客户
端的服务仍保持不变。

内向标准化
内向标准化是指使用于实现标准外向服务的组件和工具更趋合理。其特点是,通过
减少用于提供存储服务的工具和硬件类型的数量,立即实现运营成本节省;从长远
看来,可通过使安装的存储硬件库与企业数据需求更相适应来实现成本节约。
每削减一个存储管理工具,即可立即节约在许可证和维护方面的支出。由于管理员
可以有更多时间来处理更少的工具,因而其业务熟练程度会大大提高。最终结果是
既提高了效率,又改进了服务质量,因为错误会更少。

实施存储管理标准化
通常,IT 组织实施外向存储管理标准的速度会比实施内向标准更快,因为前者需要
的资本投入更少。此外,通过限制所提供存储服务的数量和类型,外向标准化可以
简化内向标准化阶段的工具和硬件组件需求。不过,最终的运营成本节省仍然来自
内向标准化。因此,存储管理的标准化过程包含两个必要部分。
如果 IT 组织确信存储管理标准化能够为企业带来效益,它必须采取相应措施以确保
标准化是切合实际的,而不是一种学术性试验。

实施外向标准
与任何形式的效用计算一样,存储管理标准化也无法由 IT 组织独立完成。不仅 IT
组织必须对其效益确信无疑,其客户端也必须相信这一点。有鉴于此,在实际开始
基于标准的存储管理实施之前,企业中的所有相关各方都必须参与目标设定、效益
分析以及风险评估。这里,所有相关各方不仅限于 IT 客户端,还包括企业的执行和
财务管理层,以及 IT 组织本身的体系结构、实施和运营组成部分。
外向标准定义需要企业的广泛参与,部分原因是要确保满足客户端的真正存储需
要。在定义标准的过程中纳入用户部门意见会使他们在实施时更易于接受这些标
准,更重要的是,他们可能会自行找到使用标准服务的方式,而不是仅提出一时的
特定服务要求;相对于提出请求的部门,后者会给企业带来更多后续工作。
在确保存储管理标准得以遵循的过程中,同样重要的是为防范违规行为创建一道屏
障。IT 组织必须在为企业各业务单位提供有效服务和控制信息技术成本之间的夹缝
中寻求一条出路。一方面,它必须满足业务的信息技术要求,另一方面,它还必须
强制实施某种行为规范,以避免因无节制的特殊要求而导致开销膨胀。
您可以通过多种方式鼓励客户端组织遵循存储标准。例如,标准的操作程序应当
是,当请求非标准服务时,应同时提供一份书面解释,说明为什么标准服务(在客
实施标准化 133
从这里开始标准化

户端组织的协助下创建的)不能满足目标需求。这类请求应出示给执行管理层,或
许是一个数据存储策略监督委员会,其职责就是确保一方面标准得以尽可能遵循,
另一方面标准仍与具体业务需要相关。
IT 组织本身应具有一套用来评估非标准存储服务生命周期成本的标准方法。生命周
期成本评估应包括硬件和软件的获得成本以及日常维护成本,还应包括专业化带来
的管理员成本——培训、技能更新以及管理员多能性的丧失。非标准服务的总体成本
应出示给执行管理层和数据存储监督委员会这样的级别。当然,其中的某些成本仅
凭猜测,并且难以量化,但它们仍然是不按标准行事所带来的总成本中的重要一部
分。

实施内向标准
在某些方面,IT 组织本身就是实施标准化的最大挑战。管理员无疑会对他们所负责
的平台和组件产生依附心理。他们认为自己在平台和特定工具方面的专长是他们对
于组织的价值所在。要想成功实施存储管理标准化,必须使管理员团队觉得这会增
强他们的能力,而不是对其产生威胁。例如,在内向标准化过程实施之初,就应当
为管理员准备好有关选定作为标准的工具和平台的培训,这些管理员已熟知各种组
件,但这些组件最终要被淘汰。理想的做法是,为管理员配备一些可通过实践帮助
他们获取新技能和专业知识的伙伴。

从这里开始标准化
企业数字数据存储非常昂贵且复杂。期望一夜之间从特定存储管理转换到基于标准
的运行模式是不现实的。成功的一项重要因素就是制定转换计划。必须平衡转换时
间,以便能够开始从中获益、不被中断,并且企业在转换过程中仍能正常开展业
务。

制定向标准存储管理转换的计划
如前面所述,外向存储服务和内向实施都必须经过深思熟虑,以便能够满足当前及
未来的企业需求。所建议的标准存储服务必须进行全面测试,既包括功能的正确性
和用途的适宜性方面,也包括其配置和投入运行的快捷性和平滑性方面。某些 Storage
Foundation 高级功能(如磁盘阵列间的联机数据迁移和文件系统的联机扩展和收
缩)在平滑转换到基于标准的存储管理环境过程中可扮演重要角色。
向基于标准管理的存储系统转换时,针对每个应用程序制定详细计划是转换的一项
基本要求。该计划应在多个方面考虑风险与回报之间的平衡:
■ 应用程序对于企业业务运营的重要性。例如,销售系统零售点处中断 3 天的影
响显然是无法接受的,但人力资源系统中断 3 天可能并无大碍。
■ 转换的复杂性。例如,从基于磁盘阵列的远距离复制转换到基于 VxVM 的复制
通常比从基于磁盘阵列的镜像 LUN 转换到基于 VxVM 的虚拟卷(其镜像是两个
不同阵列中的 LUN)要复杂得多。
134 实施标准化
从这里开始标准化

■ 应用程序和管理员团队的准备情况。例如,可以指派有经验的管理员来帮助其
他人完成向新工具和新服务的首次转换。随着管理员和用户不断积累经验,实
施更复杂的转换部分的风险会逐渐减小。
任何类型的新 IT 过程的引入都没有通用的正确答案。主要由削减成本目标驱动的组
织倾向于更有魄力一些,他们会基于节约潜力排定要转换的应用程序的优先顺序。
较为保守的组织倾向于根据服务中断的潜在影响来排定要转换的应用程序的顺序,
并且至少要等到他们对标准存储工具和技术有了足够经验、能够从容应对转换过程
时才会开始实施。每个企业都必须基于它最关注的方面来确定优先顺序。

成功部署的几点提示
不管企业为向基于标准的存储管理转换确定的优先级如何,都应特别关注一项策
略,即将新服务器部署限制给标准存储工具和服务。您必须以某种方式为新服务器
提供存储功能。这些服务器的用户可能不像现有系统的用户那样已经有了一些固有
的经验和期望。
实施存储标准化过程中的另一项审慎措施就是以较小的步伐推进。尽管利用高级功
能来改进服务质量很有吸引力,但更稳妥也更容易取得成功的方式是先将基本功能
标准化,然后再随着经验基础的扩张逐步添加各项功能。例如,将现有 LUN 封装
为 VxVM 卷以及将现有文件系统转换为 VxFS 文件系统通常不会使应用程序或操作
过程有显著改观。但是,它会为使用基本 Storage Foundation 功能(如联机数据移
动和协调卷)以及为用户提供更高级的功能(如节省空间的快照和动态多径处理)
建立基础。

使用动态分级存储以迅速获得回报
业内人士认为,在早期实施阶段有一个 Storage Foundation 高级功能特别值得关注
——动态分级存储 (DST) 工具。动态分级存储可立即减少联机存储的平均成本,并且
对于应用程序和存储工具(如备份)是完全透明的。
根据管理员定义的策略,动态分级存储会自动将新文件放在与文件的业务价值相匹
配的存储设备上,并且会在要求或价值发生变化时将文件重定位到不同的设备。因
为 DST 是在单一文件系统命名空间的限定中完成其工作,所以它对于应用程序是完
全透明的。
DST 支持非常广泛的多层存储分层结构,但它可以使用一个简单的两层策略实现最
显著的节约。对于多数企业来说,大部分联机文件的访问都不是很频繁。DST 可以
发现并将不活动的文件重定位到成本较低的第二层存储。因为 DST 将存储层映射到
管理员定义的 VxVM 卷集中,所以管理员可以一次定义存储层和文件放置策略,之
后当业务、经济和技术情况适于进行替换时,再替换物理存储设备,而无需更改策
略。
使用 DST 甚至不需要新硬件。例如,多数磁盘阵列 LUN 可配置为镜像式或 RAID5。
管理员可将顶层存储定义为基于镜像 LUN 的 VxVM 卷,将第二层存储定义为基于
RAID5 LUN 的卷。当数据处于不活动状态时,DST 可自动将其移到 RAID5 LUN。
实施标准化 135
从这里开始标准化

使用由 4 个磁盘驱动器组成的称为“3+1”的 RAID5 LUN,存储不活动数据的每字


节成本可立即减少 33%。使用较大的 RAID5 配置时,节省会更多。
当需要替换原始卷所基于的设备时,即使替换 LUN 与其替换的 LUN 的类型不相
同,也可以使用基本 Storage Foundation 工具将原始 LUN 内容复制到替换 LUN,
此时数据仍在使用中。因此,在早期阶段引入 DST 可立即获得存储硬件节约回报,
并且可以为以更少的中断提供更高质量的存储服务建立基础,以应对要求的改变以
及旧硬件的淘汰更新。

更深入的存储标准化彰显更多 Storage Foundation 价值


随着数据中心向标准化存储管理的转换实践的深入,Storage Foundation 高级功能
开始逐渐彰现其价值。例如,如果有成百上千的 LUN 要进行配置、虚拟化和分配
到服务器,则使用 Intelligent Storage Provisioning 可加速存储部署、减少错误并
确保符合企业的虚拟存储意向。同样,Storage Foundation Management Server 可
以集中管理所有与 Storage Foundation 相关的对象(磁盘、卷、文件系统、数据
库、服务器和应用程序),从而为数据中心提供广泛的视野,使得管理决策和操作
更具信息依据。即使是基本 Storage Foundation 功能也会随部署的增加而提供更高
价值:
■ 使用远距离光纤通道网络链接,基于磁盘阵列的若干公里外的远程同步复制可
替换为基于 VxVM 的镜像,从而消除了复制软件的日常运行成本。
■ 同样,基于磁盘阵列的快照工具可替换为基于 Storage Foundation 的工具。节
省空间的快照可减少频繁快照的硬件成本,并且能够在对运营产生最小影响的
情况下测试恢复方案。Storage Foundation 快照可放在第二层存储上,从而进
一步减少了硬件成本。Storage Foundation 快照不仅可以削减基于磁盘阵列的
快照软件的日常运行成本,借助 Portable Data Container 工具,Storage
Foundation 快照中的数据还可以由不同类型的平台共享。
■ 随着单一用途、单一平台的工具逐渐被清除,许可证、日常维护和培训费用也
相应降低。
■ 当单一用途工具被清除后,更多管理员开始关注基于 Storage Foundation 的标
准过程,它适用于所有计算和存储平台,可增强管理员的多能性并减少因业务
不熟练导致的错误。
■ 简单管理性操作(如创建和扩展卷、虚拟存储重组等)方面增加的自动化处理
将管理员解脱出来,使他们能够关注于更具策略性的问题,如性能分析、容量
计划以及新技术的评估等。
对于大多数用途,Storage Foundation 虚拟卷都与基于磁盘阵列的 LUN 相当。这
使您能够顺畅度过在转换到新组件或新操作过程之前新、旧存储功能必须并行运行
的一段时间。
136 实施标准化
摘要:基于 Storage Foundation 实现标准化

摘要:基于 Storage Foundation 实现标准化


将数据中心的存储管理过程标准化的意义毋庸置疑。随着企业联机数据保持量的增
加,其管理工作量及占用的存储容量也在增加,并且在信息技术预算中所占的比例
日趋可观。缩减存储管理成本的一条明显途径就是降低其复杂性,为此,可以减少
所提供的不同存储服务的数量,以及实现这些服务所需的工具和过程的数量。
前面各章论述了 Symantec 的 Veritas Storage Foundation 的价值主张:
■ 在单一软件包中完成基本和高级存储管理功能
■ 为主要 UNIX 和 Linux 计算平台以及主要磁盘阵列和存储网络组件提供了一个
通用存储管理范例
■ 包含数据中心存储全局视野的集中化管理可确保实现以信息为依据的存储决策
和操作
■ 存储管理软件堆栈内部的集成以及与相邻存储和数据应用程序的集成降低了存
储管理任务的复杂性
因此,如果希望对常见存储管理任务进行简化、优化和自动化,以及为 IT 组织创造
机会,使其能够为自己的业务单元客户端提供改进的存储服务质量,以此将不断增
长的存储管理成本置于自己的控制之下,则 Veritas Storage Foundation 是您的首
要之选。如本章所述,您可以定制向基于 Storage Foundation 的标准化存储管理实
践的转换过程,以满足各种需要并遵从任何企业 IT 组织的优先顺序要求。对于任何
希望将信息技术成本置于自己的掌控之下的企业,Symantec 的 Veritas Storage
Foundation 都值得给予特别关注。
Symantec Yellow Books™
存储管理的标准化

降低存储管理复杂程度的途径
减少企业存储管理复杂程度进而降低成本的两种基本方法是:限制数据中心的服务器、存储设备和网络对象类型;
使用可以管理多种类型对象的通用管理工具。通过减少设备类型对实现标准化会起到一定作用,但此方法并不适合
于大量的存储设备,例如,在需要快速正确地管理数十或数百台计算机以及数千个存储设备时。一种更有效的方法

存储管理的标准化
是使用管理工具,管理工具可提供众多功能,同时支持数据中心的大多数计算和存储平台。

本书即介绍了这样一种工具集 — Symantec 的 Veritas Storage Foundation,并介绍了如何使用该工具集对数据中心所


有平台上的存储配置和管理进行标准化,从而以更低的管理成本提供更优质的服务。存储设计师、管理员、集成人

存储管理的标准化
员和咨询师需要了解 Storage Foundation 以及该工具集是如何降低服务成本的。Symantec 黄皮书用于向合作伙伴和
客户以及一般意义上的技术社区传播技能和关键技术。 这些书介绍 Symantec 解决方案如何处理现实中的业务和技
术难题,说明产品实现和集成的关键技术,可提高 IT 职员和咨询师安装和配置 Symantec 产品的能力。

使用 Veritas Storage Foundation™


提高整个企业存储管理的有效性

关于 Symantec Yellow Books™ Sean Derrington


Symantec 黄皮书用于向合作伙伴和客户以及一般意义上的技术社区传播技能和关键技术。这些书介绍 Symantec
解决方案如何处理现实中的业务和技术难题,提供产品实现和集成的关键技术,可提高 IT 职员和咨询师安装和配
Josh Kahn
置 Symantec 产品的能力。

Paul Massiglia

www.symantec.com
版权所有 © 2006 Symantec Corporation。保留所有权利。 09/06

SYB_SSM_FF_cs.indd 1 2006-9-14 19:34:16

You might also like