虚拟化之vmware-vsphere概念,原理,功能

080-login-back.vmx

.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "8"
pciBridge0.present = "true"
pciBridge4.present = "true"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "true"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "true"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "true"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "false"
hpet0.present = "true"
nvram = "080-login-back.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "hard"
powerType.suspend = "hard"
powerType.reset = "soft"
displayName = "080-login-back"
extendedConfigFile = "080-login-back.vmxf"
floppy0.present = "true"
scsi0.present = "true"
scsi0.sharedBus = "none"
scsi0.virtualDev = "lsisas1068"
scsi0.pciSlotNumber = "160"
memsize = "2048"
scsi0:0.present = "true"
scsi0:0.fileName = "080-login-back.vmdk"
scsi0:0.deviceType = "scsi-hardDisk"
sched.scsi0:0.shares = "normal"
sched.scsi0:0.throughputCap = "off"
ide1:0.present = "true"
ide1:0.clientDevice = "true"
ide1:0.deviceType = "atapi-cdrom"
ide1:0.startConnected = "false"
floppy0.startConnected = "false"
floppy0.fileName = ""
floppy0.clientDevice = "true"
ethernet0.present = "true"
ethernet0.pciSlotNumber = "32"
ethernet0.virtualDev = "e1000"
ethernet0.networkName = "VM Network"
ethernet0.addressType = "vpx"
ethernet0.generatedAddress = "00:50:56:a1:63:0d"
usb.present = "true"
ehci.present = "true"
usb.pciSlotNumber = "34"
ehci.pciSlotNumber = "35"
svga.vramSize = "8388608"
vmci0.pciSlotNumber = "33"
chipset.onlineStandby = "false"
disk.EnableUUID = "true"
guestOS = "windows7srv-64"
annotation = "192.168.2.80-login"
uuid.bios = "56 4d 9b 6b 4d 96 a9 d9-5d 40 61 ca 9f 66 d7 a9"
vc.uuid = "50 21 45 a9 f5 e1 03 5a-ee 31 90 8c bd 63 1e a9"
virtualHW.scheduledUpgrade.state = "none"
virtualHW.scheduledUpgrade.when = "never"
snapshot.action = "keep"
sched.cpu.min = "0"
sched.cpu.units = "mhz"
sched.cpu.shares = "normal"
sched.cpu.latencySensitivity = "normal"
sched.mem.min = "0"
sched.mem.shares = "normal"
tools.upgrade.policy = "manual"
replay.supported = "FALSE"
replay.filename = ""
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.sasWWID = "50 05 05 6b 4d 96 a9 d0"
ethernet0.generatedAddressOffset = "0"
hostCPUID.0 = "0000000d756e65476c65746e49656e69"
hostCPUID.1 = "000306a90010080077bae3ffbfebfbff"
hostCPUID.80000001 = "00000000000000000000000128100800"
guestCPUID.0 = "0000000d756e65476c65746e49656e69"
guestCPUID.1 = "000306a900010800969822030fabfbff"
guestCPUID.80000001 = "00000000000000000000000128100800"
userCPUID.0 = "0000000d756e65476c65746e49656e69"
userCPUID.1 = "000306a900010800969822030fabfbff"
userCPUID.80000001 = "00000000000000000000000128100800"
evcCompatibilityMode = "FALSE"
vmotion.checkpointFBSize = "8388608"
softPowerOff = "FALSE"
usb:1.present = "true"
usb:1.speed = "2"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
unity.wasCapable = "TRUE"
tools.remindInstall = "true"
vmotion.checkpointSVGASize = "11534336"
usb:0.present = "TRUE"
usb:0.deviceType = "hid"
usb:0.port = "0"
usb:0.parent = "-1"
vmci0.id = "-1970117058"
tools.syncTime = "FALSE"
uuid.location = "56 4d 4b d1 35 fc f7 9c-32 70 42 1c f1 bc 78 fb"
cleanShutdown = "FALSE"
migrate.hostlog = "./080-login-back-bdaafb6e.hlog"
sched.swap.derivedName = "/vmfs/volumes/96dfe143-5d2fd48f/080-login-back/080-login-back-bdaafb6e.vswp"

