信息存储与管理(第二版):数字信息的存储、管理和保护

978-7-115-32326-2
作者: 【新加坡】G.Somasundaram 【美】Alok Shrivastava
译者: 马衡赵甲
编辑: 杜洁俞彬
分类: 存储

图书目录:

详情

本书由EMC存储专家撰写,采取了开放式教学方法介绍信息存储和管理、重点概念和原则,而不是产品的细节,适用于大部分IT环境,以帮助读者全面了解信息存储技术。内容涵盖:信息存储和管理、存储选项和协议、业务连续性和复制、安全和管理4部分。

图书摘要

信息存储与管理(第二版) 数字信息的存储、管理和保护
[新加坡] G.Somasundaram [美]Alok Shrivastava 著

马衡 赵甲 译

王永康 陈弘 井超 主审

人民邮电出版社

北京

图书在版编目(CIP)数据

信息存储和管理:数字信息的存储、管理和保护/(新加坡)萨曼达(Somasundaram,G),(美)希瓦史塔瓦(Shrivastava,A. )著;马衡,赵甲译.--2版.--北京:人民邮电出版社,2013.7

ISBN 978-7-115-32326-2

Ⅰ.①信… Ⅱ.①萨…②希…③马…④赵… Ⅲ.①信息管理—研究 Ⅳ.①G203

中国版本图书馆CIP数据核字(2013)第131714号

版权声明

Information Storage and Management

Copyright © 2013 by EMC Corporation

All rights reserved. This translation published under license.

Authorized translation from the English language edition published by Wiley Publishing, Inc.

本书中文简体字版由Wiley Publishing公司授权人民邮电出版社出版,专有版权属于人民邮电出版社。

内容提要

信息的管理和安全对于企业的成功至关重要,它已经发展成为一门高度成熟和复杂的IT支柱产业和学科。本书是同名书籍的第二版,主要包括存储系统的各个组件和不同存储系统的模型,以及与“云计算”相关的重要信息和新技术。

本书所涵盖的概念、原理和方案部署理念贯穿了整个信息存储和管理技术的范畴。本书包含5个部分,包括新增的章节“云计算”,主要阐述以下方面的内容:重复数据删除技术、虚拟资源调配、统一存储、连续数据保护技术、FCoE、闪存、存储分层、大数据、物理和虚拟环境下的业务连续性和安全,以及关于存储模型(NAS、SAN)和基础设施组件虚拟化存储对象的详细信息。

本书适合作为高校信息管理专业的教材或参考书,同时也非常适合信息管理专业技术人员、IT 经理人等专业人士阅读参考。

◆著 [新加坡]G.Somasundaram [美]Alok Shrivastava

译 马衡 赵甲

主审 王永康 陈弘 井超

责任编辑 俞彬

执行编辑 杜洁

责任印制 程彦红 焦志炜

◆人民邮电出版社出版发行  北京市崇文区夕照寺街14号

邮编 100061  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

北京昌平百善印刷厂印刷

◆开本:787×1092 1/16

印张:19.5

字数:522千字  2013年7月第2版

印数:8501-12 500册  2013年7月北京第1次印刷

著作权合同登记号 图字:01-2013-3651号

定价:45.00元

读者服务热线:(010)67132692 印装质量热线:(010)67129223

反盗版热线:(010)67171154

广告经营许可证:京崇工商广字第0021号

推荐序

信息化是不可逆转的发展趋势,经济和社会的发展离不开信息化。信息化已经对经济、社会的发展和人类的进步产生了重大的推动作用,今后也必将产生更大的影响。而在信息化进程中,信息的存储与管理是核心。存储像是一个坚强的基石,支撑着信息化的快速发展。

然而,存储不仅是设备本身,也不仅是技术本身,还包含了更加复杂的系统化的全局观念和新颖的管理理念。随着信息量的爆炸性增长,信息管理的复杂程度也急剧增加。高水平的信息存储管理人员在全球范围内普遍缺乏,专业人员的培养需求迫切。培养优秀的专业人才离不开优秀的教材,而《信息存储与管理(第二版)》的出版,从专业培训的角度来看,可以说是填补了空白。

本书特色明显,主要体现在:(1)内容新颖实用。本书既介绍了iSCSI等新的网络存储概念,也描述了实现存储可靠性和安全性的远程复制、存储安全域等新技术。(2)知识系统丰富。本书包含了从设备到系统、从直连存储到网络存储、从智能化存储管理到存储虚拟化、从存储可靠性到存储安全性,知识系统而全面。每章后面的小结归纳了本章的重要知识点,所附的练习题有利于考查对本章知识的掌握情况。附录中的缩略语为更好地阅读本书提供了帮助,而术语表为更好地与他人交流提供了共同语言。(3)理论与实践结合。本书在讲授基本原理的基础上,结合具体的软、硬件产品作为范例剖析,不仅为存储管理人员提供了具体的实例参考,也为存储研究人员提供了技术借鉴。

参与本书原文编写的有约20位来自EMC教育服务部门的专家,并经多位专家全面审阅,最后由G.Somasundaram和Alok Shrivastava 两位业界资深专家撰写统稿而成,体现了集体的智慧。本书中文译、校者来自北京大学、中山大学等国内著名大学和EMC等知名企业,译著文字顺畅、概念准确。

《信息存储与管理:数字信息的存储、管理和保护》一书适合作为高校学生和教师、企事业信息管理专业技术人员的培训教材,也适合IT经理人、信息存储研究人员等专业人士阅读参考。

我相信,《信息存储与管理:数字信息的存储、管理和保护》一书的出版能为我国培养信息存储与管理方面的专业技术人才和管理人才做出贡献,能为提升我国的信息存储技术应用水平起到良好的促进作用,从而有利于加速我国的信息化进程。

博士

中国计算机学会信息存储技术专业委员会 主任委员

国防科技大学计算机学院 研究员

中国电子学会网络存储工程师专业技术资格认证 特聘专家

第二版序

首先衷心祝贺EMC学院联盟主编的《信息存储与管理(第二版)》即将付梓,也非常荣幸地能代表EMC为此书作序。

《信息存储与管理(第二版)》的出版正当其时,这和IT行业的需求紧密相连。目前IT行业正面临着前所未有的挑战:一方面,随着平板电脑等智能终端的日益普及和社交网络的兴起,我们的信息世界在急速膨胀,2012年全球产生的数据总量已达到2.7ZB(1ZB=1万亿GB),较2011年增长48%。如何存储、管理和保护这种巨量的信息?另一方面,IT架构尤其是企业IT架构也日趋复杂,成本不断攀升,而IT预算却在减少。IT技术将如何帮助企业提升响应能力和资源利用率,降低软硬件采购和管理成本,提高竞争力?面对这种挑战,IT行业需要不断创新,以及培养更多、更优秀的人才。作为云计算和大数据方向的IT行业领先者,EMC责无旁贷;而在中国这个快速发展的市场推动创新和培养人才,更是EMC中国卓越研发集团的使命之一。

作为一个重要的里程碑,EMC全球总裁乔·图斯先生于2006年宣布投资5亿美元在上海建立EMC中国研发中心,使中国成为EMC的全球软件研发基地之一。时至今日,EMC中国研发中心已发展成为EMC中国卓越研发集团,并成为EMC最重要的创新中心之一。集团下设存储技术研发基地、云计算研发基地、信息管理研发基地、中国实验室、全球解决方案中心和全球客户技术支持中心,共6大职能部门,在北京和成都均设有研发中心,以招募最优秀的人才。目前员工已达1700多名。EMC中国卓越研发集团每时每刻都向EMC业务部门提供优质的软件与硬件开发与质量保证,为中国、亚太地区和全球的客户提供世界一流的产品和服务。

在人才培养方面,EMC推出了完整的、先进的培训和认证体系,并在全球高校中广泛开展教育项目的合作——EMC学院联盟项目。这个项目旨在普及信息管理知识,已经向高校赠送开放式课程《信息存储与管理》、《云架构及服务》和《数据科学与大数据分析》,今后还会贡献更多的课程。目前EMC学院联盟已经覆盖了全国所有的省市,并拥有超过300所高等院校的加盟,每年培训超过 2 万名学生,而且这个数字每年都在快速地增长。除此之外,EMC 与众多中国一流的高校有着长期、深入的全面合作,包括教育和科研机构建设、学科共建等,其中包括“EMC-复旦网络存储培训中心”和清华大学的“EMC课堂”;每年,EMC中国卓越研发集团都会举办“iStorage爱存储”知识竞赛,吸引了大批EMC学院联盟的学生参与,其中不少优秀的学生在毕业后加入了EMC中国卓越研发集团。每年,EMC学院联盟都会邀请大批学生与教师参观EMC中国卓越研发集团的办公室,与技术专家和管理人员进行面对面的交流,为大学生和跨国IT公司架起了一座桥梁。

最后,我希望《信息存储与管理(第二版)》能帮助到更多愿意了解和投入到信息化浪潮中的人们。

EMC全球副总裁

EMC中国卓越研发集团总经理

注:2012 年信息总量数据来自 IDC 数字世界研究 http://www.idc.com/getdoc.jsp? containerId=prUS23177411

原书序

在本书第一版出版之后的两年内,我们所了解的世界发生了前所未有的巨大变化。我们身处一个数字时代,信息量不到两年就翻一番。在未来十年内,全球的IT部门需要管理的信息量将增长50倍,但是相关的IT专业人员只增长1.5倍(数据来自2011年6月由EMC赞助的IDC数字宇宙研究报告)。虚拟化和云计算对于企业来说不再是一个可选项,而是一个生存的必选项。大数据正在创造一个巨大的新机会,企业可以对自己最有价值的资产——信息进行分析、采取行动和创造新的价值,并最终成为自己的竞争优势。

信息技术领域正在经历一场巨大的变革。云带来了颠覆性的新技术、计算模型和学科,极大地改变了IT的构建、运作、管理和消费方式。它创造了新的角色,如云技术专家和云架构师,来引领这场变革。IT组织正在从后台的基础设施管理方(任务是保证正常运行),转变为主要的战略性业务贡献方,工作重点是将IT作为服务来提供。

所有的这些变化都要求我们在IT组织内创造新的核心竞争力,在业务需求和战略目标的框架下建立对于技术的新思维(甚至重建数据中心的组织结构)。信息存储和管理专业人员必须在已有知识的基础上,获得新的关键技能,才能成功踏上这一将耗费几年时间的、复杂的云端之旅。我们认为的关键技术有:虚拟化、聚合网络(converged networking)、信息安全、数据保护以及数据仓库和分析等。

我们对信息存储和管理进行了修订,希望带给您新的认识,以及当前急需的新的技术和技能的一些幕后见解。这些技术和技能,在设计、实现、管理、优化和利用虚拟基础设施,并最终实现云的商业利益方面具有不可或缺的作用。你将跟随拥有业界最先进的培训、认证和实践经验的EMC专家进行学习。

如果你是存储和信息管理方面的专业人士,正在实施数据中心的虚拟化,或正在构建一个稳健的云基础设施,或你只是对学习这些方面的概念或原则感兴趣,现在正是更新你的IT技能的关键时机。借助本书,并利用相应的新的培训和认证机会,你可以加速更新你的技能,填补关键技能的空白,从而获得职业发展,为你所在的公司的成长、持续发展和盈利能力贡献自己的力量。

这个行业的挑战有很多,回报也同样丰厚。尼尔森·曼德拉说过:“教育是最强大的武器,你可以用它来改变世界。”我衷心希望这本书能在你的IT教育和职业发展(不管你现在担任什么职位)的路上起到关键的作用,希望你抓住这个机遇,改变自己,也改变世界。

Thomas P. Clancy

EMC全球副总裁,教育服务部

2012年5月

前言

信息存储是信息技术的中流砥柱。无论是个人用户还是企业IT用户,他们每时每刻都在产生着海量的数字信息。我们需要对这些处于传统环境、虚拟环境以及迅速发展的云环境中的信息进行存储、保护、优化和管理。

