openstack 管理 vmware 小记

来源:互联网 发布:魅力中国网络电视台 编辑:程序博客网 时间:2024/05/19 00:35

从事openstack开发相关的工作两年多,实际的项目中经常会碰到客户需要管理vmware虚拟机,事实上vmware在虚拟机市场还是占有非常大的份额的,对于一些已经使用了vmware产品的企业,想要使用如openstack这样的云平台项目构建自己的私有云平台,管理vmware虚拟机是不可回避的问题。本文主要是整理下这两年openstack管理vmware的一些事儿。

注:本文以stable/juno为基础来说说openstack管理vmware的那些事儿

openstack 管理vmware虚拟机

早期的vmware版本中,nova的driver中可以看到连接Esxi物理机(G版及之前),现在(J及之后)我们可以看到比较完善的管理vmware的Esxi和Vcenter驱动,目前,包含虚拟机的创建、删除、开机、关机、休眠、唤醒、挂起、重启、迁移等等通常操作,都已实现,但是,openstack中对虚拟机的一些高级管理如DRS、DAS等是并没有集成实现的,对于一些定制的需求,想要这些功能,官方版本应该是不会集成的,只能是通过定制开发的手段来实现了。

Esxi 驱动配置

如果直接连接的是Esxi物理机,示例配置如下:

vim /etc/nova/nova.conf[DEFAULT]compute_driver = driver.VMwareESXDriver[vmware]host_ip=<exsi host IP>host_username=<exsi administrator name>host_password=<password for exsi administrator>datastore_regex=<data store regular express>wsdl_location=https://<exsi host IP>/sdk/vimService.wsdl

Vcenter 驱动配置

如果直接连接的是Vcenter,示例配置如下:

vim /etc/nova/nova.conf[DEFAULT]compute_driver = driver.VMwareVCDriver[vmware]host_ip=<vcenter host IP>host_username=<vcenter administrator name>host_password=<password for vcenter administrator>cluster_name=<clusters name>datastore_regex=<data store regular express>wsdl_location=https://<vcenter host IP>/sdk/vimService.wsdl

当然这些配置并非是vmware相关的全部配置,详情请查看官方配置

配置完了之后,需要重新启动nova-compute的服务。

openstack 管理vmware块存储

在cinder服务中,已集成了块存储的相关功能,如卷的创建、删除、快照、挂载、卸载等功能。但是关于卷需要注意如下几点

  1. 卷的挂载与卸载需要虚拟机是关机状态(PS:比较不爽的地方是如果开机状态下执行卷的挂载或卸载操作,结果是不成功,compute服务中也未做相关的判断,只是根据vcenter中相关的Task失败信息看到操作失败的原因,体验还是比较的差的)。
  2. 目前cinder中并没有看到卷备份功能的实现,关于快照和备份请移步 快照VS备份。

cinder中vmdk驱动配置

实例配置如下:

vim /etc/cinder/cinder.conf[DEFAULT]default_volume_type = vmwareenabled_backends = vmware[vmware]vmware_host_ip=<vcenter host ip>vmware_host_username=<vcenter administrator name>vmware_host_password=<password for vcenter administrator>vmware_wsdl_location=https://<vcenter host ip>/sdk/vimService.wsdlvolume_driver=cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver

注:不要忘记创建vmware volume-type

cinder type-create vmware

当然,这些也并非关于vmware的全部配置,详情请查看官方配置

openstack 管理vmware镜像

事实上,也可以不将镜像扔给vcenter管理,存在本地也可以,只不过存在本地在创建虚拟机时需要将镜像上传到vcenter/Esxi主机,这样会影响虚拟机创建的时间。对于镜像的管理,包括上传、下载等功能。不过在创建镜像使需要注意如下几点

  1. 上传镜像的时候,我们需要知道该镜像的disktype/adaptertype,用 head -20 [vmdk file]可以查看相关类型
  2. 使用qemu-img命令将qcow2img格式镜像转换成vmdk格式的镜像时vmware_disktype通常是sparsevmware_adaptertypeide,建议上传使用命令如下:
--container-format bare --disk-format vmdk \--property vmware_disktype="sparse" \--property vmware_adaptertype="ide" < \trusty-server-cloudimg-amd64-disk1.vmdk

glance中vmware glance_store配置

示例配置如下:

[default]known_stores = vmwaredefault_store = vsphere[glance_store]vmware_server_host=<vcenter host ip>vmware_server_username=<vcenter administrator name>vmware_server_password=<password for vcenter administrator>vmware_datastore_name=<data store name>vmware_datacenter_path=<data center name>

当然,这些也并非关于vmware的全部配置,详情请查看官方配置

openstack 管理vmware网络

vmware nsx是比较的昂贵的,目前也没有玩儿过这个东西(PS: 目前公司生产环境是基于stable/juno开发的,neutron中对于dvs、vsphere集成还要在kilo和liberty中实现,所以仅仅是看过,未实验或者在生产环境中使用),所以也就没有试过使用neutron管理vmware网络,目前测试成功且使用上的就是nova-network管理vmware虚拟机网络了。关于openstack管理vmware网络,下面有些资料、仅供参考:

  1. nova-network网络配置
  2. NSX安装与升级
  3. VNP/NSX
  4. DVS neutron driver
  5. networking-vsphere

openstack 管理vmware监控

vmware 暴露出来的监控采集频率最下是300s,不过可以通过vmware接口拿到比较多的虚拟机、物理机、集群等的监控数据,ceilometer项目中目前仅提供了虚拟机的若干监控,基本涵盖了cpu、内存、disk I/O、网络流量四个,对于一些常规的监控大体上也够用了。

ceilometer 中 vmware配置

示例配置:

[DEFAULT]hypervisor_inspector=vsphere[vmware]host_ip=<vcenter/exsi host IP>host_username=<vcenter/exsi administrator name>host_password=<password for vcenter/exsi administrator>

ceilometr vmware详细配置请查看官方配置

0 0