我们正在设置 SQL 服务器,该服务器跨 2 台 HP DL380p 服务器集群,使用 HP P2000 作为共享存储,具有 2 个 raid 10(8 个磁盘)阵列和 raid 1 镜像(2 个磁盘)。我们创建了 3 个 LUNS(LUN10、20、30)并创建了 5 个单独的 VHDx 文件。1. OS/SQL(LUN10)2. MDF(LUN10)3. LDF(LUN 20)4. TempDB(LUN30)
我唯一担心的是将操作系统和 SQL 安装以及数据库文件放在同一个 LUN 上?这是不推荐的做法还是真的没什么区别?它们是单独的 VHDx 文件 [OS / SQL 安装 VHD] 和 [MDF 文件 VHD],但仍驻留在具有相同主轴的同一 LUN 上。您是否建议将操作系统移动到其完全独立的磁盘组?我猜想(OS 和 SQL 二进制安装 VHDx)上几乎没有任何活动来证明其需要自己的主轴组?它们可以与 MDF 文件共享相同的主轴吗?
谢谢。
答案1
在正常运行期间,SQL Server 上的操作系统磁盘使用量非常小。它们仅在更新期间产生负载。
更令人担忧的是,您将日志和数据文件放在同一个主轴上。这与推荐的设置形成了鲜明对比,在推荐的设置中,您总是试图将日志 I/O 与数据库 I/O 分开。在某些情况下,这也适用于 tempDB。
我可能会选择这样的方式:
- 2 个磁盘组成 RAID1,用于操作系统
- RAID1 中的 2 个磁盘用于日志文件
- 2 个磁盘组成 RAID1,用于 tempDB
- 4 个磁盘组成 RAID10,用于数据库
这种设置可能会在某些方面限制您(例如每个 LUN 有多少空间),但它可以让您更好地控制 I/O 的落点,尤其是避免 LUN 队列过高。这样还可以更容易地发现瓶颈,将来只需升级更多磁盘,或者如果您发现磁盘无法跟上 I/O,甚至可以为 tempDB/log 安装闪存盘。
当然,这一切都取决于您预计系统会产生多少 I/O 负载、您备份日志文件(截断它们)的频率以及您的预算有多少。