虚拟化变得越来越常见,并且在不了解虚拟化如何工作的情况下,DBA在尝试解决性能问题时会出现盲点,例如减少资源争用或改进备份和恢复操作等。

        在本文中我们将主要讲述为您的SQL Server工作负载构建理想的基于VMware的虚拟机。我们的下一篇文章将介绍怎么样在Hyper-V上构建对应的SQL Server虚拟化环境。

        现在,作为DBA,您可能没有访问权限来创建用于SQL Server的新虚拟机。这些操作可以交给您的VM管理员,他们将为您部署合适的VM环境。

        以下详细信息适用于在Windows Server 2012R2操作系统和VMware vSphere 5.5平台上使用vSphere Web Client部署SQL Server 2014。假定VMware环境已配置,已启动且运行正常。SQL Server,Windows和VMware的其他版本可以根据这些说明进行调整。

虚拟机的创建

        VMware的管理系统称为vCenter Server。它在VMware环境中主要用于监视和、创建、操作虚拟机。对系统的访问由管理员提供,可通过传统桌面客户端或vCenter Server Web客户端访问。与VMware管理员合作以访问环境,并向您提供管理URL。登录屏幕类似于图1。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第1张图片

图1

        一旦您登录到Web客户端,通常使用Active Directory凭据,您将看到包含虚拟机的文件夹或仅包含虚拟机列表。

        要启动创建新虚拟机的过程,请选择目标虚拟化主机群集(由VMware管理员提供)或目标文件夹(也提供),右键单击对象,然后选择选项以创建新虚拟机图2)。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第2张图片

图2

输入新虚拟机的计算机名称和目标文件夹。根据组织的标准命名虚拟机。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第3张图片

图3

接下来,选择目标VMware主机集群(图4)。您的VMware管理员将为您提供正确的群集名称。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第4张图片

图4

一旦选择了主机集群,您将需要选择一个目标存储位置(图5)。VMware将这些位置称为数据存储。数据存储是在集群中的所有主机之间显示和共享的映射存储设备之一。您的VMware管理员将进行这些配置,并应指示您存放新虚拟机的位置。

图5

现在已经选择了存储位置,必须设置虚拟机兼容性级别。兼容性级别用于确保可以使用最新的功能集(例如应用程序延迟敏感性等)配置VM。应根据虚拟机可能驻留的vSphere的不同版本来设置此功能集。

例如,灾难恢复工具可能使用比生产版本更旧的vSphere版本,解决方案是将其设置为两个环境之间的最低版本的硬件兼容性。通常,您的VM管理员会在此时告诉您正确的设置。如果没有给出指导,请选择最高版本。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第5张图片

图6

在图7中,选择了操作系统类型。您可能注意到Windows Server 2012R2尚未添加到列表中。我们选择Windows Server 2012(64-bit)即可。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第6张图片

图7

选择适当的操作系统后,您将看到虚拟硬件配置屏幕,如下图8所示。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第7张图片

图8

        默认情况下,向导提供了一组非常基本的选项。这些默认设置可能适用于简单的应用程序服务器,但是生产就绪的SQL Server此时需要多个自定义选择,以最大限度地提高实例的性能和敏捷性。您可以通过单击每个项目左侧的小箭头来获取每个项目的高级配置。

虚拟机配置

        虚拟机包含传统物理服务器多年拥有的大多数组件 - CPU,内存,网络适配器和存储。虚拟化只是改变这些项目被配置和分配的方式,但是这些资源必须存在,以便操作系统可以按照设计工作。

虚拟CPU配置

        展开屏幕的CPU部分。配置每台虚拟机的虚拟CPU插槽数和核心数。在此选择适当的设置不仅需要了解这些数据库,还需要了解其资源消耗级别和工作负载模式。第2级讨论了“正确调整”目标虚拟机资源的架构。

选择适当数量的CPU内核(图9)。请记住,当输入八个或更少的虚拟核心(vCPU)时,物理NUMA不会扩展到VM中,而不覆盖配置参数。在八个vCPU之后,NUMA被扩展,并且为物理机架构适当地配置VM也很重要。例如,如果目标核心数为16,并且您有一个四插槽物理机,一个好的起点是配置VM有四个vCPU插槽,每个有四个vCPU核心。不要配置虚拟机的每个的核心数量多于物理服务器中的核心数量。

        在此示例中,目标是配置需要工作负载有四个vCPU的示例虚拟机。为了“ 大小 ”CPU配置的效率和性能,我们将为两个vCPU插槽配置服务器,每个vCPU插槽有两个vCPU内核。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第8张图片

