当我们为我们的 MSSQL 机器设置 FC LUN 时,我们很少需要向它们提供超过 8 个不同类型的不同 LUN(Quorum、MSDTC、TempDB、Data、Logs、Backup 和其他一些)。
我们有一个新的 Oracle DBA,他给了我一份他想要用于他的第一台新服务器的 LUN 列表 - 其中有 38 个!这是一个非常基本的数据库盒,只有一个数据库。它们都是相当小的 (100GB) LUN,它们显然使用 ASM 以 LVM 类型的方式连接在一起。
最好的方法是做到这一点,我真的不是Oracle专家,但对我来说似乎过于复杂,你对这件事有什么想法和经验?
我是 Oracle DBA。您的新 DBA 表现得像许多 Oracle DBA 并且过度工程化。
没有 oracle 不需要 38 个 LUN。我已经将数据文件分布在大量的 lun 上,但这些文件位于非常活跃且非常大的系统上。LUN 不需要映射到新的 RAID 组,对吧?因此,将文件放在单独的 lun 上并不需要分散任何东西(我不是这方面的专家)。
所有这种文件条带化将为 DBA 做更多的工作。这增加了他对球队的重要性。许多 Oracle DBA 总是试图让自己看起来更重要,并且总是过度设计事物。
将数据分离到不同的 RAID 组/lun 不是特定于 Oracle 的。它基于使用情况。为了正确分散文件,您的 DBA 需要了解应用程序以了解正在访问的内容(顺便说一句,将索引与数据分开不会提高性能,因为访问是串行的......)。他知道申请吗?他是否查看了数据库以查看正在访问哪些对象?需要散播什么?什么是批量写入和读取,需要隔离。
这听起来像是一个中小型数据库。什么是活动水平?他大概不知道。
通常在较小的数据库上,您不需要在文件系统级别做太多工作来提高性能。95% 是 SQL,开发人员是否在循环中运行了太多的 sql 语句。
编辑(多年后!):
自从发布此文章以来,我一直在与 SAN 工程师交谈,并在一定程度上提高了我对 SAN 和 LUN 的了解。首先,LUN 是“合乎逻辑的”。它不需要映射到单独的 RAID 组、磁盘等……这是由 SAN 工程师设置的,对 DBA 不可见。大多数人都意识到,在 SAN 中分离 IO 的工作还有很多。
我正在开发一个非常大的系统,该系统具有非常高的活动水平。我们有数百个 LUN、RAID 组等……我们将文件分布在各处。我们与 SAN 工程师一起配置 LUN,以确保它们分布到 SAN 的不同部分。我们真的无法了解 LUN 如何从操作系统级别映射。新的文件系统并不意味着我们将数据映射到 SAN 上的新位置。
至于关于条带ASM的HP文件。这在使用 SAN 时完全没有意义。条带化、镜像、RAID 等……都是在表面下完成的。您不会在应用程序或数据库级别看到它。将 Oracle ASM 配置为“条带化”在 SAN 中毫无意义,因为您将只在可能使用 RAID 5 配置的逻辑卷上进行条带化(由于控制成本,绝大多数情况下。SAN 是数百万美元的投资)。您只会看到文件系统。这些不一定映射到 SAN 中的不同磁盘或不同位置。
IBM 显然有一个新功能,可以让 SAN 根据活动决定在哪里写入磁盘。我的观点是优化 SAN 的人是专家。你需要和他们一起工作。DBA 或应用程序开发人员将无法查看是否有任何东西正在展开。
据我所知,大多数商店都没有非常好的 SAN 工程师。它往往是初级人员的工作。大多数优秀的人往往是顾问。所以很多时候你只是使用制造商的默认设置。重申一下,添加更多 LUN 可能不会分散任何数据,除非您有 SAN 工程师在表面下为您配置它。最重要的是,您可以拥有 1 个 LUN 并为您展开。除非你有一个好的 SAN 工程师,否则所有这些东西都是没有意义的。对我来说很明显,所讨论的 DBA 对 SAN 的了解还不够,甚至不知道他什么都不知道。
99.9% 的时间标准配置都很好。除非您有特定的 IO 瓶颈,否则这是不必要的。如果这样做,那么您需要与 SA 和 SAN 工程师一起确定问题所在。很多时候它与 SAN 的布局无关。同样,DBA 和开发人员无法查看底层发生的事情,更不用说了解这一点的知识了。SAN 非常复杂。
您可以尝试用THIS来敲打他的头,描述 SAME(Stripe And Mirror Everything)方法,非常简单。
我没有直接的答案,因为我们使用 MSSQL 和 mySQL。但是每当我的 DBA 要求一些听起来很疯狂的东西时......就像那样。我要求他记录为什么需要每件作品。这有两个目的,一是很多时候他们突然改变主意,变得更加理智,二是让我看到他们的思维过程,这样我就可以将一些系统逻辑应用于他们想要的东西,并提出一个不太失控的替代方案. 所以在这种情况下,我会要求提供一份文件来证明对 38 个 LUN 的需求
有研究表明,ASM 和硬件级别的条带化可以提高性能。 HP-Oracle 白皮书 这些性能提升主要出现在高并发情况下,这听起来不像您所期望的那样。但可能是您的 DBA 习惯的。
我知道对于 AIX 上的 DB2,我们的 DBA 为每个数据库获取 5 个卷——每个卷用于数据库的不同部分。一个用于数据库,一个用于主日志,一个用于存档日志,一个临时文件和其他东西。这些是卷,它们不一定是 LUN,这取决于您喜欢如何管理存储。