It's been a year since our last SUSE Linux Enterprise 10 (SLE10) virtualization demo at LinuxWorld - a high availability cluster of four SLES10 servers, hosting Xen virtual machines as cluster-managed failover resources, with virtual machine OS images stored in Oracle's cluster file system on shared iSCSI storage, integrated with Heartbeat2 for cluster management. One year later, I'd like to take the occasion of Novell's SLE10 launch anniversary, to blog about some of the recent advances in Linux virtualization and management automation - today's announcement of ZENworks Orchestrator 1.1.
Service pack 1 for SLE10 was recently released, with many improvements due to customer feedback since last year, plus a number of new features, including, for example, support for iSNS, the Internet Storage (iSCSI) Name Service. iSNS simplifies network storage assignment especially in a virtual machine environment where each VM is an iSCSI initiator (has an identity and credentials) in its own right. SLES10 includes updates for iSCSI initiator and target, and the integrated iSCSI target provides a great SAN storage server for VMs and high availability clusters, especially when running the target on modern multicore CPUs with multiple bonded 1/10 Gigabit Ethernet network interfaces. SLES10's integrated High Availability Storage Infrastructure also improves its support for virtual machine availability, with live migration enabled for VMs managed as cluster resources on shared storage.
SLES10 sp1 incorporates many core virtualization advances including an updated Hypervisor, para-virtualized NetWare and fully-virtualized Windows guest support, para-virtualized drivers for improved disk and LAN I/O performance, and new YaST tools for creating and managing the lifecycle of virtual machines. New open source Common Information Model (CIM) providers implement the DMTF System Virtualization Partitioning and Cluster (SVPC-V) working group's profiles for (Xen-based) Virtual System Management. This standards-based API plus new command line tools were designed to enable one-to-many automation of virtual machine creation, deployment, monitoring and management for distributed virtual machine host and network storage servers.
Thus, SLES10 sp1 provides the necessary universal Linux foundation for Novell's just-released ZENworks Data Center Automation products and Enterprise Workgroup Services soon to be released as Open Enterprise Server 2.
ZENworks Data Center Automation
ZENworks Orchestrator 1.1 is a grid-based distributed resource automation system, for physical and virtual machines, that supports full virtual machine life cycle management across networks of physical VM hosts. It completely automates the process of creating and managing virtual machines, with centralized version control and distributed storage repository management for VM images, together with constraint-based adaptive deployment of VMs to capability-matched physical servers, with integrated P&V performance monitoring. Administrators can create and test VMs, patch and update under version control, and by designating a gold master version, schedule automated deployment to suitable and available production servers.
The ZENworks Orchestrator schedules work to managed servers in the form of compiled Python jobs. Jobs are units of work that are assigned to servers by a realtime resource scheduler that continuously evaluates available resources versus pending requests. Physical servers, like virtual machines, are considered to be resources that advertize their capabilities in the form of facts that describe the type and capacity of resource. For a physical server, example facts might include number and type of CPUs, memory, and direct-attached storage capacity. Static facts are attributes of a resource that don't change, an example might be a server with VT-capable CPUs. Dynamic facts can change over time, perhaps due to physical hardware hotplug or memory ballooning of a virtual machine. Computed facts are calculated, by the scheduler, when referenced in a job control policy. As an example, consider deploying a virtual machine into your data center production server pool. The VM requires two VT-x enabled CPUs, 512 MB of direct attached OS image storage, 1 GB of memory, Gigabit Ethernet connectivity and access to a Fibre Channel SAN. These requirements are expressed as a set of deployment constraints - references to facts which are matched to available resources by the Orchestrator, when scheduling the VM for deployment. Sophisticated resource allocation is made possible when combining a number of constraints into policy statements that are applied to groups of resources; matching supply with demand. The deployment of a virtual machine to a physical server is therefore unified by a general purpose (grid-based) algorithm for assigning units of work to available resources, in a manner that's respectful of competing work and shared capacity.
ZENworks VM Builder provides automation for creating and installing an OS into a VM. It accepts the definition of a VM, formatted according to the SVPC-V model for Virtual System Management, together with an operating system specification; OS type, installation source and response file. A number of different operating system types are supported, including SLES, NetWare, Open Enterprise Server, RedHat and Windows. The builder creates instances of CIM Job to manage each outstanding build request, but submits them to the Orchestrator for processing. The Orchestrator, by using resource capability (fact) matching, schedules the build job to an appropriate server. The administrator may configure a separate pool of VM Builder servers dedicated to the purpose of creating VMs to order. It's also possible to configure the VM Builder to borrow cycles from public test or even production servers.
ZENworks VM Warehouse is a centralized repository for virtual machine definitions and OS images. VM definitions are stored in a format that extends the standard SVPC-V model for Virtual System Management, and allows for version control of VM definitions. The VM Warehouse also manages image files that are associated (CIM terminology) with virtual machines. The CIM-based model has support for VM personality (forms of identity) that overlay OS images when deployed, allowing for multiple VMs to share the same base image file. Change control and patching thus scales with the number of common VMs sharing the same image but with each VM providing unique personalization. Upgrading a common OS image is done once, and creates a new version of that image. Rolling out an upgrade to all dependent VMs can be scheduled by the Orchestrator, which uses a scalable and secure multicast-based file distribution protocol to update production servers. Rollback to a previous gold-master image is virtually instantaneous, in case an upgraded VM experiences problems in production. By managing VM definitions, OS image file associations and VM personality, the VM Warehouse (and its resource model) supports VMs as first-class managed IT assets.
ZENworks P&V Monitoring extends an open source High Performance Cluster Computing monitoring package called Ganglia. Novell actively participates in the Ganglia project and has contributed code for extensible Python-based probes. In a virtualized data center, with service oriented workload mobility due to virtual machines and storage area network connectivity, it's becoming increasingly important to correlate the relationships that now exist between physical and virtual machine performance metrics. When virtual machines migrate from one physical server to another, overall service level performance (and ultimately availability) can be affected by other activities related to the physical infrastructure involved. ZENworks P&V Monitoring provides tools to capture and chart the performance metrics of virtual versus physical machines.
If you are physically attending LinuxWorld this week, we invite you to visit Novell's booth where we're showing Novell's latest standards-based data center virtualization and heterogeneous management automation products.