GVKun编程网logo

虚拟化 – 虚拟化Microsoft SQL数据库服务器(虚拟sql数据库操作)

11

在这篇文章中,我们将为您详细介绍虚拟化–虚拟化MicrosoftSQL数据库服务器的内容,并且讨论关于虚拟sql数据库操作的相关问题。此外,我们还会涉及一些关于(13)虚拟化技术之服务器虚拟化、28.

在这篇文章中,我们将为您详细介绍虚拟化 – 虚拟化Microsoft SQL数据库服务器的内容,并且讨论关于虚拟sql数据库操作的相关问题。此外,我们还会涉及一些关于(13)虚拟化技术之服务器虚拟化、28.1 了解虚拟化 28.2 常见虚拟化软件 28.3 虚拟化架构、CentOS 7 下 KVM 支持虚拟化 / 嵌套虚拟化配置、CentOS 7下KVM支持虚拟化/嵌套虚拟化配置的知识,以帮助您更全面地了解这个主题。

本文目录一览:

虚拟化 – 虚拟化Microsoft SQL数据库服务器(虚拟sql数据库操作)

虚拟化 – 虚拟化Microsoft SQL数据库服务器(虚拟sql数据库操作)

我的公司正在寻求虚拟化我们的Microsoft sql服务器.我读到另一个问题,VM上的数据库遭受了IO瓶颈,这对我们来说并不是很好.但我想知道,自从我们使用Microsoft HyperV,Microsoft Server和Microsoft sql以来,微软是否已将这些优化工作与物理机一样好?

谢谢

解决方法

that Microsoft has these optimized to work as good as a physical machine?

是的,MS有 – 非常接近.

主要问题是它在小型安装中才有意义.当您的虚拟sql Server需要自己的机器时,需要精心布局的磁盘设置 – 除了一个体积较小的小型sql实例之外的任何其他设备 – 没有什么可以真正放在该服务器上.

我在虚拟化平台上运行sql服务器.在该机器中的20个磁盘中,12个专用于sql服务器(用于日志和数据,包括tempdb – 从VHD加载操作系统).下一次升级将使它达到极限 – 即使现在它是最胖的VM,我的可用64GB的16GB RAM.一旦我需要升级它……它有什么意义?

使用当前技术,您只能使用4个虚拟内核–16个Hyper-V 3(即将于明年推出).这对数据库分析来说并不是很重要.如果进行OLAP类型处理,使用Hyper-V进行可视化可能无法进行足够的扩展.

因此,主要的问题不是MS无法接近可比较的硬件,而是sql Server可以变得如此之大,以至于类似的硬件无论如何都意味着在一个硬件级别上使用1个sql Server,而且你无法像硬件一样扩展VM可悲的是

(13)虚拟化技术之服务器虚拟化

(13)虚拟化技术之服务器虚拟化

1.服务器虚拟化的层次

服务器虚拟化分为寄居虚拟化和裸机虚拟化两种

(1)寄居虚拟化的层次:

寄居虚拟化的虚拟化层一般称为虚拟机监控器(VMM)
这类虚拟化架构系统损耗比较大
就操作系统层的虚拟化而言,没有独立的Hypervisor层
如果使用操作系统层虚拟化,所有虚拟服务器必须运行同一操作系统
(2)裸机虚拟化的层次
架构中的VMM也可以认为是一个操作系统,一般称为Hypervisor
Hypervisor实现从虚拟资源到物理资源的映射
Hypervisor实现了不同虚拟机的运行上下文保护与切换,保证了各个客户虚拟系统的有效隔离
 
VMM无法直接捕获特权指令的解决方案:
(1)完全虚拟化
完全虚拟化具有很好的兼容性,在服务器虚拟化中得到广泛应用。 
(2)半虚拟化
半虚拟化技术降低了由于虚拟化而引入的系统性能损失。 
 
