Newton简介--如何纳管vCenter环境

前言

随着今年十月OpenStack发布了Newton版本,不少在以前版本中尚未投入实际使用的功能得以实现。本篇翻译于openstack官档,介绍了如何使用OpenStack纳管vCenter下的环境,通过OpenStack在vCenter集群中创建虚机管理虚机。并做了一些简要的功能介绍。官档对这方面将的还是比较详细,而这篇翻译只是属于overview的粗略过一遍。如果以后有这方面的需求会继续翻译。

简介

openstack计算组件更加友好的支持了VMware vSphere产品,同时在openstack环境中允许支持VMware vSphere高级功能例如vMotion,高可用,动态资源调度(DRS Dynamic Resource Scheduling)
本小节叙述了如何使用基于VMware配置下的虚机镜像,然后使用镜像创建实例。openstack中支持的VMware驱动版本为vCenter 5.5.0之后。
VMware vCenter驱动支持nova-compute服务于VMware vCenter服务沟通,这个VMware vCenter可能管理了一个或者更多的ESX主机集群。VMware vCenter驱动会将每个VMware集群中的ESX聚集为一个更大的hypervisor实体,这样方便每个集群的计算服务资源调度。因为针对单个ESX主机是不能暴露给调度任务的,计算调度服务是以每个集群为最小的粒度,vCenter使用DRS来选择这个集群中那个ESX主机创建虚机。当一个虚机使用DRS方式被创建在vCenter集群中,虚机能够使用所有的vSphere功能。

下述小节会详细描述如何去配置VMware vCenter驱动。

架构

下述图表表述了VMware驱动架构的高级视图

VMware驱动架构:
这里写图片描述

如图所示,openstack计算调度服务能够看到三个hypervisor,每个hypervisor在vCenter中对应着一个集群。nova-compute包含了VMware驱动,你可以在这集群中运行多个nova-compute服务。在这里推荐每一个ESX集群上只运行一个nova-compute服务,因为这样保证了openstack计算调度服务在以每个nova-compute作为最小调度粒度的时候,调度任务能够生效于每个VMware的集群上。反过来,按照单个集群只起一个nova-compute服务,在nova-compute中写入了VMware驱动能够只作用于对应的vCenter集群,然后通过vCenter API接口在对应的集群中选择适当的ESX主机创建虚机。在vSphere内部,vCenter依旧使用DRS来调度集群中的可用资源。

VMware vCenter驱动也会与Image服务做联系,用于从Image服务后端存储中调用拷贝VMDK的镜像。途中的虚线表示通过VMware vCenter驱动,将openstack Image服务中vmdk镜像拷贝到vSphere数据存储中。VMDK镜像会被缓存在数据存储中,所以拷贝操作只是第一次使用VMDK镜像被使用的时候才会有。

当openstack通过vSphere集群创建启动一台虚机之后,这台虚机在vCenter中能被查看到,同时这台虚机也具备了vSphere的高级功能。同一时间,这台虚机在openstack的dashboard中也是可见的,你可以像管理其他在openstack中创建的虚机一样来管理它。当你配置了相对应的openstakc资源,例如虚机能够穿透openstack的dashboard,这样你可以在vCenter中执行你所需要的vSphere高级功能。

本架构图没有表示网络流向是如何走的,当然nova-network和openstakc的网络服务也支持为vCenter提供网络服务,详情请见VMware vSphere网络。

配置

开始配置VMware vCenter驱动,参照下列步骤来完成配置:

1.配置vCenter,详情请见“先决条件与限制”
2.在nova.conf中配置VMware vCenter驱动,详情,请参考 VMware vCenter驱动。
3.装载你想要的VMDK镜像到Image服务中,详情参考 镜像与VMware vSphere
4.通过nova-network或者网络服务来配置vmware的网络,详情参见VMware vSphere网络配置

先决条件与限制

使用下列清单来配置一个vSphere环境,vSphere环境运行VMware vCenter驱动:

拷贝VMDK文件

在vSphere 5.1中,从image 服务中拷贝较大的镜像文件(例如,12GB或者更大的)可能要花费很长的一段时间。为了提升传输速度的性能,VMware推荐你将VMware vCenter server升级到5.1 update1或者更高的版本。更多消息请参考 vCenter server 5.1 update 1更新信息

