Upload
vuonganh
View
297
Download
0
Embed Size (px)
Citation preview
OpenStack
A. History of VMware Integrated OpenStack
B. Installation
C. Launching an Instance
D. Function Extension and Improvement 目录 CONTENTS
OpenStack
History of VMware Integrated OpenStack
VMware VCDriver
VMware ESXDriver
1. Originally written by Citrix
2. Updated by VMware
3. Allow Nova to communicate directly to an
ESXI host via the vSphere sdk
4. Removed in Juno
1. Developed by VMware for the Grizzly release
2. Allow Nova to communicate with a VMware
vCenter server managing a cluster of ESXI hosts
3. Principal Development
Point
•ESXdriver communicate directly to an ESXI host •Can’t support vsphere advanced features like vMotion,DRS and HA. •More physical hosts are needed to deploy nova-compute node.
OpenStack
Installation
Using Openstack with vSphere
• Openstack cloud be deployed in VM
• Vcenter Server cloud be deployed in
other VM too.
• leverages VMware NSX to provide
advanced networking functionality via
Neutron
PHOTO
OpenStack
Installation
Template Flavor+Image
OpenStack and vSphere: Conceptual Analogies
Virtual Machine
Instance
VMDK Volume
OpenStack
Installation
vSphere Requirements Single Datacenter Enable DRS and SDRS Storage: Shared Networking:port group,vlan, and
esxi firewall
Requirements
Openstack Requirments for vpshere 5.1 and later:
vSphere 5.0 and earlier additional set up: To mirror WSDL from vCenter
OpenStack
Launching an Instance
VMware driver architecture
• OpenStack sees three hypervisors.
• Each of them correspond to a cluster in
vcenter.
• Compute schedules at the granularity of a
cluster.
• Interacts with the OpenStack Image
Service to copy VMDK images from the
Image Service back end store.
• VMDK images are cached in the data
store.
PHOTO
OpenStack
Launching an Instance
Process of launch an Instance
1 2 3 4 5
• Upload image file to
vSphere datastore
• Register image by glance
• Create network by nova-network
• Query the hypervisor refer
to vmware cluster
• Create an instance using nova
boot command
• Launch instance in vSphere
OpenStack
Launching an Instance
Process of create a volume
1 2 3
• Create a volume using
cinder-create command
• Create an instance in vSphere
corresponding this volume
• There is the volume VM
OpenStack
Function Extension and Improvement
Case 1
VM Affinity Rule API List:1. Create affinity Group 2. Delete affinity Group 3. Describe affinity Group 4. Update affinity Group 5. Add vms to affinity Group
6. Remove vms from affinity Group
Nova-API
Create Affinity Group
Nova-Compute_manager
Create Affinity Group Object
Openstack DB
Save Affinity Group
Nova-API
Add vms to Affinity Group
Nova-Compute_Manager
Call vmware driver
VMware driver
Send Create affinity rule about vms to Vcenter
Vsphere
Add affinity rule in cluster
Nova-API
Remove vms to Affinity Group
Nova-Compute_Manager
Call vmware driver
VMware driver
Send update affinity rule about vms to Vcenter
Vsphere
Update affinity rule in cluster
Create:
Add:
Remove:
OpenStack
Function Extension and Improvement
Case 2
Shared volume API List:1. create shared volume 2. delete shared volume 3. attach shared volume to vms 4. detach shared from volume to vm
Create:
Attach:
Cinder-API
Create Volume with “shareable=true”arg
Cinder-Volume
Call vmware driver to create a Volume
Vsphere
Create a Volume
Nova-API
Attach shareable volume
Nova-Compute
Call vmware driver to attach shareable Volume to vm
Vsphere
Attach a Volume with shareable spec
OpenStack
Function Extension and Improvement
Case 3
Improve image download
1 2 3 4
• Make image file
• Registe fake image in glance
• Modify vmdk file and upload image
file to one of vSphere datastore
• When launch instances, just find
this image in all of vSphere
datastores without download
from glance.
• Reduce 50%+ time at first creation.
OpenStack
Reference
1 http://cloudarchitectmusings.com/2013/06/24/ openstack-for-vmware-admins-nova-compute-with-vsphere-part-1/
2 http://docs.openstack.org/developer/nova/support-matrix.html
3 http://www.vmware.com/files/pdf/techpaper/ VMWare-Getting-Started-with-OpenStack-and-vSphere.pdf
4 http://docs.openstack.org/trunk/config-reference/content/vmware.html