2.服务器虚拟化的底层实现
(1)CPU虚拟化
虚拟CPU的正确运行是要保证虚拟机指令正确运行,现有的实现技术包括模拟执行和监控执行
调度问题是指VMM决定当前哪个虚拟CPU在物理CPU上运行,要保证隔离性、公平性和性能。 
(2)内存虚拟化
内存虚拟化技术把物理内存统一管理,包装成多个虚拟的物理内存提供给若干虚拟机使用,每个虚拟机拥有各自独立的内存空间。 
虚拟内存的管理包括3种地址:机器地址,物理地址和虚拟地址
(3)I/O设备虚拟化
I/O设备虚拟化技术把真实的设备统一管理起来,包装成多个虚拟设备给若干个虚拟机使用,响应每个虚拟机的设备访问请求和I/O请求。
I/O设备虚拟化同样是由VMM进行管理的 
 
3.虚拟机迁移
虚拟机迁移是将虚拟机实例从源宿主机迁移到目标宿主机,并且在目标宿主机上能够将虚拟机运行状态恢复到其在迁移之前相同的状态,以便能够继续完成应用
程序的任务。
需要进行虚拟机迁移的原因:
(1)云计算中心的物理服务器负载经常处于动态变化中,当一台物理服务器负载过大时,若此刻不可能提供额外的物理服务器,管理员可以将其上面的虚拟机迁移到其他服务器,达到负载平衡
(2)云计算中心的物理服务器有时候需要定期进行升级维护,当升级维护服务器时,管理员可以将其上面的虚拟机迁移到其他服务器,等升级维护完成之后,再把虚拟机迁移回来 
从虚拟机迁移的源与目的地角度可分为(1)物理机到虚拟机的迁移 (P2V) (2)虚拟机到虚拟机的迁移(V2V)(3)虚拟机到物理机的迁移(V2P)
实时迁移(LiveMigration),就是保持虚拟机运行的同时,把它从一个计算机迁移到另一个计算机,并在目的计算机恢复运行的技术。 
虚拟机迁移的步骤:预迁移-->预定资源-->预复制-->停机复制-->提交-->启动
 
内存的迁移是虚拟机迁移最困难的部分
内存迁移包含三个阶段:
第一阶段,Push阶段。  第二阶段,Stop-and-Copy阶段。  第三阶段,Pull阶段。 
实际上,迁移内存没有必要同时包含上述三个阶段,目前大部分的迁移策略只包含其中的一个或者两个阶段。
不同迁移策略的比较:
 
网络资源的迁移:
虚拟机这种系统级别的封装方式意味着迁移时VM的所有网络设备,包括协议状态(如TCP连接状态)以及IP地址都要随之一起迁移。
在局域网内,可以通过发送ARP重定向包,将VM的IP地址与目的机器的MAC地址相绑定,之后的所有包就可以发送到目的机器上。 
存储设备的迁移:
迁移存储设备的最大障碍在于需要占用大量时间和网络带宽,通常的解决办法是以共享的方式共享数据和文件系统,而非真正迁移。
目前大多数集群使用NAS(Network Attached Storage,网络连接存储)作为存储设备共享数据。
NAS实际上是一个带有瘦服务器的存储设备,其作用类似于一个专用的文件服务器。
在局域网环境下,NAS已经完全可以实现异构平台之间,如NT、UNIX等的数据级共享。
基于以上的考虑,Xen并没有实现存储设备的迁移,实时迁移的对象必须共享文件系统。 
 