DRS
针对任何包含了多个ESX主机的集群,请配置DRS同时允许完全自动分配。

共享存储
只支持共享存储并且在一个集群中数据存储必要要共享给每个主机。并且建议删除那些不用于在openstack环境中配置与集群的数据。

集群与数据存储
不要使用openstack集群合数据存储用作别的目的。 如果你适用了,openstakc会显示不正确的使用信息。

网络
网络配置基于你想配置何种网络模式。

安全组
如果你在openstack网络组件中使用VMware 驱动和NSX插件,那么网络组件支持添加安全组。但是如果你是用的事老板nova-network组件,那么将不支持安全组。

注意: NSX插件是唯一一个能在vSphere中生效的插件。

VNC
端口5900-6105(包括6105)是自动开启的,用于VNC链接到每一个在openstack控制下的集群中的物理机。

注意: 上述说明了默认5900到6000端口是使用的之后,下述6101,6102,和6105也是可以使用的。

你必须修改ESXi的防火墙配置来允许VNC端口访问ESXi主机。另外,修改防火前后需要保存重启防火墙服务。你必须创建一个自定义的vSphere安装包(VIB)用来安装给已运行的ESXi主机,或者加载到自定义的镜像中用于以后安装ESXi主机,这样保证ESXi主机能够通过VNC来访问。关于如何创建一个VIB用来配置修改防火墙,请参考VIB配置修改防火墙

注意:
VIB能够从 https://github.com/openstack-vmwareapi-team/Tools下载到。

在openstack中安装多个vCenter,每个vCenter必须指定一个特定的可用zone。这是必须的因为openstack 块存储VMDK驱动目前暂不支持跨多个vCenter安装。

VMware vCenter 服务账号

vCenter环境集成到openstack中需要以下列表给出的最小权限。在数据库的root对象中应用这些权限,并且选择对应子对象的权限。
vCenter permissions tree

All Privileges          
    Datastore       
        Allocate space  
        Browse datastore    
        Low level file operation    
        Remove file 
    Extension       
        Register extension  
    Folder      
        Create folder   
    Host        
        Configuration   
            Maintenance
            Network configuration
            Storage partition configuration
    Network     
        Assign network  
    Resource        
        Assign virtual machine to resource pool 
        Migrate powered off virtual machine 
        Migrate powered on virtual machine  
    Virtual Machine     
        Configuration   
            Add existing disk
            Add new disk
            Add or remove device
            Advanced
            CPU count
            Change resource
            Disk change tracking
            Host USB device
            Memory
            Modify device settings
            Raw device
            Remove disk
            Rename
            Swapfile placement
        Interaction 
            Configure CD media
            Power Off
            Power On
            Reset
            Suspend
        Inventory   
            Create from existing
            Create new
            Move
            Remove
            Unregister
        Provisioning    
            Clone virtual machine
            Customize
            Create template from virtual machine
        Snapshot management 
            Create snapshot
            Remove snapshot
    Sessions        
            Validate session
            View and stop sessions
    vApp        
        Export  
        Import  

VMware vCenter驱动

使用VMware vCenter驱动(VMwareVCDriver)来连接到openstack 计算服务,使之能让计算服务与vCenter通讯。这个推荐配置能够允许通过vCenter来使用vSphere的高级功能,例如vMotion,高可用,动态调度分配。

VMwareVCDriver配置参数

在nova.conf文件中加入VMware特定的配置参数与配置小节:

[DEFAULT]compute_driver = vmwareapi.VMwareVCDriver

[vmware]host_ip = <vCenter hostname or IP address>
host_username = <vCenter username>
host_password = <vCenter password>
cluster_name = <vCenter cluster name>
datastore_regex = <optional datastore regex>