曾几何时,人们对信息存储的认识还仅仅是连接到电脑主机背后的那一摞摞用于保存数据的磁盘或磁带。即使在今天,也只有那些存储业内人士才深知信息存储技术对于IT基础设施的可用性、高性能、完整性和信息优化所发挥的至关重要的作用。近十年来,信息存储技术已发展成为尖端技术,为数字信息的存储、管理、互联、保护、安全、共享和优化提供了丰富多彩的解决方案。

虚拟化的广泛应用、云计算的出现、数据量每年的高速增长、数据类型和来源多样化——所有这些因素都让现代存储技术在企业和组织成功中扮演着越来越重要的角色。在传统、虚拟及云环境下,如何雇佣存储领域的专业人才,是主管们正面临的严峻挑战。

尽管许多一流大学已经开始在其计算机或信息技术专业的教学计划中加入了专门讲授存储技术的课程,但遗憾的是,当今的许多IT专家们,甚至包括那些有着多年经验的专家,都未曾获益于这种正规教育。因此,包括应用、系统、数据库及网络管理等多个领域在内的资深专家,对于存储技术对各自领域所产生的影响并不具备一个统一的认知基础。

我们编写本书的目的在于:使学生和专业人士对存储技术的各个环节形成一个完整全面的认识与理解。尽管本书的实例部分采用的是EMC公司的产品,但是,读者通过本书形成的对于技术概念及其基本原理的理解,必将有助于轻松地掌握其他公司的相关产品。

本书分为5个部分,共15章。其中,高级专题是基于其前面章节所掌握的内容深化而来的。第1部分介绍虚拟化和云基础设施的概念,这些概念贯穿全书,确保对于存储技术的探讨覆盖传统环境、虚拟环境和迅速发展的云环境。

第1部分,存储系统:这4章讲述了信息增长及其带来的挑战,定义了存储系统及数据中心环境,回顾了存储技术的发展历程,并介绍了智能存储系统。这一部分还介绍了虚拟化和云计算的概念。

第2部分,存储网络技术:这4章涵盖了光纤通道存储区域网(FC-SAN)、IP存储区域网(IP SAN)、网络连接存储(NAS)、基于对象的存储和统一存储。对统一存储和聚合网络(FCoE)的概念也进行了介绍。

第3部分,备份、归档和复制:这4章介绍了传统环境和虚拟环境中的业务连续性、备份及恢复、数据去重、数据归档、本地数据复制和远程数据复制。

第4部分,云计算:这一部分讲述的是云计算的内容,包括基础设施框架、服务模型、配置选项以及迁移到云需要考虑的问题。

第5部分,存储基础设施的安全与管理:这2章涵盖了存储安全、存储基础设施的监控和管理。其中包含了虚拟和云环境中在安全和管理方面需要考虑的问题。

此外,本书的网站还提供了一些最新的辅导资源和阅读材料,有兴趣的读者可以访问http://education.EMC.com/ismbook,以获取更详尽的信息。

EMC学院联盟

我们真诚地邀请有意教授《信息存储与管理:数字信息的存储、管理和保护》课程的大专院校参与 EMC 学院联盟计划。参与该计划可获得针对以下课题的独特的公开课程教育:

• 信息存储和管理

• 云基础架构和服务

• 数据科学与大数据分析

• 备份恢复系统及体系结构

本计划为教学机构免费提供各种课程资源,帮助学生在迅速变化的 IT 业界获得工作机会。具体内容请访问http://education. EMC.com/academicalliance。

EMC认证专家证书

EMC认证专家是IT业界领先的培训和认证项目,涵盖了信息存储技术、虚拟化、云计算、数据科学/大数据分析等方面的内容。

参与认证是对自己的投资,也是对经验的检验。

本书是EMC信息存储及管理专家认证考试(E10-001)的辅导教材。通过此考试将获得ECM认证专家——信息存储准专家(第2版)的认证。

欲了解其细节,请访问http://education.EMC.com。

致谢

当我们开始本书的编撰时,首当其冲的挑战就是如何寻找一个对构成现代信息存储基础设施的广泛技术有着全面了解的专家队伍。

激发并支持我们完成本书的一个关键因素就在于:在EMC,我们有着丰富的技术和经验,以及许许多多业界最优秀的人才。和这些专家交流时,他们都和我们一样对出版这本全面涵盖信息存储技术的书籍的前景倍感兴奋,因为这是使他们能够与全球的专家和学生们分享他们专业知识的一个难得的契机。

本书是在EMC教育服务部的指导下,在CTO办公室、全球市场部、EMC研发部门的支持下,由EMC许多关键部门的努力和奉献所凝聚的结晶。

本书第一版出版于2009年,是在来自EMC教育服务部的Ganesh Rajaratnam和来自EMC CTO 办公室的David Black 博士带领下完成的。出版后一直是最受专业人士和学生欢迎的存储技术类书籍。除了英文纸版和电子版外,本书还有简体中文版、葡萄牙语版和俄语版。

随着云计算的兴起和虚拟化技术的广泛应用,我们觉得有必要对书的内容进行更新,加入对信息存储领域出现的新技术和新成果的介绍,于是就有了本书的第二版。第二版的内容更新是在来自EMC 教育技术部的Ashish Garg 的带领下完成的。而内容的审阅则是由Joe Milardo 和Nancy Gessler 牵头,是他们协同专家团队共同完成的。

下列来自EMC的专家参与编撰审阅了本书的某些章节,我们在此向他们表示衷心的感谢。

编撰:

Rodrigo Alves Anbuselvi Jeyakumar Charlie Brooks Sagar Kotekar Patil

Debasish Chakrabarty Andre Rossouw Diana Davis Tony Santamaria

Amit Deshmukh Saravanaraj Sridharan Michael Dulavitz Ganesh Sundaresan

Anand Varkar Dr. Vanchi Gurumoorthy Dr. Viswanth VS Simon Hawkshaw

Jim Tracy

审阅:

Ronen Artzi Jack Harwood Eric Baize Arthur Johnson

Greg Baltazar Michelle Lavoie Edward Bell Tom McGowan

Christopher Chaulk Jeffery Moore Roger Dupuis Toby Morral

Deborah FilerPeter Popieniuck Bala Ganeshan Kevin Sheridan

Jason Gervickas Ed VanSickle Jody Goncalves Paul Brant

Juergen Busch Brian Collins Juan Cubillos John Dowd

Manoj Kumar Wayne Pauley Ira Schild Shashikanth,Punuru

Murugeson Purushothaman Shekhar Sengupta Mike Warner

Ronnie Zubi Evan Burleigh Ed Belliveau

我们还要感谢 EMC 的 Mallik Motilal 为本书制作了所有的插图,感谢 EMC 的 Mallesh Gurram为本书设计封面,感谢本书的出版商John Wiley & Sons协助本书及时出版。

——Somasundaram Gnanasundaram,EMC 公司教育服务部主管

——Alok Shrivastava,EMC 公司教育服务部资深主管

2012年3月

作者简介

Somasundaram Ganasundaram(Somu)目前是EMC全球服务部的主管,引领着全球业界的培训创新。Somu是EMC开放课程的架构师,该课程旨在填补IT业界关于存储和新兴云计算知识的鸿沟。在他的率领和指导下,EMC学习伙伴(EMC Learning Partner)、学院联盟(EMCAcademicAlliance)等业界培训创新项目如火如荼地持续发展壮大,为全球信息存储和管理技术领域培养了成千上万的优秀学生。Somu 所负责的关键领域包括指导全球专家小组、发掘全球IT教育提供商并建立合作以及为EMC的业界培训创新制定总路线。在此之前,Somu曾担任EMC以及其他IT领军厂商的多个管理及领导职位。Somu毕业于印度金奈的安那大学(Anna University Chennai),并获得孟买印度理工学院(Indian Institute of Technology)的硕士学位。他拥有25年的IT从业经验。

Alok Shrivastava是EMC 教育服务部门的资深主管。Alok 是EMC 许多成功培训创新计划的架构师,如业界领先的EMC专家认证项目、EMC学院联盟培训项目以及这本关于信息存储技术的独特而宝贵的书籍。Alok以其卓识远见领导着一个由高水平专家组成的团队,共同为 EMC 员工、合作伙伴、客户和其他业界专业人士提供世界一流的技术培训。在此之前,Alok曾在亚太地区和日本组建并率领了一个富有成就的EMC售前工程师团队。Alok在早期还曾作为系统管理员、存储管理员以及备份和灾难恢复顾问,效力于全球许多大型数据中心。他获得了印度理工学院(Indian Institute of Technology)和印度Sagar大学(University of Sagar)的双硕士学位。在超过30年的IT 从业生涯中, Alok一直对信息存储技术领域怀着情有独钟的热情。

译者简介

马衡,EMC 公司中国卓越研发中心企业存储部门高级文档工程师。参与了 EMC Symmetrix DMX-4、VMAX系列以及VPLEX等产品文档的设计和编写,同时负责分析和总结对客户影响较大的产品问题,对存储技术和存储解决方案有较好的理解。具有7年的IT行业从业经验,涉及存储、关系数据库、数据仓库、数据分析和挖掘等领域。在加入EMC 之前,曾在IBM的信息管理部门工作,参与了数据仓库InfoSphere Warehouse、数据分析工具Cubing Services和IBMAlphablox多个版本的开发和测试工作。

赵甲,曾在EMC、HP和中国邮政等多家国内外知名企业从事技术工作。拥有多年存储工作经验,曾多次承担重大项目的规划和实施工作,在存储规划、性能调优和容灾方向拥有丰富经验。现就职于中国建设银行北京数据中心,担任高级信息技术工程师,主要负责EMC存储全系产品的研究工作。

主审简介

王永康,现任 EMC 公司学院联盟计划大中国区高级经理,中国电子学会教育工作委员会委员,全球网络存储工业协会(SNIA)中国教育委员会副主席。王永康先生是IT行业的教育专家,主要工作是在大中华地区的著名高校中普及与存储、云计算、大数据相关的技术和知识,致力于为IT行业培养未来的专业人才。王永康先生及其领导的团队代表EMC与全国各大教育机构建立了长期的合作伙伴关系,涉及学科建设,科研开发,实习生计划,联合实验室等各个领域。王永康在IT行业从业15年,之前在EMC担任资深技术顾问。

陈弘,现任EMC中国卓越研发集团统一存储部门总监,主持和领导EMC统一存储产品系列包括CLARiiON,Celerra,VNX和VNXe在中国的开发、测试、系统工程等活动。陈弘在通信和IT行业从业十余年,在加入EMC之前,陈弘在朗讯科技和阿尔卡特-朗讯的光网络产品和接入网络产品研发部门从事多年的通信系统产品软件开发、系统工程及其相关的领导工作。

井超,现任EMC大中国区培训服务经理,专注于培训领域超过了10年,为大陆、港、台三地的客户和合作伙伴提供企业级专业的技术培训,涵盖了虚拟化、云计算、大数据和数据中心基础架构等最前沿的技术及解决方案。从早年的网络公司Novell到通信公司摩托罗拉等,井超先生担任过售前、售后工程师,拥有超过10年的网络、通信理论及实战经验。井超先生及其 EMC 培训团队作为国内网络存储及云计算技术的布道者,每年为国内培训上千名存储专家、虚拟化专家、云计算专家及数据中心专家。

本书中文版审编人员

主审

王永康 EMC学院联盟大中国区高级经理

陈弘 EMC卓越研发集团软件开发总监

井超 EMC培训部服务经理

执行主审

杨子夜 EMC中国研究院,高级研究员

张正 EMC卓越研发集团,顾问工程师

吴文磊 EMC学院联盟助理项目经理

审编

李虎 EMC卓越研发集团,顾问工程师

汪洁 EMC卓越研发集团,副主任工程师

吴俊 EMC卓越研发集团,软件工程高级经理

许杰 EMC卓越研发集团,主任工程师

杨铭 EMC卓越研发集团,副主任工程师

曾军 EMC卓越研发集团,软件工程经理

章昊翰 EMC卓越研发集团,顾问工程师

章竺 EMC卓越研发集团,主任工程师

赵丙峰 EMC卓越研发集团,主任工程师

周应超 EMC卓越研发集团,主任工程师

顾京晶 EMC培训部,资深讲师

李宝彤 EMC培训部,资深讲师