图9

不要启用“CPU热添加”,因为这将完全禁用vCPU vNUMA 扩展。

虚拟内存

        为虚拟机配置内存是一个更直接的过程。为虚拟机配置适当大小的目标工作负载的内存量,就像使用物理机一样。在此示例中,根据源服务器工作负载消耗分配16GB。作为DBA,调整实例的内存大小是一项常见任务。衡量现有工作负载的内存压力,并通过内存缓冲来平衡存储性能,并为工作负载选择适当的内存量。

选中“保留所有guest虚拟机内存(所有锁定)”复选框可以带来两个好处。首先,如果物理机器遇到内存压力情况,VM将不再受到内存回收进程(例如内存膨胀)。其次,它从底层的底层共享磁盘中删除VM级别的交换文件,这可以节省SAN上的空间。

        不要启用“内存热插拔”,因为这允许内存热添加到虚拟机,就像热添加vCPU。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第9张图片

图10

虚拟网络

         VM管理员将具有可以分配给已映射并可用于分配的虚拟机的虚拟网络 。网络与VLAN或网段对齐,并且与选择虚拟网络适配器和从下拉列表中选择目标网络一样简单(图11)。您的VM管理员将告诉您正确的虚拟网络分配给网络适配器。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第10张图片

图11

        如果展开“新网络”选项,请确保选中“启动时连接”复选框,并选择类型“VMXNET 3”。可用于Windows Server 2012及更高版本(E1000E和E1000)的其他类型的虚拟网络适配器用于向后兼容,因为它们内置到操作系统中。VMware为其虚拟机创建了VMXNET3自定义虚拟网络适配器和驱动程序,以便为物理网络提供更稳定,更高效的连接。

        此驱动程序是免费使用VMware Tools软件包安装的。安装VMware Tools软件包后,在安装操作系统后,与此软件包中的VMware特定驱动程序相关联的任何虚拟硬件将显示并变为可用。此网络适配器类型应该用于所有Windows虚拟机,而不考虑版本。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第11张图片

图12

        为此虚拟机应有权访问的每个虚拟网段添加一个网络适配器。将每个适配器分配到相应的虚拟网络,如上图12所示。

虚拟磁盘

        此示例SQL Server虚拟机将被分配八个虚拟磁盘,代表要放置在此示例VM上的工作负载。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第12张图片

        您是否注意到上图中的SCSI ID列,SCSI ID表示对虚拟SCSI磁盘控制器的分配。SCSI ID(1:2)意味着VMware将把该虚拟磁盘分配给第二个虚拟SCSI控制器第三个磁盘插槽,因为两个计数器都从零开始。

        默认情况下,安装向导使用的虚拟磁盘的Windows Server 2008及以上虚拟SCSI控制器类型是LSI SAS驱动程序。这个驱动程序内置在操作系统中,在许多情况下工作得很好。但是,对于重型I / O工作负载(如SQL Server VM),VMware还将称为准虚拟SCSI驱动程序(PVSCSI)的自定义驱动程序包含在VMware Tools软件包中。此虚拟SCSI控制器驱动程序提供更好的I / O吞吐量,更低的磁盘延迟,以及降低与I / O活动相关的CPU。此驱动程序应用于所有非C:驱动器卷,以提高提供给该虚拟机的存储的整体性能。

        如果现有基于VMware的SQL Server现在未使用PVSCSI驱动程序,则可以在几分钟内快速,无障碍地更新现有VM。如果你需要改造现有的虚拟机,我已经在我的博客www.obayun.com上提供了一个操作指南。

        在虚拟机示例中,应在添加其他虚拟磁盘之前添加三个PVSCSI控制器。以帮助在控制器及其相应队列之间分配工作负载的方式创建虚拟盘并将其分配给这些新控制器。根据您的需求和工作负载要求以类似的方式配置虚拟磁盘。在物理世界中,磁盘以类似分布的方式配置。这种扩展工作负载的范例直接在虚拟世界中扩展,在这里应该应用类似的方法。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第13张图片

图13

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第14张图片

