an introduction to openstack and its use of kvm
TRANSCRIPT
![Page 2: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/2.jpg)
KVM Forum 2013: Edinburgh
About me
● Contributor to multiple virt projects● Libvirt Developer / Architect 8 years● OpenStack contributor 1 year● Nova Core Team Reviewer● Focused on Nova libvirt + KVM integration
![Page 3: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/3.jpg)
KVM Forum 2013: Edinburgh
Talk Structure
● Introduction to OpenStack services● Compute service architecture● Guest boot sequence● Recent developments
![Page 4: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/4.jpg)
KVM Forum 2013: Edinburgh
What is OpenStack ?
● Public or private cloud● Self-service user API and dashboard● Apache 2.0 licensed● Broad community contribution
![Page 5: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/5.jpg)
KVM Forum 2013: Edinburgh
What is in OpenStack ?
● Compute (Nova)● Network (Neutron)● Image storage (Glance)● Block storage (Cinder)● Object storage (Swift)*● Identity (Keystone)*● Metering (Ceilometer)*● Orchestration (Heat)*● Dashboard (Horizon)*
* not discussed in this presentation
![Page 6: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/6.jpg)
KVM Forum 2013: Edinburgh
What is Nova?
● Execution of compute workloads● Technology agnostic
– Virtual machine or container virt
● Virtualization agnostic– Libvirt (KVM, QEMU, Xen, LXC), XenAPI, Hyper-V,
VMware ESX, PowerVM, Docker, Bare-metal
![Page 7: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/7.jpg)
KVM Forum 2013: Edinburgh
What is Glance?
● Write-once, read-many storage of images● Image copied on use by Nova● Format agnostic
– eg raw, qcow2, etc
● Metadata properties– eg specify virtual hardware preferences
![Page 8: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/8.jpg)
KVM Forum 2013: Edinburgh
What is Cinder?
● Persistent block storage● Multiple storage backends
– eg LVM, RBD, Gluster, Sheepdog, ...+ more...
● Exposed to compute host via iSCSI● Optional direct access by compute
– Gluster
● Pre-requisite for live migration
![Page 9: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/9.jpg)
KVM Forum 2013: Edinburgh
What is Neutron?
● Network infastructure management● Concepts
– Networks
– Routers
– Subnets
– Ports
● Multiple technologies– OpenVSwitch, Linux Bridge, Vendor plugins
![Page 10: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/10.jpg)
KVM Forum 2013: Edinburgh
Nova architecture
● Concepts– Instances
– Flavours
– Virt drivers
– Security group
● Dual APIs– OpenStack REST
– EC2 compatible REST
![Page 11: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/11.jpg)
KVM Forum 2013: Edinburgh
Nova architecture (simple)
nova-api
AMQP
nova-compute
Libvirt+KVM
DB
nova-scheduler
nova-conductor
REST API
![Page 12: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/12.jpg)
KVM Forum 2013: Edinburgh
Nova architecture (scaling)
nova-api
AMQP
nova-compute
nova-scheduler
Libvirt+KVM
DB
nova-conductor
nova-scheduler
nova-conductor
nova-scheduler
nova-conductor
Libvirt+KVMLibvirt+KVM
nova-computenova-compute
nova-apinova-api
Load Balancer
REST API
![Page 13: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/13.jpg)
KVM Forum 2013: Edinburgh
Nova cells
● Partition cloud infrastructure– Resilience within a data center
– Scale out across data centers
– Technology variation (eg KVM vs Hyper-V)
![Page 14: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/14.jpg)
KVM Forum 2013: Edinburgh
Nova cells architecture (Part 1)
API Cell
Compute Cell Compute Cell Compute Cell...
AMQP
![Page 15: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/15.jpg)
KVM Forum 2013: Edinburgh
Nova cells architecture (Part 2)
AMQP
nova-compute
nova-scheduler
Libvirt+KVM
DB
nova-conductor
nova-scheduler
nova-conductor
nova-scheduler
nova-conductor
Libvirt+KVMLibvirt+KVM
nova-computenova-compute
Compute Cellnova-cells
![Page 16: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/16.jpg)
KVM Forum 2013: Edinburgh
Nova cells architecture (Part 3)
AMQP
DB
API Cell
nova-cells
nova-cellsnova-cellsnova-api
Load Balancer
REST API
![Page 17: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/17.jpg)
KVM Forum 2013: Edinburgh
Nova schedular
● Places instances on compute hosts● Pluggable filtering rules
– CPU model / architecture
– Virtualization type
– PCI device availability
– CPU, RAM, Disk usage
– Trusted boot (TXT)
– +more...
![Page 18: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/18.jpg)
KVM Forum 2013: Edinburgh
Nova conductor
● Mediates database access● No database access from compute hosts
– Compute hosts relatively untrusted / high risk
– Scalability bottleneck for database
● Compute hosts issues RPC calls● Conductor updates database state
![Page 19: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/19.jpg)
KVM Forum 2013: Edinburgh
Nova graphics proxy
● No direct compute access for VNC/SPICE● Nova VNC/SPICE websockets proxy● HTML5 VNC/SPICE browser clients● Obtain auth token via REST API● Pass to websockets proxy to authenticate● Data proxied between compute & proxy
![Page 20: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/20.jpg)
KVM Forum 2013: Edinburgh
Instance boot step 1
Compute
Dashboard
ImageService
Identity
ObjectStorage
MeteringOrchestration
NetworkingBlock
Storage
1
![Page 21: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/21.jpg)
KVM Forum 2013: Edinburgh
Instance boot step 2
Compute
Dashboard
ImageService
Identity
ObjectStorage
MeteringOrchestration
NetworkingBlock
Storage
1 2
![Page 22: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/22.jpg)
KVM Forum 2013: Edinburgh
Instance boot step 3
Compute
Dashboard
ImageService
Identity
ObjectStorage
MeteringOrchestration
NetworkingBlock
Storage
1 2
3
![Page 23: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/23.jpg)
KVM Forum 2013: Edinburgh
Instance boot step 4
Compute
Dashboard
ImageService
Identity
ObjectStorage
MeteringOrchestration
NetworkingBlock
Storage
1 2
3
4
![Page 24: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/24.jpg)
KVM Forum 2013: Edinburgh
Instance boot step 5
Compute
Dashboard
ImageService
Identity
ObjectStorage
MeteringOrchestration
NetworkingBlock
Storage
1 2
3
4
5
![Page 25: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/25.jpg)
KVM Forum 2013: Edinburgh
Instance boot step 6
Compute
Dashboard
ImageService
Identity
ObjectStorage
MeteringOrchestration
NetworkingBlock
Storage
1 2
3
4
5
6
![Page 26: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/26.jpg)
KVM Forum 2013: Edinburgh
Nova KVM config part 1
● CPU– Named model or host model or host passthrough
● NIC model● Disk bus type● PCI device assignment● Serial console x2 (1x log, 1x interactive)● Disk devices
![Page 27: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/27.jpg)
KVM Forum 2013: Edinburgh
Nova KVM config part 2
● SMBios info● CPU pinning● VNC or SPICE● QEMU + SPICE agents● Clock (PIT, RTC) parameters● Schedular, disk, network tunables
![Page 28: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/28.jpg)
KVM Forum 2013: Edinburgh
New in Havana
● Released Thursday 17th Oct● Notable features
– Block storage backend migration
– Store images in RBD
– Gluster native boot
– QEMU guest agent assisted snapshots
– PCI device assignment
![Page 29: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/29.jpg)
KVM Forum 2013: Edinburgh
Coming in Icehouse
● Target 17th Oct + 6 months● Planning summit in Hong Kong Nov 4th-8th
● Notable blueprints– VM ensembles
– VM migration with storage
– Live snapshots (disk + RAM)
– Host reservation (user request entire host)
![Page 30: An Introduction to OpenStack and its use of KVM](https://reader034.vdocuments.us/reader034/viewer/2022051201/58a1ab1e1a28ab88438ba2f0/html5/thumbnails/30.jpg)
http://openstack.org/