2017年3月8日星期三

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 = vmware
enabled_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.wsdl
volume_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 = vmware
default_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详细配置请查看官方配置
地点: 中国浙江省杭州市