Multilevel Kick Start Server

Embed Size (px)

Citation preview

  • 8/3/2019 Multilevel Kick Start Server

    1/4

    Multi-Level Kick Start Server

    Roopak Venkatakrishnan

    Department of Computer Science and Engineering

    Sri Sai Ram Engineering CollegeChennai, India

    [email protected]

    Ananthakrishnan Ravi

    Department of Information Technology

    Madras Institute of TechnologyChennai, India

    [email protected]

    Abstract To set up an operating system on hundreds of

    machines is a daunting task. To automate this process the

    concept of a kickstart server may be used. While this system

    has its merits it fails in a large scale environment where high

    performance and availability is required. This paper focuses

    on utilizing the available resources to optimize the efficiency of

    a kickstart server in a network. The current kick start server

    employs one system which acts as the master node and sets up

    an Operating System and applications in a network of systems.

    When the scalability increases the performance of the masternode drops exponentially. A multi level kick start server helps

    overcome these issues. Here one server creates more servers

    and controls them, thereby reducing the load on the mainserver and also improving speed and efficiency.

    Kick Start Server; Multi-Level; Sub-server;

    I. INTRODUCTION

    Kickstart is a system for automated installation of RedHat Linux or Fedora Core Linux. Instead of answering all theinstallation questions manually, one can put configurationinformation and packages selection into a file which is readand executed by the installation program. This page provides

    general information, links and some tools for creating ormanipulating kickstart configuration files and boot images.

    The process of installing a Linux operating system inseveral machines is easily done using what is known as a

    Network install, by adopting Anaconda the installer for RedHat Enterprise Linux. Kickstart servers provide automatedinstallation of the OS as well setting up of applications andvarious other packages. It may also be used to performupdates of various packages on an entire network of systems.The Rescue mode can be used to troubleshoot a system thatis no longer bootable. It loads the necessary rescueenvironment from the second stage unit [1] and gives theuser a shell to access a system. There are 2 stages in a Linux

    boot loader. The first stage boots the system and performsinitialization of the system it then loads the second stagefrom the specified installation site.

    A Kickstart file contains a series of options, to be passedto the Anaconda installer that describes how to set up thesystem. It may also include custom scripts to be run before orafter the installation.

    A Kickstart installation follows these four steps:1. The machine is booted from a CD/DVD, a USB

    device or over a network using PXE and thenetwork protocols Dynamic Host ConfigurationProtocol and Trivial File Transfer Protocol.

    2. The Kickstart file is downloaded from the bootmedia or network (most common).

    3. An Anaconda installation is automaticallylaunched and reads the Kickstart file for thelocation of the Installation Tree. The tree canreside on the boot media or network.

    4. After accessing the Installation Tree, theinstaller attempts an unattended installation. Ifall the required information is unavailable fromthe Kickstart file or the file is configuredincorrectly, the installer may prompt the user foradditional information.

    In the multi-level Kick Start server, the main server setsup (say) n nodes. Each of these further propagates and setsup n nodes each. This reduces the load on the master andimproves the performance and also assists in case of afailure.

    The kick start server system described in this documentprovides a more efficient method to set up an entire networkof systems.

    II. R ELATED WORK

    Network-based Kickstart installations are more difficultto implement than the floppy-based ones. However, network-

    based Kickstart installations offer advantages. Onceconfigured, a network-based system offers better automationfeatures than the floppy method. Rather than buildingdifferent floppies for different installation options, the

    process is made easier when using a network.

    A BOOTP or DHCP server is needed on a privatenetwork to perform a network-based Kickstart installation.The BOOTP or DHCP server provides the installation clientwith its IP address so that it can communicate on thenetwork; network connectivity is, of course, essential if thecomputer is to receive the Kickstart configuration.

    Kickstart servers are deployed when multiple machinesare to be fitted with a homogenous operating system. Theclients are booted via network boot. In a kickstart server a

  • 8/3/2019 Multilevel Kick Start Server

    2/4

    client node requests the root node for an IP address tocommunicate with it, the root node which runs a dhcp serverallocates a unique IP address to each of the nodes thatrequest for a kickstart build. Once an IP address is allocateda kickstart file which is located in the server is sent to all thenodes and the configuration of the system to be built isspecified in the kickstart file. The node gets all the files

    required for the build and parses the kickstart file andconfigurations specified are applied. The operating system isinstalled along with the necessary packages. A centralizedrepository of the kernel and the packages is maintained in theroot node which is passed on the requesting nodes.

    III. PROPOSED SYSTEM

    In this environment the root kick start server sets up nnodes and also converts some of the nodes into kick startservers themselves. These nodes acquire a copy of theconfiguration files and settings to be implemented on thevarious other nodes. The process repeats iteratively till all thenodes are completely set up. This idea utilizes one masternode which controls the various sub servers (a kick start

    server created by the root kickstart server from an existingnode) which are set up and assigns them withresponsibilities.

    Figure 1. Structure of Network

    A. Management of Kick Start Servers

    The root server maintains a status_table which it uses tomonitor the scenario and progress of the entire process. Thistable is populated with information from the various subservers and the nodes themselves.

    When a node is set up depending upon the need it may beconverted to a kick start server. It is assigned nodes the subserver has to service. Each sub server maintains another tablewith its specified nodes and the progress. The table at theroot is constantly in sync with the tables on all sub servers.

    IV. IMPLEMENTATIONThe process starts with a single root server which is

    configured by the administrator as the kickstart server byusing packages dhcpd, xinetd, nfs and portmap along withftp for file transfer. After the root is configured the processof multilevel kickstart begins where the root server selectsnodes to be created as sub servers and once this process takes

    place certain numbers of sub servers are created based on thenumber of nodes that have requested for a kickstart build.Once adequate numbers of sub servers are built the nodes are

    serviced. Operating System and packages along with postinstallation scripts are installed in all the nodes.

    A. Status_table

    The root server maintains a table with 3 attributes IPaddress, type, and progress. The IP address maintains a listof the address of all nodes which the root node allocates at

    the beginning of the process. Type indicates whether thenode is a sub kick start server or a regular node and progressmaintains the level of completion on each node. Progress isset to -2 if the node is a sub server in use, -1 if it is a node yetto be touched and 0 to 100 for nodes allocated and in

    progress.

    Figure 2. Sample of Status Table

    B. Selection of Sub Servers

    Sub servers are created only when there is a necessityand the number of sub servers is calculated on the basis ofthe nodes still unattended on the network. Consider ascenario with 100 machines to be set up. If a root server canservice 10 systems at a time, when these 10 are completed 90systems remain to be serviced. Including the root we require9 servers. So 8 out of the 10 are converted into a sub serverand are assigned 10 systems by the root. Conversion to a subserver involves copying all required resources andconfiguration files from the root or any other sub server. Thismethodology is used in all cases to find the required numberof sub servers.

    V. ANALYSIS

    Consider a network with n nodes. Let a be the optimumno of machines that can be serviced by the root kickstartserver and let k be the time to perform a kickstartinstallation.

    Time Taken in case of a standalone kick start server

    n / a * k. (1)

  • 8/3/2019 Multilevel Kick Start Server

    3/4

    Figure 3. Flow Diagram of Sub Server Creation

    In the context of a multilevel kickstart server time takento convert a node to a kickstart server is much lesser thaninstallation of a node. So the time for n nodes can becomputed by using a recursive function as follows:

    ALGORITHM:timefn (nodes_left){

    Convert (nodes left / a) number of finished nodes tosubserver

    Service left over nodes using all subserversnodes_left=new number of nodes lefttimefn(nodes_left)

    }

    So the total time taken to complete the entire process isjust time can be given by

    k + timefn(n-a). (2)

    This is based on the fact that n is very much greater thana and hence the multilevel kickstart server turns out to be

    more efficient.

    VI. ADVANTAGES

    A. Failover

    The major advantage of a multilevel kickstart server isthat can perform when a kickstart server fails. The systemthat was servicing comes under a kickstart server that hasfewer nodes attached to it. In event of failure that kickstart

    server is removed out of the network and repaired until itsreturn.

    B. Performance

    The basic intuition for going for a multilevel kickstartserver is performance. It can service a larger number ofnodes with less latency, faster installation and better

    execution of tasks.

    C. Installation of applications and a centralised repository

    The kickstart server has all its applications and packagesinstalled in all the kickstart servers. Hence any required

    packages are obtained without any human intervention.

    D. Use of resources

    The entire kickstart environment balances the loadamong itself by designating n machines to each server hencethere is efficient use of resources and network bandwidth.

    E. Advantage of a HTTP Install

    Kickstart can be configured on an FTP, NFS or Apache

    server. Each method is explained below, but my experiencehas been that the Apache server has a number of advantagesover the other two.

    Using a web server for kickstart is generally easierbecause:

    Sometimes a kickstart server has to be locatedon a remote network, often passing through afirewall. Strict firewall rules for HTTP aregenerally easier to configure than those for FTPor NFS.

    The http:// nomenclature used by kickstart foraccessing files is more familiar to users than thatused for NFS and FTP. This may be importantfor users when configuring files for automated

    kickstart installation.F. Adjustment of subservers on the fly

    According to the algorithm devised the number of subservers is maintained to an optimum limit and hence there isno wastage of resources and the kickstart servers can bereverted to regular nodes easily.

    G. Each node can be configured based on its requirements

    By using subnetting and network configurations thenodes can be configured based on the requirements and thecorresponding kickstart configurator file is accessed and the

    build is performed.

    VII. CONCLUSION

    The multilevel kickstart server uses multiple servers toservice nodes. This is similar to a DDOS attack in a hackingenvironment in which a number of servers are multiplied toincrease the performance and also acts a mechanism toreduce failure of nodes. An analysis of the protocols used forkickstart process can be done to maximize the throughput ofthe entire environment. Apart from these parameters theentire process is thoroughly dependent on the hardwarespecifications used. The switches and the operating systems

  • 8/3/2019 Multilevel Kick Start Server

    4/4

    used for implementations also play a major role. The criticalresources in this environment are the number nodes

    participating in the process. A post installation script can beused to perform a set of operations say create users andassign access and ACL lists without any intervention by theusers of the systems. The pre installation script can be usedto take back up in machines before the installation is started

    and this can be used to revert to the old settings. The postand pre installation tasks are invaluable parts that can beutilized in a kickstart environment which makes automationto greater heights. Total automation is possible usingkickstart right from installation package dependencies toadministrative tasks.

    VIII. FUTURE WORK

    One idea is to move the entire kickstart server to thecloud by doing which we could improvise on the resourcemanagement and obtain better performance metrics .Using asingle web interface the machines can be monitored andmanaged .Another idea is to work with each and every

    protocol the kickstart supports i.e. HTTP, FTP, NFS. Surely

    there would me a marginal difference in the working as wellas the performance metrics.

    ACKNOWLEDGMENT

    A. Ravi thanks Mr. Baskar, a member of the IndianLinux users group who gave support while working on the

    paper.

    REFERENCES[1] High performance computing environments without the fuss: the

    Bootable Cluster CD Diesburg, S.M.; Gray, P.A.; Joiner, D

    [2] Integration of PXE-based desktop solutions into broadband accessnetworks Cruz, T.; Simoes, P.; Bastos, F.; Monteiro, E

    [3] Real-time Net-booting System In Large-scale DSP Network Wei Jin;Long Teng; Liu Feng

    [4] Parallel File System-surpported Server Virtual Environment in DataCenter Zhang Haiming; Wu Kaichao; Li Jianhui; Zhang Bo; XueZhenghua; Yan Baoping

    [5] Network-Based Root of Trust for Installation Schiffman, Joshua;Moyer, Thomas; Jaeger, Trent; McDaniel, Patrick

    [6] Practicing computer hardware configuration and network installationin a virtual laboratory environment: A case study Ramalingam, D

    [7] Kick start tools - http://kickstart-tools.sourceforge.net/.