王立军 EMC培训部,资深讲师

林吉刚 EMC培训部,资深讲师

边俊杰 EMC培训部,资深讲师

吴知岚 EMC培训部,讲师

刘龑 EMC学院联盟主任项目经理

陈实 EMC学院联盟助理项目经理

本书图标说明

第1部分 存储系统

第1章 信息存储与管理的介绍

第2章 数据中心环境

第3章 数据保护:RAID

第4章 智能存储系统

第1章 信息存储与管理的介绍

核心概念

数据和信息

结构化和非结构化数据

存储架构的演变

数据中心的核心部件

虚拟化和云计算

信息在我们的日常生活中变得越来越重要。21世纪,我们生活在一个随令就行、随需应变的世界里,随时随地都可能需要信息,我们已经变得很依赖信息了。每天我们都上网搜索、参加社交网络、收发邮件、共享图片与视频以及使用其他许多应用。随着产生数据的设备数量的高速增长,越来越多的信息由个人产生,超过了由组织(包括商业、政府及非营利组织等)产生的信息量。当由个人产生的信息被其他人共享时,该信息就会增值。信息产生时,通常存储在本地设备上,如手机、智能手机、平板电脑、摄像机、笔记本。共享这些信息,需要通过网络将其上传到集中管理的数据存储仓库(数据中心)。有意思的是,大量信息是由个人产生的,但是这些信息的存储和管理却只由很少的组织负责。

当然,商业世界信息的重要性、依赖性及其数据量也都继续保持惊人的增长速度。商业世界依赖于快速、可靠的信息访问,这对他们的成功十分重要。涉及信息处理的商业应用包括机票预定、通信计费系统、电子商务、电子银行、信用卡交易处理、资本/股票交易、医保保单处理、生命科学研究等。随着商业世界越来越依赖于信息,这为存储、保护和管理信息带来了很多挑战。许多法规和合同对数据的可用性和数据保护提出了要求,这增加了问题的复杂性。

商业组织通常会维护一个或多个数据中心,用来存储和管理信息。数据中心包含数据存储及其他用于运算、联网及数据存储的物理性信息技术资源。在传统的数据中心里,不同的业务部门和业务应用拥有专用的存储资源。随着应用数量的增加和数据量的增长,数据中心出现了彼此独立的信息存储设备孤岛。这增加了信息管理的复杂性,存储资源也得不到充分利用。虚拟化的出现,优化了资源的利用率,并且简化了资源的管理。许多机构把虚拟化技术应用到数据中心,从而把传统的数据中心变成了虚拟数据中心。云计算根本性地改变了信息技术的构建、管理和提供方式,进一步降低了信息存储和管理的复杂度,减少了IT资源的部署时间。云计算带来了完全自动化的需求满足流程,用户可以快速获取所需的存储和其他IT资源。应用云计算,一个机构能够快速部署应用,可以根据需求随时扩展和收缩底层的存储能力。

本章描述了信息存储架构从以服务器为中心模型到以信息为中心模型的演变,对虚拟化和云计算也进行了简单的介绍。

1.1 信息存储

商家通过分析和处理数据来获得对它们每天操作相关的信息,而存储就是允许用户持续存取数字数据的仓库。

1.1.1 数据

数据就是原始事实的集合,从中可以得出一些结论。手写书信、印刷书籍、家庭照片、已签字的抵押贷款文件、银行账册和机票等都包含了数据。

在计算机发明之前,数据的产生和共享仅限于很少的形式,例如,纸和胶卷。今天,相同的数据可以转换成更多便利的格式,如一个邮件信息、一本电子书、一张数字图像或者一部数字电影。这些数据都可以用计算机生成并存储为0和1的字串,如图1-1所示。这种形式的数据称为数字数据,经过计算机处理之后可以被用户使用。

随着计算机和通信技术的发展,产生数据和共享数据的速率也呈指数增长。下面是一些促进数字数据增长的因素。

■ 数据处理能力的提升:当今计算机在处理能力和存储能力上有了显著提高。这促成了把不同类型的内容和介质从传统方式转换为数字格式。

■ 数字存储的低成本:技术的进步和存储成本的降低提供了低成本的解决方案,也促进了价格更低廉的存储设备的开发。这种成本的减少提升了数据产生和存储的增长速度。

■ 可负担的和更快的通信技术:共享数字数据比传统方式更加快捷。一封手写的书信也许需要一周才能到达目的地,而一封电子邮件只需几秒钟就能抵达收件人。

■ 无处不在的应用和智能设备:智能手机、平板电脑、新型电子设备和智能应用贡献了大量的数字内容。

目前,创建、收集和存储各种类型的数据变得廉价且更加容易。伴随着个人和商业需求的增长,加速了数据的产生,这种现象被称为数据爆炸。个人和商业机构对“数据爆炸”有不同程度的贡献。

随着时间的推移,数据的重要性和价值都会改变。大部分产生的数据都只在短期内重要,时间一长就不那么重要了。这一特点影响着数据存储解决方案的选择。通常最近产生的且使用率较高的数据存储在高速但成本较高的设备上。过一段时间之后,这些数据可以被转移到速度较慢、成本低但是可靠的设备上。

研究和商业数据实例:

下面是一些研究和商业数据实例。

„■ 客户数据:关系到公司客户的数据,如订单信息、发货地址以及购买历史清单。

„■ 生产数据:包括产品不同方面的数据,如库存、描述、价格、可用量和销售量。

„■ 医疗数据:涉及医疗护理的数据,如病人历史记录、放射图像、药物详细信息以及其他诊断治疗和保险信息。

„■ 地震学数据:地震学是研究地震的学科。需要收集数据并处理,以获取信息来判断地震的位置和震级。

商业应用会产生大量的数据,然后从中提取有意义的信息来获得经济利益。因此,商业应用需要维护数据并保证其在较长一段时间内可用。更进一步,不同数据的重要程度不同,需要具体的处理。例如,法律和规章制度要求银行必须保证客户账户信息的准确性和安全性。一些商业应用需要处理上百万客户的数据,并保证它们在很长一段时间内是完整的和安全的,这就需要高性能大容量且具有增强安全性能的存储设备。

1.1.2 数据类型

根据存储和管理方式,可以将数据划分为结构化数据和非结构化数据(如图1-3所示)。结构化数据按行和列这种严格的格式组织,以便用户能够高效地检索和处理。结构化数据通常用数据库管理系统存储。

如果数据无法按行和列进行存储,那么该数据就是非结构化数据。这种数据比较难于被商业应用检索和查询。例如,客户联系信息可能会存储成不同的格式,如便签、邮件信息、商业名片,或者数字格式的文件(DOC文件、TXT文本文件和PDF文件)。由于它的非结构化特征,使用传统的客户关系管理应用来获取非结构化数据比较困难。新创建数据绝大多数都是非结构化数据。如何应用新架构、新技术、新方法和新技能来存储、管理和分析各种来源的非结构化数据,并从中获取价值,是业界面临的挑战。

1.1.3 大数据

大数据是一个新提出的且在不断演化的概念,是指数据量超出了常规软件工具在可接受的时间内的抓取、存储、管理和处理能力。它既包括结构化数据,也包括非结构化数据。其数据的来源多种多样,可以来自商务应用处理、网页、视频、图像和社交媒体等。这些数据集通常需要实时地抓取和更新,以用于分析、预测性建模和决策等用途。

从大数据中吸取价值存在很大的机遇。大数据的生态系统(见图1-3)由以下元素组成:

1.从多个位置收集数据,并从收集的数据中生成数据(元数据)的设备。

2.数据收集器,收集来自设备和用户的数据。

3.数据聚合工具,从收集的数据中吸取有意义的信息。

4.数据用户和买家,是指在数据价值链中从他人收集或聚合的数据中获益的人群。

大数据的数据量、多样性、变化范围和复杂性超出了传统的IT设备和数据处理工具及方法的处理能力。对大数据进行实时分析需要新的方法、架构和工具,以提供高性能、大规模并行处理(MPP)数据平台和对数据集的复杂分析。

数据科学是一门新兴的学科,商业组织可以利用这门学科从大数据中获取商业价值。数据科学是多门学科(统计学、数学、数据可视化和计算机科学)的综合。数据科学家的职责是设计各种高级算法对海量数据进行分析,以寻找新的价值点,为更多的决策提供数据支持。

很多领域和市场已经开始利用数据科学,从大数据的分析中获益。其中包括医学与科学研究、医疗医护、公共管理、欺诈检测、社交媒体、银行、保险公司,以及其他以数字信息为中心的实体。

1.1.4 信息

不管是结构化数据还是非结构化数据,除非其被展现成一种有意义的形式,否则都不能满足任何个人的或是商业的目的。信息就是从数据中提取出来的智慧和知识。

商业应用分析原始数据以找出有意义的趋势。基于这些趋势,公司可以制定和修改其策略。例如,只需通过分析客户的购买模式和维护客户的物品清单,零售商就可以辨认出客户喜欢的样式和品牌的名字。

有效的数据分析不仅给现有的商业应用带来利益,而且通过采用创造性的方式来使用数据还能创造出潜在的、新的商业机会。

1.1.5 存储

由个人和商业应用产生的数据必须存储起来,以便在进一步处理时可以进行访问。在一个计算环境下,用来存储数据的设备称为存储设备(storage device),或简称存储(storage)。存储设备的类型取决于数据类型以及数据创建和使用的频率。像手机或数码相机中的内存、DVD、CD-ROM和个人电脑中的硬盘等都是存储设备的实例。

商业应用中通常使用的几种存储介质,包括内部硬盘、外部磁盘阵列和磁带。

1.2 存储架构的发展

以前,所有的组织在其数据中心都有集中的计算机(大型机)和信息存储设备(磁带卷和磁盘架)。开放系统的发展及其提供的部署的简单性和易用性,使得组织内的不同商业单元(部门)都可以拥有自己的服务器和存储设备。在早期开放系统的实现中,存储设备都在服务器内部,无法和其他服务器共享。

这种方式称为以服务器为中心(server-centric)的存储架构(参见图1-4(a))。在这种架构中,每个服务器拥有一定数量的存储设备。对服务器进行维护或者增加存储容量都会导致信息的暂时无法访问。分散布置于企业内各部门的服务器导致了信息的难于保护、不易管理,并产生了信息孤岛以及增加了操作的开销。

为了应对这些问题,以服务器为中心的存储架构被以信息为中心的架构所取代(information-centric architecture)。在以信息为中心的架构中,存储设备集中管理,不再依附服务器。多个服务器可共享存储设备。部署新服务器时,从共享存储设备中为它分配存储。共享存储的容量可以通过添加新设备的方式动态增加而不影响信息的可用性。以信息为中心的架构让信息管理变得简单,同时拥有更好的成本效益。

存储技术和存储架构的不断发展,使得各组织能对其数据进行更好的融合、保护、优化和利用,从而在其信息资产上获得更高的回报。

1.3 数据中心基础设施

企业组织通过数据中心为整个企业提供集中的数据处理能力。数据中心保存和管理着大量的数据。数据中心基础设施包括硬件组件和软件组件。硬件组件包括计算机、存储系统、网络设备和后备电源等。软件组件包括应用、操作系统和管理软件等。此外,空调、灭火和通风装置等环境控制设备也是基础设施的组成部分。

大型组织通常维护多个数据中心,以便分散数据处理负担,并在灾难发生时提供数据备份。

1.3.1 数据中心核心部件

一个数据中心要实现基本功能,必须要有5个核心部件。

■ 应用:提供计算操作逻辑的计算机程序。

■ 数据库管理系统(DBMS):提供了一种结构化方式,把数据存储成具有关联关系的逻辑表。

■ 主机或计算:指运行应用和数据库的计算平台(包含硬件、固件和软件)。

■ 网络:联网设备之间通信的数据通路。

■ 存储:持续存储数据以供后续使用的设备。

通常这些核心部件都被视为独立的管理单元,但是只有所有这些部件一起工作才能达到数据处理的要求。

在本书中,主机,计算和服务器这三个名词是通用的,指的是运行应用的部件。

图1-5展示了一个在线订单处理系统示例,其中包含5个核心部件以及它们在商业处理中的作用。

