joeqwerty Asked: 2012-10-03 09:55:43 +0800 CST2012-10-03 09:55:43 +0800 CST 2012-10-03 09:55:43 +0800 CST 存储架构 772 与此问题相关:构建存储区域网络时,存储管理员通常会根据 I/O 类型(顺序访问还是随机访问)创建物理磁盘阵列,并将这些阵列中的 LUN 提供给需要特定类型 I/O 的主机? storage 4 个回答 Voted MDMarra 2012-10-03T10:13:29+08:002012-10-03T10:13:29+08:00 这取决于™。对于标准的低使用率虚拟机,我通常将它们中的大部分放在几个 RAID 6 上,让缓存和分层处理突发情况。对于遭受重创的 Exchange DB 服务器或 SQL Server 之类的东西,它们通常具有专为满足其需求而设计的专用 LUN。 不过,这确实取决于您的存储架构。 Best Answer sysadmin1138 2012-10-03T11:03:11+08:002012-10-03T11:03:11+08:00 我尝试将预期的 I/O 需求与体系结构相匹配。对于我所做的几乎所有事情,SAN 方法(如果您向其投入足够多的磁盘),总 I/Ops 超过了除专业工作负载之外的所有方法,最终效果很好。如果我有 96 个轴在使用中,我可以支配的总 I/Ops 足以保持 SQL 服务器日志文件的馈送,即使 Exchange 服务器在同一磁盘上运行也是如此。 理论(I/O 分离是最佳实践)与现实相吻合的地方在于这些大型 SAN 阵列的设计方式。虽然四个 15K RPM 磁盘的顺序I/Ops 相当高,但许多此类阵列故意随机化块布局,因此即使您创建专用于一个 SQL 日志的 4 磁盘磁盘组,您也不会获得该性能体积。它们可能会遇到一些连续的好处,因为块大小通常大于磁盘本身使用的 4K,但它不会是您从纯顺序加载中期望的尖叫恶魔。 它发挥作用的地方是我是否正在为数据库构建专用存储。这假设这项服务的 I/O 需求非常大,或者 I/O SLA 足够严格,必须有性能保证。在那种情况下,我实际上会为诸如 Log、TempDb 和 DB 卷之类的东西创建离散的磁盘组。这种设计并不经常发生,实际上很少见。 Chopper3 2012-10-03T10:16:01+08:002012-10-03T10:16:01+08:00 我很乐意对此说“是”,因为它会让我看起来超级专业,但老实说,99% 的时间我只是购买我需要的任何类型的阵列(目前正在经历一个大的 3Par 阶段,但我这些年来我已经经历过其中的大部分)并购买尽可能多的架子,然后用合适数量和速度的磁盘填充它们,然后创建符合 RAID 级别和性能要求的 LUN——尽管我通常不要考虑性能是随机的还是顺序的。我倾向于假设除备份之外的所有内容都是随机 IO,因此基于我的假设,至少如果我确实获得了一些缓存或顺序优势,那么这就是“肉汁”。 也就是说,对于本地 DAS,我确实倾向于更加具体,因为这更难改变,但我通常不会使用太多。 Basil 2012-10-03T12:16:13+08:002012-10-03T12:16:13+08:00 不会,因为 SAN 上的大多数卷都会对它们执行多种类型的 IO。如果您的环境有一部分是您可以预测的(例如数据库服务器是 80% 的随机读取,或者备份服务器是 90% 的顺序写入),如果您 (a) 没有宽条带化,并且仍在将卷放在特定的 raid 上,并且 (b) 有一个足够过时的控制器,您可以通过使用 RAID-10 获得任何重要的性能。 编辑:点击后,将数据库日志和数据分开是一个好主意,原因比 RAID 类型更多。即使您使用相同的 RAID 类型,您也希望将它们分开,以便控制器可以为每个卷使用不同的缓存优化算法。 如果您有池,将这些工作负载分离到它们自己的磁盘池中的好处通常不值得性能成本。除了少数例外,最佳做法是将所有操作系统类型的所有卷放入一个包含所有资源的大型池中。
这取决于™。对于标准的低使用率虚拟机,我通常将它们中的大部分放在几个 RAID 6 上,让缓存和分层处理突发情况。对于遭受重创的 Exchange DB 服务器或 SQL Server 之类的东西,它们通常具有专为满足其需求而设计的专用 LUN。
不过,这确实取决于您的存储架构。
我尝试将预期的 I/O 需求与体系结构相匹配。对于我所做的几乎所有事情,SAN 方法(如果您向其投入足够多的磁盘),总 I/Ops 超过了除专业工作负载之外的所有方法,最终效果很好。如果我有 96 个轴在使用中,我可以支配的总 I/Ops 足以保持 SQL 服务器日志文件的馈送,即使 Exchange 服务器在同一磁盘上运行也是如此。
理论(I/O 分离是最佳实践)与现实相吻合的地方在于这些大型 SAN 阵列的设计方式。虽然四个 15K RPM 磁盘的顺序I/Ops 相当高,但许多此类阵列故意随机化块布局,因此即使您创建专用于一个 SQL 日志的 4 磁盘磁盘组,您也不会获得该性能体积。它们可能会遇到一些连续的好处,因为块大小通常大于磁盘本身使用的 4K,但它不会是您从纯顺序加载中期望的尖叫恶魔。
它发挥作用的地方是我是否正在为数据库构建专用存储。这假设这项服务的 I/O 需求非常大,或者 I/O SLA 足够严格,必须有性能保证。在那种情况下,我实际上会为诸如 Log、TempDb 和 DB 卷之类的东西创建离散的磁盘组。这种设计并不经常发生,实际上很少见。
我很乐意对此说“是”,因为它会让我看起来超级专业,但老实说,99% 的时间我只是购买我需要的任何类型的阵列(目前正在经历一个大的 3Par 阶段,但我这些年来我已经经历过其中的大部分)并购买尽可能多的架子,然后用合适数量和速度的磁盘填充它们,然后创建符合 RAID 级别和性能要求的 LUN——尽管我通常不要考虑性能是随机的还是顺序的。我倾向于假设除备份之外的所有内容都是随机 IO,因此基于我的假设,至少如果我确实获得了一些缓存或顺序优势,那么这就是“肉汁”。
也就是说,对于本地 DAS,我确实倾向于更加具体,因为这更难改变,但我通常不会使用太多。
不会,因为 SAN 上的大多数卷都会对它们执行多种类型的 IO。如果您的环境有一部分是您可以预测的(例如数据库服务器是 80% 的随机读取,或者备份服务器是 90% 的顺序写入),如果您 (a) 没有宽条带化,并且仍在将卷放在特定的 raid 上,并且 (b) 有一个足够过时的控制器,您可以通过使用 RAID-10 获得任何重要的性能。
编辑:点击后,将数据库日志和数据分开是一个好主意,原因比 RAID 类型更多。即使您使用相同的 RAID 类型,您也希望将它们分开,以便控制器可以为每个卷使用不同的缓存优化算法。
如果您有池,将这些工作负载分离到它们自己的磁盘池中的好处通常不值得性能成本。除了少数例外,最佳做法是将所有操作系统类型的所有卷放入一个包含所有资源的大型池中。