注意:
1.集群:vCenter驱动仅支持单节点集群(译者注:这也就是上面架构图中为什么最好每个集群配置一个nova-compute的原因吧。多少还是有缺陷)。使用vCenter驱动的集群合数据存储不应该包含那些不由这些驱动创建出来的虚机。(译者注:意思就是在指定的集群中的虚机最好都是由vCenter创建出来了,不是由v2v导入的其他不适于vmware驱动的虚拟机)。
2.数据存储:datastore_regex参数制定了用于计算服务的数据存储。例如:datastore_regex=”nas.”指定了所有名字开头为nas的数据存储。如果这个参数缺省,计算服务将会使用vSphere API返回的第一个数据存储。建议不要使用此配置项,删除那些不打算用于openstack的数据存储。
3.保留主机内存:reserved_host_memory_db参数默认值为512MB。然而,VMware建议你将这个参数设置成为0MB。因为vCenter驱动会报告物理主机有效可用与创建虚机的内存。
4.vCenter驱动通过instance ID来收集instance名字。instace名字模板会被忽略。
5.最低支持vCenter的版本是5.5.0. 自从openstrack Ocata以后版本任何vCenter低于5.5.0的版本加载到openstack环境中将会报错。在openstack Pike发行版中这将会被强制。

一个nova-compute服务可以管理一个或者多个集群,集群可以包含多个ESXi主机。从高可用的角度上来看nova-compute是一个关键服务。因为运行了nova-compute的机器可能会出现故障导致失联,但是底层vCenter和ESX依然是在运行的,你必须保证nova-compute服务在一台主机上挺值得时候其他主机的nova-compute仍然能运行接管这个对应vCenter的集群。(译者注:如果一个nova-compute服务挂了,意味着一个集群将会从openstack层面失联。有可能vCenter和ESXi运行正常,上面跑的虚机也正常,但是从openstack层面你是不知道的。所以需要考虑是否搭建高可用,例如通过多个nova-compute来指定一个cluster,然后用rabbitMQ消息调度每个nova-compute来对cluster做操作。这里只是猜想。)

注意:
在nova.conf配置文件中的选项大部分是支持libvirt的,但是有些不会支持VMwareVCDriver驱动。

VMware vSphere的镜像

vCenter驱动支持识别VMDK格式的镜像。有关VMDK格式的磁盘能够从VMware Fusion或者随便一个ESX环境中获取得到。VMDK格式镜像依旧可以转换成其他格式的镜像,例如qcow2。使用qemu-img指令能够查看镜像的格式。获取了一个可用的VMDK的磁盘后,将它加载到Image服务中。这样你可以通过VMware vCenter驱动来使用这个镜像。下述的小节中提供了有关支持镜像格式,如果使用指令转换上传镜像的详细信息。

支持的镜像格式:

上传VMDK格式的镜像到openstack Image服务中。下述VMDK磁盘类型是支持上传:
1.VMFS flat磁盘(包括 thin,thick,zeroedthick和eagerzeroedthick)注意,一旦一个thin VMFS磁盘从VMFS导出到一个非VMFS的环境,例如openstack Image 服务,磁盘将会变成一个已经预先分配的flat 磁盘。(译者注:物理磁盘文件大小与你创建的这个磁盘时候的大小一致,而不是增量的变化了。)这将会影响到将这个磁盘从Image服务传输到vCenter数据存储中的速度。而这是不可避免的。

2.Monolithic Sparse disk(以单片稀疏存储的磁盘文件):稀疏磁盘将会以thin 磁盘文件格式从openstack Image传输到ESXi环境中。(译者注:例如磁盘原来指定大小为50GB,但是稀疏的方式只会存放你实际大小的数据,如果这个50GB磁盘你只存放4GB数据,那么传输的时候实际上只会传输4GB,这样比上种磁盘格式就传输速度来说会快很多)。单片稀疏磁盘文件你可以通过VMware Fusion或者使用qemu-img命令来将其他磁盘文件格式装换成这种文件格式从而得到。

3.流化磁盘(stream-optimized disks):流化磁盘属于压缩稀疏磁盘。流化磁盘可以从VMware vCenter/ESXi中的虚机导入的ovf/ova模板中获取。

下述表显示了vmware_disktype属性,以及这些属性对应每一个支持对应的VMDK磁盘类型:

OpenStack Image service disk type settings

vmware_disktype propertyVMDK disk type
sparseMonolithic Sparse
thinVMFS flat, thin provisioned
preallocated (default)VMFS flat, thick/zeroedthick/eagerzeroedthick
streamOptimizedCompressed Sparse

vmware_disktype属性会在每一镜像加载到Image服务的时候被指定。例如,下述命令通过指定vmware_disktype为”spare”创建了一个单片稀疏镜像:

