Abstract:
A system and method for network image propagation without a predefined network advantageously allows customers to automatically perform several system BOS installation or mksysb restoration over a virtual network with no predefined network and minimal installer configuration overhead. A method for network image propagation comprises: identifying a plurality of logical partitions residing in the logically partitioned terminal; configuring a temporary virtual network to connect said plurality of logical partitions to each other, wherein each one of the logical partitions is assigned at least one of a virtual Internet Protocol (IP) address and a virtual Media Access Control (MAC) address; installing an application image on at least one of the logical partitions via the temporary virtual network; deconfiguring the temporary virtual network; and assigning at least one of a physical IP address and a physical MAC address to said at least one logical partition on which the application has been installed.

Description:
FIELD 
   The disclosure generally relates to computer systems administration, and more in particular to a system and method for network image propagation (e.g., propagating application images across a logically partitioned terminal) without a pre-configured network and without having to setup an network installation master. 
   BACKGROUND 
   Server administration is a major issue at many businesses with servers running plural logical partitions (LPARs). Each LPAR needs to be installed, backed up and maintained e.g., restored) from time to time. It normally takes several hours just to install one LPAR from scratch. In addition, cost effectiveness for backups and/or restores becomes a major concern when dealing with multiple LPAR clients. Current methods of installing, restoring and/or backing up applications to/from several LPARs are time consuming and costly. 
   For Example, in some conventional networks, a network installation manager (NIM) is utilized to provide network installations. NIM for AIX (Advanced Interactive eXecutive) sold by International Business Machines (IBM) Corporation is an example of an application used for network image propagation (e.g., installing applications on plural LPARs). NIM installation methods include: configuring a NIM master either internal or external to a frame of LPARs to be installed, configuring a inter-LPAR network on the frame, and performing image application propagation to each LPAR via the inter-LPAR network. 
   Setting up a NIM master involves various tasks including: (a) installing NIM file sets, (b) configuring basic resources, (c) creating machine and network definitions, and (d) allocating resources that are used to install the needed machines. In addition, the NIM master has certain minimum requirements. For example, the NIM master requires access to sufficient memory and processor power along with a fast network and access to some kind of installation media. The NIM master also requires sufficient disk space to provide storage space for the necessary resources for the client LPARs, as well as for the backups of their volume groups containing the basic operating system (rootvgs). In the foregoing NIM environment, the LPAR with the resources is also commonly referred to as the VIO (virtual I/O) Server and the other LPARs using it are referred to VIO clients or LPAR clients. 
   In order to establish and run a NIM master, there are many NIM resources that need to be defined prior to the installing/propagating of applications from to the NIM master to the LPAR clients. NIM resources are defined in a NIM database on the NIM master (VIO server). Some of the NIM resources include: 
   lpp_source: The Licensed Program Product source (lpp_source) directory contains the images that the OS (e.g., AIX) uses to load software. These are typically the backup file format (BFF) images that exist on the OS installation CDs or DVD. Each OS version should have its own lpp_source. 
   SPOT: The Shared Product Object Tree (SPOT) is a directory created from the lpp_source. The SPOT is used in a similar fashion to the boot images and installation scripts on the base installation CD (e.g., volume one for AIX). It may be necessary to create multiple SPOTs depending on the installation/maintenance levels and versions that must be supported. 
   Mksysb: A method for backing up the OS. The NIM master can use lpp_source to install an instance, or it can install the instance from a mksysb of either that instance or another one. An instance as used herein refers to an OS image. 
   Scripts: Scripts can be set to run during a BOS (basic operating system) install to ensure that the resulting instance of the OS is correctly tailored with any post-installation items. These can include security requirements, third-party software installation and other customizations related to additional paging or dump space. 
   bosinst_data: This is a file that contains the necessary information to allow the installation to take place without manual intervention. It is used to define defaults such as default disk drive, type of installation, or the like. 
   image_data: This file contains OS image information related to file systems, mirroring, or the like. 
   installp_bundles: These are files that list additional software to be loaded after the BOS is installed. This can be useful when setting up groups of servers. As an example, one bundle may be for DB2 servers, while another may be for Web servers. Once the OS is installed, a desired post-install bundle may be installed in the same fashion as the BOS. 
   Accordingly, it would be highly desirable to perform installation/propagation of applications (e.g. BOS installs, mksysb restores, system backups, or the like) across a logically partitioned computer system over a virtual network with no-predefined network and without the need to configure a NIM master. Thus, advantageously providing a system, method and/or computer program product for mass network installation with minimal installer configuration overhead. 
   SUMMARY 
   The following examples provide a system and a method for automatically installing (also referred herein as “propagating”) application images across a logically partitioned computer system without a pre-configured network and with minimal installer configuration overhead. Exemplary embodiments of this disclosure would advantageously enable a user to automatically configure a temporary virtual inter-LPAR network, by temporary assigning virtual IP (internet protocol) and/or MAC (media access control) addresses solely for the purpose of installing (propagating) application images (e.g. BOS installs, mksysb restores, system backups, or the like) onto a plurality of LPARs. Upon successful installation, the temporary IP and/or MAC addresses would then be erased (deconfiguring the virtual network), and the newly installed LPARs would be assigned externally addressable (i.e. physical network) IP and/or MAC addresses through suitable network configuration methods. 
   In accordance with at least one disclosed example, a method for propagating applications in a logically partitioned terminal comprises: identifying a plurality of logical partitions residing in the logically partitioned terminal; configuring a temporary virtual network to connect said plurality of logical partitions to each other, wherein each one of the logical partitions is assigned at least one of a virtual Internet Protocol (IP) address and a virtual Media Access Control (MAC) address; installing an application image on at least one of the logical partitions via the temporary virtual network; deconfiguring the temporary virtual network; and assigning at least one of a physical IP address and a physical MAC address to said at least one logical partition on which the application has been installed. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a schematic diagram of an exemplary logically partitioned environment where the present invention may be practiced. 
       FIG. 2  is a schematic flowchart of an exemplary process performed for propagating application images from a computer readable media onto each of a plurality of LPARs. 
   

   DETAILED DESCRIPTION 
   In the following description of the various examples, reference is made to the accompanying drawings which are illustrations of various embodiments in which the system and method may be practiced. It is to be understood, however, that those skilled in the art may develop other structural and functional modifications without departing from the scope of the instant disclosure. 
   In the following description, specific details are set forth in order to provide a thorough understanding of the examples disclosed. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily lengthen the present disclosure. Some embodiments of the present invention may be practiced on a computer system that includes, in general, one or a plurality of processors for processing information and instructions, random access (volatile) memory (RAM) for storing information and instructions, read-only (non-volatile) memory (ROM) for storing static information and instructions, a data storage device such as a magnetic or optical disk and disk drive for storing information and instructions, an optional user output device such as a display device (e.g., a monitor) for displaying information to the computer user, an optional user input device including alphanumeric and function keys (e.g., a keyboard) for communicating information and command selections to the processor, and an optional user input device such as a cursor control device (e.g., a mouse) for communicating user input information and command selections to the processor. 
   As will be appreciated by those skilled in the art, the present examples may be embodied as a system, method or computer program product. Accordingly, some examples may take the form of an entirely hardware embodiment, and entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred herein as a “circuit”, “module” or “system”. Further, some embodiments may take the form of a computer program product embodied in any tangible medium of expression having computer-usable program code stored therein. For example, some embodiments described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products can be implemented by computer program instructions. The computer program instructions may be stored in computer-readable media that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable media constitute an article of manufacture including instructions and processes which implement the function/act/step specified in the flowchart and/or block diagram. 
   Referring now to the drawings, wherein like reference numerals refer to like parts,  FIG. 1  is a block diagram illustrating an exemplary logically partioned computer system  100 , which may appropriately be referred also as an “LPAR terminal.” In accordance with at least one illustrative embodiment disclosed herein, computer system  100  may be implemented using various commercially available computer systems. For example, any one of an IBM AS/400 computer system or an enhanced IBM eServer iSeries computer system represents one suitable type of computer system that supports logical portioning and may be used to practice the disclosed examples.  FIG. 1  is intended as an illustration only, and not as an architectural limitation for the present disclosure. Accordingly, those skilled in the art will appreciate that the mechanisms and apparatus disclosed herein apply equally to any computer system that supports logical partitions. 
   As illustrated in  FIG. 1 , this example of a computer system  100  comprises one or a plurality of processor(s)  110  operatively connected to media drive  102  via media I/F  104  and to memory bank  115  via a system bus  108 . Memory bank  115  contains logical partitions (PLAR 1-n ) herein designated by reference numerals  112 ,  114 ,  116  and  118 . Although the partitions  112 - 118  are shown in  FIG. 1  to reside outside processor  110 , those skilled in the art will recognize that a partition is a logical construct that includes the division of a computer system&#39;s processor(s), memory, and hardware resources into multiple units so that each unit can be operated independently from each other with its own operating system and applications. The number of logical partitions that can be created depends on the computer system&#39;s processor(s) model and resources available. Other elements (e.g. hardware resources, memory buses, I/O circuits, etc) of logically portioned computer system  100  will be readily apparent to those skilled in the art and are therefore omitted in this disclosure. 
   Each one of LPAR 1  through LPAR n , contains a virtual Ethernet adapter (VEA) designated by reference numerals  121 ,  122 ,  123  and  124 , respectively. LPARs  112 - 118  can communicate among themselves using VEAs  122 - 124 , via virtual network  125 , using LPAR management firmware  120 , such as IBM&#39;s Hypervisor. Persons of ordinary skill in the art will appreciate that although IBM&#39;s Hypervisor product is used here as an example of LPAR management firmware  120 , other partition management firmware products may be used. In addition, virtual Ethernet technology, which enables Internet Protocol (IP) based communication between logical partitions on the same computer system, is well known and detailed description thereof is omitted. Those interested in further details regarding virtual Ethernet technology may refer to, for example, the IEEE 802.1Q standard, which describes virtual LAN (VLAN) technology. 
   LPARs  112 - 118  needing to access to an outside network may use a network interface (I/F)  130 , such as, e.g., an Ethernet switch. In order to communicate via network I/F  130 , LPARs  112 - 118  may use physical Ethernet adapters (PEA) which may be assigned to each logical partition, or may use a shared physical Ethernet adapter (SEA) located in any LPAR and connected to network I/F  130 . In the example illustrated in  FIG. 1 , LPARs  112 - 118  may connect to an outside network using a shared PEA  134  via virtual networks  125  and  135 . Those skilled in the art may readily recognize the various virtual and/or physical topographies in which LPARs  112 - 118  may be connected to an outside network via network I/F  130 . Accordingly, the illustrative diagram of  FIG. 1  is intended for exemplary purposes only. 
   Returning to  FIG. 1 , processor  110  is shown to be operatively connected to a media drive  102 , which has access to computer-readable media  105  (hereafter simply referred to as “media  105 ”). Examples of computer readable media may include: nonvolatile, hard-coded type media such as Read Only Memories (ROMS) or Erasable, Electrically Programmable Read Only Memories (EEPROMs), recordable type media such as floppy disks, hard disk drives, CD-ROMs and DVD ROMs, and transmission type media such as digital and analog communication links, and wired or wireless communications links using transmission forms, such as, for example, radio frequency and light wave transmissions. The computer readable media may take the form of coded formats that are decoded for actual use in a particular data processing system. 
   In accordance with an exemplary embodiment, the depicted example of media  105  in  FIG. 1  represents a version of media that has a ready to run version of NIM. In other words, media  105  may be encoded with the required NIM resources comprising, for example, a base SPOT, lpp_source, at least basic VIO capabilities and any additional software needed for the installation/propagation of application images. Accordingly, in this particular embodiment, media  105  represents a network installer image that does not have to be installed as a NIM master (VIO server) into a dedicated LPAR to function. That is to say, a user may install/propagate application images across LPARs  112 - 118  directly from media  105  without having to configure a NIM master and/or VIO server. In addition, as it is more fully explained below, logically partitioned computer system  100  needs not have a predefined network in order to perform the installation/propagation of application images. 
   With reference now to  FIG. 2 , a process  200  for propagating application images from computer readable media  105  onto each of a plurality of LPARs is illustrated. The process is described from the perspective of a user (e.g., systems manager, network administrator, or the like) initiating the installation/propagation of application images across LPARs  112 - 118 . For simplicity of describing, it is assumed that media  105  comprises all the necessary installation resources including, for example, a BOS boot image stored thereon, which may be utilized by the user to perform the various steps required for the installation. In addition, media  105  may be provided with a self-starting application “wizard” (e.g. an auto executing file) that would automatically launch and perform process  200  with minimal or not user intervention at all. 
   Process  200  starts when the user loads media  105  into media drive  102  of  FIG. 1 . At step S 202 , logically portioned computer system  100  boots from media  105 . At step S 204 , instructions stored in media  105  cause processor  110  with the aide of firmware  120  to identify all available LPARs residing in LPAR terminal  100 , and determines whether an inter-LPAR network exists (S 206 ). If it is determined that an inter-LPAR network exists (YES at S 206 ), processor  110  identifies each LPAR in a conventional manner and stores any available identification (e.g. MAC address or VID) of each LPAR in memory (S 208 ). Alternatively, when no inter-LPAR network exists, the process advances (NO at S 206 ) forward to S 210 . At step S 210 , additional software resources in media  105  cause processor  110  to setup a temporary virtual network (e.g., temporary VLAN). 
   A temporary VLAN (represented in  FIG. 1  by chain-link lines  128 ) may be configured utilizing currently known technology, such as the above-mentioned IEEE 802.1Q standard in combination with suitable networking protocols, such as TCP/IP protocols. For example, if no inter-LPAR network has been predefined between LPARs  112 - 118  of  FIG. 1 , VIO resources encoded in media  105  may automatically assign a virtual Ethernet adapter (VEA) to each existing LPAR. Then, by using virtual addressing and keeping the IP addresses to an internal subnet, such as, e.g., the 192.168.0.x address commonly used by DHCP (Dynamic Host Configuration Protocol) routers, it is possible to temporarily assign a unique IP address known only internally to the CEC (central electronic complex) of computer system  100 . Alternatively, in the case that a inter-LPAR network may have been pre-established between LPARs  112 - 118 , software resources provided in media  105  may instruct processor  110  to setup an new and/or additional VLAN by assigning temporary MAC (Media Access Control) addresses to each one the VEAs  121 - 124 . Whether using virtual MAC addresses, virtual IP addresses, or a combination thereof, a temporary inter-LPAR network is created by connecting LPARs  112 - 118  to one another for purposes of installation only. Thus avoiding conflicts with pre-established physical or virtual networks. 
   After a temporary virtual network has been established, the process advances to step S 208 . At step S 212 , software resources encoded in media  105  cause processor  110  to propagate (i.e. install) application images (e.g., BOS installs or mksysb, and any additional software necessary) to each one of LPARs  112 - 118  via the newly created VLAN. In the exemplary embodiment of  FIG. 1 , VIO resources provided in media  105  in combination with firmware  120  may provide basic VLAN tagging for the dynamic routing of data packets to their respective destinations via the temporary virtual network  128  created at step S 210 . At step S 214 , process  200  ensures that all the desired LPAR units have been properly installed with the designated applications and advances forward (YES at S 214 ) to the next step. Alternatively, application image propagation is automatically repeated (NO at S 214 ) until all of the LPARs  112 - 118  residing in computer system  100  have been installed. 
   At step S 216 , after all installations have been performed, software resources encoded in media  105  instruct processor  110  to erase (e.g., deconfigure) temporary virtual networking resources. For example, the temporary virtual IP/MAC addresses assigned at step S 210  are now erased, and a new set of permanent physically addressable IP/MAC addresses are assigned to all or selected physical Ethernet adapters residing in any of LPARs  112 - 118 . In the embodiment of  FIG. 1 , for example, a PEA  134  would be assigned an IP and/or MAC address that would be addressable from an outside network via network I/F  130 . In addition, VEAs  121 - 124  may be assigned permanent IP/MAC addresses in order to connect to PEA  134  via a virtual network connection  135 . In the case that a virtual and/or physical network had been pre-established between LPARs  112 - 118  prior to the propagation of application images, the network information stored at step S 208  is restored to its original state. As a result, the process ends the propagation of application images with minimal user interaction and without the need of a pre-existing network. 
   It is contemplated that the exemplary method set forth above can be implemented in an automated manner, without the need for repeated user intervention and directly from removable storage media without having to define and install a NIM master and/or VIO server. Those skilled in the art will appreciate that many variations are possible within the scope of the examples described herein. Thus, while the features of the invention have been described with reference to particular examples, it will be understood that these and other changes may be made within the scope of the following claims.