图14

        如果此虚拟机上需要其他磁盘,并且已达到虚拟SCSI控制器最大数量为四个且所有分配已满,则vSphere 5.5会添加对虚拟AHCI SATA控制器的支持。默认情况下,SATA适配器首先用于虚拟CD-ROM驱动器,但也可用于其他硬盘。AHCI适配器的性能远低于SCSI控制器,因此在架构您的环境时请记住这一点。

        现在,添加您的虚拟硬盘并相应地配置SCSI ID。只需点击屏幕底部的“新设备”下拉菜单,选择“新建硬盘”,然后点击“添加”(图15)。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第15张图片

图15

        如图16所示,将虚拟硬盘放在适当的数据存储上。默认情况下,它们将与其他虚拟机磁盘一起放置。您可以通过选择位置项下的下拉菜单并选择其他数据存储来更改此设置。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第16张图片

图16

接下来,请确保为每个辅助硬盘驱动器设置相应的SCSI ID。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第17张图片

图17

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第18张图片

图18

附加配置

        展开CD / DVD驱动器硬件设置,然后选择“Datastore ISO File”(图19)。您的VM管理员应该已经给您在数据存储上可用的Windows服务器的ISO文件的位置。只需映射到相应数据存储中的ISO文件即可。找到文件后,单击“确定”将ISO挂载到虚拟CD-ROM中。选中该框以在通电时连接此ISO,以便我们可以安装操作系统。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第19张图片

图19

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第20张图片

图20

在“VM选项”选项卡下,展开“引导选项”部分(图21)。将固件更改为类型“EFI”。 EFI BIOS在第2级讨论。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第21张图片

图21

        此外,配置引导延迟足够的时间,以允许您点击中键,如果你需要从备用介质一段时间启动。启动屏幕经过这么快,有时很难点击中击键的时间!我通常设置为5秒,或5000毫秒,如图21所示,这是足够的时间反应,因为屏幕改变,在Windows开始加载。

        最后,单击“确定”创建虚拟机。右键单击新虚拟机并选择“开机”。选择“启动控制台”以启动VM控制台,您应该会看到虚拟机启动到Windows Server安装程序。您可能需要安装VMware控制台浏览器插件才能使控制台正常显示。如果缺少,它会提示您在此时安装它。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第22张图片

图22

操作系统

        操作系统是安装和配置虚拟机最简单的一部分。您只需按照组织的标准安装操作系统。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第23张图片

图23

        请记住将操作系统安装到适当的卷。此时不会显示连接到PVSCSI控制器的任何虚拟磁盘。这些磁盘将在安装VMware Tools软件包后立即可用,通常在操作系统安装完成后立即可用。要将这些卷与虚拟磁盘相匹配,通常最容易匹配磁盘的大小。请记住,磁盘可以在部署后轻松扩展,因此在这里创建不同的磁盘大小可以帮助放置操作系统。通常,只有一个磁盘连接到主控制器,因此只显示一个驱动器。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第24张图片

图24

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第25张图片

图25

安装完成后,在执行其他操作之前安装VMware Tools软件包(图26)。

        此任务通过选择虚拟机完成,您将看到“安装VMware Tools”的提示。如果未出现,请右键单击虚拟机,单击“所有vCenter操作”,“客户操作系统”和“安装VMware Tools”如图所示。单击所示的包安装,而不更改任何选项(不需要更改),然后在操作系统完成后重新启动。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第26张图片

图26

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第27张图片

图27

        重新引导后,继续按照组织的标准配置操作系统,确保包括任何适当的修补程序。磁盘现在应该全部呈现给操作系统,并且应根据Microsoft对SQL Server的建议将其格式化为64KB NTFS分配单元大小。

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第28张图片

图28

SQL Server虚拟化系列(3)——构建理想的基于VMware的SQL Server虚拟机_第29张图片

图29

        您的虚拟机和操作系统应类似于VMware Web Client中的此屏幕(参见图29)。现在,您可以开始在此虚拟机上安装和配置新的SQL Server实例的下一步,确保将各种对象放在相应的驱动器上,如上表所述。

概要

        本级别概述了理想配置的SQL Server虚拟机的基于VMware的构建过程。查看前面的两篇博文:

SQL Server虚拟化系列(1)——虚拟化的简单介绍

SQL Server虚拟化系列(2)——理想的SQL Server虚拟机架构

在下一篇文章中我们将简述在Microsoft Hyper-V平台上构建SQL Server环境。敬请关注!