$ openstack image create   --disk-format vmdk   --container-format bare   --property vmware_disktype="sparse"   --property vmware_ostype="ubuntu64Guest"  ubuntu-sparse < ubuntuLTS-sparse.vmdk

注意:预先分配指定thin格式在当前版本的驱动程序中不会提供任何优势。将来的版本中可能可能会恢复thin磁盘属性,当一个磁盘从vSphere数据存储中下载下来。

OpenStack Image service OS type settings露
vmware_ostype propertyRetail Name
asianux3_64GuestAsianux Server 3 (64 bit)
asianux3GuestAsianux Server 3
asianux4_64GuestAsianux Server 4 (64 bit)
asianux4GuestAsianux Server 4
darwin64GuestDarwin 64 bit
darwinGuestDarwin
debian4_64GuestDebian GNU/Linux 4 (64 bit)
debian4GuestDebian GNU/Linux 4
debian5_64GuestDebian GNU/Linux 5 (64 bit)
debian5GuestDebian GNU/Linux 5
dosGuestMS-DOS
freebsd64GuestFreeBSD x64
freebsdGuestFreeBSD
mandrivaGuestMandriva Linux
netware4GuestNovell NetWare 4
netware5GuestNovell NetWare 5.1
netware6GuestNovell NetWare 6.x
nld9GuestNovell Linux Desktop 9
oesGuestOpen Enterprise Server
openServer5GuestSCO OpenServer 5
openServer6GuestSCO OpenServer 6
opensuse64GuestopenSUSE (64 bit)
opensuseGuestopenSUSE
os2GuestOS/2
other24xLinux64GuestLinux 2.4x Kernel (64 bit) (experimental)
other24xLinuxGuestLinux 2.4x Kernel
other26xLinux64GuestLinux 2.6x Kernel (64 bit) (experimental)
other26xLinuxGuestLinux 2.6x Kernel (experimental)
otherGuestOther Operating System
otherGuest64Other Operating System (64 bit) (experimental)
otherLinux64GuestLinux (64 bit) (experimental)
otherLinuxGuestOther Linux
redhatGuestRed Hat Linux 2.1
rhel2GuestRed Hat Enterprise Linux 2
rhel3_64GuestRed Hat Enterprise Linux 3 (64 bit)
rhel3GuestRed Hat Enterprise Linux 3
rhel4_64GuestRed Hat Enterprise Linux 4 (64 bit)
rhel4GuestRed Hat Enterprise Linux 4
rhel5_64GuestRed Hat Enterprise Linux 5 (64 bit) (experimental)
rhel5GuestRed Hat Enterprise Linux 5
rhel6_64GuestRed Hat Enterprise Linux 6 (64 bit)
rhel6GuestRed Hat Enterprise Linux 6
sjdsGuestSun Java Desktop System
sles10_64GuestSUSE Linux Enterprise Server 10 (64 bit) (experimental)
sles10GuestSUSE Linux Enterprise Server 10
sles11_64GuestSUSE Linux Enterprise Server 11 (64 bit)
sles11GuestSUSE Linux Enterprise Server 11
sles64GuestSUSE Linux Enterprise Server 9 (64 bit)
slesGuestSUSE Linux Enterprise Server 9
solaris10_64GuestSolaris 10 (64 bit) (experimental)
solaris10GuestSolaris 10 (32 bit) (experimental)
solaris6GuestSolaris 6
solaris7GuestSolaris 7
solaris8GuestSolaris 8
solaris9GuestSolaris 9
suse64GuestSUSE Linux (64 bit)
suseGuestSUSE Linux
turboLinux64GuestTurbolinux (64 bit)
turboLinuxGuestTurbolinux
ubuntu64GuestUbuntu Linux (64 bit)
ubuntuGuestUbuntu Linux
unixWare7GuestSCO UnixWare 7
win2000AdvServGuestWindows 2000 Advanced Server
win2000ProGuestWindows 2000 Professional
win2000ServGuestWindows 2000 Server
win31GuestWindows 3.1
win95GuestWindows 95
win98GuestWindows 98
windows7_64GuestWindows 7 (64 bit)
windows7GuestWindows 7
windows7Server64GuestWindows Server 2008 R2 (64 bit)
winLonghorn64GuestWindows Longhorn (64 bit) (experimental)
winLonghornGuestWindows Longhorn (experimental)
winMeGuestWindows Millennium Edition
winNetBusinessGuestWindows Small Business Server 2003
winNetDatacenter64GuestWindows Server 2003, Datacenter Edition (64 bit) (experimental)
winNetDatacenterGuestWindows Server 2003, Datacenter Edition
winNetEnterprise64GuestWindows Server 2003, Enterprise Edition (64 bit)
winNetEnterpriseGuestWindows Server 2003, Enterprise Edition
winNetStandard64GuestWindows Server 2003, Standard Edition (64 bit)
winNetEnterpriseGuestWindows Server 2003, Enterprise Edition
winNetStandard64GuestWindows Server 2003, Standard Edition (64 bit)
winNetStandardGuestWindows Server 2003, Standard Edition
winNetWebGuestWindows Server 2003, Web Edition
winNTGuestWindows NT 4
winVista64GuestWindows Vista (64 bit)
winVistaGuestWindows Vista
winXPHomeGuestWindows XP Home Edition
winXPPro64GuestWindows XP Professional Edition (64 bit)
winXPProGuestWindows XP Professional

