OpenStack
- OpenStack can be thought of running your own AWS cloud instrustructure. It leverages many open source projects, and as such it is more complex than just running a VMware farm.
- Unlike VMware, many of the main components are individual install and config. eg. Authorization, Netowrking (Neuron), Compute, Admin nodes, etc.
- Compute virtualization is handled by Xen, QEMU/KVM or even VMware (several API exist from these products which OpenStack API interface with.
- OpenStack provides both GUI, CLI and RESTful API
DevStack
For kicking the tire, the devstack will install a usable demo on a linux machine that is decicated for this purpose. Not for production use, bug help get started pretty quickly. See http://docs.openstack.org/developer/devstack/Once the stack.sh setup script completes, the Web GUI is accessible at the machine's IP under /dashboard eg http://localhost/dashboard
There are two default users, admin and demo. The password is defined in the local.conf file in the beginning of the setup, which by default is "secret".
One thing that likely need some tweaking is Networking, even in a simple demo env. See devstack network page for a conside overview of things that need to be setup.
./stack # start screen -x stack # rejoin session ./unstack.sh # destroy session
StratoScale
This one is very close to being a drop in replacement for VMware, but for a lot less money.Core Services
Neuron
- The NETWORK component, from the brain's network of neurons
- The network is the brain!!
- Think a bridge network is the default for the VM/Compute instance to connect to network that the host is physically connected to.
- Neuron has abilities to perform NAT, L3 forward, load balancing, firewall, IPsec VPN, etc as a services. LBassS, FaaS, VPNaaS, pick any service and turn it into an adult service to your heart's desire :)
- neuron network service differe from the compute nova-network service, do not run both of them at the same time.
Nova
- The compute component, VM runs on NOVA
- Responsible for the scheduling, spawning and decom of compute instance.
- KVM, Xen, QEMU are typical hypervisors.
- VMware, Docker, LXC, Hyper-V, and other are suppoerted.
- An EC2 compatible API is available so AWS workflow can be deployed on OpenStack
- nova flavor-list will provide a list of canned VM size, like tiny, small, xlarge, a la AWS style!
Glance
- Provides for the imaging service of the compute instances,
- eg: VM provisioning utilize Glace to store and retrieve the VM image.
- nova image-list to list available images
Cinder
- Provides persistent block storage to back the compute instance (VM)
- Like AWS, has concept of ephemeral vs persistent volume.
Swift
- Object Store, provides a RESTful HTTP API for storing and retrieving data objects
- NOT a file server, not mountabled
- Think of AWS S3
Keystone
- The identity management piece. Think of AWS IAM.
- Provides for authentication (authN) and authorization (authZ) services.
- Will have taps for openID, SAML, etc.
- Currently implemented in LDAP?? Or just an internal MySQL/Postgress DB?
Optional Services
Horizon
- This provides a dahboard service. Think about the Web GUI of AWS.
Magnum
- Container service
- Docker and Kurbernetes are treated as first class resources
- Reported as low maturity (1/8) and low adoption (10%).
Manila
- Shared file system. Think of the Manila file folder, not the city in Asia :)
- Reported as med maturity (5/8) and low adoption (10%).
Supporting Technology
KVM
- Linux Kernel module for virtualization
- Run virtualization as a thread in Guest mode of CPU (need VT support in CPU hw), thus avoiding context switch in protected mode (as done by Qemu).
- Most efficient of the virtualization tech for running x86 code on x86
- KVM is now integrated into linux kernel and thus avail "out of the box"
Qemu
- Full feature virtualization/hypervisor application.
- There is a GUI, runnable by users in libvirt group as: python /usr/share/virt-manager/virt-manager.py
- Qemu translates VM calls runnable by native hardware
- Qemu has extensive emulations, supporting many hardware platform, eg run SPARC vm on PPC, ARM on x86. It can handle CPU and memory virtualization, but it is slow.
- KQemu optimizes case of x86 VM on x86 CPU, but still not as efficient as KVM. This is largely not used, unless CPU does not support VT extensions)
- For Linux VM on Linux host, often run as combination of Qemu on KVM. KVM will deal with all CPU/kernel protected mode access. Qemu will deal with the rest of the hardware such as video, disk, network IO (running in user space).
- ref: serverfault post
Xen
- A virtualization product from Citrix to compete with VMware.
Links
Search within the PSG pages:
Copyright info about this work
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike2.5 License.
Pocket Sys Admin Survival Guide: for content that I wrote, (CC)
some rights reserved.
2005,2012 Tin Ho [ tin6150 (at) gmail.com ]
Some contents are "cached" here for easy reference. Sources include man pages,
vendor documents, online references, discussion groups, etc. Copyright of those
are obviously those of the vendor and original authors. I am merely caching them here for quick reference and avoid broken URL problems.
Where is PSG hosted these days?
tiny.cc/Sn
http://tin6150.github.io/psg/psg2.html This new home page at github
http://tiny.cc/tin6150/ New home in 2011.06.
http://tin6150.s3-website-us-west-1.amazonaws.com/psg.html (coming soon)
ftp://sn.is-a-geek.com/psg/psg.html My home "server". Up sporadically.
http://tin6150.github.io/psg/psg.html
http://www.fiu.edu/~tho01/psg/psg.html (no longer updated as of 2007-05)
http://tin6150.github.io/psg/psg2.html This new home page at github
http://tiny.cc/tin6150/ New home in 2011.06.
http://tin6150.s3-website-us-west-1.amazonaws.com/psg.html (coming soon)
ftp://sn.is-a-geek.com/psg/psg.html My home "server". Up sporadically.
http://tin6150.github.io/psg/psg.html
http://www.fiu.edu/~tho01/psg/psg.html (no longer updated as of 2007-05)