Front cover Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Guidelines for selecting an image management solution Architectural considerations for the TPM for OS deployment Deployment scenarios and case studies Vasfi Gucer Scott Kay ibm.com/redbooks Redpaper International Technical Support Organization Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment March 2007 REDP-4294-00 Note: Before using this information and the product it supports, read the information in “Notices” on page v. First Edition (March 2007) This edition applies to IBM Tivoli Provisioning Manager Version 5.1. © Copyright International Business Machines Corporation 2007. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii The team that wrote this IBM Redpaper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Chapter 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Device configuration life cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Business requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.1 Why Vista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.2 A deployment project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3 Requirements for a tool to assist the deployment effort . . . . . . . . . . . . . . 10 1.3.1 Time to value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3.2 Resource and maintenance efficiency . . . . . . . . . . . . . . . . . . . . . . . 11 1.3.3 Flexibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.4 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.4 Common OS deployment scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.4.1 Rollout of new desktop hardware and SOE . . . . . . . . . . . . . . . . . . . 14 1.4.2 Rebuild of a previously deployed user workstation . . . . . . . . . . . . . . 14 1.4.3 Upgrade of hardware and subsequent Vista install. . . . . . . . . . . . . . 15 Chapter 2. Architecture and deployment scenarios . . . . . . . . . . . . . . . . . 17 2.1 Tivoli Provisioning Manager for OS Deployment features. . . . . . . . . . . . . 18 2.2 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2.1 Design considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2.2 Small site architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.2.3 Enterprise architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 IBM Redbooks publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Other publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 How to get IBM Redbooks publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 © Copyright IBM Corp. 2007. All rights reserved. iii iv Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Notices This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785 U.S.A. The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. © Copyright IBM Corp. 2007. All rights reserved. v Trademarks The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: AIX® DB2® IBM® Redbooks™ Redbooks (logo) Tivoli® ™ The following terms are trademarks of other companies: Solaris, Sun, and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Active Directory, Aero, BitLocker, Microsoft, Windows Vista, Windows, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. Xeon, Intel logo, Intel Inside logo, and Intel Centrino logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Linux is a trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others. vi Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Preface Tivoli® Provisioning Manager for OS Deployment provisions operating systems and applications for computers using the Pre-boot eXecution Environment (PXE) industry standard for bare-metal installation. A bare-metal installation eliminates the need for an operating system to be present on a local disk drive. Tivoli Provisioning Manager for OS Deployment is a turn-key solution to the most common provisioning issues and provides an easy to use, turn-key solution for education, SMB, or larger accounts. In this IBM® Redpaper, we discuss how to design and implement a highly effective image management solution for small, medium, and enterprise accounts, taking network bandwidth limitations and large OS image sizes into consideration. We also cover the considerations for choosing an image management solution and the benefits of implementing such an environment. Note that this IBM Redpaper is more geared to IT Architects. For a full discussion of Tivoli Provisioning Manager for OS Deployment, including installation, customization and other product integrations, you can refer to Deployment Guide Series: Tivoli Provisioning Manager for OS Deployment V5.1, SG24-7397. The team that wrote this IBM Redpaper This IBM Redpaper was produced by a team of specialists from around the world working at the International Technical Support Organization, Austin Center. Vasfi Gucer is an IBM Certified Consultant IT Specialist working at the ITSO Austin Center. He worked with IBM Turkey for 10 years and has been with the ITSO since January 1999. He has more than 12 years of experience in systems management, networking hardware, and distributed platform software. He has worked on various Tivoli customer projects as a Systems Architect in Turkey and the United States. Vasfi is also a Certified Tivoli Consultant. Scott Kay is an Advisory Technical Specialist working for IBM Software group in Australia. His speciality is Tivoli Business Automation tools. He has 15 years of experience in the IT field. In that time Scott has held various roles from operational support, SOE development, and systems management. After joining IBM in 1999, Scott worked in roles all directly related to the Tivoli suite of products in Global Services, Tivoli Professional services, and, finally, in his current pre-sales role in the Software Group. © Copyright IBM Corp. 2007. All rights reserved. vii Thanks to the following people for their contributions to this project: Arzu Gucer, Wade Wallace International Technical Support Organization, Austin Center Dennis R Goetz, Peter Greulich, Hakan Thyr IBM USA David Clerc and Marc Vuilleumier Stueckelberg IBM Switzerland Become a published author Join us for a two- to six-week residency program! Help write an IBM Redbooks™ publication dealing with specific products or solutions, while getting hands-on experience with leading-edge technologies. You will have the opportunity to team with IBM technical professionals, Business Partners, and Clients. Your efforts will help increase product acceptance and customer satisfaction. As a bonus, you will develop a network of contacts in IBM development labs, and increase your productivity and marketability. Find out more about the residency program, browse the residency index, and apply online at: ibm.com/redbooks/residencies.html Comments welcome Your comments are important to us! We want our IBM Redpapers to be as helpful as possible. Send us your comments about this IBM Redpaper or other Redbooks in one of the following ways: Use the online Contact us review Redbooks form found at: ibm.com/redbooks Send your comments in an e-mail to: redbooks@us.ibm.com Mail your comments to: viii Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment IBM Corporation, International Technical Support Organization Dept. HYTD Mail Station P099 2455 South Road Poughkeepsie, NY 12601-5400 Preface ix x Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment 1 Chapter 1. Introduction In this chapter, we discuss the concept of the device configuration life cycle and how Tivoli Provisioning Manager for OS Deployment can assist in this management process. This can be found in 1.1, “Device configuration life cycle” on page 2. We look at business needs and the sort of IT changes that are coming that would justify an investment in a technology such as Tivoli Provisioning Manager for OS Deployment. We also look at how this technology would reduce costs associated with deployment and redeployment of operating systems. This can be found in 1.2, “Business requirements” on page 6. Finally, several common deployment scenarios involving Tivoli Provisioning Manager for OS Deployment are discussed at a high level, showing how cost savings can be made. This can be found in 1.4, “Common OS deployment scenarios” on page 13. © Copyright IBM Corp. 2007. All rights reserved. 1 1.1 Device configuration life cycle Every facet of IT these days seems to have a life cycle management strategy, process, or best practice. Asset life cycle management, software life cycle management, user account life cycle management, and storage life cycle management, to name a few. What they all have in common is that, through collective experience, the tasks normally undertaken throughout the life cycle of the item in question have been identified so that they can be managed as individual tasks and as a whole cycle. It is then possible to measure these tasks, the costs involved with them, and the time they take, and improve them in terms of efficiency, effectiveness, and cost. The device configuration life cycle addresses the physical management of computers from the time they are delivered to the time they leave an organization. Device configuration life cycle management can go by different names and have tasks with different terminology, usually dependant upon the vendor you are talking to; however, in essence the main tasks or activities involved are shown in Figure 1-1. Tasks and Activities within the Device Configuration Lifecycle Bare Metal OS Deployment Backup and Restore Application and Data Software distribution Asset and Inventory Management Security Configuration Software License and usage Management Remote Control Software Maintenance and Patch Management Reporting for Critical Decision Making Figure 1-1 Tasks and activities within the device configuration life cycle 2 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment There are many product suites on the market today that can enable or automate these tasks and a few that claim to do it all. Most organizations, however, already have mature tools and processes in place for many of the tasks in the life cycle and are not about to rip out and replace their existing solution unless there is a very good business case to do so. This is where Tivoli Provisioning Manager for OS Deployment offers an excellent opportunity. Tivoli Provisioning Manager for OS Deployment is a stand-alone product that offers significant integration capability, so much so that it has already been integrated with Tivoli Provisioning Manager, Tivoli Provisioning Manager for Software, and will soon be integrated with IBM Director. The core capability of Tivoli Provisioning Manager for OS Deployment is the ability to intelligently automate the deployment of operating systems. This capability extends from the many flavors of Microsoft® Windows®, through SUSE and Red Hat Linux® to Sun™ Solaris™. The deployment of an operating system is the one item in the configuration life cycle that every single computer will definitely receive at least once and potentially more often during its working life. This is shown in the context of the Device Configuration life cycle in Figure 1-2 Tasks and Activities within the Device Configuration Lifecycle TIVOLI PROVISIONING MANAGER FOR OS DEPLOYMENT FULL AUTOMATION BARE METAL OS DEPLOYMENT Backup and Restore Application and Data Software distribution Asset and Inventory Management Security Configuration Software License and usage Management Remote Control Software Maintenance and Patch Management Reporting for Critical Decision Making Figure 1-2 Tivoli Provisioning Manager for Operating Systems role in the Configuration life cycle Chapter 1. Introduction 3 Once installed, the product offers cost savings in the following areas: Deployment manpower: Using Tivoli Provisioning Manager for OS Deployment during a deployment should significantly reduce the number of personnel and the level of skill required to deploy the computer workstations. The deployment role will become more of a box moving role as opposed to a technical role. The universal system profile: Through the use of a universal system profile, it is possible to have one image and a collection of driver packages for deployment to a range of hardware. The savings to be made here is in the areas of: – Image storage space: Due to the ability Tivoli Provisioning Manager for OS Deployment has to modify an image and add drivers through driver injection on the fly during an image deployment, only one image and a collection of driver packages will need storage space as opposed to an image for every hardware model. This is true for the master server and every distributed copy in the network. – Image maintenance: Instead of building a new image every time a new model of hardware or driver is released, all that is required is the packaging of the driver, the establishment of the rules for the deployment of that driver, and testing of the deployment and rules. – Image replication: Minimal images mean less time and resources are used to move those images around the network to where they are needed. Ease of redeployment: Once an OS is installed using Tivoli Provisioning Manager for OS Deployment, redeployment is as simple as a few menu clicks in the Web console. Many organizations have a system to “automatically” reinstall an operating system. Those automatic solutions usually involve the help desk consultant talking the user, or worse, the user’s colleague, through the steps required to enter all the information needed to kick off a rebuild and then waiting the hour to hour and a half for the build to complete. In some cases, a rebuild would require a site visit by a technical staff member. The savings that can be made here are harder to quantify, but easy to identify. Any time a user is taken away from their core responsibility to help fix a problem is a business cost. In an organization large enough, it is easy for these distractions to add up to lost man-days on a daily basis due to users being involved in helping with a fix. Tivoli Provisioning Manager for OS Deployment also touches other parts of the device configuration life cycle with functionality that enables the core OS deployment functionality, as can be seen in Figure 1-3 on page 5 4 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Tasks and Activities within the Device Configuration Lifecycle TIVOLI PROVISIONING MANAGER FOR OS DEPLOYMENT DEPLOYMENT ENABLING FUNCTIONALITY Bare Metal OS Deployment Backup and Restore Application and Data SOFTWARE DISTRIBUTION ASSET AND INVENTORY MANAGEMENT Security Configuration Software License and usage Management Remote Control Software Maintenance and Patch Management Reporting for Critical Decision Making Figure 1-3 Deployment enabling functionality of Tivoli Provisioning Manager for OS Deployment Deployment enabling functionality: Tivoli Provisioning Manager for OS Deployment’s core function is its ability to deploy operating systems. Included in the product are some other capabilities that enable this core function. These capabilities are: 1. Software distribution The software distribution capability gives Tivoli Provisioning Manager for OS Deployment the ability to inject driver packages into an operating system during deployment and install software once the operating system has started. 2. Inventory When Tivoli Provisioning Manager for OS Deployment boots a computer using PXE, it automatically scans the computer and stores this data in its database. Having the results of these scans available allows Tivoli Provisioning Manager for OS Deployment to make decisions based on this data about which drivers to inject during OS deployment and which software to deploy after OS deployment. Chapter 1. Introduction 5 Coupled with the enabling capabilities, Tivoli Provisioning Manager for OS Deployment is able to then intelligently install a full SOE in an automated manner, completely automating the first task in the device configuration life cycle, that is, bare metal OS deployment. 1.2 Business requirements At a high level, business requirements are simple: help save money to improve profitability or efficiency. But as you start to drill down into this requirement, it starts to become a little less clear cut. Quite often you have to spend money now to make a longer term gain, or to avoid spending more money later. And so it is with Microsoft’s Vista: Do I migrate now? The promise is so great: easier support and greater security, but then there is the cost of doing it now and the potential for problems. The remainder of this section discusses the reasons an organization would migrate to Microsoft Vista and the sort of requirements an organization could have for a deployment solution to enable a large scale rollout of Vista. 1.2.1 Why Vista Microsoft Vista is here, and chances are, it is coming to your organization sooner than you think. Recent surveys have indicated that many organizations are expecting to make a move towards Vista within a year, but they also showed that the larger the organization, the higher the probability that this would occur. This significant commitment in time and expense is driven by a variety of factors which include much needed features introduced in Vista, and the realities of waning support for older versions of Windows. While enhancements in user experience like Vista's Aero™ Glass interface have monopolized the marketing spotlight, it is enhancements under the covers that are motivating enterprise customers to upgrade. Vista introduces a new developer platform, .NET Framework 3.0, which will enable faster development of applications that will have better interfaces, better integration with other applications, and better code in general. The .NET Framework is comprised of key components that include the Windows Workflow Foundation (WWF), which makes Vista the first OS to embed a workflow development and runtime environment, and the Windows Communication Foundation (WCF), which dramatically simplifies the way connections between services are defined and managed. Perhaps the most important innovation driving enterprise adoption of Vista is enhanced security. Vista is the first operating system Microsoft has built from design to release using the Security Development Life cycle (SDL) under their 6 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Trustworthy Computing Initiative. Immediate beneficial security enhancements include User Account Control, which eliminates the need for average users to log in with Administrator privileges and by default grant that privilege to every application, virus, or other form of malware they intentionally or inadvertently launch. In addition, Vista introduces a multi-tiered rights management and encryption technology (BitLocker™) that will protect data on the disk, even if the disk is inside a stolen mobile computer. These are only a few of the security enhancements in Vista that represent the quantum leap in integrated client security for which the enterprise has been waiting. Beyond the innovations Vista offers as a motivation to upgrade, there is also the fact that older versions of Windows are becoming less supportable. Analysts converge around 30% as the number of enterprise users still on pre-XP versions of Windows. With Windows 2000 already out of mainstream support and losing critical update support in 2010, and the launch of Vista starting the two year countdown to the end of mainstream support for Windows XP, upgrade is inevitable. If these surveys are to be believed, the question of when this upgrade will occur is in the next 12-18 months. If your enterprise may be one that falls into this group, starting to plan and test now is your best defense against unmanageable complexity and unpredictable costs. 1.2.2 A deployment project It is estimated that a project of 12-18 months would be required to develop and test a Vista Standard Operating Environment (SOE) in a corporate environment. The larger the environment, the longer and more complex the project. This sort of project would include phases such as: 1. A full audit of all applications in use by all users within the organization: To be able to plan the testing of all the SOE applications, it is important to be able to quantify them all, and prioritize and plan with certainty. Being presented with 10 untested applications just before the rollout would have an unpleasant impact on the project schedule. 2. Testing of all SOE applications for compatibility with Vista: With the new security enhancements within Vista, it is probable that a percentage of current applications will not work. Some of these will, of course, be patched by their vendor to make them compatible, but of course the custom applications written in house or by a contracted company will have to have an explicit effort applied to make them compatible. This project phase has the potential to be the most time consuming and least satisfying, as old but important applications may not work in Vista and may have to be worked around. Chapter 1. Introduction 7 3. The development of a deployment methodology: When rolling out a change of this magnitude to any organization, a rock solid deployment methodology is crucial. Obviously an automation tool to deliver an image will be a part of the methodology, but what sort of image will that tool deploy? There are three commonly used image types to consider: – Thick images are large images that contain the complete operating system, all drivers, and core applications. Simple image creation enabled by simple tools has made thick images the most common form of image, however at the expense of high maintenance costs. Because thick images contain so much target specific configuration, diverse environments need to create and manage many large images to satisfy the needs of their user population. When any small component of an image must be changed (for example, a security policy upgrade to the firewall or virus scanner definitions), the entire image must be manually rebuilt. The result is many large images taking up large amounts of maintenance resource and disk space, and large amounts of bandwidth during deployment. – Thin images evolved as a reaction to the high total cost of thick images, but because of the limitations of the simple imaging tools, they created as many problems as they solved. Thin images exclude core applications, which must then be deployed using another software distribution system after first boot of the base image. The benefit is fewer, smaller, and more generic base images to store and deploy, thus saving disk space and network bandwidth, and subsequent changes to an image or core application results in far less image regeneration. End-to-end deployment is now slower and requires a software distribution system and scripting to complete. Actual bytes deployed will likely be more than in thick images because of duplication of files in the application install and OS install, although the install is spread out over a longer period of time. Note that not having all applications deployed at first boot introduces security risks. – Hybrid images offer the best of thick and thin images without the disadvantages. Advanced hybrid imaging systems separate drivers and applications from OS images and store them in a file-based repository. At deploy time, the correct drivers are automatically selected and injected into the image, the correct updates and core applications are loaded into the image, and the resulting image is deployed to the target, all before first boot. This allows an organization to maintain as few as one universal image that automatically adapts to each target at deploy time when the minimum number of files possible is deployed over the network. The result is minimal disk space, minimal network bandwidth, and a system that allows modification to driver or application configuration without the need to generate and catalogue a new image. The most advanced hybrid imaging systems go a step further by providing a policy-based configuration capability. This allows the image to be adapted by global 8 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment policies as well as physical attributes of the target. For example, a policy such as "deploy ThinkVantage Access Connection on Lenovo mobile computers only" would ensure that redundant software is not deployed on other brand of mobile computer. The challenge for the enterprise is that very few image management systems on the market support this advanced form of imaging. 4. Development of a user data migration strategy: The migration to Vista will not be viewed as a success if your users lose data. Despite this, it does not make sense to migrate all aspects of a user’s existing configuration. Over time, most user desktops get cluttered with unused disk shares, defunct network printers, and configuration changes that were motivated by idiosyncrasies in the original operating system environment. Additionally, as application compatibility may require the upgrade or replacement of some applications, some preferences and configuration data may be redundant in the new desktop environment. As a result, blind migration of all existing "personality" may not be the right approach to take. A fresh OS install is an opportunity to clean house, but this takes planning. Determine what data and configuration is important to your users, and acceptable under your current security policy, and put the tools and processes in place to migrate them cleanly to the new system. Many settings are predictable (for example, the location of the target computer dictates which printers or disk shares should be configured) and the right deployment tool can recreate the correct settings based on current IT and security policy rather than migrate potentially incorrect or out-dated settings from the existing desktop configuration. This is an important philosophical distinction to consider when selecting an image management system; some are better aligned with the "migrate existing settings regardless if they are correct" philosophy, and others align better with the "recreate clean settings from current IT policy" philosophy. Chapter 1. Introduction 9 1.3 Requirements for a tool to assist the deployment effort The following is a list of criteria that can be used in the assessment of a deployment tool. 1.3.1 Time to value How long it takes to start getting significant improvements in efficiency in your migration process is key to the overall performance of your image management system. Many systems management products either remain on a shelf or are never implemented to their full potential because of the complexity of their installation and configuration. Consider the following aspects of the system's Time to Value: 1. How long does it take to install the product and start using it in your migration planning process? Will installation take 30 minutes? Or 30 days? 2. Is the system an integrated single vendor solution that provides fully automated end-to-end deployment of desktops from Wake-on-LAN, to BIOS configuration, RAID configuration, disk partitioning, OS/driver/application deployment, offline servicing, and user data migration through to user configuration and first boot? Or does the system leave major aspects of image creation and deployment to manual intervention or other third-party tools? 3. Does the system consist of a single product install providing you with all the functionality you will require in both test and full-scale production deployment (native multicast, native PXE, native configuration database, and so on)? Or does it consist of multiple components, each carrying additional purchase costs, additional implementation time, additional interface and management training, and additional infrastructure? 4. Does the system scale to tens of thousands of targets after the initial simple installation, or will you have to purchase, install, integrate and configure additional “enterprise” product modules? 5. Does the product have a single, simple intuitive interface that spans all product functions or does it require that you learn multiple different interfaces and jump between them during the planning, testing, and deployment processes? 6. Does the system provide rules-based deployment configuration? For example, does it support the ability to define a rule such as: "If target location is France, set keyboard to French" or "If target is Vista, deploy Acrobat 7.0"? At deploy time, the system should then assess the target against all such rules and adapt the configuration accordingly. This rules-based capability 10 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment dramatically reduces the time required to configure the images for large and diverse populations. Without this capability, each target image would have to be manually configured. Note: This capability is only possible if the system supports advanced hybrid images. 7. Does the system support advanced hybrid images allowing you to start deploying diverse systems after creating a single universal OS image? Or does the product require that you create many specific thick images before you can start testing against a diverse community of targets? Or does the product require that you also implement a software distribution system before you can start deploying applications on top of thin images? 1.3.2 Resource and maintenance efficiency These selection criteria assess the image management system's impact on your systems management and infrastructure costs and complexity. It is important to consider how the system consumes your infrastructure, how it impacts your normal operations, and how much systems management workload it generates. 1. Does the system conserve bandwidth by providing multicast as a native feature? With multicast, a single bit stream over your network can update many targets simultaneously. Without multicast, each target needs its own bit stream to pass through your network. The difference in impact on your network infrastructure and your normal operations is in orders of magnitude. 2. Does the product support advanced hybrid images that enable a single, compact universal image to do the work of many large thick images? The disk space required by a thick image based product will be orders of magnitude greater. Maintaining many thick images also has a significant impact on image maintenance, as any minor change to a driver, OS, or application configuration can require the regeneration of dozens of images. Does mitigating these resource inefficiencies mean implementing a thin image strategy requiring an additional investment in a software distribution system to deal with core applications? 3. Are the images stored in a single-instance, file-based repository that conserves disk space by storing each OS or application file only once in the deployment repository? Or does the system store many duplicate sector based images or multiple copies of the same file-based image components, thus wasting storage capacity? Chapter 1. Introduction 11 4. Does the system support distributed, automatically synchronized deployment servers that can sit in distributed network segments closer to specific groups of targets? Does the system provide this functionality in the base product without requiring an additional investment in product license and implementation effort? This capability can dramatically reduce the performance impact and capacity required at gateways, routers, and over wide area networks. 1.3.3 Flexibility As your choice of a unified image management system is likely one you will have to live with for years to come, it is important that it is flexible enough to adapt to your changing requirements over time: 1. Will the system provide a single product experience for all of your heterogeneous targets (for example, Windows, Linux, or UNIX®) now and in the future? Or will you require additional image management systems to support deployment and maintenance of your non-Windows targets? 2. Can the system be implemented on a server platform you currently support (Windows, Linux, AIX®, Solaris, FreeBSD, Mac OS-X, and so on) or does it require that you procure and maintain a nonstandard platform in your systems management environment? 3. Is the product open, providing a native pre-installation environment and image format, and supporting Microsoft WinPE and Microsoft WIM (Windows Imaging) images? Or does the product force you to abandon Microsoft best practices and rely only on a proprietary pre-installation environment and image format in all situations? In some situations, the native tools and formats may be superior; however in others, the OS vendor does know best. 4. Will the product integrate easily into any systems management ecosystem, seamlessly providing an image management foundation to any vendor's holistic provisioning solution? Or does the product restrict its interfaces in an attempt to force you to build on its foundation with only the same vendor's systems management portfolio? 5. Does the vendor that supplies the product also provide a portfolio of integrated provisioning and systems management products if you are looking for a simple path to increase the sophistication of your automation infrastructure? 12 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment 1.3.4 Security Mitigating security risks is a top three budget item for most enterprise IT organizations. Introducing new security risks with the image management system will result in subsequent cost and effort to provide perimeter defenses around the new exposures. The best way to avoid this collateral cost is to select an image management system that has been architected to minimize the security exposures it introduces: 1. Has the system implemented Option-43 of the PXE specification that prevents malicious PXE Server impersonation on your network by forcing explicit identification of the PXE server network address? If not, an intruder that gets access to any server on your network could deploy code that impersonates a PXE server on your network, giving the intruder the ability to alter your desktop configurations. 2. Does the product disallow a user break of the deployment process at the target keyboard? If not, someone with access to the target during the deployment could gain administrator level privileges on your network. 3. Does the product support Offline Servicing for Vista? Offline servicing allows security updates and configuration changes to be applied to the target after the OS and core application deployment, but before the first boot. If the product does not support this Microsoft best practice function, the target is exposed to many forms of intrusion and malware between first boot and the application of the security updates. 4. Has the product implemented an encrypted transport protocol that prevents either reading or altering the image bit stream while it is being deployed over your network? Keep in mind, depending on your applications, these bit streams could contain sensitive data or passwords. Many products just support Server Message Block (SMB) or HTTP transport protocols that leave the data exposed to malicious intruders or applications. SMB and HTTP also require the creation of a user in the network and the storage of that user's password on the boot media, which is an unnecessary security exposure. 1.4 Common OS deployment scenarios The following scenarios are typical of those in many corporate sites. The aim of the scenarios is to show how Tivoli Provisioning Manager for OS Deployment can help in times of deployment and also with day to day support issues. The scenarios all assume that a corporate SOE has been developed. The common theme with all of these scenarios is that the SOE deployment component of the task at hand has become a minor part of the process. It is now a quick, simple step. Chapter 1. Introduction 13 1.4.1 Rollout of new desktop hardware and SOE A multinational organization decides to upgrade their workstation fleet and SOE. They enter into a contract with a large hardware supplier to supply 15,000 desktop PCs of three different specifications and 5,000 mobile computers of two different specifications. The hardware supplier is contracted to supply the workstations directly to their final destination across three continents into 25 sites. The organization has spent the previous 12 months developing their Vista SOE, their deployment methodology, and deploying Tivoli Provisioning Manager for OS Deployment. The solution developed uses a universal system profile. The universal system profile allows them to have one image that can be deployed to every desktop computer and mobile computer. When the computers first PXE boot and contact Tivoli Provisioning Manager for OS Deployment, an inventory is taken of the its components. Using this inventory or Bill of Materials (BOM), rules can be established to select the appropriate drivers to inject and software to install. For example, the drivers for a desktop computer would be different than those required by a mobile computer computer. Based on the model number of the computer and the PCI, Tivoli Provisioning Manager for OS Deployment can inject the necessary drivers. The deployment process for desktop computers is as follows: The vendor ships the computers to the site as per the deployment schedule. The new workstation computers that have arrived that day are unboxed and physically moved to the desktops in batches of 30. When 30 workstations are plugged in they are all powered on, network boot is selected, and the computer logs into a multicast deployment. The 4 GB image deployment over a 100 Mbps LAN to 30 workstations completes in 30 minutes. In this scenario, the bulk of the work was in planning and building of a SOE. When it came time to actually deploy the computers, the work was very simple consisting mainly of physically moving boxes and plugging them in. With regard to the mobile computer computers, they are also shipped directly to the home office of the proposed user. A deployment resource builds them in groups just as with the desktop computers. 1.4.2 Rebuild of a previously deployed user workstation A user contacts the help desk because of issues with their workstation. The workstation is not performing properly and it seems like there may be an issue 14 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment with some file corruption. The help desk consultant spends 15 minutes with the user trying to determine what the problem with the workstation is. It is apparent that there is a problem, but a diagnosis is eluding them. The help desk consultant decides that a workstation rebuild is the best way forward. Tivoli Provisioning Manager for OS Deployment had been previously rolled out across the enterprise a few months ago. During that rollout, a decision was made to install the RbAgent, Tivoli Provisioning Manager for OS Deployment’s optional agent, onto every workstation. RbAgent gives the Tivoli Provisioning Manager for OS Deployment administrator, among other things, the ability to reboot a computer and force a PXE boot. In this support instance, after gaining agreement from the user, the help desk consultant locates the user’s computer in the management Web console and executes Deploy Now against it. At the user’s end, the computer pops up notification that it is being rebooted for a redeployment. The computer promptly reboots and the SOE deployment commences. Due to the fact that the computer is on a production network and it is during working hours, the bandwidth consumed during the deployment is limited to 50% of the 100 Mbps available. The 4 GB SOE is deployed in approximately 15 minutes. Instead of having the issue with the computer escalated up through the support organization and using more time up, decisive action was taken and in less than 45 minutes the user was able to once again log in and do productive work. 1.4.3 Upgrade of hardware and subsequent Vista install An organization that upgraded its desktop workstation fleet last year has decided for a variety of reasons to move to Microsoft Vista. At the time of deployment last year, they believed that 512 MB of RAM per computer would be plenty of memory for the foreseeable future. Unfortunately, this was not the case, and so now they are going to have to add another 512 MB memory module to each machine. Having deployed Tivoli Provisioning Manager for OS Deployment for their upgrade last year, they are well placed to complete this piece of work at their four 100 workstation sites overnight at one site per night using three human resources. The upgrade process is as follows: Chapter 1. Introduction 15 As all the workstations are already defined within Tivoli Provisioning Manager for OS Deployment, it is a simple task of binding the new Vista profile and the rollout deployment scheme to all the workstations. This is done. After each computer is opened and has its RAM upgraded, the computer is rebooted and F12 is pressed to force a network boot. As the computer is bound to the SOE, the computer joins a rolling non-synchronized multicast deployment scheme. This scheme ensures maximum efficiency of concurrent data transfer but without the necessity to synchronize computers. The deployment is completed overnight as planned. 16 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment 2 Chapter 2. Architecture and deployment scenarios This chapter will present two case studies for the implementation of Tivoli Provisioning Manager for OS Deployment: first for a small implementation on a single LAN, and second for a large enterprise with multiple subnets in the main office, remote sites connected via lower speed communication links, and the sort of security scrutiny that characterizes large organizations today. Subjects such as server sizing and placement, image replication, driver injection, unicast and multicast, firewalls, and security considerations are discussed. These are the sort of subjects that are not explicitly discussed in the Tivoli Provisioning Manager for OS Deployment User Guide, but are of great importance when designing an implementation of a tool in a production environment. The chapter is broken into the following sections: “Tivoli Provisioning Manager for OS Deployment features” on page 18 “Architecture” on page 21 © Copyright IBM Corp. 2007. All rights reserved. 17 2.1 Tivoli Provisioning Manager for OS Deployment features Here we list the major features of Tivoli Provisioning Manager for OS Deployment and a short description of those features. It is these features that make Tivoli Provisioning Manager for OS Deployment such an indispensable tool for use during the life cycle of computer systems. System cloning Tivoli Provisioning Manager for OS Deployment incorporates the ability to capture a file-based clone image of a target workstation. Using Tivoli Provisioning Manager for OS Deployment’s built-in Pre-boot eXecution Environment (PXE) server to boot the target system, it is possible to take a cloned image of that system from the Tivoli Provisioning Manager for OS Deployment Web console. This image is stored on the Tivoli Provisioning Manager for OS Deployment server and is referred to as a profile. Driver injection The ability to add a driver to an image as the image is being deployed to a computer. This feature leads to the ability to create a universal system profile, which in turn reduces the number of images that need to be managed. Software deployment Tivoli Provisioning Manager for OS Deployment includes the ability to create software packages that can be deployed along with the OS image. Universal system profile The universal system profile is the ability provided by Tivoli Provisioning Manager for OS Deployment to support many different computer models and configurations with one image. This is achieved by the automated addition of various driver and software packages during image deployment. Microsoft Vista support Microsoft’s latest and greatest operating system is supported by Tivoli Provisioning Manager for OS Deployment in unattended setup and cloning modes. No touch build capability Tivoli Provisioning Manager for OS Deployment has features that enable a true no touch build capability. Whether set to boot from the hard disk or the network, Tivoli Provisioning Manager for OS Deployment can be configured to take control of the target system and deploy a profile. 18 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Unattended setup Tivoli Provisioning Manager for OS Deployment supports the unattended setup mode of installation. In this feature, all of the parameters that need to be provided to the installer during the OS installation are predefined in the Tivoli Provisioning Manager for OS Deployment server and fed to the installer during the installation. This type of installation is best where a one off installation is going to be made or where installation to a number of different hardware types would require an investment of time to build a master image and all of the appropriate drivers and or application packages. Unicast and multicast image deployment In Tivoli Provisioning Manager for OS Deployment, profiles, or what is being deployed, are defined separately to how the profile is to be deployed. How the profile is to be deployed is defined in what is known as a deployment scheme. It is in the deployment scheme that you can define the communication method between the server and client. This can be unicast or multicast. Generally, individual workstation and server builds would be done using unicast, while builds of batches of workstations would use multicast for the time and network bandwidth savings that it offers. Adjustable network bandwidth utilization during build Deployment Schemes also offer the ability to limit the amount of network bandwidth that is used during a deployment. This is very useful when a deployment is being executed over a LAN during the business day. An unlimited deployment would have the capability to really slow the network segment down as it could potentially use all available bandwidth; however, if you limited the bandwidth to 50 Mbps on a 100Mbps LAN, it could only ever absorb half the available bandwidth. Highly efficient image storage By using an MD5 algorithm to individually identify each file being stored in the image repository, it is possible to eliminate the need to store duplicates of any file. What this means is that one Windows XP image may take 3 GB of storage space, but two variations of an XP image could take less than 4 GB. This efficiency of storage also translates to less image data needing to be replicated between servers in larger implementations. Build from DVD In some instances, a workstation that needs to be built may be at the end of a 64 Kbps link, or worse. Attempting to install a 4 GB image in a case like this would be impractical; the data transfer, if all went well, would take more than seven days. In an instance like this one, it is possible to cut a DVD of the image and deployment scheme, ship it to the site, then boot from that DVD and deploy the image from the DVD. Chapter 2. Architecture and deployment scenarios 19 Boot from CD/DVD If the network card in a particular target system does not support PXE boot, or PXE is not allowed on a network, it is possible to build a boot CD or DVD on the Tivoli Provisioning Manager for OS Deployment server, and use it to boot the target computer and connect it to the Tivoli Provisioning Manager for OS Deployment server to have an image deployed. Network sensitive image replication The replication of workstation and server images around a WAN is a controversial subject. Many organizations like to have full control over all data on their network. Because of this situation, Tivoli Provisioning Manager for OS Deployment comes with two methods to replicate data between servers: a. Scheduled, bandwidth controlled replication This option allows you to set up a replication schedule between servers and dictate the maximum bandwidth that can be used by that replication. b. Command-line export utilities Through the use of command-line utilities, it is possible to produce difference files containing all changes since a previous checkpoint. These files can then be moved to the slave servers using the corporate software distribution tool, or burned to a DVD and physically moved between servers. Redeployment This feature provides the ability to place one or more reference images into a hidden partition on the computer. During the system boot, it is possible to do one of the following – Boot the system off the current image on the hard drive. – Do a quick “clean” of the currently deployed image against the reference image. – Do a full restore of the reference image. Using this feature, it is possible to effectively have a fresh image deployment every day for the optimum performance of a system. 20 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment 2.2 Architecture We start our Tivoli Provisioning Manager for OS Deployment architecture discussion with some design considerations. These are subjects that could be important in understanding how the product works and how it would fit into a larger corporate environment. The subjects covered are by no means a conclusive list. 2.2.1 Design considerations This section aims to describe various items and product features that should be given consideration when designing a Tivoli Provisioning Manager for OS Deployment implementation. Many of the items are quite obvious but warrant discussion and further explanation, while others are less obvious and may assist a designer in reaching an appropriate design. While the following list is quite comprehensive, it should not be considered the definitive list of considerations, as every organization has its own set of idiosyncrasies to take into account. Unattended setup An unattended setup of a Windows or Linux operating system entails the provision of all the parameters required in the setup of the operating system by the Tivoli Provisioning Manager for OS Deployment. Unattended setup is a more time consuming method of deploying an operating system and cannot be used on the same scale that cloning can. However, it is the easiest type of deployment profile to setup. All activities take place on the server through the Web interface. An advantage of an unattended setup profile is that it is a more generic installation, as the setup program detects the hardware and peripherals present and, if a driver is available, installs it. The important task that the deployer has is to ensure that all the necessary drivers are available. An unattended setup can be a good way to build an initial system for cloning. It is also very good for building systems in an environment where the hardware has large differences. Chapter 2. Architecture and deployment scenarios 21 Figure 2-1 shows the potential inputs to an unattended setup. This instance includes the original files, parameters such as the license key, host name, administrator account details, and the domain to join. It also includes a driver package and a software package. Unattended install Parameters Driver package Driver package Software Package Operating system installation files Result = an OS setup in unattended mode Figure 2-1 Unattended setup Cloned image Cloning is a major feature of Tivoli Provisioning Manager for OS Deployment and, in conjunction with deployment schemes, gives the product its versatility. Cloning is a fairly simple process, but it does take more setup than an unattended operating system setup. The process to clone a machine is as follows: You need to start with a reference machine that is representative of the different systems to which you are going to deploy. Clean the machine; by this, we mean empty the recycle bin, disconnect the network drives and printers, close all applications, and delete all temporary files and caches. Run sysprep. Sysprep is Microsoft’s utility for preparing the operating system for duplication. It clears out many of the internal system settings that identify that 22 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment instance of the operating system. When the workstation is booted for the first time after deployment, Tivoli Provisioning Manager for OS Deployment will supply all the parameters required to complete the mini setup and give this instance of the operating system its personality. Boot the workstation using the network as the boot device, and then from the Tivoli Provisioning Manager for OS Deployment web GUI, start the administrator toolkit. This allows you to capture the image. As you can see, there are more steps involved in preparing a cloned image, but when it comes to the deployment of the image, it is much faster and can be deployed concurrently to many more systems. Figure 2-2 shows the cloning process. The “snapshot” of the reference PC is copied to all the computers being built, along with parameters, such as the license key, host name, administrator account details, and the domain to join. It also includes two driver packages and a software package to further customize the installation. Reference PC Parameters Driver Package Software package Driver Package Snapshot is combined with parameters and packages at build time to rapidly apply a personality to multiple computers concurrently. Tivoli Provisioning Manager for OS Deployment server takes a "snapshot" of the reference PC. Figure 2-2 Cloned systems Chapter 2. Architecture and deployment scenarios 23 Universal system profile A universal system profile is a cloned image that has been prepared with all drivers for disk types and hardware abstraction layer (HAL) variants that are used in the organization, so that one cloned image can be sent to many hardware types and the mini setup will be able to cater to the changes necessary for the image to work. Figure 2-3 shows a universal system profile. With the addition of the appropriate driver packages, the cloned image made on one type of hardware can be made to work properly with hardware of another type. For maximum efficiency in storage and ease of profile management, use a universal system profile. Parameters Driver Driver Driver Driver Previously created snapshot Software Software Software Driver Packages Software Packages Using a universal image that includes the appropriate drivers, it is possible to build many different kinds of hardware from the same image. Figure 2-3 Universal system profile Driver packages Often the difference between two computer models is minimal, a BIOS version, the video card, and so on, but the difference is enough to make the clone image captured from one computer model to not work on the other. To fix this problem, you could always capture an image from the second model and build rules to ensure that the each image was only deployed on the appropriate model, or you could build and apply a driver package. A driver package is simply the driver files packaged with their identifying information and, potentially, a deployment rule. 24 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment When the package is installed, the files are automatically copied into the \Drivers directory on the target system, generally after the OS files have been deployed. When the system boots up and sysprep runs, the driver for the hardware will be installed by the operating system. In some instances, it may be desirable to install the driver package after one of the system reboots or in a specific order to avoid software conflicts. These characteristics are all controllable and set up in the driver package creation wizard. Using this functionality, it is possible to just add driver packages to images as a vendor’s hardware evolves over time. Software packages Like driver packages, software packages are all the files required to deploy a software application bundled up for addition to a deployment; however, the difference between the two is that a software package is executed and the software is installed, as opposed to a driver package, which places the files into the file system for installation by the operating system. Tivoli Provisioning Manager for OS Deployment has the capability to install the following: A Windows application, using the Windows Installer Microsoft Installer Package (MSI) A Linux application, using Red Hat Package Management (RPM) A Solaris application, using PKGADD; and A custom action on the target computer. These actions include: – Copy and run a single file. – Execute a command. – Modify a Windows registry. – Create or modify a Windows INI file. – Copy a single text file. Using this capability, it is possible to start to build a SOE by first deploying an operating system and then installing software and customizing that operating system. It is important at this stage to point out that Tivoli Provisioning Manager for OS Deployment is not a software distribution tool like Tivoli Configuration Manager, Tivoli Provisioning Manager for Software, or Tivoli Provisioning Manager. It lacks many of the features that make up a true software distribution tool. Chapter 2. Architecture and deployment scenarios 25 Binding In Tivoli Provisioning Manager for OS Deployment, the term binding refers to an association made between two components within the system. It is possible to bind a profile to a host, a software package to a host, or a software package to a deployment scheme. These bindings can be explicit or implicit. By default, when you deploy a profile to a computer, that computer is implicitly bound to that profile. If you network boot the computer again, it will, by default, automatically start loading the bound profile unless you change that behavior. You may choose to explicitly bind a profile, software, or driver packages to a host. Using rules, you can implicitly bind software packages and driver packages to host as well. Host names Some organizations have very strict computer naming conventions while others are happy for a host to be assigned a number from a random pool. There is a lot to be said about the pros and cons of each naming style. Tivoli Provisioning Manager for OS Deployment offers a number of ways to register a host name within the system: 1. Manually typing a name into the Web console once a computer has registered with Tivoli Provisioning Manager for OS Deployment, but has not yet had an image deployed. This is fine for one or two computers, but during a major deployment would be unacceptable. 2. Import a list of host names. This is a good way to populate the host database, especially if the computer naming convention does not rely on any characteristic of the actual computer. Each name, however, must be linked in some way to a unique characteristic of a computer. This could be the MAC address, the UUID/GUID, the serial number, or a fixed asset tag. These could be acquired from the manufacturer with the hardware shipment. In short, Tivoli Provisioning Manager for OS Deployment must have some way of uniquely identifying a computer to allow the match up with a pre-populated host name. The import host button is at the bottom of the Host monitor window. 3. Automatic generation of a host name. Tivoli Provisioning Manager for OS Deployment has a variety of keywords that will allow the extraction of all or part of a key hardware identifier and building it into the host name according to a template. This means you could incorporate all or part of the computer’s serial number or asset number into its host name. 4. Let Tivoli Provisioning Manager for OS Deployment decide. Tivoli Provisioning Manager for OS Deployment will assign a host name. 26 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Deployment schemes A deployment scheme determines how computers are installed, not what is being installed. In order to cater to the many different scenarios that are present during the deployment and redeployment of computers, Tivoli Provisioning Manager for OS Deployment offers the ability to customize how profiles are deployed. For example, during a rollout of a new fleet of computers, it may be that, in a staging area, 50 computers are built concurrently using a multicast protocol and at the conclusion of the deployment, the computers are shut down before the sysprep is run, because the organization has decided that they want the computer to join a domain when it is on site. While rebuilding a workstation out on a branch network would use a unicast protocol and the computer would reboot ready for the user to log on when the deployment completed, this redeployment of the profile required absolutely no action from the user apart from the removal of their hands from the keyboard. Both of these examples are deployment schemes that optimize the way a profile is deployed for the specific task at hand. Characteristics that can be set in a deployment scheme include: The level of interactivity required during a deployment. Interaction ranges from none, where hosts are already defined in the system (prompt the first time a system is to be deployed but not every subsequent deployment, and prompt every time a system is to be deployed or redeployed). When a profile is being deployed, Tivoli Provisioning Manager for OS Deployment will, by default, compare the computer model that the profile was created on with that it is being deployed onto. If there is a mismatch, one of three behaviors can be selected: Ignore (this is for when profiles are model independent), prompt (for when you would like an operator to decide whether it is okay to proceed), or abort (for when you want the models to match). Data collection. Tivoli Provisioning Manager for OS Deployment, by default, takes an inventory of all computers it deploys. On Windows systems, it can also take a software inventory. In the deployment scheme, it is possible to set when the inventory is taken: before deployment, after deployment, or at each boot, and whether the window is locked or not during this process. You can set the type of information gathered: PCI inventory, DMI inventory, disk, and software inventories, along with deployment logs that can be stored on the server or on the computer being deployed. Bear in mind that all inventories require database space and, depending upon how many computers are being deployed, your database could grow quite large. Actions when the deployment is completed. There are two stages to this: first, when all the files have been transferred to the computer, you can have the computer shut down and complete the installation when the computer is explicitly rebooted. This could be useful when you want customizations to Chapter 2. Architecture and deployment scenarios 27 occur when the computer reaches its final destination. You could have sysprep run interactively, which could be useful, for example, if the time zone of the workstation was unknown during the build and could only be determined once it reached its final destination. Stop when sysprep is ready to run unattended, which would give you the opportunity to move the computer to the user environment for final customization, or joining of a domain, and when sysprep has completed and the computer is ready for use. The second stage, after the points listed above have occurred, you can choose whether the system shuts down, reboots, or just displays a green banner announcing completion. Network usage. Understanding these settings is important. There are three options: – Unicast, used for single deployments or where multicast is either not allowed or not supported. With unicast, as the number of concurrent computers being deployed increases, network performance will decrease rapidly. A unicast is effectively a private conversation between two computers. If the profile to be deployed was 2 GB, the Tivoli Provisioning Manager for OS Deployment server has to serve up to 2 GB of data and that 2 GB would have to traverse your network. If you were deploying three computers concurrently using the same profile, the server would have to maintain three sessions doing the same thing, queue and process the 2 GB three times, and the resultant 6 GB would have to traverse the network through one network card. Now with a reasonable sort of server on a gigabit network, that is probably not a big deal, but on a 10 Mb network, that would mean at least 1 hour and 40 minutes of saturated network and, if you added any more sessions, you would probably find that the bottleneck in the system was your server. Figure 2-4 on page 29 shows a unicast to four computers; each computer receives a separate directly addressed data transmission. The server has to work four times harder and the network carries four times the traffic than it would during a single build. 28 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Server The packets on the network are addressed to individual computers, so only the specific addressee can accept the packet. With unicast, each computer has a private communication with the server. PC 1 PC 1 PC 1 PC 1 PC 2 PC 2 PC 2 PC 2 PC 3 PC 3 PC 3 PC 3 PC 4 PC 4 PC 4 PC 4 Figure 2-4 Unicast It is for this reason that multicast was developed. Multicast in Tivoli Provisioning Manager for OS Deployment was designed for robustness as opposed to speed. The aim is to get the transfer done to all targeted clients on the first attempt during a deployment, thus lowering project risk. The way it works is that on each client computer, the files that are received are recorded in a special content file so that the client knows which files it has and which files it needs. The server selects one of the client computers as the master and effectively communicates with it, but with other slave computers listening in on the transfer. The master controls the speed of the transfer and what is requested. Depending on the performance of the slave computers, they may be able to keep up and receive, process, and write at the same rate as the master, or if not, they drop the packets. Once the master has finished its transfer, an incomplete slave is promoted to the master and it starts requesting files according to what is required in its content file. All the other incomplete slaves listen in and accept packets they require. This process continues until all the client computers have all required files. So let us carry our unicast example forward into our multicast explanation and distribute our 2 GB image to three computers. One of the computers is of a lower performance specification than the other two. There would be a Chapter 2. Architecture and deployment scenarios 29 2 GB transfer to the machine designated by the server as the master client; the first slave is able to keep up with the master and therefore it received and processed all the packets and finishes at the same time as the master. The third computer, however, could not keep up. Its internal speed is just not the same as the other two, and as such, it could not cope with the data stream. It managed to retain only 80% of the 2 GB and therefore requires a retransmission of 20% or 400 MB of the data. The server serves up this catch up data and then all computers are completed. This resulted in only 2.4 GB of data traversing the network instead of 6 GB, as with a unicast. Because of the retransmission, it takes longer than a unicast, however, the network utilization is markedly less. The implementation of multicast in Tivoli Provisioning Manager for OS Deployment starts to show speed efficiency at around 10 clients. Most efficiency is gained when computers of the same specification are being built together. Tivoli Provisioning Manager for OS Deployment offers two variants of Multicast: – Synchronized multicast. With this option, it is possible to have the start of transmission delayed until a predetermined number of clients register with the server or a timeout period is reached. Once one of these criteria is met, transmission commences. It is possible to start other clients and bring them seamlessly into the transmission after it has commenced, with the files that are missed at the start being caught up at the end. – Soft synchronization multicast is the second type of multicast. It is less efficient but good for rolling deployments. In this instance of multicast, client systems do not explicitly synchronize; they just start downloading when they are ready. If multiple client systems are downloading files in parallel, they will automatically share the same bandwidth. Figure 2-5 on page 31 shows how multicast packets are addressed to a group; those who opt into the group can receive the packets. Multicast puts a lower load on the server and network resources 30 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Server The packets on the network are addressed to a group, so all members of the group can accept the packet. In this way, one packet can be accepted by many computers, reducing the amount of network traffic. Group Group Group Group Figure 2-5 Multicast Onsite deployment. This feature should be enabled if you wan to use the advanced redeployment feature. Using these various options, it is possible to cater to most deployment situations in the most efficient way. A thorough Tivoli Provisioning Manager for OS Deployment design would include specifications for the deployment schemes to be used in the final implementation. These specifications would also highlight the necessity for things like multicast support and the level of interaction that is expected with each deployment type. Image replication It is important to have a good understanding of how file replication in Tivoli Provisioning Manager for OS Deployment works, so that the effect it will have on a production network can be appreciated. How replication works When a profile is captured or built with the Tivoli Provisioning Manager for OS Deployment server, the files undergo the following process: as files are sent to the server, they are uniquely identified using an MD5 (Message Digest 5) algorithm. Having identified the file, the process then determines whether there is another copy of the file already in storage on the server. If there is, the existing Chapter 2. Architecture and deployment scenarios 31 file is referenced in the new profile and if not, the process stores the file in a 128 MB file repository block and its corresponding table of contents file. There are two methods you can use to replicate images between Tivoli Provisioning Manager for OS Deployment servers, using the built-in file replication service or by manually generating change files at the command line and using another tool to move these files around the network. Built-in file replication service In a multi-tiered implementation, one server will be designated as the master server. This would usually be the server at the master site, but must be the server where profiles are inserted into the system. The other servers in the environment are designated as slave servers. When replication starts, the new table of contents files are all sent to the receiving server. The receiving server then compares those table of contents files with the table of contents files it has and builds a list of all the files it requires to be up to date. It then sends that requirements list file back to the master server. The master server then builds a .RAD file of all these required files and commences replicating it to the receiving server using no more than the bandwidth specified in the replication setup window. As the file repository only ever stores one copy of any specific file, subsequent to the initial replication of a particular OS, all that should ever traverse the network is the delta between the existing profiles and the new profiles. This feature saves a large amount of network bandwidth. The data flow is shown in Figure 2-6 on page 33. 32 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Master Server 11 12 1 2 10 3 9 3 4 8 7 6 5 .RAD File 4 .RAD File TO C Re q'd lis t 1 .RAD File file s 5 2 1 Table of Contents files sent to slave server at a scheduled time. Slave Server 2 List of required files is returned to the master server. 3 The required files are all assembled into a .RAD file for transfer. 4 The .RAD file is sent to the slave server. 5 Slave server checks the .RAD file and then incorporates its contents into its repository. Figure 2-6 Tivoli Provisioning Manager for OS Deployment replication data flow In a multi-tiered environment, the replication setup has to be given some consideration, as it is done on a schedule. It is important that enough time is given between scheduled instances for the replication to complete. In the instance of a three tiered architecture, each predecessor must be completed prior to the successor starting. You must factor the bandwidth limitation you place on the replication into this equation. Command-line method Tivoli Provisioning Manager for OS Deployment offers a command-line interface called RbAgent. RbAgent can be run from any workstation that has connectivity to the Tivoli Provisioning Manager for OS Deployment server. When executed, the RbAgent command connects back to the Tivoli Provisioning Manager for OS Deployment server, and assuming the appropriate .PAK file is present in the, by default, C:\Program Files\Common Files\IBM Tivoli\packages directory, runs the command. This command-line capability offers excellent integration opportunities with preexisting tools for file transfer and configuration management, such as those Chapter 2. Architecture and deployment scenarios 33 already incorporated into IBM Tivoli Configuration Manager V4.2.3 FP2, IBM Tivoli Provisioning Manager, and IBM Provisioning Manager for Software. To synchronize servers from the command line, you need to first download the file sync.pak from the IBM OPAL web site at http://www.ibm.com/software/tivoli/features/it-serv-mgmt/opal.html, copy that file into the directory stated above, then stop and start the Rembo Server service. This will make the commands implemented in sync.pak available to RbAgent. Then use the commands available to first create a zero checkpoint of the master server. Then, subsequently, every time an activity of any significance takes place, another checkpoint is created. From any two checkpoints, difference files containing all the file repository changes that need to be sent to a “slave” server can be generated. These difference files are called .RAD files. A further option is the ability to break a .RAD file down into smaller .DAT files for manageability. The generated .RAD or .DAT files are transferred using your tool of choice to the target server and placed in the C:\TPMFOSFiles\import\Auto directory; this directory is automatically created when the Sync.PAK file is placed in the packages directory. The Tivoli Provisioning Manager for OS Deployment server checks every minute for new files and when one is found it will reassemble it if it is a series of .DAT files, and check it for consistency and then if all is okay, it will be given a .OK extension and the server will incorporate the content of the file into the shared repository, making that content available for use in that server. Important: While the command-line method of repository synchronization does give control of the replication process back to the user, it must be noted that: Manual replication using the RbAgent replicates only repository changes. Each server maintains its own database of hosts and information associated with those hosts. Keeping track of what each checkpoint represents and where target servers are up to in terms of file repository replication, are tasks that would need to be incorporated into the overall replication process. Profile migration The separation of development, test, and production environments is a long standing IT best practice. Tivoli Provisioning Manager for OS Deployment incorporates functions that allow for the export and import of developed profiles, software packages, and deployment schemes. This allows these objects to be moved between environments easily and quickly. 34 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Export To export a profile, software package, or deployment scheme, go to the OS Deployment window and select one of the system profiles window, the software deployments window, or the deployment scheme window. At the bottom of the window, select RAD Export; this will start the RAD Export Wizard. You will be guided through a series of windows allowing you to select the items you wish to export. The server will analyze the objects you wish to export and approximate the size of the export file and give you three options on how to deal with the file: You could download it directly to the computer from which you were accessing the Tivoli Provisioning Manager for OS Deployment server. This would allow you to use it as a staging point.; Export it to a directory on the Tivoli Provisioning Manager for OS Deployment server. This may be the option you use if you had physically separate environments and you needed to load the file onto a removable device to move it, or you had another tool that was going to do the physical move for you. You can move the file directly to another machine that is running the Tivoli Provisioning Manager for OS Deployment Web extension, RbAgent. With this option, if the importing system was accessible in the network you are connected to, you could move the file directly to that computer. Tip: When working with Tivoli Provisioning Manager for OS Deployment Web extension, or RbAgent, it is important to remember that it does not resolve host names. You must always use an explicit IP address. Import At the importation end, it is almost a reverse of the export. Navigate to the OS Deployment window, and then select one of the system profiles window, the software deployments window, or the deployment scheme window. At the bottom of that window, select RAD Import. You will be presented with three options for the location of the .RAD file for import: The local computer from which you are working. the Import directory of the importing server; you may recall that one of the export options was to export to the importing server. The IP address of a server running the Web extension where the file is located. Whichever option you choose, the next step is to identify the .RAD file at the location you selected for importation. Chapter 2. Architecture and deployment scenarios 35 Tivoli Provisioning Manager for OS Deployment will then analyze the file and import the parts of it that it requires, bearing in mind that it will only import files that are not already stored on the server. Tip: Right-clicking the item to be exported will let you access the export and import functions. You can also access those functions through the context menu that appears at the bottom left of the Web interface Client boot options Tivoli Provisioning Manager for OS Deployment offers a number of options that augment the standard way a computer boots. Most computers are set up by default to boot off the hard disk. If there is no hard disk, it tries the CD/DVD drive, and if that is not available, it tries for other removable devices. If there are not any of them available, it tries for a network or PXE boot. This gives the computer the best chance of finding a bootable device. Of course, most systems let you change this order, but to do that you have to access a special menu by using predefined keys at very specific times during the boot process. Another way to change the boot order is to press the F12 key (on many computers) at a specific time during the boot process to go directly to the boot from network option; for this to be successful, there has to be a PXE server available to service this request. This process is fine for someone who is comfortable with computers and in fact is usually the way bulk builds of workstations are initiated. For someone who has very little knowledge of computers, asking them to press F12 during the boot of their computer would draw a blank stare. It is this situation that is avoided with some of the options available in Tivoli Provisioning Manager for OS Deployment. Once the initial build of a computer has been completed, you have some options about how much Tivoli Provisioning Manager for OS Deployment gets involved in the boot process. Generally, computers are set to boot from their hard drive after a deployment. With Tivoli Provisioning Manager for OS Deployment, it is possible to boot from the hard drive or network, with each method having options to control bot behavior. Hard drive boot Booting off the hard drive is probably the first choice and the traditional choice made by IT departments. Should you wish to rebuild a machine at a later time due to malfunction or upgrade, you would need to contact the user and have them intervene in the boot process so that Tivoli Provisioning Manager for OS Deployment could boot the machine and take control remotely. This is not ideal in a support situation; if you want a completely hands free experience for your user, 36 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment the RbAgent could be included in the standard computer build. The inclusion of RbAgent would allow the “Deploy Now” function within the tool to be executed when a redeployment was needed. Under instruction from the server, RbAgent would shut the computer down after writing a temporary master boot record instructing the computer to boot from the network at the next boot. The computer would reboot using the network boot method, connect to the Tivoli Provisioning Manager for OS Deployment server, and deploy the profile using the deployment scheme as selected by the operator, giving a fully hands free deployment. Network boot Another option is to set computers to boot off the network every boot and set the action that will be taken in the Tivoli Provisioning Manager for OS Deployment server. Possible actions include: 1. The computer is completely ignored in the console. In this case, the Tivoli Provisioning Manager for OS Deployment does not answer PXE requests (the computer times out during PXE). 2. The computer is configured to boot on the hard disk in the console. In this case, the computer boots on the disk. 3. The computer has one or more configurations bound to it in the database (you can double-click a host to see the current bindings of that host). In this case, the computer shows a menu with the list of bound configurations; you can click one configuration to deploy it. The customized GUI in each of the configurations in the Web console can be used to change the look and feel of this boot menu (select an entry after a timeout, ask for a password, and so on). 4. The computer has no configuration bound to it in the database. In this case, a locked window is shown. All of these options give you the opportunity to change the boot behavior of the computer from the Tivoli Provisioning Manager for OS Deployment console. Redeployment Within Tivoli Provisioning Manager for OS Deployment, there is a function called Redeployment. This is not to be mistaken with the activity of redeploying an image to a computer. Redeployment in Tivoli Provisioning Manager for OS Deployment terms is a special deployment scheme that gives you the ability to rapidly restore an image to a computer from a hidden partition on the computers hard disk. Chapter 2. Architecture and deployment scenarios 37 The real value in this feature is for computers that fall into three categories: Computers that have rigidly fixed configurations, such as ATMs, POS, or other embedded systems Computers in public areas, such as libraries, Internet cafes, or educational facilities Critical systems in industries, such as banking and finance or even machines where security threats, such as viruses or keyloggers/adware, are a great concern These machines can be effectively rebuilt every time the computer is rebooted. Here is how it works: During the original image deployment to the computer, Tivoli Provisioning Manager for OS Deployment creates a hidden partition on the hard drive of the target computer. When it has finished deploying the master image on the computer, it stores a reference image into that hidden partition. It is possible to store multiple different images in that hidden partition. Each time the system is booted, either off the hard drive or using PXE, Tivoli Provisioning Manager for OS Deployment intercepts the boot process of the computer and presents a customizable menu of possible actions. Those actions are: – Do a quick restore from the reference partition. This option just restores altered and added files to their reference. It only adds 10-15 seconds to a system boot. – Do a format and restore from the reference partition. This option takes a couple of minutes but results in a complete refresh. – Choose and deploy another configuration on the reference partition. This option takes as long as the format and restore option. – Just boot off the hard drive. Each of these options can be associated with a timer to allow for an automated action upon reboot after a timeout. With Redeployment enabled in a school library or in an Internet cafe, a possible scenario would be that at the end of every day all the computers are shut down. Every morning when the computers are booted, they would wait 10 seconds and then start doing a quick restore as the default option is automatically selected. This would ensure that a fresh environment is available to the users everyday, devoid of adware, viruses, or caches containing inappropriate material. 38 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Server specification The size and configuration of a Tivoli Provisioning Manager for OS Deployment server should be decided after taking a number of factors into consideration. First, the number of hosts you wish to define within the server is one factor. Once you reach 1-2000 hosts, the GUI starts to reach the limits of its navigability and becomes a practical limitation. It just takes too long to scroll through the host list. That said, if you used RbAgent and set the implementation up so that distributions were all triggered from the client interface, this would not be an issue and scalability up to 5000 hosts on one database is easily achievable. Where an organization’s computers exceed 2000, it would be wise to start splitting the database across servers. You would still replicate all the profiles and deployment schemes. This scenario is discussed in 2.2.3, “Enterprise architecture” on page 52”. Second, you need to take into consideration the amount of work the server will be doing. If the plan is to concurrently deploy multiple different profiles using a unicast deployment schemes on an ongoing basis (a high I/O requirement), it will be necessary to ensure a disk subsystem is capable of serving up this level of data. This could mean using a RAID array, or, depending on the requirements, a channel attached SAN (storage area network) solution. This type of solution would probably only be required on a site where a large scale centralized build LAN was being heavily utilized. Being able to serve up data out of a disk subsystem is one thing; you also need to be able to get that data onto the network. You may wish to consider multiple NICs (network interface card) on a switched network in our extreme instance above, but also a high speed LAN, such as 100 Mb or 1Gb, for maximum transfer speed. Third, memory. The minimum specification for a Tivoli Provisioning Manager for OS Deployment server is 1GB of RAM. Depending on the number of users and the number of concurrent builds being undertaken, extra RAM would be prudent. During a computer build, RAM usage can reach 500 MB, as the server assembles and queues the files required. Therefore, how the server is used, that is, the number of concurrent build sessions, will dictate the memory requirement. A multiuser RDBMS instead of the built-in Access database will also increase the memory requirement by the amount recommended by the RDBMS vendor. Processors: The minimum specification for a Tivoli Provisioning Manager for OS Deployment server is dual Xeon® 1 GHz processors. The server is multithreaded and so benefits from the second CPU when it is busy. At what point do you go to four processors? In our extreme example above, with a SAN and dual NICs on a switched network, four CPUs would certainly be warranted, assuming sufficient RAM was available as well. Chapter 2. Architecture and deployment scenarios 39 When specifying a build server for a deployment project, you need to bear in mind that unless you are an organization that builds systems as a core competency, this server requirement will be transient, and while you can configure an extremely high performance server to fulfill your immediate build performance requirements, performance can also be improved by other simple strategies, such as using multicast deployment schemes on groups of computers with similar performance, good and appropriate network infrastructure, and well-built and considered profiles. PXE Preboot eXecution Environment (PXE) is the protocol used by Tivoli Provisioning Manager for OS Deployment to remotely download the Tivoli Provisioning Manager for OS Deployment kernel necessary to boot the computer and undertake the actions to deploy an operating system onto a computer. Generally, a PXE server would be on the same network subnet as the computer being deployed, but in larger installations this may not be the case. If so, it is important to ensure that the “DHCP” settings on your network are correctly configured. DHCP is discussed further in “DHCP” on page 41. Network booting without PXE In some instances, it may be necessary to boot a workstation without using PXE boot. This may be because the network card does not support PXE (unlikely, but possible), or more likely in a network where, for a policy or security reason, PXE is not available. In this instance, it is possible to build a bootable CD or DVD from a computer with the RbAgent installed in it. To create the boot image, go to the directory where RbAgent is installed (by default on a Windows machine C:\ProgramFiles\commonfiles\IBMtivoli\Rbagent.exe) and enter: rbagent.exe -s <host_ip_address>:<host_password> rad-mkbootcd <full_path_to_boot_iso> <host_ip_address> <host_password> Where: host_ip_address IP Address of the Tivoli Provisioning Manager for OS Deployment Server. host_password Password for the administrative user (usually admin) on your Tivoli Provisioning Manager for OS Deployment Server. full_path_to_boot_iso The full path to the iso file you wish to create on the machine where you run the command, including the filename. 40 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment In Example 2-1, there are two parts: The first part allows the RbAgent connection to the Tivoli Provisioning Manager for OS Deployment server (Rbagent -s<IP_Address>:<Password>); this part tells RbAgent which server to connect to by IP address (only IP address) and the connection password. The second part (rad-mkbootcd <full_path_to_boot_iso> <host_ip_address> <host_password>) tells the rad-mkbootcd command where the ISO is to be created and the IP address and password of the server to which the boot CD will try to connect. Example 2-1 rbagent.exe C:\ProgramFiles\commonfiles\IBMtivoli\rbagent.exe -s 10.10.10.10:abcd rad-mkbootcd C:\boot.iso 10.10.10.10 abcd Once booted, the behavior of the computer will be identical to any PXE booted system. DVD deployment In some instances, computers that require deployment are at remote sites, sites serviced by communications links not suitable for large data transfers, or just with no connectivity. These computers still form a part of an organization’s inventory and need to be managed. In situations such as these, Tivoli Provisioning Manager for OS Deployment has the capability to build an image onto a DVD or spanned across several DVDs. The DVD can be transported to the computer via mail, courier, or other means, and deployed with or without connectivity to the Tivoli Provisioning Manager for OS Deployment server. DHCP The Dynamic Host Configuration Protocol (DHCP) is a mature, well documented protocol that has been in use for many years. It is used by network attached devices that require an IP address, but has no dependence on that address, for example, workstations. Before the advent of DHCP, every IP device attached to a network required the administrative overhead of setting and tracking the address of every IP device on their network. One of the features of DHCP is the ability to enable various options to change the default behavior of the protocol, such as the addresses of various services on the local network or configuration settings like timeouts and vendor specific information. There is a list of well over 100 of these options available, and detailed information can be found by searching for “DHCP options” on the Internet. Chapter 2. Architecture and deployment scenarios 41 We are particularly interested in design considerations and DHCP options 43 and 60. By default, Tivoli Provisioning Manager for OS Deployment’s installer will make any required changes automatically for you; however, it is important to understand what is being changed and how it works, especially in the case of larger corporate networks, where networking is never simple. In order to support PXE clients on a network, the DHCP server is usually configured in one of the following three modes: Option 60 not set, Option 43 not set Option 60 set to 'PXEClient', Option 43 not set Option 60 set to 'PXEClient', Option 43 set When both option 60 and option 43 are not set, PXE clients will have no clue where the PXE server is, and they will therefore wait until a PXE server contacts them. In this mode, the PXE server must listen to DHCP discovery packets sent by PXE clients and answer at the same time as the DHCP server does. When option 60 is set to PXEClient, it means that the DHCP server knows where the PXE server is. If option 43 is not set, the PXE server is on the same computer as the DHCP server (same IP address). If option 43 is set, PXE clients must decode option 43 to know how to reach the PXE server. In most situations, option 43 does not need to be setup, because the PXE server will either listen to DHCP discovery packets (DHCPProxy), or be on the same computer as the DHCP server. However, if the PXE server is on a separate subnet (it cannot listen to DHCP discovery packets), or if there are several PXE servers on the same subnet, option 43 is the only viable solution in order to instruct PXE clients on what to do. Option 43 is a binary buffer, containing a list of sub-options. Sub-options are packed in the binary buffer, in no specific order. Most sub-options are optional. Firewalls The following tables list the server communication ports (Table 2-1 on page 43) and client communication ports (Table 2-2 on page 43) required by the different Tivoli Provisioning Manager for OS Deployment protocols and services. Should it be required for network design or security reasons, all ports except port 69 for TFTP can be modified. TFTP cannot be modified, as this specific port is part of the PXE specification. 42 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Table 2-1 Ports required for server communication Description Port Protocol Modifiable Purpose Dynamic Host Configuration Protocol (DHCP) 67 UDP Yes To issue IP addresses and other network boot information Preboot eXecution Environment Boot Information Negotiation Layer (PXE BINL) 4011 UDP Yes To create an environment on a computer where a boot program can be loaded Trivial File Transfer Protocol (TFTP) 69 UDP No (Part of PXE specification) Protocol used to transfer the boot program to the PXE environment on a booting computer Multicast Trivial File Transfer Protocol (MTFTP) 4015 UDP and TCP Disabled in V5.1 Disabled in V5.1 Network Bootstrap Program (NBP) 4012 UDP Yes For exchanging messages with the boot server FILE 4013 UDP Yes For transferring files to a computer in unicast mode Multicast (MCAST) 10000 10500 UDP Address: 239.2.0.1-239.2. 1.1 Yes For transferring files to multiple computers in multicast Table 2-2 Ports required for client communication Description Port Protocol Modifiable Purpose Dynamic Host Configuration Protocol (DHCP) 68 UDP Yes To request and receive an IP address and other network boot information Multicast Trivial File Transfer Protocol (MTFTP) 8500-8 510 UDP Disabled in V5.1 Disabled in V5.1 Multicast (MCAST) 9999 UDP Yes To acknowledge receipt of Mcast packets when designated the master Remote control (Web Interface Extension) 4014 UDP Yes To allow the TPMfOSd server to communicate to the Web extension Chapter 2. Architecture and deployment scenarios 43 The ports that you need to open for Tivoli Provisioning Manager for OS Deployment to effectively communicate across a firewall will depend on what functionality you wish to use across the firewall. In a highly secure environment, it may be best to just remove the computer that requires building or rebuilding and reconnect it after the work has been done on a build LAN. An example would be in a demilitarized zone (DMZ), where servers are to be built and rebuilt. It is highly unlikely that DHCP, PXE, and multicast will be available. This reduces the number of ports required on the host side to just 3, 69, 4012, and 4013. None would be required on the client side. Use the tables above as a guide to help you decide which services are required and therefore the ports you will need to open. Security As you would expect in an enterprise class systems management tool, there are a variety of security options available for exploitation. They include: Authentication against a Windows domain. With this option, you can specify an Active Directory® server to authenticate against. Within Tivoli Provisioning Manager for OS Deployment, you can define categories of users, such as administrators, deployers, operators, or profile developers, each with a different level of system access and privilege. Each of these categories of user can have specific users or groups of users subscribed to them, granting access to that specific level of privilege. It is also possible to limit the scope of the search for a user through Active Directory by limiting the search path to one group of users. Authentication against a Radius server. Radius authentication is similar to Active Directory authentication. In this case, it is also possible to assign groups to Tivoli Provisioning Manager for OS Deployment roles; however, it is not possible to limit the directory search path to a specific user group. Authentication against the local account database on the host server is similar to the domain authentication; however, authentication and group membership is with the local server account database. Use of the superuser account. Of course, the simplest method of using the tool is to just have one user account and password. This, of course, would be a security breach in most organizations. 44 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment 2.2.2 Small site architecture The target site for our small Tivoli Provisioning Manager for OS Deployment design has the following characteristics: it has 200 Windows workstations of various configurations of Windows 2000 and Windows XP spread across two floors of an office building on two IP subnets. The LAN speed is 100 Mbps. The workstations have been acquired over a five year period and there were, at last count, 12 different hardware configurations, with no Standard Operating Environment (SOE). The CIO has studied the costs involved in supporting the disparate workstation fleet with no SOE and decided to refresh every workstation over the next year and deploy an SOE based on Microsoft Vista. The organization has 15 Windows servers that include Windows 2000 and Windows 2003. These servers are in a data room connected by a 1 GB switch to the network backbone. Last year, one of the organization’s application server disks failed. The backups were all current, but there was no build process for the server. The technician who had built the server had left the company. Because no one could find the build media for the OS or the application, it took three frantic days to rebuild the server and bring it back online. The CIO wants this procedure automated so that this situation never arises again. The topology of the site is laid out in Figure 2-7. Tivoli Provisioning Manager for OS deployment server High speed network backbone DB Other servers Workstations Figure 2-7 Small site topology Chapter 2. Architecture and deployment scenarios 45 The organization’s requirements for the solution are as follows: The ability to automate the rebuild of current workstations. The ability to automate the rollout of the new Microsoft Vista SOE. The ability to rebuild new workstations with the new SOE. The ability to easily manage the different versions of the SOE. The ability to use Tivoli Provisioning Manager for OS Deployment as a component of their disaster recovery plan for individual servers in their server fleet. The system should pay for itself in the savings made in man hours spent deploying and redeploying workstations and server infrastructure. The organization chose Tivoli Provisioning Manager for OS Deployment as the tool to help them fulfill their requirements. “The design” on page 46 describes how they set up their environment to exploit the tool to their best advantage. The design The requirements stated above can easily be fulfilled by a single Tivoli Provisioning Manager for OS Deployment server located within the server farm in the data room. This server would like the rest of the server fleet. Server hardware A separate server was decided upon, as the existing servers are currently all fairly heavily utilized. The specification of this server is laid out in Table 2-3. Table 2-3 Small site server specification Quantity Server type Speed RAM Free Disk 1 Dual Xeon 1 Ghz 1 GB 10 Gb This is the minimum specification for a Tivoli Provisioning Manager for OS Deployment server, as documented in Tivoli Provisioning Manager for Operating System Deployment Guide (Fix Pack 1), SC32-2582. As there is going to be one PXE server and several subnets, it will be important to setup DHCP with options 43 and 60 enabled and configured so that the workstations will know the IP address of the PXE server. Profiles Due to the fact that the CIO wants to see a quick return on his investment with an almost immediate reduction in the cost of rebuilding workstations, it is decided that the following approach to build profiles will be taken. 46 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Unattended setup profiles The current workstation fleet consists of a variety of hardware and only ad hoc rebuilds are currently being executed. So the decision is made to quickly implement an unattended setup of Windows 2000 and Windows XP that will cater to the variety of hardware currently used by the organization. It takes the IT department just one day to assemble all of the drivers necessary to build a current Windows 2000 workstation and a Windows XP workstation. This unattended setup is ready for use in one day. The same process is used for the assembly of the server build. Clone profile The move to Microsoft Vista is a longer term project. The IT department are developing a SOE that will have the same base for all users, plus certain applications for specific job roles. They have studied the capabilities of Tivoli Provisioning Manager for OS Deployment closely and have decided to deploy these common applications as a part of the base image and other optional applications where possible as part of the deployment. Software All software currently in the production SOE needs to be packaged so that when the rebuild of a current workstation takes place, packages can be reloaded as part of that process. A number of packages are built for applications and customizations required by the SOE. These packages are bound to the deployment scheme. Deployment schemes A number of deployment schemes are set up to meet the following conditions: The rollout of new computer hardware with the Vista SOE installed The rebuild of single computers Chapter 2. Architecture and deployment scenarios 47 Multicast rollout deployment scheme This scheme will be used for new hardware deployments where groups of workstations will be built together. The characteristics of this deployment scheme are detailed in Table 2-4. Table 2-4 Multicast rollout deployment scheme Settings Setting Comment Allow BOM editing Never (Always run unattended) Not necessary; all host information to be preloaded. Request User confirmation No No allowance is made for the user to reject a build. Enforce Model locking No Using a universal profile. Deployment method Full Deployment Run sysprep at build time. When deployment is done Show green screen For visual confirmation of completion. Unbind configuration at the end Yes Another configuration will be bound later. Deployment status report Store full log General settings Save deployment log to: Hardware inventory PCI, Disk, DMI Perform Inventory Locked Store hardware but no software. Network settings 48 Before start wait 120 seconds To synchronize other multicast clients. Bandwidth limitation 50 Mbps Deployment will be across a production network (potentially during the day). Deploy using unicast No Using multicast. Crypt network traffic No Within a private network. Use “BIOS fall back MBR“to start PXE No Not necessary; the adapter was tested in this computer model. Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Settings Setting Comment Alternate image server - This build comes from the designated server and no other. Redeployment Redeployment partition - User authentication - Authentication options - Software binding settings Discard all other binding rules No Bound software - Apply group and hardware binding. Single computer deployment scheme This scheme is for general use in one-off deployments or system rebuilds. The deployment will occur over a production 100 Mbps LAN (probably during business hours). The characteristics of this scheme are laid out in Table 2-5. Table 2-5 Single computer deployment scheme Settings Setting Comment Allow BOM editing Only for unknown new host Unnecessary for rebuilds, but possibly necessary for a new computer, Request User confirmation Yes Allows a user to reject a rebuild. Enforce Model locking No Using a universal profile. Deployment method Full Deployment Run sysprep at build time. When deployment is done Reboot the computer Ready for use. Unbind configuration at the end No This configuration. Deployment status report Store full log General settings Save deployment log to: Chapter 2. Architecture and deployment scenarios 49 Settings Setting Comment Hardware inventory PCI, Disk, DMI Store hardware but no software. Perform Inventory Locked Network settings Before start wait - Not using multicast. Bandwidth limitation 50 Mbps 50% of the 100 Mbps production bandwidth. Deploy using unicast Yes Crypt network traffic No Within a private network. Use “BIOS fall back MBR“to start PXE No Not necessary; tested the adapter in this computer model. Alternate image server - There is no other local build server. Redeployment Redeployment partition - User authentication - Authentication options - Software binding settings Discard all other binding rules No Bound software - Apply group and hardware binding. Computer boot sequence There will be a variety of computer boot sequences for the different computers in the organization’s environment. These are detailed below, including the reasoning behind each one. 50 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Servers Once built, servers will have their boot sequence changed to: 1. Hard Disk 2. CD ROM 3. Removable device 4. Network Boot To ensure that an inadvertent network boot does not start a deployment, the boot setting for the server group is set to boot from hard drive. For a deployment to occur, this must be explicitly overridden. Workstations User workstations will be set to boot in the following order: 1. Hard Disk 2. CD ROM 3. Removable device 4. Network Boot These workstations will also have the RbAgent loaded. This will allow an administrator to shut down and restart the computer off the network without needing to ask the user to change the boot order when a workstation needs to be rebuilt Migration strategy Due to the small size of the organization, new profile and deployment schemes are developed on the production server, but on dedicated workstations. Although not the ideal separate development environment that is best practice, this situation is the reality of many organizations that cannot justify the expenditure in the extra infrastructure necessary to build a dedicated test environment. So in this instance, there is no migration, as profiles are built on the production server. Chapter 2. Architecture and deployment scenarios 51 Security settings The organization runs an Active Directory for all its user authentication. It is decided that all users logging on to Tivoli Provisioning Manager for OS Deployment should also authenticate against Active Directory. Four user categories are defined within the system (they are laid out in Table 2-6). The roles range from Administrative access down to the sort of very restricted access that would be given to contracted staff during a rollout. Table 2-6 Security roles Role Active Directory Group HTTP console access Security policy Administrator Administrators Access all areas No restriction Developer Developers OS Deployment - Yes Server Log files - Yes Server parameters No Server status - Yes Deny changes to the server configuration Operator Operators OS Deployment - Yes Server Log files - No Server parameters No Server status - Yes Deny addition/removal of hosts Deny any changes to RAD hosts Deny changes to the server configuration Installer Installers OS Deployment - Yes Server Log files - No Server parameters No Server status - No Deny addition/removal of hosts Deny any changes to RAD hosts Deny changes to RAD deployment schemes Deny changes to RAD software packages Deny changes to RAD system profiles Deny changes to the server configuration 2.2.3 Enterprise architecture The target organization for our enterprise design is a growing organization based in London with branches in Wales, Scotland, England, and Northern Ireland. Each branch office has between 50 and 100 workstations and 4-10 servers. The organization wants the implementation to be global in nature, that is, a central database for the deployment history and inventory. A central database will also provide backup server capability. As is IT best practice, the organization wants the design to include a test facility for the creation and testing of profiles and packages. The test facility will include a development environment and a pre-production environment. This environment 52 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment will allow for the capture and testing of profiles, deployment schemes, and the export/import process between environments. The high level requirements of the system are: To develop a low risk methodology of rolling out the new Vista SOE To reduce the cost and complexity of rebuilding a workstation To reduce the cost and complexity of rebuilding a server To make the rebuild process no touch To integrate the new tool into the existing corporate environment, tools, and processes The design The requirements stated above can be fulfilled with Tivoli Provisioning Manager for OS Deployment server and a design that encompasses existing tools and processes within the organization. Chapter 2. Architecture and deployment scenarios 53 Test facility The test facility is installed as two separate systems, first, the development environment, and then the pre production environment. Both of these environments would be linked by a physical network and processes to migrate profiles from test to pre-production. Figure 2-8 shows the topology of the test environment Test facility Development environment Pre-production environment RAD archive transfer One standalone server + workstations – On which new profiles, packages, … are created – One workstation of each type – Allows to test • Tivoli Provisioning Manager for OS Deployment objects creation • Tivoli Provisioning Manager for OS Deployment objects deployment • Tivoli Provisioning Manager for OS Deployment archive exportation Same as production environment – To a lower scale • 1 regional server only – Allows to test • Server replication • Tivoli Provisioning Manager for OS Deployment archive importation • Deployment of RAD objects • Backup mechanism in case of slave failure Figure 2-8 Test facility Development environment This is a single server multi workstation environment. Development server hardware Table 2-7 shows you the development server hardware for the test facility. Table 2-7 Development server hardware 54 Quantity Server type Speed RAM Free disk 1 Dual Xeon 1 Ghz 1 GB 10 Gb Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Note: Tivoli Provisioning Manager for OS Deployment will work on a server of a lower specification; however, the performance of the system may be compromised. During the course of writing this IBM Redbook publication, we ran a Tivoli Provisioning Manager for OS Deployment server on a variety of hardware, including a single CPU 512 MB VMware workstation. Development client hardware Client hardware would ideally consist of one of every type of production client system being used in the organization. This would include desktop workstations, mobile computers, servers, and virtual systems. Development installation Installation of the Development Tivoli Provisioning Manager for OS Deployment server is simple, as it uses the standard database, so it is just a matter of following the installation wizard. Pre-production environment The pre-production environment is a representative subset of the production environment. It consists of a master server, a slave server, and, where possible, one of each production target systems. Depending on the actual production topology, it may be prudent to incorporate a simulated or real slow network link between the master and slave servers. For the purposes of this exercise, we have drawn the pre-production environment with no reference to other systems; in reality, the pre-production environment may be built within an existing pre-production environment representing a branch or department of an organization. This can be an important factor, as the systems will be co-existing in the production environment and sharing resources, such as server hardware and network bandwidth. It is important to understand how the replication of images between servers will affect ongoing transactions and backups and so on. Pre-production server hardware Table 2-8 shows you the pre-production server hardware for the test facility. Table 2-8 Pre-production server hardware Quantity Server type Speed RAM Free disk 2 Dual Xeon 1 Ghz 1 GB 10 Gb Chapter 2. Architecture and deployment scenarios 55 Pre-production client hardware Client hardware would ideally consist of one of every type of production client system being used in the organization. This would include desktop workstations, mobile computers, servers, and virtual systems. Pre-production installation The pre-production environment’s installation is a little different than the development environment in that it utilizes a multi-user relational database management system. The most important thing to remember when installing with the alternate database is that the database and an ODBC source (system DSN named AutoDeploy) must be installed before the Tivoli Provisioning Manager for OS Deployment wizard is run. Once both servers are installed, a replication regime needs to be set up to replicate deployment profiles that are imported from the development server to the pre-production master server, so that the profiles are available on the slave server for deployment and testing. To be an accurate reflection of production environment, this replication regime should be the same as in the production environment. A discussion regarding the different replication methods is included in “Image replication” on page 31. Production environment The production environment shown in Figure 2-9 on page 57 shows the five sites sharing the one RDBMS with the London site acting as the master. The London server hosts the RDBMS for the implementation, and is a dedicated server. The four slave servers are all being run on the local file and print servers at their respective sites. 56 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Production server infrastructure The main Tivoli Provisioning Manager for OS Deployment server in London (M) M DB W S E NI One Tivoli Provisioning Manager for OS Deployment server per region •Synchronized with the main Tivoli Provisioning Manager for OS Deployment •Utilizing the same database •Using the main Tivoli Provisioning Manager for OS Deployment in London as a backup server Workstations connected to the regional Tivoli Provisioning Manager for OS Deployment server Figure 2-9 Production environment The server specifications are shown in Table 2-9. Table 2-9 Server specifications Servers Applications run Server type Speed RAM Free disk London Master Tivoli Provisioning Manager for OS Deployment DB2® Dual Xeon 1 GHZ 2 GB 100 GB Branch Servers - slave File and Print services Dual Xeon 1 GHZ 1.5 GB 60 GB dedicated disk The master server is running 1 GB of RAM for the Tivoli Provisioning Manager for OS Deployment server and 1 GB for the DB2 server. As this will be a small database by any standard, and there will be minimal querying, it is not necessary Chapter 2. Architecture and deployment scenarios 57 to increase the number of CPUs or separate the DB2 off onto a separate server. 100 GB of disk gives plenty of space for a large portfolio of images. The branch file and print servers were all running 512 KB of RAM; this was upgraded to 1.5 GB when the Tivoli Provisioning Manager for OS Deployment was deployed along with a 60 GB dedicated disk for images. Profiles The organization has approximately 400 workstations and 30 servers, and as such there are a variety of profiles that need to be made available to build and rebuild these computers. The function of the current builds are as follows: Transaction workstations: These are currently Windows XP and are primarily used to run the organization’s main transactional application, which is accessed via a Web browser. These users have access to an e-mail application and a number of other utility applications. They store no data on these computers and are allowed to make no changes to the look and feel of the operating environment. This control is exerted by security policy through Active Directory. The individual computers are not assigned to any one user. The employees who use the computers have no sense of ownership of them. Back office workstations: These workstations are also currently Windows XP, but running many applications via a Web browser and loaded locally. These users do exercise a degree of autonomy over the look and feel of their computer, as it is assigned to them and they use it exclusively. Within the various back office departments there are a variety of different applications loaded for different job roles. Although company policy is to not store data on the local computer hard drive, users do tend to have a lot of data stored locally. Power user workstations: These workstations are predominantly in the IT department, but there are a number scattered around the company via the informal network of friends. These are workstations based on the back office workstation, but with fewer control over configuration changes, usually with more memory, applications, and disk. Windows 2000 servers: The file and print services are all built on a Windows 2000 platform. It is a standard build, but across a variety of models of server hardware Windows 2003 servers: The e-mail system, accounting application, and a number of back-end IT systems, such as the backup, run on a Windows 2003 platform. This platform is run across a variety of hardware models. Linux business application servers: There are 10 X86 multi CPU Linux servers running the organization’s business application. Each site has two load balanced servers linked back to the master site in London. 58 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment A Windows Vista™ SOE is in development for the various workstation categories above. Unattended setup profiles We decided that for all server builds, that is, the Windows 2000, Windows 2003, and Linux server builds, that an unattended setup profile will be developed. This is because the predominant reason that one of the existing servers would be rebuilt would be as part of a disaster recovery plan (the disaster could be a machine or site failure). If that were to happen, the chances that the hardware the organization would be able to use for the replacement server would not necessarily be the same or even come from the same vendor as the original server. Therefore, we thought that the unattended setup offered more flexibility in this instance. Clone profile A universal image is developed for all SOE versions. Across the 400 workstation computers, there are only 15 different models, so it is easy to build the necessary driver packages for injection into the image during the build process. The image is based upon the transaction workstation used by operators for face to face and phone based transactions. A naming convention within the organization designates a workstation’s function, and also the group that it is assigned to within Tivoli Provisioning Manager for OS Deployment. Each group has a profile bound to it so that when the workstation is built or rebuilt, it automatically gets the correct profile. The driver packages are bound to the PCI ID of the component it supports and are automatically installed with an image if the computer hardware requires the driver. The base software required by all users has been included in the universal profile. Deployment schemes A number of deployment schemes are to be set up to meet the following conditions: the bulk rollout of new computer hardware with the Vista SOE installed, the rebuild of a single computer, the build of a single computer, and the build of a redeployable computer. This equates to three deployment schemes. Details of those three schemes follow. Chapter 2. Architecture and deployment scenarios 59 Multicast rollout deployment scheme This scheme will be used for new hardware deployments on a dedicated build LAN where groups of 10-15 workstations will be built at once. The characteristics of this deployment scheme are shown in Table 2-10. Table 2-10 Multicast rollout deployment scheme Settings Setting Comment Allow BOM editing Never (Always run unattended) Not necessary; all host information to be pre-loaded. Request User confirmation No No allowance of user rejection of build. Enforce Model locking No Using a universal profile. Deployment method Full Deployment Run sysprep at build time. When deployment is done Show green screen For visual confirmation of completion. Unbind configuration at the end Yes Another configuration will be bound later. Deployment status report Store full log General settings Save deployment log to: Hardware inventory PCI, Disk, DMI Perform Inventory Locked Store hardware but no software. Network settings 60 Before start wait 120 seconds To synchronize other multicast clients. Bandwidth limitation None Dedicated build network. Deploy using unicast No Using multicast. Crypt network traffic No Within a private network. Use “BIOS fall back MBR“to start PXE No Not necessary, tested the adapter in this computer model. Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Settings Setting Comment Alternate image server - This build is to come from the designated server and no other. Redeployment Redeployment partition - User authentication - Authentication options - Software binding settings Discard all other binding rules No Bound software - Apply group and hardware binding. Single computer deployment scheme This scheme is for general use in one-off deployments or system rebuilds. The deployment will occur over a production 100 Mbps LAN probably during business hours. The characteristics of this scheme are shown in Table 2-11. Table 2-11 Single computer deployment scheme Settings Setting Comment Allow BOM editing Only for unknown new host Unnecessary for rebuilds, but possibly necessary for a new computer. Request User confirmation Yes Allows a user to reject a rebuild. Enforce Model locking No Using a universal profile. Deployment method Full Deployment Run sysprep at build time. When deployment is done Reboot the computer Ready for use. Unbind configuration at the end No This configuration. Deployment status report Store full log General settings Save deployment log to: Chapter 2. Architecture and deployment scenarios 61 Settings Setting Comment Hardware inventory PCI, Disk, DMI Store hardware but no software. Perform Inventory Locked Network settings Before start wait - Not using multicast. Bandwidth limitation 50 Mbps 50% of the 100 Mbps production bandwidth. Deploy using unicast Yes Crypt network traffic No Within a private network. Use “BIOS fall back MBR“to start PXE No Not necessary; tested the adapter in this computer model. Alternate image server - There is no other local build server. Redeployment Redeployment partition - User authentication - Authentication options - Software binding settings Discard all other binding rules No Bound software - Apply group and hardware binding. Redeployment deployment scheme Due to the utilitarian nature of the transaction workstations, these workstations will be deployed with a redeployment scheme. The workstations will have a customized menu with two options: 1. Quick Restore: This option will have a five second timer. 2. Full format and restore. This will ensure that every time the PC is rebooted, it will be returned to its pristine state, reducing the need to log calls to the help desk for computer configuration issues. 62 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment A screen capture of the menu is provided in Figure 2-10. Figure 2-10 Customized redeployment menu The deployment scheme settings are shown in Table 2-12. Table 2-12 Redeployment deployment scheme Settings Setting Comment Allow BOM editing Only for unknown new host Unnecessary for rebuilds, but possibly necessary for a new computer. Request User confirmation No No allowance for a user to reject a rebuild. Enforce Model locking No Using a universal profile. Deployment method Full Deployment Run sysprep at build time. When deployment is done Reboot the computer Ready for use. General settings Chapter 2. Architecture and deployment scenarios 63 Settings Setting Comment Unbind configuration at the end No This configuration and deployment scheme are to be bound to this computer. Deployment status report Store full log Save deployment log to: Hardware inventory PCI, Disk, DMI Perform Inventory Locked Store hardware but not software. Network settings Before start wait - Not using multicast. Bandwidth limitation 50Mbps 50% of the 100 Mbps production bandwidth. Deploy using unicast Yes Crypt network traffic No Within a private network. Use “BIOS fall back MBR“to start PXE No Not necessary; tested the adapter in this computer model. Alternate image server - There is no other local build server. Redeployment partition 2000 Mb The size of the SOE. User authentication Does not require authentication Authentication options - Redeployment Software binding settings 64 Discard all other binding rules No Bound software - Apply group and hardware binding. Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Computer boot sequence There will be a variety of computer boot sequences for the different computers in the organization’s environment. These are detailed below, including the reasoning behind each one. Servers Once built, servers will have their boot sequence changed to: 1. Hard Disk 2. CD ROM 3. Removable device 4. Network Boot To ensure that an inadvertent network boot does not start a deployment, the boot setting for the server group is set to boot from hard drive. For a deployment to occur, this must be explicitly overridden. Transaction workstations The transaction workstations that will have a redeployment image stored locally will be permanently set to boot in the following order: 1. Network 2. CD ROM 3. Removable device 4. Hard disk Booting off the network or the hard drive looks the same on a redeployable computer. There are two extra windows: the Tivoli splash window and the redeployment menu. However, when booted off the network, those windows are sourced from the Tivoli Provisioning Manager for OS Deployment server and therefore can be changed by the administrator, adding or removing items without it being necessary to visit each computer. It is also possible to send a new image to the computer without any physical contact to it. Back office and power user workstations The back office and power user workstations will be set to boot in the following order: 1. Hard disk 2. CD ROM 3. Removable device 4. Network boot Chapter 2. Architecture and deployment scenarios 65 These workstations will also have the RbAgent loaded. This will allow an administrator, in a situation where a workstation needs to be rebuilt, to shut down and restart the computer off the network without needing to ask the user to change the boot order. Profile migration Profiles will be developed in the test environment and initially tested there. Once a profile is ready for production migration, it will be migrated from test to pre-production through a DVD. This process is explained in detail in “Migration strategy” on page 51. Once the profile has been tested in the pre-production environment, the same DVD that was imported to pre-production can be imported into the production environment. Using the same DVD will ensure the integrity of the profile. Image replication Image replication between the different sites is going to be executed using the current replication tool in production use within the organization. We decide to use the current tool for a number of reasons: 1. Replication really only need to be done on an ad hoc basis, and therefore having another scheduled task in the network is an unnecessary management overhead. 2. Control. The organization has run on minimal network bandwidth between sites for many years. A focus on the traffic flowing over these network links has made any upgrades unnecessary. By using the current replication tool, control over the traffic can be maintained. 3. The ability to stop and restart a replication, checkpoint restart capability, and adaptive bandwidth control are not part of the built in replication service. Security settings The organization’s central authentication service is Microsoft Active Directory. We decide that this will also be used for authentication in the Tivoli Provisioning Manager for OS Deployment solution. Four user groups are created within Active Directory, one for each Tivoli Provisioning Manager for OS Deployment role. In the HTTP Console Security window, the Active Directory groups are defined within each Tivoli Provisioning Manager for OS Deployment role. Then when users are subscribed to the Active Directory groups according to their designated role, they inherit access to the Tivoli Provisioning Manager for OS Deployment role. The four roles defined within the organization’s system are shown in Table 2-13. 66 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Table 2-13 Security roles Role Active Directory group HTTP console access Security policy Administrator Administrators Access all areas. No restriction. Developer Developers OS Deployment - yes. Server Log files - yes. Server parameters No. Server status - Yes. Deny changes to the server configuration. Operator Operators OS Deployment - yes. Server Log files - No. Server parameters No. Server status - Yes. Deny addition/removal of hosts. Deny any changes to RAD hosts. Deny changes to the server configuration. Installer Installers OS Deployment - yes. Server Log files - No. Server parameters No. Server status - No. Deny addition/removal of hosts. Deny any changes to RAD hosts. Deny changes to RAD deployment schemes. Deny changes to RAD software packages. Deny changes to RAD system profiles. Deny changes to the server configuration. The company expands As is the way of the world, our organization merges with another multinational organization. We decide to expand the Tivoli Provisioning Manager for OS Deployment system. The new organization is spread around the world with offices in France, Spain, Austria, Germany, Japan, India, and China. The head office is still based in London. The existing architecture needs to be changed to more effectively deal with the larger organization. Chapter 2. Architecture and deployment scenarios 67 Architecture The new architecture will incorporate three tiers and break the organization up into three regions, which are; Great Britain Europe Asia London will remain the master site. There will be four separate databases: a master in London and one each in the English, European, and Asian hub sites. There will be no replication of host information between these databases, only profile and deployment scheme data. The physical layout is shown in Figure 2-11. Adapting the production environment • Level 1 2 London • • Level 1 server has an independent database. – Specific replication mechanism between level 1 and 2 servers Level 2 and 3 servers share databases Level 2 are backup for level 3 servers. Great-Britain Europe Asia 3 Figure 2-11 Expanded production environment Profile development will continue to be done at the London master site. It is at this point that profiles are introduced to the system for replication out to the regions. 68 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Replication As with the original architecture, the actual replication of data is done using a third-party replication tool. The third -party tool allows the organization to manage the replication requirements of Tivoli Provisioning Manager for OS Deployment along with the rest of their data replication with one tool. In a large and complex environment, such as this one, being able to stop and start replication, dynamically adjust bandwidth utilization to the level of traffic in the network, and schedule data movement adds real value. The process to drive replication from the command line is described in “Image replication” on page 31. Test environment Just as the architecture of the production environment has changed with the expansion of the organization, the test facility must change as well. There is little point to having a pre-production environment if it does not mirror production in at least the major functions. In the case of the test facility, to mirror production we need to add another level of the server to replicate the master site. The server that was the master server will now replicate that of a regional center. The new master server will have its own database that will not contain any host information; this information is kept down at the regional level. This architecture is shown in Figure 2-12 Adapting the test facility • Development server remains identical • Pre-production server adds one level of servers RAD archive transfer Figure 2-12 Expanding the test facility Chapter 2. Architecture and deployment scenarios 69 70 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Related publications The publications listed in this section are considered particularly suitable for a more detailed discussion of the topics covered in this IBM Redpaper. IBM Redbooks publications For information about ordering these publications, see “How to get IBM Redbooks publications” on page 71. Note that some of the documents referenced here may be available in softcopy only. Deployment Guide Series: Tivoli Provisioning Manager for OS Deployment V5.1, SG24-7397 Other publications These publications are also relevant as further information sources: Tivoli Provisioning Manager for Operating System Deployment Guide (Fix Pack 1), SC32-2582 Online resources These Web sites are also relevant as further information sources: IBM OPAL Web site http://www.ibm.com/software/tivoli/features/it-serv-mgmt/opal.html How to get IBM Redbooks publications You can search for, view, or download Redbooks, IBM Redpapers, Technotes, draft publications and Additional materials, as well as order hardcopy Redbooks, at this Web site: ibm.com/redbooks © Copyright IBM Corp. 2007. All rights reserved. 71 Help from IBM IBM Support and downloads ibm.com/support IBM Global Services ibm.com/services 72 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Index Symbols .NET Framework 3.0 6 A Access database 39 Active Directory 44, 52 advanced hybrid images 11 assessment of a deployment tool 10 AutoDeploy 56 B bandwidth controlled replication 20 binding 26 BitLocker 7 blind migration 9 boot from CD/DVD 20 boot options hard drive boot 36 network boot 37 business requirements 6 C client boot options 36 cloned image 22–23 cloning process 23 Command line export utilities 20 common OS deployment scenarios 13 rebuild of a previously deployed user workstation 14 rollout of new desktop hardware 14 upgrade of hardware and subsequent Vista install 15 Configuration Life cycle 3 network usage 28 soft synchronization multicast 30 unicast 28 network usages synchronized multicast 30 DHCP discovery packets 42 DHCP server 42 disk types 24 DMZ (demilitarized zone) 44 driver injection 18 driver package 22, 24 driver package creation wizard 25 Dynamic Host Configuration Protocol (DHCP) 41 E efficiency in storage 24 efficient image storage 19 F firewalls 42 fresh OS install 9 G greater security 6 H host names 26 assigned by Tivoli Provisioning Manager for OS Deployment 26 automatic generation 26 importing 26 manually entering 26 I D Deploy Now function 37 deployment rule 24 deployment scheme 19 actions 27 data collection 27 multicast rollout 48 © Copyright IBM Corp. 2007. All rights reserved. IBM Director 3 IBM OPAL website 34 image replication 31 built in file replication service 32 how it works 31 73 L S locked window 37 SAN (storage area network) 39 save money 6 scheduled replication 20 security 44 Security Development Life cycle (SDL) 6 server specification 39 slave servers 56 SMB (Server Message Block) 13 snapshot 23 soft synchronization multicast 30 software deployment 18 software package 22, 25 Standard Operating Environment (SOE) 7, 45 subnets 45 switched network 39 Sync.PAK file 34 synchronized multicast 30 sysprep 22 M Mac OS-X 12 Microsoft Vista 6 Microsoft Vista support 18 Microsoft WIM images 12 Microsoft WinPE 12 mini setup 23 MSI (Microsoft Installer Package) 25 multicast 11 multicast packets 30 multiple subnets 17 N network bandwidth savings 19 network bandwidth utilization 19 network boot 26 network booting without PXE 40 Network sensitive image replication 20 no touch build capability 18 O older versions of Windows 6 option 43 42 option 60 42 P PKGADD 25 Preboot eXecution Environment (PXE) 40 profile 18 exporting 35 importing 35 migration 34 R RAD Export Wizard 35 RbAgent 15, 33–34, 37, 40, 51, 66 RDBMS vendor 39 Redbooks Web site 71 Contact us viii redeployment 20, 37 how it works 38 repository synchronization 34 RPM (Red Hat Package Management) 25 74 T ThinkVantage Access Connection 9 Tivoli Provisioning Manager for OS Deployment 3, 45 architecture 21 binding 26 capabilities 5 client boot options 36 common OS deployment scenarios 13 Configuration Life cycle 3 deployment scenarios enterprise 52 company expands 67 deployment schemes 59 design 53 small site 45 deployment scheme 49 design 46 topology 45 deployment scheme 27 driver packages 24 DVD deployment 41 features 18 adjustable network bandwidth utilization 19 boot from CD/DVD 20 build from DVD 19 design considerations 21 driver injection 18 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment highly efficient image storage 19 network sensitive image replication 20 no touch build capability 18 redeployment 20 software deployment 18 system cloning 18 uattended setup 19 unicast and multicast image deployment 19 universal system profile 18 image replication 31 kernel 40 redeployment 37 security 44 Software packages 25 unattended setup 21 universal system profile 24 Trustworthy Computing Initiative 7 U unattended setup 19 advantage 21 universal system profile 24 user data migration strategy 9 V Vista 7, 47 Vista migration 9 Vista support 18 Vista's Aero Glass interface 6 W WIM (Windows Imaging) 12 Windows 2000 45 Windows Communication Foundation (WCF) 6 Windows INI file 25 Windows registry 25 Windows Vista SOE 59 Windows Workflow Foundation (WWF) 6 Windows XP 45 Index 75 76 Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Back cover Architecting a Highly Efficient Image Management System with Tivoli Provisioning Manager for OS Deployment Guidelines for selecting an image management solution Architectural considerations for the TPM for OS deployment solution Deployment scenarios and case studies Tivoli Provisioning Manager for OS Deployment provisions operating systems and applications to computers using the Pre-boot eXecution Environment (PXE) industry standard for bare-metal installation. A bare-metal installation eliminates the need for an operating system to be present on a local disk drive. Tivoli Provisioning Manager for OS Deployment is a turn-key solution to the most common provisioning issues and provides an easy to use, turn-key solution for education, SMB, or larger accounts. In this IBM Redpaper, we discuss how to design and implement a highly effective image management solution for small, medium, and enterprise accounts, taking network bandwidth limitations and large OS image sizes into consideration. We also cover the considerations for choosing an image management solution and the benefits of implementing such an environment. Note that this IBM Redpaper is more geared to IT Architects. For a full discussion of Tivoli Provisioning Manager for OS Deployment, including installation, customization, and other product integrations, refer to Deployment Guide Series: Tivoli Provisioning Manager for OS Deployment V5.1, SG24-7397. ® Redpaper INTERNATIONAL TECHNICAL SUPPORT ORGANIZATION BUILDING TECHNICAL INFORMATION BASED ON PRACTICAL EXPERIENCE IBM Redbooks are developed by the IBM International Technical Support Organization. Experts from IBM, Customers and Partners from around the world create timely technical information based on realistic scenarios. Specific recommendations are provided to help you implement IT solutions more effectively in your environment. For more information: ibm.com/redbooks REDP-4294-00