Cho*_*er3 15 oracle storage-area-network
当我们为 MSSQL 机器设置 FC LUN 时,我们很少需要为它们提供超过 8 个不同类型的不同 LUN(Quorum、MSDTC、TempDB、Data、Logs、Backup 和其他一些)。
我们有一个新的 Oracle DBA,他给了我一份他想要用于他的第一台新服务器的 LUN 列表 - 其中有 38 个!这是一个非常基本的数据库框,只有一个数据库。它们都是相当小的 (100GB) LUN,并且它们显然以 LVM 类型的方式使用 ASM 固定在一起。
是最好的方法吗,我真的不是 Oracle 专家,但对我来说似乎过于复杂,您对这件事有什么想法和经验?
Bob*_*Bob 19
我是一名 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 非常复杂。