用户在一台客户端上下了订单,客户端通过局域网或广域网与主机联网,主机上运行着订单处理应用。客户端通过此应用访问主机上的数据库管理系统,获取与订单相关的信息,如客户姓名、地址、支付方式、订购产品和数量等。

数据库管理系统(DBMS)通过主机操作系统将数据写入存储阵列的物理磁盘内。存储网络为主机和存储阵列之间的通信提供连接,并在两者之间传输数据读写请求。存储阵列在接到主机发来的请求后,在物理磁盘上执行相应的操作。

1.3.2 数据中心的主要特点

数据中心运行的不可中断性对商业机构的生存和成功至关重要。因此,很有必要用一个可靠的存储基础设施来保证数据随时可访问。图1-6所示的特点对数据中心基础设施的所有部件都适用,但这里我们只关注存储系统。本书将给出满足这些需求的多种技术和解决方案。

■ 可用性:有需求时,一个数据中心必须保证数据的可用性。对于金融服务业、通信和电子商务领域的业务来说,数据无法访问可以造成每小时上百万美元的损失。

■ 安全性:数据中心应建立完整的安全策略和流程,加强各部件的整合,防止对信息的非授权访问。

■ 可扩展性:业务的增长通常需要部署更多的服务器、新的应用和额外的数据库。数据中心资源应实现按需扩展,扩展应不影响正常的业务运营。

■ 性能:数据中心的部件应能根据服务等级提供最佳的性能。

■ 数据完整性:数据完整性对应的是一种机制,比如纠错码或奇偶校验位,以保证数据在存取和接收时保持一致。

■ 容量:数据中心的运行需要足够的资源来高效地存储和处理海量数据。当容量需求增加时,数据中心必须在不影响可用性,或者仅对其产生很小影响的前提下实现扩容。容量管理可以是对现有资源的重新分配,而不仅仅是添加新的资源。

■ 可管理性:数据中心对于部件的管理应该尽量简单和统一。可管理性可以通过对常规任务进行自动化或减少人工介入来实现。

1.3.3 管理数据中心

管理一个数据中心牵涉到许多任务。关键的管理任务包括以下几点。

■ 监控(Monitoring):对数据中心的各个部件和运行的服务持续不断地收集信息。数据中心需要监控的方面包括安全性、性能、可用性和容量。

■ 报告(Reporting):周期性地反映资源的性能、容量和使用率。报告可以帮助确定与数据中心运行相关的业务评判和分摊费用。

■ 配给(Provisioning):提供支持数据中心运行的硬件、软件和其他资源的一个流程。配给主要是对资源进行管理,以满足容量、可用性、性能和安全方面的需求。

虚拟化和云计算的出现极大地改变了数据中心基础设施的部署和管理方式。许多组织已经迅速实现了对数据中心中多个部件的虚拟化,提高了资源的利用率。此外,IT部门面临持续的成本压力和对于随需应变数据处理的需求,加速了云计算的应用。

1.4 虚拟化和云计算

虚拟化是将物理资源(例如计算、存储和网络资源)抽象出来,使其表现为逻辑资源。在IT业界,虚拟化已经以各种形式存在了好些年。虚拟化最常见的例子是计算机系统中的虚拟内存和对物理磁盘的分区。

虚拟化将物理资源放到一个共享池中,提供一个统一的视图。例如,存储的虚拟化是将共享池中的多个存储设备表现为一个大容量的存储实体。与此类似,计算的虚拟化是将共享池中多个服务器的CPU性能(以兆赫作为单位)作为可共享的计算资源。虚拟化也使共享资源的集中管理成为可能。

虚拟资源可从共享的物理资源中创建部署。例如,一块特定容量的虚拟磁盘可从一个存储共享池中创建,一个特定CPU频率和特定内存大小的虚拟服务器也可以从一个计算共享池中创建。物理资源在虚拟资源之间共享,提高了物理资源的利用率。虚拟资源可以根据需求增删,并且不影响应用和用户。随着 IT 资产的利用率提高,企业花费在采购和管理新物理资源的成本得以节省。同时,更少的物理资源也意味着占用更小的空间,消耗更少的资源。这对于经济和环境都是有益的。

在当今节奏加快,竞争日趋激烈的环境下,商业组织必须敏捷而灵活,才能应对不断变化的市场需求。这意味着在IT预算萎缩或不变的情况下,也要实现资源的扩容或升级。云计算很好地应对了这些困难,使得个人和企业可以通过网络获取作为服务提供的IT资源。云计算提供了扩展性极强又非常灵活的计算模式,资源可以按需配给。用户可以增加或消减对于计算资源的需求,只需极少的管理成本和服务提供商介入。云计算利用自我服务(self-service)模式,使得需求的实现可以完全自动化。消费者的支出只用在使用的资源上(消耗的CPU时长、传输的数据量和占用的存储空间大小)。

云基础设施通常建立在虚拟化的数据中心之上,因为虚拟化后的数据中心可以提供资源的聚合共享和快速部署。虚拟和云环境下的信息存储将会在后面的章节中详述。

小结

本章阐述了数据、信息和存储基础设施的重要性。为了满足今天的存储需要,必须从了解数据类型、数据的价值以及数据中心的关键特性开始。

本章所介绍的存储架构的发展和数据中心的核心部件,为信息存储和管理奠定了基础。虚拟化的出现为数据中心的变革提供了契机,传统的数据中心得以转变为虚拟化的数据中心。云计算则进一步改变了IT资源的部署和消费方式。

本书后面的章节将对信息存储和管理在传统数据中心和虚拟化的数据中心应用的各个方面进行详述。最先涉及的是数据中心的关键部件,重点放在存储系统和RAID上(在第2、3、4章)。第5到第8章会讲述各种存储联网技术,如存储区域网(SAN),网络连接存储(NAS),对象存储(object-based storage)和统一存储(unified storage)。第9 到12 章讲述业务连续性解决方案(备份、复制和归档技术)。第13章会介绍云架构和云服务。第14和15章将会讲述在传统和虚拟环境下的存储安全策略和管理技术。

练习

1.什么是结构化和非结构化数据?调查存储和管理非结构化数据面临的问题。

2.讨论一下以信息为中心的存储架构对比以服务器为中心的架构的优势。

3.大数据有哪些属性?调查并准备一个关于大数据分析的陈述。

4.调查商业结构如何利用信息资产获取竞争优势和新业务机会。

5.调查并准备一个关于个人数据管理的陈述。

第2章 数据中心环境

核心概念

应用、数据管理系统、主机、连接和存储设备

应用虚拟化

文件系统和卷管理器

计算、桌面和内存的虚拟化

存储介质

磁盘部件

分区位记录

逻辑块寻址

闪存盘

不管商业机构的规模如何,数据中心都是其不可或缺的部分。集中管理的主机、存储、连接(或网络)、应用和数据库管理系统(DBMS)是一个数据中心的关键部件。这些部件协同工作,对数据进行处理和存储。随着虚拟化的成熟,传统的数据中心也逐渐发展为虚拟化的数据中心(virtualized data center,VDC)。在虚拟化的数据中心中,传统的数据中心资源被放到一个共享池里,作为虚拟资源提供。经过这个抽象化处理,物理资源的复杂性和局限性对于用户不再可见。利用虚拟化整合IT资源,商业机构可以提高基础设施的利用率,降低整体拥有成本。另外,在一个虚拟化的数据中心中,虚拟资源的创建是通过软件实现的,与传统数据中心的物理资源的部署相比要快很多。本章将会讲述数据中心的所有关键部件,包括在计算、内存、桌面和应用层面的虚拟化。存储和网络的虚拟化将会在后面的章节涉及。

信息资产对于商业机构的关键性日增,存储这一数据中心的关键部件,被视为一项独特的资源。存储的实现和管理值得特别关注。本章还将涉及存储子系统,以及磁盘驱动器的组件、几何构造和性能参数,以及实现主机和存储之间连接的技术。

2.1 应用

应用指的是一个提供计算操作逻辑的计算机程序。应用向底层操作系统发起请求,对存储系统进行读写操作。也可与数据库配合,由数据库通过操作系统提供的服务对存储设备执行读写操作。在数据中心环境中配置的应用根据特点,可以分为业务应用、基础设备管理应用、数据保护应用和安全应用。电子邮件、企业资源规划(Enterprise Resource Planning,ERP)、决策支持系统(decision support system,DSS)、资源管理、备份、身份认证和防病毒应用都属于上面所述的应用。

应用产生的I/O特性对于存储系统的性能和存储解决方案的设计影响很大。参考附录A了解更多关于应用I/O特性的信息。

应用的虚拟化

应用的虚拟化消除了应用对于底层平台(操作系统和硬件)的依赖。实质上是将应用和所需的操作系统资源打包放入一个虚拟的容器中。利用这项技术,部署应用时无需对计算平台的操作系统、文件系统和注册表做任何更改。因为虚拟化应用运行在孤立的环境中,不会对底层操作系统和其他应用造成破坏。以前同一计算平台上运行多个应用或者同一应用的多个版本可能会造成冲突,应用虚拟化隔离了不同版本应用所需的资源,避免了冲突。

2.2 数据库管理系统(DBMS)

数据库是一种结构化存储数据的方式,数据以某种逻辑进行组织,存在相互关联的表格中。数据库有助于优化数据的存取。数据库管理系统控制数据库的创建、维护和使用。它处理来自应用对数据的操作请求,对操作系统发出指令,对存储设备中的相应数据进行读写。

2.3 主机(计算)

用户通过应用程序来存取数据。运行这些应用程序的计算机被称作“主机”或“计算系统”。主机可以是物理机,也可以是虚拟机。计算虚拟化软件可以在一个物理计算架构上创建多个虚拟机。计算虚拟化和虚拟机将会在本章的后面进行探讨。物理主机的例子很多,比如桌面电脑、服务器、服务器集群、笔记本电脑以及移动设备。主机由 CPU、内存、I/O 设备,以及一系列执行运算操作的软件构成。软件包括操作系统、文件系统、逻辑卷管理器和设备驱动等。这些软件可以作为单独的实体安装,也可以作为操作系统的一部分安装。

CPU 由四个部件组成:算术逻辑单元(Arithmetic Logic Unit,ALU),控制单元(Control Unit),寄存器(register)和一级缓存(L1 cache)。主机上的内存有两种,随机存取存储器(RAM)和只读存储器(ROM)。I/O设备负责主机的通信。I/O设备包括键盘、鼠标和显示器等。

软件运行在主机上,对数据的输入和输出进行处理。下面一节将会详细讲述主机系统中不可或缺的各种软件组件。

2.3.1 操作系统

在传统的计算环境中,操作系统控制着计算的所有方面。它负责应用和计算系统物理部件之间的协作。操作系统还提供了访问数据的应用。操作系统负责监测用户行为和环境,并作出反应。它还负责组织和控制硬件组件,管理硬件资源的分配,为其被管理的所有资源的访问和使用提供基本保护。操作系统可执行基本的存储管理任务,同时管理着底层组件(如文件系统、卷管理器和设备驱动)。

在虚拟计算环境中,虚拟层处于操作系统和硬件资源之间。操作系统的工作方式因引入的计算虚拟化的实现形式而不同。在常规的实现方式下,操作系统的工作方式类似访客,只进行与应用交互相关的活动。这时,硬件管理的功能由虚拟层负责。

内存的虚拟化

内存一直以来都是,以后也将是主机部件中成本较高的一个器件。它决定了一个主机可以运行的应用的大小和数量。内存的虚拟化允许多个应用和进程,在其内存需求之和大于可用内存的情况下,依然可以运行且互不影响。

内存的虚拟化是操作系统将主机内存虚拟化的一个功能。操作系统创建一个虚拟内存,其地址空间大于物理内存空间。虚拟内存由物理内存空间和一部分硬盘存储组成。操作系统中管理虚拟内存的工具叫做虚拟内存管理器(virtual memory manager,VMM)。VMM管理着虚拟内存和物理内存的映射关系,并在虚拟地址指向硬盘部分时,从硬盘获取数据。VMM 使用的硬盘空间叫做交换空间(swap space),也称页文件(page file)或者交换文件(swap file)。它是硬盘上的一块空间,被操作系统当作物理内存对待。