转换和加载镜像

使用qemu-img命令,可以将多个磁盘格式(例如qcow2)转换成VMDK格式的磁盘格式。
例如,下述指令可以用于将一个qcow2格式的ubuntu镜像转换:

$ qemu-img convert -f qcow2 ~/Downloads/trusty-server-cloudimg-amd64-disk1.img \
  -O vmdk trusty-server-cloudimg-amd64-disk1.vmdk

VMDK磁盘转换通常是使用qemu-img命令,转换后同时使单片稀疏VMDK磁盘格式,镜像中使用的IDE适配器。使用之前示例中给的可信任的Ubuntu镜像转换之后,使用下述命令来将镜像上传到Image 服务中。

$ openstack image create \ 
--container-format bare --disk-format vmdk \ 
--property vmware_disktype="sparse" \ 
--property vmware_adaptertype="ide" \ 
trusty-cloud < trusty-server-cloudimg-amd64-disk1.vmdk

注意,这里vmware_disktype设置成为”spare”,vmware_adaptertype设置成为ide,这里设置的参数要与转换镜像时特性一致。如果镜像不是来自于qemu-img命令转换过来了,那么vmware_disktype和vmware_adaptertype参数要依据实际设定。如何决定镜像适配的适配器类型,需要是用到如下的命令,然后查看ddb.adapterType=行的信息:

$ head -20 <vmdk file name>

假设如果是一个预先分配的磁盘类型和iSCSI LsiLogic适配器,那么就要是用如下指令来上传VMDK磁盘:

$ openstack image create \ 
--disk-format vmdk \ 
--container-format bare \ 
--property vmware_adaptertype="lsiLogic" \ 
--property vmware_disktype="preallocated" \ 
--property vmware_ostype="ubuntu64Guest" \ 
ubuntu-thick-scsi < ubuntuLTS-flat.vmdk

当前,从VMDK磁盘,使用IDE适配器启动的系统,不能够更改到虚拟SXCSI 控制器上。同样的,使用SCSI适配器的磁盘例如( busLogic, lsiLogic, lsiLogicsas, paraVirtual)不能够使用IDE适配器来加载。(译者注:bus总线类型的不同决定用加载不同的驱动来运行虚机)。一次,像之前示例中展示的那样,设置正确的vmware_adaptertype参数是非常重要的。镜像中使用默认适配器是IsiLogic那么默认选择SCSI,所以如果你可以确定这个镜像是IsiLogic类型,那么你可以额外指明vmware_adaptertype,保持默认配置就好。

VMware镜像标签

在混合的hypervisor环境中,openstack计算组件使用hypervisor_type标签来匹配对应适用于不同hypervisor的镜像。对于VMware镜像,将标签需要设置为vmware。其他hypervisor类型包括:hyperv,ironic,lxc,qemu,uml和xen。注意qemu适用于所有以QEMU和KVM的hypervisor环境中。

$ openstack image create \ 
--disk-format vmdk \ 
--container-format bare \ 
--property vmware_adaptertype="lsiLogic" \ 
--property vmware_disktype="preallocated" \ 
--property hypervisor_type="vmware" \ 
--property vmware_ostype="ubuntu64Guest" \ 
ubuntu-thick-scsi < ubuntuLTS-flat.vmdk

