OpenStack on SmartOS Daniele Stroppa, ZHAW 24.04.2014, Bern 3rd Swiss OpenStack User Group www.cloudcomp.ch Agenda Motivation Why SmartOS? OpenStack on SmartOS www.cloudcomp.ch Motivation Cloud providers must be able to offer a single server to multiple users without them noticing that that they are not the only users of that machine. This means that the underlying operating system must: o be able to provision and de-provision, VMs in a very fast seamless way; o allocate physical resources efficiently and fairly amongst the users; o support multithreaded and multi-processor hardware; o be highly reliable; o must provide a way to quickly determine what’s causing the system to misbehave. A customer of the cloud provider will also expect the server to be: o fast, i.e. the observed latency should be minimal; o flexible, i.e. get extra power when needed; o secure, meaning that neighboring users must not interfere with each other. www.cloudcomp.ch Why SmartOS? SmartOS is an open source type 1 hypervisor platform o Based on Illumos, a descendant of OpenSolaris, and developed by Joyent SmartOS is a live operating system, o It can be booted via PXE, USB or an ISO image o Runs entirely from memory, leaving the full space on the local disk to be used for virtual machines. o This type of architecture makes it very secure, easy to upgrade and recover www.cloudcomp.ch Why SmartOS? Zones & KVM! Container-based virtualization o A container is the combination of resource controls and Solaris zones. o Provides a lightweight solution and a complete and secure user space environment on a single global kernel. o Can easily scale vertically, something that is more difficult with KVM virtualization. KVM virtual machines o KVM virtual machines provide a solution for running a variety of guest OS's, including Linux and Windows, in a full, hardware-assisted virtualization. o KVM images on SmartOS run as a process inside of a zone. http://dtrace.org/blogs/brendan/2013/01/11/virtualization-performancezones-kvm-xen/ www.cloudcomp.ch Why SmartOS? ZFS! ZFS combines file system and logical volume manager. o Fast file system creation - allowing to add new tenants almost instantly - and data integrity guarantee. o ZFS also includes storage pools - that simplify the task of expanding storage capacity - copy-on-write snapshot creation and snapshot cloning - allowing fast and reliable backup and cloning of virtual machines. Disk I/O throttling introduced to overcome a drawback in Solaris. o All zones/applications are ensured to get a reliable turn at reading/writing to disk. o When a system is under heavy load from multiple tenants disk I/O throttling comes into effect, while during quiet time, tenants can enjoy faster I/O without affecting other users. www.cloudcomp.ch Why SmartOS? DTrace! DTrace is a performance analysis tool included by default in different operating system, amongst them Illumos and Solaris and therefore SmartOS. o DTrace can instrument code by modifying a program after it has been loaded into memory. o Not limited to use with user-space application, but can be used to inspect the OS kernel and device drivers. o In SmartOS, DTrace can be used to analyze and troubleshoot issues across all zones in a server or within an entire datacenter. www.cloudcomp.ch Why SmartOS? Crossbow! SmartOS makes use of Crossbow to provide a network virtualization layer. o Fully integrated with the virtual machine administration tool of SmartOS, i.e. vmadm. o Allows each virtual machine can get up to 32 virtual network interfaces (VNICs). SmartOS inherits multipath IP (IPMP) from Solaris. SmartOS can leverage data link multi-pathing (DLMP), i.e. trunk aggregation. www.cloudcomp.ch OpenStack on SmartOS - Where are we? Idea initiated by Thijs (Intel) and Andy (ZHAW) Working with latest OpenStack Grizzly release: o nova-compute o nova-network Code publicly available on Github www.cloudcomp.ch OpenStack on SmartOS - What's next? Integrate with OpenStack Quantum o Possibly integrate with OpenFlow controllers Make DTrace metrics accessible from OpenStack Ceilometer o Monitoring and billing Integrate ZFS features o VM cloning (snapshot) o Block-type storage www.cloudcomp.ch Q&A? Thank you! www.cloudcomp.ch References https://blueprints.launchpad.net/nova/+spec/smartos-support https://wiki.openstack.org/wiki/Smartos http://www.cloudcomp.ch/2013/04/openstack-on-smartos/ https://github.com/dstroppa/openstack-smartos-nova-grizzly https://github.com/dstroppa/openstack-smartos-bootstrap strp@zhaw.ch, @moviolone www.cloudcomp.ch