在虚拟内存的实现中,系统的内存被分为连续的区块(block),这些块由固定大小的页组成。分页(paging)这个进程负责将不活动的页面移至交换文件中,在需要时将这些页面从交换文件取回到物理内存中。这样可以在多个应用之间充分利用有限的可用物理内存。操作系统将最少使用的页面从内存中移至交换文件中,以保证更活跃的进程有足够的物理内存空间。访问交换文件要比访问物理内存页慢,因为交换文件在硬盘上,而硬盘的速度慢于内存。

2.3.2 设备驱动

设备驱动(device driver)是一种专用软件,它用于实现操作系统与某种设备,如打印机、鼠标或硬盘的交互。设备驱动让操作系统识别、访问和控制设备。设备驱动依赖于硬件,不同操作系统的驱动也不同。

2.3.3 卷管理器

早期,硬盘驱动器(HDD)呈现给操作系统的是一组连续的物理块。整个硬盘驱动器都分配给文件系统或是其他数据体,由操作系统或应用程序使用。这样做的缺点是缺乏灵活性:当一个硬盘驱动器的空间使用完时,想要扩展文件系统的大小就很难。而当硬盘驱动器存储容量增加时,把整个硬盘驱动器分配给文件系统通常会导致存储空间不能充分利用。

逻辑卷管理器(Logical Volume Manager,LVM)的发展使得文件系统容量的动态扩展以及高效的存储管理成为可能。LVM 是一个运行在物理机器上管理逻辑和物理存储设备的软件。LVM也是一个介于文件系统和物理磁盘之间的中间层。它可以把一个大容量物理磁盘划分为若干小的虚拟磁盘,也可以把几个小的物理磁盘组合成一个大的虚拟磁盘(这个过程叫做串联concatenation),提供给应用程序使用。

磁盘分区(disk partitioning)的引入就是为了改善硬盘驱动器的灵活性和使用率。在分区时,硬盘驱动器被划分为几个逻辑卷(logical volume,LV),如图 2-1 所示。例如,一个大的物理磁盘,可以根据文件系统和应用程序的数据管理要求,划分为若干小的逻辑卷。当硬盘在主机上进行初始分区时,是将一组连续的柱面分配给一个分区。主机的文件系统在访问分区时,完全不需要知道磁盘的物理结构和分区信息。

串联(concatenation)把若干小的物理磁盘组合起来,呈现给主机一个较大的逻辑盘(见图2-1)。

LVM提供了优化的存储访问,简化了存储资源的管理。它隐藏了物理磁盘的细节和数据在磁盘上的位置。管理员改变存储的分配时无需停止正在运行的应用。

LVM的基本部件是物理卷(physical volume)、卷组(volume group)和逻辑卷(logical volume)。在LVM术语中,每一个连接到主机系统的物理磁盘都是一个物理卷(PV)。LVM把由物理卷提供的物理存储空间转换为逻辑存储空间,供操作系统和应用程序使用。一个卷组由一个或多个物理卷组合而成。对一个物理卷进行初始化时,LVM会为其分配一个唯一的物理卷标识(PVID)。卷组中的物理卷可以动态添加或移除。一个物理卷只能属于一个卷组,它的全部空间都并入卷组,不能被其他卷组共享。在卷组创建时,每一个物理卷都被划分为若干个相同大小的数据块,这些数据块称为物理区域(physical extent)。

逻辑卷是在给定的卷组中创建的。一个逻辑卷可以被认为是一个虚拟磁盘分区,而卷组则可以被认为是一个磁盘。一个卷组可以划分为许多逻辑卷。逻辑卷的大小取决于其包含的物理区域的数目。

对操作系统来说,逻辑卷就像是一个物理设备。一个逻辑卷可以由不连续的物理分区组成,并可以跨越多个物理卷。在逻辑卷上创建文件系统后,就可以将逻辑卷分配给应用了。可以为逻辑卷配置镜像,以确保更好的数据可用性。

2.3.4 文件系统

文件是有关联关系的记录或数据的集合,它们作为一个有命名的整体存储。文件系统(file system)是大量文件的分层组织结构。文件系统使得对存放在磁盘、磁盘分区或逻辑卷内的数据文件的访问变得更加容易。文件系统包含相应的逻辑结构和软件例程,负责控制对文件的存取。有了文件系统,用户可以对文件进行创建、修改、删除和访问操作。对磁盘上文件的访问需要由文件拥有者授权才能进行,这通常也是由文件系统来控制的。

文件系统使用目录(directory)把数据组织成分层结构。目录就是保存指向文件的指针的地方。所有的文件系统都维护着一个到目录、子目录和文件的指针映射,这些内容也是文件系统的一部分。常见的文件系统有以下几种。

■ FAT32(File Allocation Table,文件分配表):适用于微软Windows。

■ NT 文件系统(NTFS):适用于微软Windows。

■ UNIX 文件系统(UFS):适用于UNIX。

■ 扩展文件系统(EXT2/3):适用于UNIX。

除了文件和目录,文件系统还包括许多其他相关的记录,统称为元数据(metadata)。例如, UNIX系统的元数据包括超级块(superblock)、索引节点(Inode)、空闲的和正在使用的数据块列表等。一个文件系统的元数据必须保持一致,才能算得上是健康的文件系统。

超级块包含了文件系统的重要信息,比如文件系统的类型、创建和修改时间、大小和布局、可用的资源数量(如空闲块数量,索引节点数量等),以及指示文件系统挂载状态(mount status)的标记等。索引节点与文件和目录关联,包含文件长度、拥有者、访问权限、最后访问和修改时间、连接数量,以及数据存放的地址。

文件系统块(file system block)是最小的分配数据的单元。每一个文件系统块对应物理磁盘上一个连续的区域。在文件系统创建之初,文件系统块的大小就确定了。文件系统的大小是由文件系统块的大小以及所存储数据使用的总块数决定的。因为大部分文件都比单个预定义的文件系统块的大小要大,所以一个文件可以跨越多个块。随着新块的添加和删除,文件系统中的块将变得不再连续了(碎片化)。使用一段时间后,随着文件数量的增多,文件系统就变得更加碎片化了。

下面的列表说明了使用LVM将用户文件映射到磁盘存储子系统的过程(该过程可结合图2-2来理解):

1.用户和应用程序创建并管理文件;

2.这些文件存储在文件系统上;

3.文件系统映射到文件系统块上;

4.文件系统块映射到逻辑卷的逻辑区域(logical extent)上;

5.通过操作系统或是LVM再把逻辑区域映射到磁盘的物理区域(physical extent)上;

6.这些物理区域最终被映射到物理存储子系统的磁盘扇区上。

如果没有LVM,那么就不会有逻辑区域。没有LVM,文件系统块将被直接映射到磁盘扇区。

文件系统树(file system tree)以根目录(root directory)开始。根目录下有子目录。文件系统只有在挂载之后才能使用。

fsck是UNIX和Linux主机上用来检查文件系统一致性的系统工具。下面是一个处于不一致状态的文件系统示例:在文件系统的内容发生更改时,在将这些更改写入磁盘之前,整个计算机系统突然崩溃。在系统启动时(Boot),fsck命令会首先检查文件系统的一致性,以确保启动成功。如果该文件系统是一致的,fsck命令就会接着检查所有其他的文件系统。如果发现哪个文件系统不一致,它就不会被挂载。不一致的文件系统可被fsck命令自动修复,有时需要用户的交互、确认和纠正才能完成。对应于fsck,CHKDSK是一个可用于Dos、OS/2和微软Windows操作系统的命令。

文件系统可以是日志型的,也可以是无日志型的。无日志型的文件系统(nonjournaling file systems)可能会造成文件的丢失,这是因为更新数据和元数据时的写操作是分开的。当系统在写过程中崩溃时,会带来元数据和数据的丢失或损坏。当系统重启时,系统会尝试着通过检查和修复操作来更新元数据结构。在大型文件系统上,这个操作会消耗大量的时间。如果没有足够的重建信息,那么文件就会发生错位或丢失,从而导致文件系统的损坏。

日志型的文件系统(journaling file system)使用了一个独立的区域(称为log或journal),来存放日志信息。日志中包含了所有将要写的数据(物理日志,Physical Journal),或是只包含待更新的元数据(逻辑日志,Logical Journal)。在文件系统更新之前,更新信息先被写入日志区域。只有日志区域被更新后,在文件系统上的操作才能进行。如果文件系统在操作过程中崩溃,那么在日志区域中就有足够的恢复信息来重现日志过程,并完成修复操作。日志使得文件系统的检查特别快,因为它只关心文件系统中那些活动的和最近经常访问的部分。另外,由于待操作的信息都被保存了,文件丢失的可能性就降低了。

带日志的文件系统的一个缺点是要比一般文件系统慢一些。导致系统变慢的原因是因为每次文件系统变化时,都需要在日志区域进行额外的操作。然而,日志文件系统带来的文件系统检查时间的缩短和文件系统的完整性远弥补了其缺点。如今,几乎所有文件系统的实现都是带日志的。

专用的文件服务器可以用来在网络上管理和共享大量的文件。这些文件服务器支持很多文件系统,并且采用了操作系统相关的文件共享协议,例如NFS和CIFS。这些协议在第7章都有详细描述。

2.3.5 计算虚拟化

计算虚拟化是从操作系统中屏蔽或抽象物理硬件的技术,它使得在一台物理机器或者机器集群上可以同时运行多个操作系统。利用这一技术可以创建叫做虚拟机(virtual machine,VM)的可移植虚拟计算系统。虚拟机上运行着封装在一起的操作系统和应用实例,不同虚拟机内的操作系统和应用是隔离的。计算虚拟化是通过位于操作系统和硬件之间的虚拟层(virtualization layers)来实现的。虚拟层也被称为hypervisor,Hypervisor为所有的虚拟机提供所需的硬件资源(如CPU,内存和网络)。在一台物理服务器上,如果性能许可,可以创建大量的虚拟机。

虚拟机是一个逻辑实体,但是在操作系统看来,它却是一个有自己的CPU、内存、网络控制器和磁盘的物理主机。所有的虚拟机彼此孤立,共享底层的硬件资源。从hypervisor的角度来看,虚拟机不过是多种文件(包括VM配置文件和数据文件等)的集合。

物理服务器常常会面对资源冲突的问题,特别是在两个或多个应用对于资源的需求有冲突的时候。例如,不同应用可能需要同一注册表项有不同的值,或者需要同一DLL的不同版本。如果这其中有应用需要保证高可用性,那问题就更容易出现了。结果,服务器一次只能为一个应用提供资源(参见图2-3(a))。商业组织不得不为每个部署的应用购买新的物理机,这提高了成本,降低了灵活性。另一方面,许多应用并不能完全利用硬件资源。这样处理器的性能、内存和存储都处于没有充分利用的状态。计算虚拟化可以解决这些问题(参见图2-3(b)),从而用户可以在一台物理机器上可以运行多个操作系统和应用,大幅提高了服务器的利用率,促进了服务器的资源整合。

通过整合服务器,商业机构可以减少数据中心服务器的数量。这样省去了重新购置服务器的成本,同时降低了运营成本,节省了数据中心的地板空间和机架空间。创建虚拟机与配置新物理服务器相比所需时间更少,商业机构可以更快更容易地部署服务器(即虚拟机)。单个虚拟机的重启、升级或崩溃都不会影响到同一物理机器上的其他虚拟机。另外,虚拟机可以从一台物理机复制到另外一台机器上,在这个过程中应用不受影响。虚拟机的非中断性迁移( nondisruptive migration)对于不同物理机器之间的负载均衡,硬件维护和保证可用性等场合都是非常必要的。

桌面虚拟化

