在SAN上创build的虚拟机存储与在SAN上直接使用存储来读写数据的性能有什么区别?
我的意思是,我们有基于虚拟机安装的SQL服务器,并使用虚拟硬盘。
虚拟机在我的SAN上。
解决SQL服务器直接读写数据到SAN更好吗? 我的解决scheme有更好的性能吗?
当涉及到基于虚拟机的服务器与裸机之间的性能差异时,裸金属解决scheme的性能应该会更好,因为它具有更less的抽象层,从而减less对I / O操作的影响。 在使用简单的VHD的情况下是这样的。 但是,可以select使用块级iSCSI存储来提高虚拟机性能。 虚拟机使用iSCSI存储提供更快的性能,因为I / O是按照直接在硬件上执行的方式执行的。
对于这种情况,您可以查看提供iSCSI存储的StarWind Virtual SAN , HPE VSA和UnityVSA 。 我可以推荐StarWind,因为它以DAS存储的速度运行,但是,StarWind提供了更高效的DAS性能利用率,同时启用了DRAM和SSDcaching。
通常,共享存储arrays将用于pipe理function,而不一定是性能。 高可用性,共享存储,克隆和快照,集中pipe理。
特别是对于数据库应用程序,通过原始设备将数组级别克隆用于备份和testing环境可能是有价值的。
我不认为这与原始设备与VMware数据存储的抽象差异有很大区别。 但是,您将不得不在configuration中运行一些性能testing。
而关于主机本地存储与共享arrays,可以执行得相当好,特别是对于一些更快的固态存储。
首先,我的背景。 在过去的10年中,我pipe理着一个运行700多台生产服务器的环境,其中75台是SQL Server。 我已经经历了裸机,具有直接SAN存储的VM和具有存在于SAN上的VMDK的VM的迭代。 你提到VMWare,所以我会坚持这个技术堆栈的答复。
比较像硬件(SSD,HDD等)时,裸机总是更快。 但是,在虚拟化时,我发现拥有一个直接与SAN进行存储交互的虚拟机与一个使用VMDK存储在同一个SAN上的虚拟机之间没有明显的区别。 在大多数情况下,添加的虚拟化层不会增加足够的延迟。 但是,每个人的用例都不一样。 这可能是VMDK更快。 例如,您是否正在考虑通过1GB以太网接口直接连接存储的iSCSI到SAN,而您的计算层需要8Gb或16Gb光纤通道才能连接到SAN? 如果是这样,VMDK会更快。
这样说,去VMDK有很多其他的好处。 vMotion和存储DRS是两个。 一个潜在的缺点是取决于你的VMDK的大小,你不能在虚拟机运行的时候增加它的大小。 我相信VMWare停止让你在2TB热添加空间。 如果你正在谈论较小的VMDK,这不适用。 有了这个,我的build议是虚拟化整个堆栈。
另外,如果我要推荐SAN技术用于数据库,我发现Nimble( http://www.nimblestorage.com )在行业中是无与伦比的。 特别是与VMWare配合使用时。 炽烈快速,价格实惠,稳定。 四周,一个坚实的解决scheme