虚拟机文件有哪些
.vmx         vmname.vmx     虚拟机配置文件
.vmxf        vmname.vmxf    其他虚拟机配置文件
.vmdk        vmname.vmdk    虚拟磁盘特性
-flat.vmdk  vmname-flat.vmdk 预分配虚拟磁盘
.nvram       vmname.nvram 或 nvram 虚拟机 BIOS
.vmsd        vmname.vmsd 虚拟机快照
.vmsn        vmname.vmsn 虚拟机快照数据文件
.vswp        vmname.vswp 虚拟机交换文件
.vmss        vmname.vmss 虚拟机挂起文件
.log         vmware.log 当前虚拟机日志文件
-#.log       vmware-#.log(其中 # 表示从 1 开始的编号) 旧的虚拟机日志条目

VMotion:在线改变主机位置

在线迁移运行中的虚拟机,以改变其主机位置,最大的特性是"整个迁移过程虚拟机应用不会中断”,这个功能是VMware一直以来很引以为傲的,尤其在Citrix XenServer和Microsoft Hyper-V推出相似功能之前;大部分企业在服务器虚拟化项目中首要考虑使用的功能就是VMotion,并且像DRS这样的高可用性功能是以VMotion为基础的。

vmotion解决的是计划内宕机的情况。举例子么:你的机器要升级内存,你可以先把这个esx上的vm迁走,然后在关机断电,升级内存。但是你的业务(vm)不停顿。
vmotion是计划内迁移(热迁移)。简单说就是,位于ESXi/ESX服务器上的虚拟机被用户自动、半自动或手动(结合DRS)的方式迁移到Cluster内其它ESXi/ESX主机上,整个过程不用停机,系统也不会中断(某些人习惯称之为无缝迁移)。

Storage VMotion:在线改变存储位置

这个是VMware 在ESX 3.5及之后版本推出的一项针对存储迁移的功能,就是在虚拟机开机状态下改变其存储位置,和VMotion一样,整个迁移过程对用户透明,应用不会中断;貌似其他虚拟化厂商还没有相应的功能推出。

vSphere DRS

vSphere Storage DRS

数据存储

  作为存储选项的光纤通道和 iSCSI 存储区域网络 (SAN),即fc san和ip san

数据存储群集

我们想列出一些数据存储群集的约束条件和我们对于创建数据存储群集的建议。
约束条件:
    VMFS和NFS不能成为同一个数据存储群集群集的一部分
    类似的磁盘类型应该被使用在数据存储群集上
    每一个数据存储群集最大包括64个数据存储
    每一个vCenter服务器最大包括256个数据存储群集
    每一个数据存储群集最大包括9000个VMDK文件


如果“存储DRS”没有开启,数据存储群集将不会创建
当“开启存储DRS”被激活,接下来的功能被启用:
    基于空间和I/O负载为虚拟磁盘初始化位置
    在数据存储和数据存储群集间进行空间负载平衡
    在数据存储和数据存储群集间进行IO负载平衡
“打开存储DRS”的开启或者禁用会立即对所有的组件生效,如果必要,I/O平衡功能可以被独立的禁用,当通过不勾选“打开存储DRS”选框,所有的存储DRS就禁用存储DRS,

vSphere HA原理

