我有一个 VMware vSphere 4 系统,并且正在创建新的虚拟服务器,其中一个是 Windows 2008 Server (x64),用于 SQL Server 2008。我有一个 SAN。
我已阅读了 VMWare.com 上有关在 VMware 上运行 SQL Server 的所有资源。我不太确定我是否正确理解了它们关于分区的内容。
我决定在一个虚拟磁盘文件上安装操作系统,并创建分离vmdk 文件用于 [SQL Server] 数据和日志文件。我将这些磁盘设置为“独立于”任何快照。
如果磁盘不是物理上分开的(这对于 SQL Server 来说很正常),我真的不明白分离数据和日志文件有什么意义,但是这又使得备份管理更容易。
这样做有什么坏处吗?
答案1
- 两个分区或虚拟磁盘。一个用于正确格式化为 SQL Server 的数据文件(64kb 节点大小)。
这几乎就是您在服务器内部可以做的所有事情。典型的虚拟服务器永远不会成为好的数据库服务器,因为您将受到严重的 I/O 限制。这里没有反对虚拟化 - 但使用虚拟化会让许多人失去理智。“真正的”SQL Server 有精心规划的磁盘布局来优化其 I/O 功能,而许多虚拟服务器在共享的相对低性能 SAN 上运行 X 台计算机 - 并且想知道为什么它更慢 ;)
因此,在物理层面上,请确保您具有所需的 IO 能力。
此外:确保每个数据库都有 X 个日志和数据文件,其中 X 是虚拟处理器核心的数量。标准 SQL 过程。
答案2
考虑在 SAN 上创建两个 NTFS 分区并将文件存储在那里。将高流量文件存储在 VMFS 上的虚拟分区上只会增加另一层 I/O。