EMC存储最佳实践培训手册(共43页).doc
《EMC存储最佳实践培训手册(共43页).doc》由会员分享,可在线阅读,更多相关《EMC存储最佳实践培训手册(共43页).doc(43页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上BestPracticeFrom DOIT WIKIJump to: , 版权声明:EMC存储最佳实践R22的版权归美国EMC公司所有,。EMC存储最佳实践R22中文译稿可以转载,转载时请务必以超链接形式标明文章原始出处DOSTOR存储在线和作者与译者信息及本声明。 目录 o o o o o o o o o o o o o 一.关于性能的探讨性能调优有多重要呢?在一个Raid 5的阵列组中使用5-9块硬盘和使用默认的设置,CLARiiON光纤储系统能发挥极好的性能-这是EMC在性能测试实验室里测试自己的CLARiiON系统得出来的。 CLARiiON存储系统默认的设置
2、是为实际环境中遇到的大部分工作情形所设计的。但是,有一些工作情景还是需要调优来实现存储系统的最佳配置。 为什么在阵列组里用5到9块硬盘?这个设置并没有任何神奇的地方,也不是因为这个配置有什么特殊的优化。然而,Raid 5使用这个数量的硬盘确实是最有效的利用了校验,同时也能在合理的时间能重建数据。更小的阵列组会有更高的校验开销,而大的阵列组则会花更长的时间来重建数据。 这份白皮书探讨了在设计优化系统方面的时设计到的许多要素。请注意这里提供的信息是非常有帮助的,尤其当你充分理解了你的阵列的工作情形。因此,EMC推荐你使用Navisphere Analyzer来分析你的阵列的工作情形,并且要定期的复
3、习和回顾相关文档的基础知识。同时,请记住在配置一个阵列的时候很少有显而易见的选择,所以在有疑问的时候最好是按照默认的配置和保守的评估。 1.性能的定义以下的名词在整个白皮书当中都会用到。如果你对他们不熟悉,请回顾一下 EMC CLARiiON Fibre Channel Storage Fundamentals 带宽 校验 读取 随机 响应时间 要求数据大小 Request size 顺序 条带 条带元素 Stripe element 吞吐量 Write-aside 2.应用的设计应用的设计对系统的表现影响很大。提升性能的最佳方法的第一步就是应用的优化。任何存储系统的调优都不可能建立一个非常差
4、的应用设计上面。 A. 为顺序或者随机I/O的优化非常典型的一个例子是,提升带宽在顺序访问的调优方面会起显著作用,因为存储系统在顺序I/O方面会更加有效率-尤其是在RAID5的时候。而为随机访问的调优则要改善吞吐量和更快的响应时间,因为这样会改善处理顾客响应所花的时间。 读和写的对比写比读更加耗费存储系统的资源,这是基于CLARiiON对数据保护的机制的应用。写到write cache是镜像到两个存储控制器的(SP)。写到带校验的Raid Group会碰到校验运算的要求,而这也要求把冗余的信息写到磁盘里面。写到镜像的Raid Group会需要两份数据的拷贝的写入。 读的开销相对会小一些,这是因
5、为,从CLARiiON系统的读的吞吐量会比写的吞吐量要大一些。但是,对大部分工作情形来看,数据往往是写入write cache,这样会有更短的响应时间。读,在另一方面来说,可能命中cache,也可能不命中cache;而对大部分随机的工作情形来说,读比写会有更高的相应时间,因为数据还是需要从磁盘里面抓取。如果要达到高的随机读取吞吐量,需要更好的协作(concurrency)。 B. I/O 的大小每一个的I/O都有一个固定的开销和一个变量的开销,后者决定于其他的一些事情,例如I/O的大小。 大的I/O能提供更少的固定开销因为有着更大的数据。因而,对CLARiiON而言大的I/O比小块的I/O能提
6、供更大的带宽。如果有足够的硬盘,在执行大的I/O的时候后段总线的速度将会成为系统的性能瓶颈。小块的随机访问应用(例如OLTP)的瓶颈在于磁盘(的个数),而且很少达到后端总线速率。 当设计OLTP的时候,必须要使用基于磁盘(的个数)的IOP来衡量,而不是使用基于总线的带宽来衡量。 然而,在一个CLARiiON存储系统里面,当I/O到了某一个特定的大小的时候,包括write caching和prfetching都会被bypass掉。是决定用一个大的I/O请求还是把他分成几个顺序的请求,取决于应用程序和它跟cache之间的相互作用。这些相互作用在 “The Raid engine Cache”里会探
7、讨到。 文件系统也可以影响到I/O的大小,这也在稍后的“Host file-system impact”中描述到。 C. 暂时的模式和峰值的表现(temporal patterns and peak activities)应用的操作设计-如何去使用,什么时候去使用,什么时候需要去备份-都会影响到存储系统的负载。例如,用作随机访问的应用的存储系统,在备份和批量处理的时候,需要好的顺序性能。 一般来说,对OLTP和消息应用(任何跟大量随机访问I/O有关的),更高的并发处理能力(concurrency)会更好。当有更高的并发处理能力的时候,存储系统将会获得更高的吞吐量。使用异步I/O是一种获得更高的
8、并发处理能力的通常的手法。对带宽而言,单线程的应用几乎不能有效地利用四块硬盘以上带来的好处,除非request size是非常大的(比2MB大)或者使用到volume manager.当最佳的顺序性能达到的时候,而此时如果顺序处理到磁盘的路径是唯一的时候,用户还是可以从有适度并发随机访问的光纤硬盘(每个硬盘的I/O在100以下)的设置中获得一个可接受顺序性能。 3主机文件系统影响在主机层次,通过指定最小最大的I/O request size,文件系统也影响了应用I/O的特性。 A.文件系统的缓冲和组合(coalesce)跟在存储系统上的cache相似的是,缓冲是文件系统提高性能的一种主要方式。
9、 缓冲 在大部分的情况下,文件系统的缓冲应该最大化,因为这能减少存储系统的负载。然而,还是会有一些意外。 一般来说,应用自己来调配缓冲,能避免文件系统的缓冲或者在文件系统的缓冲之外工作。这是基于应用能更加有效的分配缓冲的假设之上。而且,通过避免文件系统的coalesce,应用更能控制I/O的响应时间。但是,正如在64位的服务器里RAM的容量将会提升到32GB或者更多,这也就有可能把这个文件系统都放在缓冲里面。这就能使读操作在缓冲下,性能会有非常显著的提升。(写操作应该使用写透(write-through)的方式来达到数据的持续性。) 结合Coalescing 文件系统的coalesce能帮助我
10、们从存储系统里获得更高的带宽。在大部分顺序访问的操作里面,用最大邻近和最大物理的文件系统设置来最大化文件系统的结合Coalescing.例如,这种处理方式可以和备份程序一起把64KB的写操作结合(coalesce)成一个完全stripe的写操作,这样在 write cache被bypass的情况下,对于带校验的Raid会更加有效果。 B.最小化I/O的大小:文件系统的request size文件系统通常都被配置成一个最小的范围大小,例如4KB,8KB或者64KB,这是提供给阵列的最小的不可分割的请求。应用使用的I/O在比这个范围大小要小的时候,会导致很多不必要的数据迁移和/或read-modi
11、fy-write的情形出现。这也是考虑应用和文件系统文件的最佳设置的最好办法。(it is best to consult application and file system documentation for the optimal settings)而request size没有被文件系统限制的Raw partitions,则没有受到这个约束。 C.最大化的I/O大小如果想要快速的移动大量的数据,那么一个大的I/O(64KB或更大)会更加有帮助。在整合(coalescing)顺序的写操作成Raid Group整个的stripe的时候,阵列将会更加有效率,正如预读取大的顺序读操作一样。大
12、的I/O对从基于主机的stipe获得更好的带宽而言也是很重要的,因为他们将会被基于srtipe的toplogy打散成更小的大小。 D.文件系统的fragmentation避免fragmentation和defragementation在一起,这是一个基础的原则。注意NTFS文件系统可能被分区成任何形式除了默认的范围大小,他们不能被大部分的工具所defragement:这个API(程序的接口)并不能允许这样做。执行一个文件级别的拷贝 (到另一个LUN或者执行一个文件系统的备份和恢复)是defragement的一个有效的实现。 跨越磁盘的小I/O在一些主机的类型里显得更加重要,而我们接下来将会探讨
13、为什么会导致这种状况。 当以下情况发生的时候,跨越磁盘将会对响应时间有一个显而易见的影响: a)有大比例的block size大于16KB的随机I/O b)Navisphere Analyzer报告的硬盘的平均等候队列长度比4大的时候对齐4KB或者8KB边界的时候(例如Exchange和Oracle),工作负载将会从对齐中获得一些优势。但因为I/O当中,小于6%(对于4KB)或者12%(对于8KB)的I/O都会造成跨盘操作(碰巧的是他们可能会以并行的方式来完成)。这种额外的收益可能很难在实践中注意到。但如果当一个特定的文件系统和/或应用鼓励使用对齐的地址空间并且位移(offset)被注明,EM
14、C推荐使用操作系统的磁盘管理来调整分区。Navisphere LUN的绑定位移(offset)工具应该要小心的使用,因为它可能反而会影响分层的应用同步速度。 在Intel架构系统中的文件对齐 Intel架构的系统,包括windows2000/windows2003,都会受到在LUN上元数据的位置的影响,这也会导致磁盘分区的不对齐。这是因为遗留的BIOS的代码问题,BIOS里面用的是磁柱,磁头和扇区地址来取代LBA地址。(这个问题一样影响了使用intel架构的linux操作系统,正如windowsNT,2000,和2003。这个问题也一样影响了运行在intel硬件上的VMWare系统) fdis
15、k 命令,正如windows的Disk Manager,把MBR(Master Boot Record)放在每一个SCDI设备上。MBA将会占用设备上的63个扇区。其余可访问的地址是紧接着这63个隐藏分区。这将会后续的数据结构跟CLARiiONRAID的stripe变得不对齐。 在linux系统上,这个隐藏扇区的多少取决于boot loader和/或磁盘管理软件,但63个扇区是一个最常遇到的情况。对于VMware,位移(offset)是63。 在任何情况下,这个结果都为确定的比例的I/O而导致不对齐。大的I/O是最受影响的。例如,假设使用CLARiiON默认的stripe element 64
16、KB,所有的64KB的I/O都会导致跨盘操作。对于那些比这个stripe element的小的I/O,会导致跨盘操作的I/O的比例,我们可以通过以下公式来计算: Percentage of data crossing=(I/O size)/(stripe element size) 这个结果会给你一个大致的概念,在不对齐的时候的开销状况。当cache慢慢被填充的时候,这种开销会变得更大。aa F.校正对齐问题你可以选择以下的方法之一来修正对齐的问题。记住,必须只是两种方法之一: a.Navisphere LUN的对齐位移(offset) b.使用分区工具 对任何特定的LUN,只要使用其中一种,
17、不是两个。这个是我们经常要强调的。 同时,当设定一个metaLUN,只有那个base component需要分条的对齐(就是那个被其他LUN 挂靠上去的LUN)。如果使用LUN的对齐位移,当metaLUN建立的时候,metaLUN的对齐位移也被设置了。当扩展一个metaLUN,不需要再调整了。如果用了分区工具的方法,这个调整只需要在用户第一次对LUN分区的时候来做。 用什么方式来做 当没有基于主机的程序在使用的时候,我们可以使用LUN对齐位移的方式。LUN对齐位移方法对一些复制的软件操作,如clone sync I/O, SnapView Copy On Write opertions, Mi
18、rrowView sync I/O, SAN Copy I/O等,造成磁盘和strip跨盘的问题。 如果可以,使用基于主机的分区工具方式。 避免使用LUN对齐位移方法,假如你在这个LUN上使用了SnapView,SAN copy, MirrorView。相反, 应该使用基于主机的分区工具方式。 LUN的位移 LUN的位移方法使用把LUN偏移,来达到对齐stripe分界的分区。LUN从第一个RAID的stripe的末端开始。换一句话说,将LUN的位移设置成RAID stripe的大小,会让(紧接着MBR开始的)文件系统对齐了,如下图2所示。 LUN对齐位移的不足之处是它可能会造成任何要对Raw
19、LUN进行操作的软件的I/O请求的不对齐。CLARiiON 的复制会对raw LUN操作,如果LUN被位移了,这也会产生跨磁盘的操作。 Navisphere中,当LUN被bound的时候和block大小被设置成512byte的时候,位移会被设置成特定的。例如,在一个windows2003系统,将会把63个block设置为位移量。FLARE 会调整stripe,因此用户的数据就会从stripe的开头来开始。 图2: Intel MBR with partition and LUN offset correction 磁盘分区的对齐 基于主机的分区程序使用增加可设定地址的区域的起始部分,来校正对齐
20、的问题;因此,可设定地址的空间在RAID strip element的起始部分开始算起,或者在整个strip的起始部分。因为LUN从正常的地方算起,在RAID strip 的起始部分,复制软件操作也是对齐的。事实上,对于镜像操作,当secondary被写入的时候,primary的对齐是被保护了的,因为增加了的分区目录被写入了源LUN。 磁盘分区对齐和windows的系统 在Windows NT,2000,2003系统中,分区软件diskpar.exe,作为WRK(Windows Resource Kit)的一部分,可以用来设定分区位移的开始。你必须要在数据写入LUN之前做这件事,因为diskp
21、ar 会重新写分区表:所有在LUN上出现的数据都会丢失掉。 对于随机访问操作或者是metaLUN,在diskpart中设定起始位移的大小,跟对被用来Bind LUN的stripe element size的大小一致(一般128blocks)。对于高带宽要求的应用,设定起始位移的大小跟LUN stripe size的大小一致。 开始,用Disk Manager来获得磁盘的数目。在命令行中,使用diskpar加上-i的选项:diskpar -i x (新的大小是磁盘个数)来检查已经存在的位移: C:diskpar -i 0 Drive 0 Geometry Information - Drive
22、Partition 0 Information - StatringOffset = 32256 PartitionLength = HiddenSectors = 63 。 注意 HiddenSectors的值。这就是分区的位移的数值 1. 假如磁盘X有数据你不想丢失,那么备份那个数据 2. 假如磁盘X是一个Raw Drive,跳到第四部。 3. 删掉在磁盘X上所有的分区,使之成为一个Raw Disk。 4. 在命令行中使用diskpar -s X (X是磁盘个数) 5. 输入新的起始位移(单位sectors)和分区长度(单位MB)。这一步骤写入为那个磁盘写入新的MBR 和创建新的分区。在你
23、输入起始位移和分区大小,MBR就被修改了,而新的分区信息出现了。6. 在command prompt输入diskpar -i x (x为磁盘个数)来复查新近创立的分区上的信息。 64位windows系统 在64位的windows系统里面,如果按照默认创建,MBR类型的磁盘是对齐的;GPT分区也是按默认对齐,尽管他们有一个小的保留区域(32MB)是没有对齐的。 在linux系统中的磁盘分区调整 在linux中,在数据写入LUN之前对齐分区表(table),因为分区影射(map)会被重写,所有在LUN上的数据都会毁坏。在接下来的例子里,LUN被影射到/dev/emcpowerah,而且LUN st
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EMC 存储 最佳 实践 培训 手册 43
限制150内