虚拟化只是个工具并不适合所有场景
DOIT云计算 12年06月01日 15:00 【转载】 作者:机房360 责任编辑:王振
导读:虚拟化技术逐渐成熟,将SQL Server实例迁移到虚拟化服务器上也越来越流行。物理机的数目在减少,随之而来的是耗电量的减少和License成本的降低,而且更易于管理。
虚拟化技术逐渐成熟,将SQL Server实例迁移到虚拟化服务器上也越来越流行。物理机的数目在减少,随之而来的是耗电量的减少和License成本的降低,而且更易于管理。听起来很有优势,但并不是所有场景都适合SQL Server虚拟化。
虚拟化使I/O性能降低
要想有好的性能,数据库需要的最多的单个资源除了CPU外就是磁盘I/O了。当物理服务器只专用于一个SQL Server实例时更容易改善I/O瓶颈问题。如果IOPS(每秒的输入输出操作)投入产出比合适的话,你可以将传统硬盘换为更快的固态硬盘,或者增加更多的内存以增大缓存。主要的考量是权衡成本,因为这种升级不会太便宜。
在SQL Server虚拟化期间,尽管硬件一定会比迁移前的服务器要好,至少是要一样好。而对I/O指标来说就不一定,因为你最后要实现的就是要共享I/O带宽以充分使用数据库。有些迁移的方法,例如:你可以将数据库存储放在物理轴和I/O通道上,这样就可以做到与其他虚拟机隔离,但是这必须在迁移到虚拟机之前完成。
这是个常见的例子:许多专用的数据库服务器在存储阵列中使用RAID1+0(即RAID10),这种方案成本高但效果很好。而另一方面,虚拟机可能使用RAID5以平衡性能和冗余。之前对硬件优化的工作负担会在后面受损,除非你能直接将物理磁盘挂在虚拟机上而非原来的RAID1+0的设置上。
这并不是说磁盘一定要放在本地存储。在虚拟机上的SAN有可能比物理机上的本地磁盘还要好,至少是不相上下。那么IOPS呢?其实并不是一个一定要达到的精确技术指标。
如果是自己构建虚拟主机,你就能对其控制。但是如果是使用别人的虚拟主机,就只能使用大小统一设置的主机。