与此问题相关:在构build存储区域networking时,存储pipe理员通常会根据I / Otypes(顺序访问还是随机访问)创build物理磁盘arrays,并将LUN从这些arrays提供给需要特定typesI / O的主机?
我试图将预期的I / O需求与架构相匹配。 对于我所做的几乎所有事情, 如果您投入了足够的磁盘, SAN方法总共I / Ops超过了所有,但是专家工作负载最终运行得非常好。 如果我使用了96个主轴,那么即使在同一个磁盘上运行Exchange服务器,我所拥有的I / O总量也足以保持SQL服务器日志文件。
在理论(I / O分离是最佳实践)的情况下,如何将这些大型SANarrays中的一些devise成为现实。 虽然四个15K RPM磁盘的顺序 I / Ops相当高,但是很多这些arrays有意地随机化块布局,所以即使创build专用于一个SQL日志的4磁盘磁盘组,也不会获得该性能卷。 他们可能会遇到一些顺序的好处,因为块大小通常比磁盘本身使用的4K大,但它不会是纯序列负载所期望的尖叫恶魔。
如果我正在为数据库构build专门的存储, 这假设这个服务的I / O需求是如此之大,或者I / O SLA是足够严格的,有性能保证是必须的。 在这种情况下,我将为Log,TempDb和DB卷等事物创build离散的磁盘组。 这种devise并不经常发生,事实上很less发生。
它取决于? 对于标准的低使用率的虚拟机,我通常在几个RAID 6上折腾大部分,让caching和分层来处理这些突发事件。 对于受到严重打击的Exchange数据库服务器或SQL Server,他们通常会有专门的LUN来满足他们的需求。
不过,这确实取决于您的存储架构。
我很想说'是',因为这会让我看起来超级专业,但说实话99%的时间,我只是买我需要的任何types的arrays(目前正在经历一个大的3PAR阶段,但我这些年来他们大多数都是这样做的),并且购买尽可能多的货架,然后用适当数量和速度的磁盘来填充它们,然后创build符合RAID级别和性能要求的LUN–尽pipe我一般不要考虑性能是随机的还是顺序的。 我倾向于承担一切,但备份将是随机IO,所以根据我的假设,至less如果我得到一些caching或顺序的好处,那么这只是“肉汁”。 我知道这听起来有些懒惰,但我照顾了很多数组,除非你有一个非常固定的要求,总是会有一些“摆动的空间”参与装载数组,你永远不会得到右首次。
对于本地DAS来说,我确实倾向于更具体,因为这很难改变,但我通常不会使用太多。
不可以,因为SAN上的大多数卷都会对它们执行多种types的IO。 如果有一部分环境可以预测(如数据库服务器是80%的随机读取,或者备份服务器是90%顺序写入),如果您(a)没有宽条带,将其分开可能会使您受益(b)有一个控制器已经过时了,你可以通过使用RAID-10获得任何严重的性能。
编辑:点击通过,分离数据库日志和数据是一个好主意比RAIDtypes更多的原因。 即使使用相同的RAIDtypes,也要将它们分开,以便控制器可以为每个卷使用不同的caching优化algorithm。
如果您有池,将这些工作负载分离到自己的磁盘池的好处通常不值得性能成本。 除了less数例外,最佳做法是将所有操作系统types的所有卷放入一个包含所有资源的大型池中。