今天的IT界,虚拟化可谓是发展最迅速的技术之一。推动其快速发展的动力在于虚拟化技术能够消除服务器和基础硬件设备之间的相互依赖,使我们能够在单个硬件平台上运行多个虚拟机,并且能够很轻松地将虚拟机(机器附带的基础客户操作系统和服务器)转移到不同的硬件平台。很多企业都已经将这种技术作为服务器整合的方法。但是虚拟化技术并不是整合服务器的唯一途径。与微软的其他服务器产品不同,SQL Server 自2000以后的版本,都能够在同一系统下支持多SQL Server实例。
SQL Server对多服务器实例的支持使我们能够在同一个服务器上运行多个SQL Server数据库引擎。SQL Server 2005的企业版支持多达50个服务器实例。互联网服务器供应商和其他需要有主机提供服务的情况下,往往会用采用多SQL serve实例,以便大量的客户都能够自己控制自己的SQL Server数据库服务器而不要专门的硬件平台支持。那么虚拟化和多SQL server实例之间有什么异同,孰优孰劣,我们又该如何选择呢?
这两种服务器整合方案的主要一个主要区别在于,虚拟化是服务器水平的技术,而多实例是操作系统水平的技术。如果你运行的是多SQL Server实例,所有的实例都不虚运行在相同的Windows Server操作系统上。虚拟化则实现了更细粒度的操控,因为每一台虚拟机都需要有自己的操作系统。例如,一台虚拟机运行在装有SQL Server 2005的Windows Server 2003系统下,而在同一个服务器下的另一台虚拟机则可能运行在装有SQL Server 2000的Windows 2000系统下。
在选择过程中,首先要考虑的因素,而且在大多数情况下也是最重要的因素就是性能。由于本身的属性决定了虚拟化服务器不会提供与物理服务器水平相当的性能,因为虚拟环境造成的额外开销要从性能来抵消。大多数情况下,估计虚拟机造成的额外开销约为10%-15%。在服务器整合环境下,由于其他虚拟机所支持的工作负荷的关系,这种对性能造成的冲击可能更为严重。相比之下,运行在物理硬件上的服务器实例,除了在服务器实例上运行查询所产生的工作负荷之外,不会产生任何额外的开销。
在管理方面,虚拟化和服务器实例很相似,但是运行多SQL Server有几个优势,比管理虚拟机要更为轻松。因为只需安装一套操作系统和服务器软件,所以服务器实例需要打补丁的机会更少。而对于虚拟化服务器而言,每个虚拟机都拥有自己的客户操作系统和服务器产品,都需要独立的管理和打补丁。这两种解决方案中,都要用到企业管理器和SQL Server Management Studio来执行服务器管理任务。
而在部署和恢复方面,虚拟化技术则更有竞争优势。通过虚拟化,构建可以部署到新的服务器的基础映像只需要短短几分钟的时间; 而且,可以对虚拟镜像进行备份,或将其复制到远程站点,这样在发生故障时能够在几分钟甚至数秒中之内恢复连线。
考虑到虚拟机的多操作系统和多SQL Server安装问题,另外还有一个需要衡量的因素就是使用许可。多 SQL server实例并不需要额外的 SQL server许可。SQL Server 2005企业版提供了多达50个实例,而不需要额外的许可费用。在这种情况下,对于单个服务器,你只需要支付购买一个Windows Server 操作系统、一个SQL Server以及客户端访问许可的费用即可。而对于虚拟化来说,你需要为各个虚拟机上的每个 Windows Server操作系统,以及每个安装的SQL Server都分别支付许可费用。也就是说,如果你运行了5台虚拟机,而且每一个都包含了一套Windows Server和SQL Server的拷贝,那么你就要支付5个Windows Server许可、5个 SQL Server许可以及相应的客户端访问许可费用。不过,Windows 2003 R2和Windows 2003企业版都支持4个Windows实例而不加收额外费用。卖价最为昂贵的Windows 2003数据中心版则支持无限制的虚拟Windows实例。同样的,SQL Server 2005以及2008企业版,提供了无限制的虚拟机使用许可。
所有权和责任也是值得三思的重要因素。运行多SQL Server实例的责任通常会落在持有SQL Server系统的团队身上。而对于虚拟化,每个安装了自己的操作系统和SQL Server的团队或部门都保留了自身的责任。
对于服务器整合计划来说,这两种都可能都是有效的解决方案,并不是非此即彼的选择。你可以将SQL Server和虚拟化结合起来,在一个虚拟机里运行多SQL Server实例。不过请记住,即便虚拟化是当今炙手可热的技术也不意味着你就要单恋这一枝花。
分享到:
相关推荐
一些解决方案供应商也曾尝试利用服务器虚拟化作为给个别SQL Server数据库分配资源的一种途径。在这种模型中,每台虚拟机只托管一个SQL Server数据库。这种方法也可行,但是虚拟机和他们的操作系统也消耗了一些本该...
本工作流设计平台采用asp.net MVC模式开发,同时支持SQLServer 和Oracle数据库,功能包括:系统模块,可视化流程设计,表单设计, 工作流实例管理,工作委托,工作流归档,流程测试,子流程测试, 流程处理等...
实例226 对SQLServer数据库进行录入和提取多媒体文件 实例227 对SQL Server数据库进行录入和存储Word文档 8.10 数据备份恢复 实例228 Access数据库备份与还原 实例229 SQL Server数据库备份与恢复 实例230 ...
实例226 对SQLServer数据库进行录入和提取多媒体文件 实例227 对SQL Server数据库进行录入和存储Word文档 8.10 数据备份恢复 实例228 Access数据库备份与还原 实例229 SQL Server数据库备份与恢复 实例230 ...
实例117 使用DirectoryEntry组件建立虚拟目录 172 第4章 图形技术 174 4.1 绘制图形 175 实例118 绘制公章 175 实例119 在图片中写入文字 176 实例120 局部图片的复制 178 实例121 波形图的绘制 179 4.2 ...
实例117 使用DirectoryEntry组件建立虚拟目录 172 第4章 图形技术 174 4.1 绘制图形 175 实例118 绘制公章 175 实例119 在图片中写入文字 176 实例120 局部图片的复制 178 实例121 波形图的绘制 179 4.2 ...
实例117 使用DirectoryEntry组件建立虚拟目录 172 第4章 图形技术 174 4.1 绘制图形 175 实例118 绘制公章 175 实例119 在图片中写入文字 176 实例120 局部图片的复制 178 实例121 波形图的绘制 179 4.2 ...
实例117 使用DirectoryEntry组件建立虚拟目录 172 第4章 图形技术 174 4.1 绘制图形 175 实例118 绘制公章 175 实例119 在图片中写入文字 176 实例120 局部图片的复制 178 实例121 波形图的绘制 179 4.2 ...
316 7.10 程序运行 317 实例227 防止程序多次运行 317 实例228 开机后程序自动运行 319 实例229 获取任务栏尺寸大小 320 实例230 改变系统提示信息 321 实例231 获取系统环境变量 322...