HA 不受 DRS 和 VMotion 的影响,也就是说它并不依赖于后两者存在,它的心跳检测信号可以通过在 ESX 主机之间发生。HA 甚至都不依赖于 VC 服务器,不过鉴于 HA 的配置需要依赖 VC,所以我们一般认为 HA 还是需要依赖于 VC 服务器的,但是我们必须清楚的认识:VC 于 HA 的作用仅限于配置时需要它,配置完成之后,只要我们设定了心跳检测的隔离地址,则我们可以丢弃 VC 服务器了(前提是我们不需要用到 DRS 和 VMotion 等功能)。
在集群中,VC 通过心跳信号(Agent Heartbeat)来监控各台 ESX 主机的工作状态,ESX 主机之间也能够相互发送心跳信号来确定相互之间的连通性和运行状态。集群中的心跳信号默认通过 Service Console 来传输(端口不定),那么,当某台 ESX 主机没有收到其他主机的信号时,则可能有两种可能:
(1)、其他 ESX 主机故障;(2)、本机网络连通性出了问题,我们称之为“孤立”(isolation)。

ESX 主机的联通性心跳信号测试,还可以通过一个“隔离地址”来实现,默认情况下这个地址是 Service Console 的网关地址,但是,我们可以在高级选项中自定义这个地址。
一旦 ESX 主机确定是自身的问题,那么,系统将会自动解除对 ESX 主机上面虚拟机的 VMDK 文件解除锁定,方便其他主机接管它;
如果 ESX 主机确认非自身问题,则开始尝试接管其他可能故障的 ESX 主机上面的 VM。

根据实验资料,ESX 主机会在停止收到心跳信号数秒后,开始确认自己是否被孤立,如果确认是,则会根据预先的配置来决定其中 VM 的状态处理。正常 ESX 主机会在停止接收到故障 ESX 主机的心跳以后 15s 之后,开始尝试接管并启动原来在故障主机上的 VM。

另一种特殊的情况,我们称之为“脑裂”
这种情况一般发生在非冗余网络和主机集群中。假定某 HA 集群中有 2 台主机 T1和 T2,当 T1崩溃后没能发出心跳信号时,T2无法确认是 T1 问题还是自身问题,这时它会尝试 ping 隔离地址设定的 IP,来确认是否是自身被孤立,如果隔离地址因为防火墙封闭或其他原因无法 ping 通,则 T2 会认为自身是 孤立主机,那么,它就会按照预先设定的操作进程对 VM 进行相应的处理,进而扩大化故障范围,正是为了防止“脑裂”现象的发生,VMware 中将 HA 设置中的“主机隔离响应”默认 配置为“保持 VM 启动状态”。
备注:早期的版本默认设置为“关闭 VM”。 所以,我们一再强调对 HA 集群中的默 认 ESX 主机为 3 台以上,或者集群中的 ESX 拥有冗余网络。

vSphere HA 通过在主机出现故障时重新启动虚拟机来为虚拟机提供基本级别的保护。

HA解决的是服务器意外宕机的情况。举例子么:就是你的esx物理主机突然挂了,这台esx上面的vm会在其他esx上重启,保证业务连续性。
这样做可以保证整体停机时间不超过5到10分钟,能起到意外宕机保护(需要VM重启)。HA需要13s+5s+350s=368秒的宕机时间,其中350s是虚拟机启动时间,具体环境时间大小不同,13秒是HA的心跳间隔检查,5秒是HA自身孤立检测

vSphere Fault Tolerance 可提供更高级别的可用性,允许用户对任何虚拟机进行保护以防止主机发生故障时丢失数据、事务或连接。
其实在日常的虚拟化使用中,很少用到FT功能,一是对资源浪费比较严重,二是单个虚拟CPU无法满足业务的需求,三是只有很少有一些应用要求低配置,却要求高可用的要求。
FT: 全称Fault Tolerance(容错)。计划外宕机保护功能HA的进一步深化,它在HA的基础上实现了异常ESXi/ESX主机上的处于FT保护下的虚拟机不用重启,直接可以在Cluster里的其它ESXi/ESX主机上正常运行,整个过程无中断,常被人称为“计划外0宕机”保护。(FT目前要求单vCPU和 EagerZeroed Thick模式的虚拟磁盘)。