优化镜像

单片稀疏磁盘在下载上速度会非常的快,但多了额外的转换步骤开销。当导入这种类型的镜像到ESXi,稀疏磁盘镜像需要转换到VMFS flat thin预分配磁盘格式。下载和转换步骤仅仅只在使用这个稀疏磁盘第一次创建虚机的时候。转换过后的镜像会被缓存到vCenter数据存储中,所以随后使用这个磁盘镜像来创建虚机的实例可以直接使用缓存中的已经转换好的镜像。

为了避免这一步额外的转换步骤(牺牲了上传时间),可以将稀疏磁盘事先转换到thin 预分配或者预分配磁盘格式然后上传到Image service中,这样vCenter下载下来的镜像不要做额外的转换。

vSphere 命令行工具

有时候也称作远程命令行工具。
假设一个稀疏磁盘存储在一个数据存储中,磁盘能够被ESXi主机访问获取。可以使用下述指令将稀疏磁盘格式转换为预分配磁盘格式:

vmkfstools --server=ip_of_some_ESX_host -i \ 
/vmfs/volumes/datastore1/sparse.vmdk \ 
/vmfs/volumes/datastore1/converted.vmdk

注意:来自相同命令工具包的vifs工具可以将装换好的磁盘上传到数据存储中。如果有需要的话vifs工具也可以用户下载转换好的磁盘文件。

在ESX主机上直接使用vmkfstools

如果在ESX主机上开启了允许SSH服务,那么我们可以使用vmkfstools直接在ESX本地将稀疏磁盘进行转换,将转换好的磁盘通过scp拷贝到ESX数据存储中。当你通过ssh登录到ESX物理机时,可以使用如下指令完成转换:

vmkfstools -i /vmfs/volumes/datastore1/sparse.vmdk /vmfs/volumes/datastore1/converted.vmdk

vmware-vdiskmanager

vmware-vdiskmanager工具是随着VMware Fusion和VMware Workstation打包发行的工具。下列示例演示了如何将稀疏磁盘转换成预分配磁盘格式:

'/Applications/VMware Fusion.app/Contents/Library/vmware-vdiskmanager' -r sparse.vmdk -t 4 converted.vmdk

在上述的例子中,转换vmdk实际上就是转换两个文件:
1.用于描述磁盘的描述文件 converted.vmdk
2.实际存储虚拟数据的文件converted-flat.vmdk
实际上上传到Image服务的是converted-flat.vmdk文件。

处理镜像

ESX hypervisor需要拷贝一份VMDK磁盘文件用于启动由这个磁盘文件创建的虚机。结果就是 vCenter openstack 计算节点中对接的驱动必须要通过HTTP协议从Image服务上下载一个VMDK文件然后传输到vmware的数据存储中。这样在ESX中就能看见这个磁盘文件。为了优化这个过程,第一次下载的VMDK文件就会被用到,VMDK文件会被缓存到数据存储中。缓存的镜像会被存储到一个以这个镜像ID命名的文件夹中。以后在vCenter中启动的虚机,需要这个VMDK镜像的话会直接在缓存中找到这个镜像,而不必每一次开启虚机的时候再去Image服务中下载一个到ESX中。
即使缓存了一个VMDK文件,在共享数据存储中仍然会有复制操作,从缓存位置拷贝到对应的hypervisor文件目录下。为了回避这种不必要的拷贝操作,开启虚机直接对这个缓存镜像做了一个链接(开启了linked_clone 模式)。关于如何配置这个模式参考配置文档 Description of VMware configuration options.

注意:
你也可以在Image服务中针对每一个镜像使用img_linked_clone属性(或者vmware_linked_clone属性)来覆盖linked_clone模式。如果孵化出来的虚机是通过VMDK磁盘中的ISO镜像,这个镜像一个空白盘那样创建挂载到虚机中。这种情况下img_linked_clone属性可以被忽略。

如果多个计算节点运行在同一个宿主机上,或者有一个共享的文件系统,你可以允许它们在后端存储中使用同一个缓存文件夹。配置这个需要在nova.conf中设置cache_prefix参数。这个值的设置使用缓存文件夹名字的前缀。