在传统的桌面模式中,操作系统、应用和用户配置文件是和特定的硬件绑定的。因此当客户端坏掉或丢失时,业务生产率会受到很大影响。桌面虚拟化打破了操作系统、应用、用户配置文件和设置对于硬件的依赖。IT人员可以更改、更新或者部署上述元素的任何一个而不会影响其他元素。桌面运行在数据中心的虚拟机上,用户可以通过多种客户端设备访问桌面,例如笔记本电脑、台式机和移动设备(也称为精简设备——thin devices)。应用的执行和数据存储都是在数据中心集中进行的,而非在客户端设备上。由于桌面运行在数据中心的虚拟机上,降低了数据泄漏和数据遭盗窃的风险。此外,备份可集中进行,合规也得到简化。虚拟桌面易于维护,因为安装补丁、配置新应用和操作系统、为用户部署资源或者删除用户都是集中进行的。

2.4 连接

连接(Connectivity)指的是各个主机之间或者主机同其他外围设备(如打印机、存储设备)之间的互连。这里重点讨论主机和存储设备之间的连接。主机和存储设备之间的连接和通信通过物理部件和接口协议实现。

2.4.1 连接的物理部件

物理部件(physical components)指的是连接主机和存储的硬件。主机和存储间连接的3 个物理部件是:主机接口设备、端口和线缆(如图2-4所示)。

主机接口设备(host interface device)或称主机适配器(host adapter)用于主机和主机之间,或主机和存储设备之间的连接。例如,主机总线适配器(host bus adapter,HBA)和网络接口卡(network interface card,NIC)都属于主机接口设备。主机总线适配器是一种专用集成电路(application-specific integrated circuit,ASIC)板,承担着主机和存储之间的I/O 接口功能,将CPU从额外的I/O处理任务中解放出来。一台主机通常包含多个HBA。

端口(Port)是专用插口,使得主机和外部设备之间可以建立连接。一个HBA上有一个或多个连接主机和存储的端口。电缆(Cable)用于将内部或外部设备连接到主机上,由铜或光纤制成。

2.4.2 接口协议

主机和存储之间的通信需要通过协议。协议是通过在通信的源端和目的端都使用接口设备(或者控制器)来实现的。用于主机和存储设备之间的最常见的接口协议包括集成设备电路/高级技术附件IDE/ATA 协议、小型计算机接口(SCSI)协议、光纤通道(Fibre Channel)协议和互联网协议(Internet Protocol)。

集成设备电路/高级技术附件(IDE/ATA和SATA)

IDE/ATA 是一个常见的用于存储设备之间(如磁盘和 CD-ROM 驱动器之间)连接的接口协议标准。该协议支持并行传输,因此也被称为并行 ATA(PATA)或 ATA。IDE/ATA 有多种标准和命名。Ultra DMA/133 版本的ATA 协议支持133MB/s 的吞吐率。在主从(master-slave)配置中,一个ATA接口支持每个连接器(connector)连接两个存储设备。如果看重磁盘的性能,不建议两个设备共享端口。

本协议的串行版本支持单比特(single bit)串行传输,也被称为串行ATA(SATA)。SATA凭借其高性能低成本的优势在较新的系统上已取代 PATA。SATA 3.0 标准的最高数据传输率已达 6 GB/s。

小型计算机接口(SCSI)和串行SCSI

SCSI已成为高端计算机中优先选择的连接协议。该协议支持数据并行传输,性能、扩展性和兼容性都优于 ATA 协议。但是,因为成本较高,在家庭及个人桌面用户中不够普及。与最初的SCSI协议相比,目前的SCSI协议已做了完善并包含了一系列的技术和标准。在一条总线上,SCSI可支持最多16个设备,传输速率可达640MB/s(Ultra-640版本)。

串行连接SCSI(serial attached SCSI,SAS)是点对点的串行协议,与并行SCSI不同。较新版本的串行SCSI 协议(SAS 2.0)支持最高6 Gb/s的传输率。更多关于SCSI 架构和接口的细节,参见本书附录B。

光纤通道(Fibre Channel)

光纤通道(Fibre Channel)是用于广泛用于存储设备高速通讯的协议。光纤通道接口支持Gb级的网络传输速度。光纤通道协议是串行数据传输协议,使用铜线或光纤进行数据传输。最新版本的光纤通道接口(16FC)支持的数据传输率高达16Gb/s。光纤通道协议及其特性将在第5章中详细介绍。

互联网协议(Internet Protocol)

IP作为网络协议,一直以来主要用于主机和主机之间的通信。随着新技术的兴起,IP网络成为主机和存储间通信的可行选择。IP 在成本和成熟性上有优势,商业机构也可以利用已有的 IP网络。iSCSI和FCIP协议都是利用IP网络实现主机和存储通信的例子。这些协议将在第6章中详细介绍。

2.5 存储

存储是数据中心的核心组件。存储设备使用磁性、光学或固态介质。磁盘、磁带、软盘等使用的是磁性介质,CD-ROM是使用光学介质,而可移动的闪存卡或闪存盘使用固态介质。

在过去,磁带(Tape)是做备份最常用的存储介质,因为它的成本很低。但是磁带在性能和管理上有很多局限性,表现在以下几个方面。

■ 数据在磁带上是沿着磁带的方向线性存储的。检索和获取数据也是顺序进行的,访问数据至少都要花费数秒钟的时间。因此,对于随机访问数据就非常耗费时间。对于那些需要实时、快速访问数据的应用程序,磁带并不是一个较好的方案。

■ 在一个共享的计算环境中,存储在磁带上的数据不能同时被多个应用程序访问。同一时刻只能允许一个应用程序使用磁带。

■ 磁带驱动器上的读写头与磁带表面是接触的,所以在多次使用后磁带会老化、磨损。

■ 在磁带上存储和获取数据要求较高,管理磁带库的开销很大。

因为有以上缺陷,加上磁盘成本降低,磁带已经不是企业级的数据中心进行数据备份的首选。光盘存储(Optical Disk Storage)在小的单用户计算环境中非常流行。它经常在个人或笔记本电脑中被用来存储相片或作为备份介质。它同样被用作小型应用程序(如游戏)的发布介质,或用来在计算机系统之间传送少量数据。光盘的容量和速度都比较有限,因此难以被用作企业级数据存储。

光盘的“一次写,多次读(write once and read many,WORM)”的特点是它的一个优势。CD-ROM就是一个WORM设备。从某种程度上说,光盘可以保证数据内容不被更改,所以对于那些需要长期存储的、创建之后就不会改变的少量固定数据,可以把光盘作为一种低成本的备选方案。由一组光盘组成的光盘阵列,称为jukebox(自动唱片点唱机),现在仍然是一种固定内容的存储解决方案。其他形式的光盘还包括CD-RW、蓝光光盘以及各种各样的DVD。

磁盘驱动器(Disk Drive)是当今计算机存储和访问数据使用最多的存储介质,可以很好地支持性能密集型(performance-Intensive)的在线应用程序。磁盘支持快速的随机数据访问,这意味着大量用户或应用程序能同时写或获取数据。另外,磁盘有很大的容量,由多个磁盘组成的磁盘阵列能够提供更大的容量和更好的性能。

对于磁盘驱动器的访问需通过预定义的协议,如 ATA、SATA、SAS 等。协议在磁盘界面控制器内实现。早期的磁盘界面控制器是独立的卡,与主板连接实现通信。现在的磁盘界面控制器都已集成在磁盘驱动器上,因此,磁盘驱动器常以支持的协议来分类,如SATA磁盘、FC磁盘等。

2.6 磁盘驱动部件

磁盘的核心部件包括盘片、主轴、读写头、驱动臂装置以及控制器(如图2-5所示)。

磁盘驱动器通过在磁性盘片上快速地移动读写臂来读写数据。数据通过读写臂的读写头在磁盘控制器和磁性盘片之间传输。数据可以重复地记录在磁盘上或从磁盘中擦除。下面各节将详细介绍磁盘的各个不同的部件,磁盘组织数据和存储数据的机制,以及影响磁盘性能的因素。

2.6.1 盘片

一个典型的硬盘包含一个或多个扁的、圆形的金属盘,称作盘片(如图2-6所示)。数据就是以二进制代码(0 或 1)的形式记录在这些盘片上。将一组可旋转的盘片封装在一个盒子里,就形成了一个磁头磁盘组合件(Head DiskAssembly,HDA)。一个盘片是一个双面(上、下)镀上磁性物理材料的刚性、圆形金属盘。在盘片上的数据是通过在磁盘表面分布极性不同的磁性区域来编码的。数据在盘的上下两面都可以进行读写。盘片的个数以及每个盘片的存储容量决定了磁盘的总容量。

2.6.2 主轴

如图2-6所示,一根主轴固定了所有的盘片,并和一个马达相连。主轴的马达是以恒速旋转的。

磁盘盘片以几千转每分(revolution per minute,rpm)的速度旋转。按转速来划分,磁盘有5 400rpm、7 200rpm、10 000rpm和15 000rpm这几种。盘片的速度随着科技的进步仍然在提高,尽管提高的空间有限。

2.6.3 读写头

如图2-7所示,读写头在盘片上读写数据。磁盘的每个盘片上都有2个读写头,上下两面各一个。读写头在盘片上写数据的时候会改变盘片表面的磁极。当读数据时,读写头会探测盘片表面的磁极。在进行读写操作时,读写头能够感知磁极并与盘片表面保持距离(不与盘片接触)。当主轴旋转时,读写头和盘片之间有一个微小的间隙,叫做磁头飞行高度(Head Flying Height)。当主轴停止旋转后,读写头将停留在盘片上位于主轴附近的一个特定的区域,此时间隙就会消失。这个特定区域就叫着陆区(Landing Zone)。着陆区的表面有一层润滑剂,以减小磁头和盘片之间的摩擦。

磁盘上的逻辑电路保证了读写头在接触盘面之前先移动到着陆区。如果驱动装置出现了故障,读写头意外地接触到了着陆区之外的盘片表面,就会导致磁头瘫痪(Head Crash)。磁头瘫痪一旦发生,盘片表面的磁性物质就会被划破,也会损坏读写头。磁头瘫痪通常会导致数据的丢失。

2.6.4 驱动臂装置

读写头是安装在驱动臂装置上的(如图2-7所示)。它将读写头移动到盘片上需要读写数据的位置。磁盘上所有盘片的读写头都连接到同一个驱动臂装置上,并可以同时在盘片上移动位置。

2.6.5 控制器

控制器(如图2-5(b)所示)是一块印刷电路板,安装在磁盘的底部。它包含一个微处理器、内部存储、电路以及固件。固件控制着主轴马达的电源和马达的转速,还负责管理磁盘和主机之间的通信。此外,它还控制驱动装置移动驱动臂,并切换不同读写头来控制读写操作,还能够对数据访问进行优化处理。

2.6.6 物理磁盘的结构

磁盘上的数据是记录在磁道(Track)上的。磁道是盘面上以主轴为圆心的一组同心环,如图2-8所示。磁道从外向内依次被编号,最外面磁道的编号为0。盘面上每英寸磁道数(tracks per inch,TPI)或者说磁道密度(Track Densitytrack density),是衡量一个盘面上划分磁道紧密程度的度量标准。

每个磁道都被划分为更小的单元,称作扇区(Sector)。一个扇区是存储系统中可单独被寻址的最小单位。磁道和扇区的结构已经被磁盘生产商低级格式化到盘面上了。对于不同的磁盘,每个磁道包含的扇区个数也不相同。最早的个人电脑磁盘,每个磁道上只有17个扇区,但最近的磁盘上单个磁道都拥有非常多的扇区。一个盘面可以容纳几千个磁道,这取决于盘片的物理面积以及记录密度。

通常一个扇区的容量是512字节,尽管有些磁盘可以将扇区格式化为更大的容量。除了存储用户数据,扇区里还需要存储一些其他的信息,比如扇区号、磁头号或盘面号、磁道号等。这些信息能够帮助控制器在磁盘上定位数据。

所有盘面上相同位置处的磁道所组成的存储区域称为一个柱面(Cylinder)。磁头的位置是由柱面号来表示的,而不是磁道号。

磁盘标称容量与可用容量

一块磁盘的标称容量和可用容量是不同的。例如,一块宣称容量为500 GB的磁盘实际上只有465.7 GB的空间可用于存储用户数据。造成这个差别的原因是硬盘制造商以10为单位计算硬盘容量。这意味着1个千字节(kilobyte)等于1000个字节(byte),而非1024个字节;因此硬盘的可用容量总是少于标称容量。