冗余的管理网络

如果当我们只有一个管理网络,则主机和群集之间的任何故障都可能导致不必要的(错误的)故障切换情况。可能的故障包括网卡故障、网络电缆故障、网络电缆移除和交换机重置。考虑主机可能导致故障的上述原因,然后尝试减少这些问题(通常通过提供网络冗余来实现此目的)。

数据存储数目

Vmware vsphere知识中易混淆和忽略的多个概念

http://blog.csdn.net/kkfloat/article/details/9162347  ha,vmotion等

http://virtualbox.blog.51cto.com/531002/1168809

http://www.szlh-service.com/technology_info.asp?typeid=4&ID=256  Vmware vSphere常见问题汇总

虚拟机
内存:分配的 1024MB
内存开销:运行此虚拟机所花费主机的 23.68MB
活动客户机内存:虚拟机里面运行程序所花费的 30MB
已消耗的主机内存:1024+23.68=1046    30M
          2048+34.28=2079    286MB

默认虚拟机设置控制虚拟机的重新启动顺序(虚拟机重新启动优先级)以及在主机之间失去网络连接时 vSphere HA 的响应方式(主机隔离响应)。这些设置适用于主机发生故障或主机隔离时群集内的所有虚拟机。此外,也可以为特定虚拟机配置异常。

重要的是理解DRS和存储DRS的目标是资源可用性,关键是提供资源可用性来保障尽可能多的灵活性

数据存储群集构成存储DRS的基础,在单个个体中,能最好的描述搜集数据的集合(图117),一旦配置完成,数据存储群集被集中管理而不是分开管理,请注意,数据存储群集被参考为vSphere API中的“存储资料库”。

数据存储群集在发布过程中被用来作为目标存储,发布的过程不仅指创建虚拟机,也指给已存在的虚拟机添加磁盘,克隆虚拟机或者在数据存储群集上通过存储vMotion移动虚拟机。一旦存储DRS开启,数据存储群集变一个负载平衡域,初始化位置将选择空间利用率的数据存储和I/O负载较低的数据存储,当超过阈值和大量I/O或者空间不平衡时,负载平衡计算产生迁移建议

DRS提供了以下资源管理功能。

初始放置位置:当群集内虚拟机开启电源,DRS放置虚拟机到合适的主机上,或根据自动化级别提示建议。

负载均衡:DRS分配群集内ESXi主机上虚拟机的工作负载,DRS持续健康活动的工作负载和可用资源,DRS对比监控结果来完成理想的资源执行和分配,或者建议虚拟机进行迁移,以确保工作负载获得该得到资源,也就是为了性能最大化的目标。

电源管理: 当启用分布式电源管理(DPM),DRS会对比群集级别和主机级别的容量和虚拟机的需求,包括最近的历史需求,历史位置或者如果检测到产能过剩,推荐ESXi主机在待机模式下,或者需要更多的资源,推荐开启ESXi主机。

群集维护模式:DRS评估一组主机,可以将它们置于维护模式,同时也能加快VMware Update Manager的修复过程。当确定哪些主机进入维护模式的同时,DRS也将考虑HA,DPM,FT(Fault Tolerance),vMotion等的兼容性等因素。

规则修订:当主机进入维护模式或者待机模式,DRS会撤离用户请求重新分配虚拟机到ESXi,主机,迁移虚拟机时需要坚持用户定义的关联或者反关联规则。

统一的服务器拥有同样的型号、使用相同的CPU、相同的RAM以及网卡和存储适配器。统一的服务器应该运行同样的VMware ESXi hypervisor版本,而且被配置为统一的域名系统、时间同步以及其它的基本设置。如果任何一台统一集群中的服务器发生了改变,将会应用到其它的服务器中。每台服务器的个别参数是唯一的,例如宿主机名、IP地址和存储标示符。

原文地址:https://www.cnblogs.com/createyuan/p/3956579.html