注意:
这个参数只适用于计算节点运行在同一个节点,或者计算节点有共享文件系统。

你可以指定过一段特定的时间来清除没有使用的镜像,配置的参数在nova.conf配置文件的DEFAULT小节中。配置参数如下:

remove_unused_base_image
将这个参数置成True意味着在过了remove_unused_original_minimum_age_seconds设置的时间后,将会清理掉没有被使用的镜像。这个参数默认值为True。

remove_unused_original_minimum_age_seconds
指定了在缓存中的镜像过了特定时间后将会被清除,时间以秒为单位,默认值为86400(24小时)。

VMware vSphere网络配置

VMware驱动支持通过networking组件或者nova-network来配置VMware vSphere的网络。选用何种网络组件取决于你安装openstack的版本在你创建虚机之前完成以下配置:(译者注:在openstack E版本之前仍然是用的nova-network来配置openstack的网络环境。)

1.选用nova-network服务,使用FlatManager或者FlatDHCPManager模式。创建一个端口组,这个组的名字必须和你nova.conf配置文件中的flat_network_bridge名字一样。默认值为br100。如果你指定了一个别的名字,新的值必须符合Linux网桥命名规范。

这样所有的虚机网卡会被桥接到这个端口组上。确保你在创建了flat接口的节点上运行了nova-networek服务。

注意:
在位vCenter配置端口绑定,绑定到这个端口组的时候,确认端口的绑定类型为ephemeral。更多的信息请参见VMware基础知识,如果选择正确的端口类型绑定ESX/ESXi。

2.使用nova-network服务的VlanManager模式。将vlan_interface参数配置选项设置为匹配ESX主机接口的,这样就能处理虚机网络的VLAN-tagged。openstack 计算服务将会自动创建相对应的端口组。

3.如果你是用openstack网络服务: 准备创建虚机之前,创建一个端口组。这个端口组要与nova.conf文件中的vmware.integration_bridge值同名(默认值为br-int)。所有在VMware中创建的虚机网卡将会接入到这个端口组,然后被openstack网络组件管理。

VMware vSphere卷组配置

VMware驱动支持使用从块存储服务分配过来的卷组。VMware VMDK驱动推荐使用openstack 块存储,块存储服务可以基于vSphere数据存储来管理vmware虚机的卷组。更多有关VMware VMDK驱动信息,请参考如下文档: VMware VMDK driver
同样,iSCSI也可以提供有功能限制的块存储服务。

配置参考

自定义VMware驱动,如果使用配置选项参数来调试VMware驱动可以参看VMware配置文档-Description of VMware configuration options

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Newton-Raphson迭代法是一种用于求解非线性方程的迭代算法。然而,需要注意的是,该方法可能不收敛,修正项的起伏可能很大。此外,即使迭代收敛,求得的点也可能不是全局的最大值,而可能只是一个局部的最大值或者甚至是一个局部最小值。因此,在使用Newton-Raphson迭代法时,我们需要注意这两个问题。\[1\] 引用\[2\]提到了Newton-Raphson迭代法在最大似然估计中的应用。这种迭代算法可以用于估计参数的最大似然估计值。与此同时,还有另一种迭代算法叫做得分法。相对于K的论述,本文在此补充了一些详细的推理过程和计算步骤。\[2\] 此外,引用\[3\]提到了在有限元静力问题中,求解非线性方程组的方法之一是迭代法。迭代法可以将问题转化为矩阵方程K(u)u=F的求解。其中,K是全局刚度矩阵,u是节点位移向量,F是节点荷载向量。在有限元求解中,通常会结合增量法和迭代法来求解非线性方程组。\[3\] 综上所述,Newton-Raphson迭代法是一种用于求解非线性方程的迭代算法,但需要注意其收敛性和全局最大值的问题。在不同领域中,迭代法可以应用于不同的问题,如最大似然估计和有限元静力问题的求解。 #### 引用[.reference_title] - *1* *2* [MLE的数值确定:Newton-Raphson迭代法、得分法](https://blog.csdn.net/qq_45068436/article/details/126218969)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [有限元非线性求解算法——Newton-Raphson](https://blog.csdn.net/qq_46417931/article/details/131145656)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值