4.隔离技术
虚拟机隔离是指虚拟机之间在没有授权许可的情况下,互相之间不可通信、不可联系的一种技术。 
从软件角度看,互相隔离的虚拟机之间保持独立,如同一个完整的计算机
从硬件角度看,被隔离的虚拟机相当于一台物理机,有自己的CPU、内存、硬盘、I/O等,它与宿主机之间保持互相独立的状态
从网络角度看,被隔离的虚拟机如同物理机一样,既可以对外提供网络服务,也一样可以从外界接受网络服务
虚拟机隔离机制:
(1)网络隔离;
(2)构建虚拟机安全文件防护网;
(3)基于访问控制的逻辑隔离机制;
(4)通过硬件虚拟,让每个虚拟机无法突破虚拟机管理器给出的资源限制;
(5)硬件提供的内存保护机制;
(6)进程地址空间的保护机制,IP地址隔离。
内存隔离:
虚拟机监控器使用分段和分页机制对自身的物理内存进行保护。x86体系结构提供了支持分段机制的虚拟内存,这能够提供另一种形式的特权级分离。 
网络隔离:
 网络隔离的目标 :确保把有害的攻击隔离,在可信网络之外和保证可信网络内部信息不外泄的前提下,完成网间数据的安全交换。 
网络隔离的安全要素:
机密性 完整性 可用性 可控性 抗抵赖
网络隔离的安全机制:
访问控制 身份认证 加密签名 

28.1 了解虚拟化 28.2 常见虚拟化软件 28.3 虚拟化架构

28.1 了解虚拟化 28.2 常见虚拟化软件 28.3 虚拟化架构

28.1 了解虚拟化

28.2 常见虚拟化软件

28.3 虚拟化架构

 

 

 

28.1 了解虚拟化

 

 

比如一台硬件很高的服务器,为了让这个硬件资源充分发挥性能。就可以在这台机器上安装很多个虚拟机出来,本来就一台计算机,那我们可以模拟出来 20 台逻辑计算机,就好比我们就有了 20 个服务器。每一台服务器运行不同的程序,就可以做很多事情。为企业节省了很多资源(机架空间、电量等等)

 

1.VMware Workstation 就是虚拟化

2. 虚拟化简单讲,就是把一台物理计算机虚拟成多台逻辑计算机,每个逻辑计算机里面可以运行不同的操作系统,相互不受影响,这样就可以充分利用硬件资源

#目的是充分利用硬件资源

3. 关键词 Hypervisor (VMM) 虚拟机管理器

#hypervisor 是用来管理逻辑计算机的。也就是说没有 hypervisor,虚拟化是不成立的

4. 虚拟化技术分为全虚拟化和半虚拟化

5. 早期的 CPU 硬件不支持虚拟化,虚拟机上的操作系统(guestos)要想使用 cpu 资源,需要通过 VMM 来翻译指令,这个过程比较耗费资源,这种虚拟化技术叫做全虚拟化(VMware Workstation)

#就像我们在虚拟机上装了 vmwaer,然后虚拟出来一个 linux,就是虚拟机上的操作系统(就叫 guestos)。而 guestos 想要 cpu 的资源,需要通过 vmm 来翻译指令。因为 guestos 不能直接与电脑的 CPU 打交道(语言不相通)。所以要 guestos 来去翻译指令,这种就是全虚拟化(像 vmware)

6. 半虚拟化技术通过修改 guestos 内核,让 guestos 可以直接使用 CPU 资源,而不需要翻译指令了,从而节省了资源,但修改内核比较鸡肋(XEN)

#比如我们每安装一个系统,还要定制内核,就很麻烦

7. 后续 cpu 厂商直接支持虚拟化,不需要通过 VMM 翻译指令了,无所谓半虚拟化和全虚拟化

#比如我们现在使用的 vmware 就不需要修改什么内核了或翻译指令了

8. 参考 http://www.cnblogs.com/xusongwei/archive/2012/07/30/2615592.html

http://itoedr.lofter.com/post/1472ba_69c62fa

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

28.2 常见虚拟化软件

 

 

 

VMware 系列 #所有的软件都是收费的

VMware workstation、VMware vsphere(VMware esxi)、VMware Fusion(Mac)

#VMware workstation 适合在单台计算机上安装

VMware vsphere(VMware esxi)当计算机比较多,规模比较大的时候使用。图形化操作。更方便的克隆、迁移