2.6.7 分区位记录

由于盘片是由具有相同圆心的磁道组成的,外面的磁道的周长肯定比里面的磁道长,所以外面的磁道必然能存储更多的数据。在过去的磁盘中,外磁道与内磁道所包含的扇区个数相同,所以外磁道的数据密度相对较低,盘面的空间利用率也较低(如图2-9(a)所示)。

分区位记录(Zoned Bit Recording)能够高效地利用磁盘空间。如图2-9(b)所示,该机制根据磁道与磁盘中心的距离将它们划分成若干个区域。这些区域从最外面起进行编号,最外面的区号是 0。每个区域上的磁道都被分配了适当数目的扇区:靠近中心的区域,磁道中所含的扇区要少一些;而外面的区域,磁道所包含的扇区数则要多一些。但是,每个指定的区域内所有磁道上的扇区个数都是相同的。

离盘片中心越近的区域,数据传输速率越低。因此对性能要求高的应用程序,应该将它们的数据存放在盘片靠外的区域中。

2.6.8 逻辑块寻址

早期的磁盘利用物理地址,包含了柱面(Cylinder)、磁头(Head)和扇区(Sector)的编号,称为CHS编号,在磁盘上进行定位,如图2-10(a)所示。主机操作系统必须知道每个正在使用的磁盘的几何结构。而逻辑块寻址(Logical Block Address,LBA)则使用线性地址访问物理块的数据,从而大大简化了寻址过程,如图2-10(b)所示。磁盘控制器将LBA地址转换为CHS地址,主机操作系统只需要知道磁盘有多少个物理块就行了。逻辑块与物理块(扇区)之间的映射是1∶1的。

在图2-10(b)中,磁盘的每个磁道上有8个扇区,共有8个磁头和4个柱面。也就是说一共有8×8×4=256个物理块,物理块的编号从0到255。每个物理块有唯一的地址。假设每个扇区(物理块)的容量是 512 字节,那么一块 500GB 的磁盘,格式化后容量为 465.7GB,有超过976 000 000个物理块。

2.7 磁盘驱动器的性能

磁盘驱动器属机电设备,它决定了存储系统环境的整体性能。本节将讨论影响它性能的各种因素。

2.7.1 磁盘服务时间

磁盘服务时间(Disk Service Time)是指磁盘完成一个I/O 请求所花费的时间。影响它的因素有三个:寻道时间、旋转延迟和数据传输速率。

寻道时间

寻道时间(Seek Time,也叫访问时间,Access Time)指的是读写头在盘面上移动(沿着盘面半径方向)进行定位的时间,也就是移动驱动臂将读写头移动到正确的磁道上所需要的时间。寻道时间越短,I/O操作越快。磁盘生产商发布了以下寻道时间的规格。

■ 全程时间(Full Stroke):读写头从最里面的磁道移动到最外面的磁道,跨越整个磁盘宽度的时间。

■ 平均时间(Average):读写头随机地从一个磁道移动到另一个磁道的平均时间,通常指的是全程时间的三分之一。

■ 相邻磁道时间(Track-to-Track):读写头在两个相邻磁道间移动的时间。

上述规格都是以毫秒来度量的。磁盘生产商通常会标明磁盘的寻道时间。现在磁盘的平均寻道时间一般在 3~15ms。对于读操作来说,在随机的磁道上读数据与在相邻磁道上读数据相比,寻道时间对前者的影响更为关键。为了减少寻道时间,可以把数据只写到某些柱面上去。这将导致比实际容量更低的有效磁盘容量。例如,如果只用到一个500GB磁盘靠外的前40%柱面,那么它的有效容量只有200GB。这就是所谓的磁盘短击(Short-Stroking)。

旋转延迟

为了存取数据,驱动装置和驱动臂需要将盘面上方的读写头移到特定的磁道,同时盘片旋转,将请求的数据(扇区)移到读写头下面。盘片旋转以定位读写头下方的数据(扇区)所用的时间,称为旋转延迟(Rotational Latency)。延迟时间取决于主轴的转速并以ms 来度量。平均旋转延迟是主轴旋转一圈所需时间的二分之一。与寻道时间类似,读写随机选择的扇区与读写相邻扇区相比,旋转延迟对前者的影响更大。

一个转速为 5 400rpm 的磁盘的平均旋转延迟大约为 5.5ms,而转速为 15 000rpm(或每秒 250转)的磁盘,其平均旋转延迟约为2.0ms。

数据传输速率

数据传输速率(Data Transfer Rate,也叫传输速率,Transfer Rate)指的是每个单位时间内磁盘能够传输到 HBA 的平均数据量。要计算数据传输速率,首先要明白读写操作的过程。对于读操作,数据首先从盘面移动到读写头,再到磁盘内部的缓冲区,最后才通过接口传输到主机HBA。对于写操作,数据通过磁盘接口从 HBA 传输到磁盘内部缓冲区,再到读写头,最终从读写头写到盘面上。

读写操作的数据传输速率是以内部和外部传输速率来衡量的,如图2-11所示。

内部传输速率(Internal Transfer Rate)指的是数据从一个盘面上的单个磁道传输到内部缓冲区的速率。内部传输速率需要将寻道时间和旋转延迟考虑在内。外部传输速率(External Transfer Rate)指的是数据从接口移动到 HBA 的速率。通常外部传输速率是接口所宣称的速率,比如ATA的速率是133MB/s。持续的外部传输速率(实际工作时)一般要低于所宣称的接口速率。

2.7.2 磁盘I/O控制器的利用率

磁盘的I/O控制器的利用率对于I/O响应时间的影响很大。要理解如何影响,我们可以将磁盘看作一个黑盒子,包括2个部分。

■ 队列(Queue):用于存放等待I/O 控制器处理的I/O 请求。

■ 磁盘I/O控制器(Disk I/O Controller):依次处理队列中的I/O请求。

I/O请求以应用程序生成请求的速率到达控制器。这个速率也称作到达速率(Arrival Rate)。这些请求暂存在I/O队列中,将由I/O控制器依次进行处理,如图2-12所示。I/O到达速率、队列长度,还有I/O控制器处理每个请求的时间决定着I/O响应时间。如果控制器一直忙碌或处于高利用率状态,队列规模会较大,反应时间也会较长。

根据磁盘驱动器性能的基本规则,控制器利用率和平均响应时间的关系如下:

平均响应时间(TR)=服务时间(TS)/(1−利用率)

其中TS是控制器处理一次I/O所用的时间。

当利用率为达到100%时——也就是I/O控制器饱和时,响应时间接近于无限大。实际上,饱和的部件,或者说瓶颈,迫使I/O请求序列化,这意味着每个I/O请求都必须等待它前面的请求被处理完毕。利用率和响应时间的关系如图2-13所示。

该图显示,响应时间随着利用率增加呈非线性的变化。当平均队列长度很短时,响应时间一直很快。当队列负载增加时,响应时间也逐渐地增大。当利用率超过70%时,响应时间呈指数增长。因此,对于性能敏感型应用,常规做法是保证磁盘利用率在70%以下。

2.8 主机对数据的访问

应用对数据的读取和存储是通过底层的基础架构来实现的。操作系统(或文件系统)、连接和存储是基础架构的核心组件。存储设备可以在主机内部,也可以在主机外部。无论是内部还是外部,主机控制器卡都是使用预定义的协议(如IDE/ATA, SCSI 或光纤通道)来访问存储设备的。IDE/ATA和SCSI广泛应用于小型和个人计算环境下对内部存储的访问。光纤通道和iSCSI协议则用于访问外部存储设备(或子系统)上的数据。外部存储设备可以直连到主机上,也可以通过网络连到主机上。存储直连主机的这种形式,称为直连存储(direct-attached storage,DAS),将在本章后面进行介绍。

理解通过网络访问数据非常重要,因为它奠定了存储联网技术的基础。通过网络访问数据通常以下面三种方式进行:块级别(block-level)、文件级别(file-level)和对象级别(object-level)。

应用从文件系统(或操作系统)请求数据时一般要指明文件名和地址。文件系统将文件属性映射到数据的逻辑块地址,然后向存储设备发送请求。存储设备将逻辑块地址(LBA)转换成CHS地址,取回数据。

在块级别的访问中,文件系统在主机上创建,对数据的访问通过网络以块级别进行,如图2-14 (a)所示。未格式化磁盘和逻辑卷都要分配到主机,以进行文件系统的创建。

文件级别的访问要求文件系统在另外的文件服务器或者存储端创建。通过网络发送文件级别的数据请求,如图 2-14(b)所示。因为数据访问是在文件级别,这个方法的开销比块级别访问要大。对象级别的访问(object-level access)是智能进化(intelligent evolution)的结果。数据访问是以独立(self-contained)对象的形式通过网络进行的。对象都有唯一的标识符。存储网络技术和配置将在本书第2部分“存储网络技术”中详细介绍。

2.9 直连存储(direct-attached storage)

直连存储指的是存储设备与主机直连的架构。主机内部磁盘驱动器和与主机直连的外部存储都是直连存储的例子。虽然存储网络技术的各种形式越来越普遍,直连存储依然适合小环境下(个人计算或工作组)的本地数据访问。直连存储根据其与主机的相对位置关系,可以分为内部直连存储和外部直连存储两类。

在内部直连存储架构中,存储设备在内部通过串行或并行总线与主机连接(见图2-15(a))。物理总线有距离限制,要保证高速传输只能在较短距离内使用。另外,多数内部总线支持的设备数量非常有限,且在主机内部占据很大空间,加大了其他部件维护的难度。

在外部直连存储架构中,主机与外部存储设备直连,数据访问在块级别进行(见图2-15(b))。多数情况下,主机和存储直连的通信使用SCSI或FC协议。与内部直连存储相比,外部直连存储消除了距离和设备数量的限制,可以对存储设备进行集中管理。

2.9.1 直连存储的好处和局限

与存储网络架构相比,直连存储需要的初始投入较低。直连存储的配置比较简单,可以简单快速地部署。设置管理通过主机上的工具(例如主机操作系统)进行,大大简化了小型环境下的存储管理。因为直连存储的架构较简单,管理任务较少,只需较少的软硬件便可以搭建和运行。

但是,直连存储的扩展性并不好。存储阵列的端口有限,限制了可直连的主机数量。当达到容量(端口)上限时,服务的可用性就会受影响。因为可共享的前端端口有限,直连存储并不能充分利用资源。在直连存储环境下,未被利用的资源很难重新分配,造成了要么过度应用,要么应用不足的存储资源孤岛。

2.10 基于应用程序的需求和磁盘性能的存储设计

应用程序的存储需求分析通常都是从确定存储容量开始的。这可以根据文件系统的大小和数量,以及应用程序将要使用的数据库部件来评估确定。应用程序的I/O大小、特点及其在工作峰值产生的I/O数量是影响磁盘性能、I/O响应时间和存储系统设计的其他因素。块大小取决于应用程序所依赖的文件系统和数据库。数据库环境中的块大小通常是由底层数据库引擎及其环境变量集所控制的。

磁盘服务时间(Ts)是衡量磁盘性能的一个关键指标。Ts和磁盘利用率(U)决定了一个应用的 I/O 响应时间。正如本章前面提到的那样,总的磁盘服务时间(Ts)是寻道时间(T)、旋转延迟(L)和内部传输时间(X)的总和。

Ts= T + L + X

给定如下磁盘实例,磁盘的具体规格是这样的:

■ 在一个随机I/O 环境中,平均寻道时间为5ms。因此,T=5ms。

■ 磁盘旋转速率为15 000rpm(250 转每秒)——由此可以确定旋转延迟(L),大概是旋转一圈时间的一半,即L=(0.5/250 rps,以ms 为单位)。

■ 内部数据传输率为 40MB/s,其内部传输时间(X)可以根据 I/O 块大小来计算。比如,如果块大小为32KB,那么X=32KB/40MB。

由此,I/O控制器服务一个大小为32KB的块所用的时间为:

Ts=5ms+(0.5/250)+32KB/40MB=7.8ms。

每秒钟最大的I/O 服务次数,即IOPS为(1/Ts)=1/(7.8×10-3)=128 IOPS。

表2-1罗列了基于以上磁盘规格的不同块大小时的最大IOPS。

对不同块大小,IOPS的范围从116到140,这也意味着可以达到极高的利用率(接近100%)。如2.7.2节所述,当磁盘控制器利用率升高时,应用的响应时间R也将增加。还是前面的例子,块大小为32 KB,在磁盘控制器利用率为96%时,响应时间(R)为:

R=Ts/(1-U)=7.8/(1-0.96)=195 ms

如果一个应用要求更快的响应时间,那么磁盘利用率必须维持在70%以下。同样是32 KB的块大小,磁盘利用率在70%时,响应时间急剧降低,为26 ms。然而,在磁盘利用率更低时,IOPS也会减少。依然是32 KB 的块大小,利用率接近100%时,磁盘可以执行的IOPS为128。在磁盘利用率为70%的IOPS为89(128×0.7),这表明磁盘可以执行的I/O操作数是一个重要的因素。在为应用计划存储需求时,需要重点考虑这个因素。

应用程序的存储需求是要根据满足应用程序的存储容量和 IOPS 来确定的。如果一个应用程序需要 200G 的磁盘空间,那么当前一块磁盘就能满足这种需求。然而,如果应用程序的 I/O 需求很高时,性能下降,一块磁盘就无法满足高需求的I/O响应时间。

基于以上讨论,一个应用程序所需要的磁盘数(DR)可以通过如下方式计算得到:

DR= Max(DC, DI)

这里DC是满足容量需求的磁盘数量,而DI是满足IOPS需求的磁盘数量。

让我们通过一个例子来加深理解。

假设一个应用程序的容量需求为1.46TB,应用程序最高负载时的IOPS 为9 000,磁盘制造商提供的磁盘容量为146GB,转速为15 000rpm,可以达到的最大IOPS 为180。

在这个例子中,为了满足容量需求,需要1.46TB/146GB=10个磁盘。

而为了满足高达9 000的IOPS 需求,则需要50 个磁盘(9 000/180)。结果,为了满足应用程序的需求,将需要50 = Max(10, 50)个磁盘。

对响应时间敏感的那些应用,磁盘需求数还必须以单个磁盘低于70%使用率时的IOPS来计算。依然使用这个例子,单个磁盘在70%使用率时的IOPS 为180×70%=126 IOPS。那么满足应用IOPS 需求的磁盘数量是9 000/126=72。

因此,满足这个应用程序的需求需要Max (10, 72) = 72 块磁盘。

在上面的例子中,从容量角度看,10块磁盘就可满足需求,但是满足性能需求则需要72块磁盘。为了从性能角度优化磁盘需求,出现了许多运行在实时环境下的解决方案,例如磁盘原生命令排序(disk native command queuing)、使用闪存盘、RAID 以及使用缓存(cache memory)。RAID和高速缓存将分别在第3章和第4章详细讲述。

2.11 磁盘原生命令排序(disk native command queuing)

命令排序是应用于磁盘驱动器的一项技术,它决定接收到的I/O请求的执行顺序,以减少不必要的磁盘头移动,提高磁盘性能。当磁盘控制器接收到 I/O 请求时,命令排序算法会为此 I/O分配一个标签,确定该命令的执行次序。使用命令排序技术,命令按照数据在磁盘上的组织确定执行顺序,而非按照接收顺序依次执行。

最常用的命令排序算法叫做寻道时间优化(seek time optimization)。命令的执行以实现读写头移动的最优化为目的,可能会对命令重新排序。如果不使用寻道时间优化,命令会按接收顺序先后执行。如图2-16(a)所示,命令会按A,B,C,D的顺序执行。A之后马上执行C,所需的磁头半径移动幅度小于执行B。应用寻道时间优化技术,命令的执行顺序为A, C, B, D,如图2-16(b)所示。

访问时间优化(Access Time Optimization)是另外一个命令排序算法。使用这种算法,命令的执行顺序会综合考虑寻道时间优化和对于旋转延迟的分析,以实现最佳性能。

命令排序技术也应用在现代存储阵列控制器中,有时候会与应用于磁盘的命令排序并用。

2.12 闪存盘简介

随着信息的增长,存储用户的业务应用对于性能的需求越来越高。传统上使用增加磁盘数量的方式满足较高的I/O需求。企业级闪存盘(enterprise class flash drives,EFD)的出现改变了这种状况。

闪存盘也被称为固态硬盘(solid state drives,SSD),是新一代的磁盘。它拥有极高的性能,能满足性能敏感型应用的需求。闪存盘使用基于半导体的固态存储(闪存)来存取数据。与传统的机械磁盘相比,闪存盘不含移动部件,因此也没有寻道时间和旋转延迟。另外,因为是基于半导体的设备,闪存盘比机械磁盘更省电。闪存盘特别适合那些文件块较小(small block size),随机读取工作较多,且要求响应时间持续保持较低水平的应用。那些需要快速处理大量数据(如货币兑换,电子交易系统)或者实时数据处理的应用在使用闪存盘后能大幅提高性能。

企业级闪存盘的吞吐量是传统机械磁盘的30倍,而响应时间不到机械磁盘的10分之1(分别是小于1ms 和6~10ms)。此外,每存储1 TB 数据,使用闪存盘与使用机械磁盘相比,最多可节省38%的电能。换算成单个I/O消耗的电能,闪存盘比机械磁盘节省98%。

综合来说,虽然单GB 容量的成本更高,闪存盘依然提供了更低的整体拥有成本(total cost of ownership)。应用闪存盘后,企业达到应用的性能需求所需的磁盘数量更少(大约只需机械磁盘数量的20~30分之一)。不但节省了磁盘的成本,还节省了电能、制冷的花费,占用空间也更小。磁盘数量减少,还可以降低存储管理的成本。

2.12.1 闪存盘的组件和架构

为了保证兼容性,闪存盘采用了和机械磁盘相同的外形和连接器。这样存储机柜中的一个机械磁盘坏掉时,可以直接用一个闪存盘替代。闪存盘的关键组件包括控制器、I/O 接口、大容量存储(存储芯片的集合)和缓存。控制器控制闪存盘的运行。I/O 接口提供电力和数据访问。大容量存储由一组用于存储数据的非易失性NAND闪存芯片组成。缓存是进行数据处理或操作的临时空间或缓冲池。

一个闪存盘上有多个用于数据访问的并行I/O通道(控制器和闪存芯片)。一般来说,闪存芯片和通道的数量越多,闪存盘的内部带宽越大,其性能越高。闪存盘一般有8到24个通道。

闪存中的存储芯片是以块和页为逻辑单位组织的。页(page)是闪存盘上能被读写的最小对象(object)。页组合成块(block)(此处的块与机械磁盘扇区512字节的块不同)。每个块可以有32、64 或者128 个页。页的大小没有唯一标准,常见的大小有4 KB, 8 KB和16 KB。闪存盘模拟物理磁盘的逻辑块地址(LBAs),每页占据一系列连续的物理块。举例来说,一个大小为4 KB的页占据8个连续的512字节数据块。闪存盘的读操作发生在页层级,而写操作则发生在块层级。

2.12.2 企业级闪存盘的特性

企业级闪存盘的主要特性如下:

• NAND 闪存技术:NAND 闪存技术非常适合读取随机数据。NAND 设备采用不良块追踪(bad block tracking)技术和校验码(error-correcting code,ECC),以保证数据一致性,实现最快的写入速度。

• 基于单级单元(Single-Level Cell,SLC)的闪存:NAND技术有两种单元设计方式。多层单元(Multi-Level Cell, MLC) 可以记录多个状态,所以每个单元可以存储多位数据。而单层单元的每个单元只存储一位数据。单层单元有性能好和寿命长的优势,是适合企业数据应用的较优方案。单层单元的读取速度是多层单元的两倍,而写入速度可达多层单元的四倍多。单层单元的写入擦除周期(write erase cycle)是多层单元的10倍多。另外,单层单元每个单元只存储一位数据,出错的几率大大减小,所以其可靠性也好于多层单元。

• 写入平衡技术(write leveling technique):最大化磁盘寿命的一个重要方面是保证存储单元的使用较平均。这意味着经常更新的数据要写入不同的位置,避免对同一单元的使用过于频繁。企业级闪存盘在设计时就考虑到这一点,新的写入操作会使用最新(即最少使用)的块。

2.13 概念应用:VMware ESXi

VMware是服务器虚拟化解决方案领域的领导厂商。VMware ESXi提供了一个叫做hypervisor的平台,将CPU、内存和存储资源抽象出来,使一台物理服务器上可以同时运行多台虚拟机。

VMware ESXi 是一个应用于x86 平台实现服务器虚拟化的hypervisor。它能够在同一物理机上创建并同时运行多个虚拟机(VM)。虚拟机是一组文件的集合,可以移动、复制或者作为模板使用。组成一个虚拟机的所有文件通常保存在一个叫做VMFS(Virtual Machine File System,虚拟机文件系统)的集群文件系统中的同一目录下。运行ESXi的物理机叫做ESXi主机。ESXi主机提供了运行虚拟机所需的物理资源。ESXi 由两个主要部件组成:VMKernel 和虚拟机监控器(Virtual Machine Monitor)。

VMkernel提供了和其他操作系统类似的功能,如进程创建、文件系统管理和进程调度。它专为支持同时运行多个虚拟机而设计,并提供了一些核心的功能,例如,资源调度和I/O堆栈等。

虚拟机监控器负责在CPU 上执行命令,以及进行二进制转换(Binary Translation,BT)。虚拟机监控器将硬件虚拟化,使虚拟机表现为一台有CPU、内存和I/O设备的物理机。每个虚拟机都会被分配一个虚拟机监控器,监控器掌握一定的CPU、内存和I/O设备资源来运行虚拟机。

小结

本章讲述了数据中心的关键组件——应用、数据库管理系统(DBMS)、主机、连接和存储。从应用程序到存储设备的数据流需要经过这些实体,它们的物理和逻辑部件都影响着应用的整体性能。数据中心各组件的虚拟化提高了部件的利用率,简化了部件的管理。

存储设备是数据中心环境中最重要的元素。硬盘驱动器(HDD)是最流行的存储设备,它使用磁介质来访问和存储数据。基于闪存的企业级固态磁盘(SSD)是最近的创新。它在很多方面都优于机械磁盘。

目前的磁盘存储系统为了满足应用对性能的需求,都使用了大量的磁盘。如何管理磁盘容量、确保性能和可靠性是一个很大的挑战。RAID(redundant array of independent disk,冗余磁盘阵列)的出现正是为了应对这些问题。我们将在下一章详细介绍RAID。

练习

1.虚拟化的数据中心与传统数据中心相比有哪些优势?

2.一个应用程序,需要200GB的存储空间来部署一个数据库和其他文件。同时,在负载高峰期时还要求能够支持5 000 IOPS。现在可用的磁盘是这样的:具有66GB的可用空间,制造商声明该磁盘可以支持最大140 IOPS。应用程序是响应时间敏感型的,且磁盘利用率超过 60%时就不能满足响应时间要求。请计算出为了满足应用程序的需求所要使用的最少磁盘数量,并解释其原因。

3.磁盘服务时间是由哪些因素构成的?在一个随机I/O操作中,哪一个因素消耗了最大比例的磁盘服务时间?

4.一个应用程序的平均I/O大小为64KB。以下磁盘的具体信息是由制造商提供的:平均寻道时间为5ms,转速为7 200rpm,传输速率为40MB/s。请确定应用程序使用这种磁盘的最大IOPS是多少?以这个例子为例,解释一下磁盘利用率和IOPS之间的关系。

5.参照练习4,根据I/O控制器利用率为20%、40%、60%、80%和100%时的情况,绘制一幅反映响应时间和利用率关系的曲线图,并描述从图中可以得出的结论。

6.调研除了本章讨论的主要部件外(包括环境控制参数(热量、通风和空调)、电力供应和安全),数据中心还包括哪些部件?

相关图书

数据存储架构与技术
数据存储架构与技术
分布式对象存储——原理、架构及Go语言实现
分布式对象存储——原理、架构及Go语言实现

相关文章

相关课程