Although only two years have passed since its last long-term support (LTS) release, the latest version of Ubuntu Server introduces significant changes, designed to help you deliver new services faster and with more flexibility than ever.
Do note that we support the packages in the main repository for every LTS release for five years from launch, so there is no pressure to upgrade from Ubuntu Server 10.04 LTS.
To help you quickly understand the updates included this time, we have categorised the improvements as follows: cloud and virtualisation; hardware and architecture support; file systems and storage; new ISV support.
Cloud and virtualisation
Standards-based agility, flexibility and compatibility
Ubuntu Cloud is central to Ubuntu Server 12.04 LTS – and it will remain at the heart of platform technology decisions in future releases.
Ubuntu Cloud Infrastructure now powered by OpenStack
OpenStack is now the default choice for Ubuntu Cloud Infrastructure. OpenStack has been integrated as the default cloud infrastructure technology for Ubuntu Cloud, for the following reasons:
- Fastest growing open source project
- in terms of partners (HP, Dell, Cisco, Rackspace, Intel, IBM and many others)
- in terms of contributions (120 companies involved in the Essex release)
- in terms of time to market (five major public clouds in beta by end of 2011)
- Built to support the needs of public clouds (which supersede private)
- Built to prohibit any single point of failure
- Massively extensible in terms of functionality (SAN, network, hypervisors, etc.)
- Excellent dissociation of components, allowing for a more scalable and maintainable architecture
- The current release of OpenStack in Ubuntu Server 12.04 LTS is Essex.
For more information about Ubuntu Cloud Infrastructure, visit www.ubuntu.com/cloud/private
Dual lifecycle support policy for OpenStack in Ubuntu Cloud
- *Stay with the shipped version of OpenStack (Essex) and remain with it for the full life of the LTS.*As per the Ubuntu LTS policy, we commit to maintaining and supporting the Essex release for five years. The interim releases will also ship the Essex version of OpenStack, along with any bug fixes or security updates made available since its release.
- *Get access to the latest OpenStack releases via Canonical's Ubuntu Cloud archive.*Alternatively, you can elect to enable this archive, and install newer releases of OpenStack (and its dependencies) as they become available, until the next Ubuntu LTS release (in April 2014). This is ideal for users who want to keep up with the latest innovations from Canonical and the OpenStack community.
Ubuntu's time-saving service orchestration tool, Juju, uses charms encapsulating devops best practice to deploy cloud services in seconds.
It reduces the friction in handovers from development to testing to production deployment. Developers can use Juju with the micro-cloud on their workstations to ensure they are working in a microcosm of the production test and deployment systems. If they are building a complex multi-tier application, they can create nodes in their workstation micro-cloud for each equivalent node in the production deployment. The changes they make to their code, especially changes in the required configuration, can be communicated instantly for test and production deployments.
- For more information about Juju visit www.ubuntu.com/cloud/orchestration
Metal as a Service
Metal as a Service (MAAS) makes it quick and easy to set up the physical hardware base on which to deploy Ubuntu Cloud Infrastructure. Through a simple web interface or a REST API, you can add, commission and update physical servers at will. As your needs change, you can respond rapidly, by adding new nodes and dynamically re-deploying them between services. When the time comes, nodes can easily be retired for later use. Together with Juju, MAAS makes it easy to turn a network of physical servers into a functioning private cloud.
- For more information about MAAS, visit: www.ubuntu.com/cloud/maas
- Basic usage documentation is available from: wiki.ubuntu.com/ServerTeam/MAAS
Awsome is a separate server component that acts as a proxy between AWS and OpenStack. It features higher-fidelity support for the Amazon EC2 protocol, enabling it to take AWS requests on the front end and translate them to OpenStack's native protocols on the back end, simplifying cloud migration significantly.
- For more information about Awsome, visit: www.ubuntu.com/cloud/awsome
Xen and LXC virtualisation technologies supported
Xen is now included and officially supported:
- Provides the facility to run Ubuntu as a Xen virtualisation host (dom0)
- Libvirt integration/Xen domains manageable through libvirt or any frontend that uses libvirt.
- Guest installations in HVM mode will use optimised paravirt drivers out of the box.
LXC (Linux Container) is a virtualisation technology that uses container techniques to allow multiple user space operating systems to share the same kernel resources. Taking this approach offers some advantages over other virtualisation methods, if strong VM isolation is not required:
- Greater density of guests (by at least a factor of ten)
- No dependency on processor architecture
Recent improvements include:
- The ability for stock 12.04 images to boot in a container
- Apparmor protection to increase security
- Support for lvm- and btrfs-backed containers
- New ubuntu-cloud template for simple creation of containers based on published Ubuntu Cloud images.
- For more information, please visit the Ubuntu Server guide at: help.ubuntu.com
KVM and Libvirt
KVM and libvirt are at the heart of Ubuntu's virtualisation and cloud strategies. Back in 2008, Ubuntu was the first distribution to adopt KVM and this choice has been proven right. Numerous improvements have been made to KVM and libvirt since then, among them:
- Improved virtio support in KVM and Libvirt
- Qemu has been merged in KVM to improve reliability
- Qcow2 disk format improvements
- QED (Qemu enhanced disk format) support
- AHCI protocol support
- Better tracing and debugging tools
- Nested guest support for Intel processors (in addition to AMD support)
- Public API to invoke suspend/resume on the host from libvirt
- STP and VLAN filtering from libvirt
- Improved snapshotting support in libvirt
- USB2 support and various USB improvements in libvirt and KVM
- bandwidth QoS control in libvirt
- CPU bandwidth limits support
- Technical preview of spice support for qemu and libvirt
Support for running Ubuntu on Hyper-V
Ubuntu is now fully equipped and tested to run on top of Microsoft's Hyper-V virtualisation server. This includes support for virtual storage and network drivers.
Improved cloud tools
Canonical pioneered cloud-init, a mechanism to customise standard images to specific needs dynamically on startup, as a way to reduce the complexity of managing large numbers of custom images for specific workloads. Today, cloud-init is widely recognised as the best tool for boot-time workload customisation. Canonical's tools make for easier, more manageable and more standardised deployment processes. cloud-init is heavily used in Juju and is available and tested on any cloud that offers official Ubuntu Cloud Guest. Since Ubuntu Server 10.04, we have added support for:
- Running cloud-init on first launch of bare-metal servers
- Initialising Puppet connections to a Puppet server
- Upstart, Ubuntu's process manager, allowing easy addition to auto start processes
- Cloud Boothook, a very simple way to define an on-boot hook from a file contained in an image
- Mime multi-part handling so that cloud-init scripts can carry more than one type of data
- Automated ssh key import from launchpad
- Find more about cloud-init at: help.ubuntu.com/community/CloudInit
Hardware and architecture support
Performance, reliability and power efficiency
Optimised for latest Intel chipsets
RC6 by default for Sandy Bridge systems. RC6 is a technology that allows the GPU to go into a very low power consumption state when the GPU is idle (down to 0W). It results in considerable power savings when this stage is activated. When comparing under idle loads with a machine state in which RC6 is disabled, improved power usage of around 40-60% has been witnessed.
ARM architecture support
Ubuntu Server 12.04 LTS is now available for the ARM platform. A fully-supported Ubuntu Server implementation built from the same repositories as our other architectures, Ubuntu Server for ARM provides the same capabilities as Ubuntu Server on x86 or x64. This means you will be able to run the same Ubuntu platform across your entire server infrastructure, whether on x86, x64 or ARM.
- Initial support for the Marvell and TI development boards development platforms
- Support for Calxeda and Marvell ARM Server SoCs will come online with the Ubuntu Server LTS point releases, once the hardware is available for testing.
New platforms supported
A wide range of server models are certified for Ubuntu 12.04. This includes certification and support of Ubuntu 12.04 LTS on select HP ProLiant servers, including the latest HP ProLiant Generation 8 (Gen8) servers. For the full list of certified hardware, please visit www.ubuntu.com/certification
File systems and storage
Distributed, stable and secure
Support for Ceph distributed storage system Ceph is a massively scalable, open source, distributed storage system. It is comprised of an object store, block store, and a POSIX-compatible distributed file system. The platform is capable of auto-scaling beyond the petabyte level, it runs on commodity hardware, it is self-healing and self-managing, and has no single point of failure. Ceph is in the Linux kernel and RBD can be integrated with the OpenStack cloud operating system.
There are a variety of ways to interact with the system:
- Object storage with Swift and S3-compatible gateway
- Rados Block Device (RBD), which can be used, among other things, as a great way to provide scalable redundant block storage for OpenStack's nova-volume
- Distributed File System (still under heavy testing and not yet stable enough to be supportable)
XFS underlying file system is our current prefered choice, but BTRFS is supported as well (as an OSD only).
File system improvements
CIFS now has file system cache support to improve performance
- Automatic defragmentation, scrubbing, performance improvements, automatic backup of tree roots, detailed corruption messages, manual inspection of metadata
- BTRFS is still a file system to use with some caution and our direct support is currently limited for use as an OSD for Ceph.
Software RAID now supports bad block management (MD)
Other miscellaneous file system and memory improvements
- Thin provisioning and recursive snapshots in the Device Mapper
- Dynamic writeback throttling
- I/O-less dirty throttling, reduce filesystem writeback from page reclaim
Kernel-level Mandatory Access Control to confine programs to a limited set of resources.
ISV and Java support
Leading applications for distributed computing
Distributed and cloud computing models have evolved significantly since we released Ubuntu Server 10.04. As a result, we have seen the recent emergence of new application categories and ISVs. Hadoop, Big Data and NoSQL have all grown in popularity in the last two years. Being a platform favoured by developers working with new and innovative technologies, these technologies have been made available for Ubuntu since their beginning. With Ubuntu Server 12.04 LTS, Canonical has engaged with the communities and ISVs behind many of these applications to ensure that they are tested and supported for 12.04 LTS and they can be deployed quickly and easily, using Juju.
Notable applications that are tested and supported in Ubuntu Server 12.04 LTS include:
- MongoDB by 10gen
- CouchDB, Membase and CouchBase Server from Couchbase
- DataStax Cassandra
- Lexis Nexis/HPCC Systems
- Cloudera CDH
- Map-R M3 and M5
In addition, community projects such as Cassandra, Big Top Hadoop, Redis and Riak are all available for Ubuntu Server 12.04 LTS and and they can all be deployed using Juju. There have also been new Java capabilities added as well as significant improvements and updates to existing tools in 12.04:
- Java7 Support
- ActiveMQ 5.5.0
- Tomcat7 is now available in Universe (Tomcat6 is still in main)
- Jenkins 1.424.6
- Eclipse is updated to 3.7.2
- Maven 2 and 3 now apt-get installable
- Groovy 1.8.6
- Scala 2.9.1
- Clojure 1.10