VMware Fusion(Mac) 使用在 mac(如苹果电脑)上的

Xen 开源 半虚拟化

XenServer 商业,厂商 Ctirx,基于 Xen 的

KVM 开源 基于 linux 内核模块

#相当于是 linux 内核的一个模块,不会更改 linux 内核

Hyper-V 商业,厂商微软

Openvz 开源 基于 linux 虚拟机和宿主机共用一个内核

#优势是可以开很多个虚拟机出来。劣势是稳定性差了点。多用于早期的 vpm 供应商

VirtualBox 开源 Sun 公司开发 Oracle 收购 Sun

#和 vmware 类似

http://developer.huawei.com/ict/forum/thread-23385-1-1.html

 

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

28.3 虚拟化架构

 

 

 

参考 http://developer.huawei.com/ict/forum/thread-23385-1-1.html

 

第一种类型,就是我直接拿一张 vmware 的光盘,去安装。省略了安装 windows 系统那一步。安装之后做虚拟化,比如虚拟化一个 linux 安装 centos,或虚拟化 windows 安装 windows2003

第二种类型,就是我们现在正常

CentOS 7 下 KVM 支持虚拟化 / 嵌套虚拟化配置

CentOS 7 下 KVM 支持虚拟化 / 嵌套虚拟化配置

开启虚拟化:

cat << EOF > /etc/modprobe.d/kvm-nested.conf
options kvm-intel nested=1
options kvm-intel enable_shadow_vmcs=1
options kvm-intel enable_apicv=1
options kvm-intel ept=1
EOF

重新加载 KVM 内核,注意先关闭所有虚拟机:

modprobe -r kvm_intel
modprobe -a kvm_intel

如果不想热加载可以直接重启宿主机。

验证是否已经开启成功,成功后会输出 Y:

cat /sys/module/kvm_intel/parameters/nested

修改 KVM 的 XML 文件 CPU 模式为 “host-modle” 或 “host-passthrough:

在 KVM 验证是否 CPU 支持虚拟化:

lscpu | grep vmx

 

参考:

http://blog.51cto.com/lidaxia/1911051

https://blog.csdn.net/Linuxprobe18/article/details/78944974

http://blog.51cto.com/zhaijunming5/1713422

CentOS 7下KVM支持虚拟化/嵌套虚拟化配置

CentOS 7下KVM支持虚拟化/嵌套虚拟化配置

开启虚拟化:

cat << EOF > /etc/modprobe.d/kvm-nested.conf
options kvm-intel nested=1
options kvm-intel enable_shadow_vmcs=1
options kvm-intel enable_apicv=1
options kvm-intel ept=1
EOF

重新加载KVM内核,注意先关闭所有虚拟机:

modprobe -r kvm_intel
modprobe -a kvm_intel

如果不想热加载可以直接重启宿主机。

验证是否已经开启成功,成功后会输出Y:

cat /sys/module/kvm_intel/parameters/nested

修改KVM的XML文件cpu模式为“host-modle” 或 “host-passthrough:

分享图片

在KVM验证是否cpu支持虚拟化:

lscpu | grep vmx

 

参考:

http://www.voidcn.com/article/p-fsazklwq-bkx.html

https://blog.csdn.net/Linuxprobe18/article/details/78944974

http://www.voidcn.com/article/p-atjzvkxy-kd.html

今天的关于虚拟化 – 虚拟化Microsoft SQL数据库服务器虚拟sql数据库操作的分享已经结束,谢谢您的关注,如果想了解更多关于(13)虚拟化技术之服务器虚拟化、28.1 了解虚拟化 28.2 常见虚拟化软件 28.3 虚拟化架构、CentOS 7 下 KVM 支持虚拟化 / 嵌套虚拟化配置、CentOS 7下KVM支持虚拟化/嵌套虚拟化配置的相关知识,请在本站进行查询。

本文标签: