Customizing a Cluster. What We’ll Be Doing Discuss how to add new packages to compute nodes Discuss frontend and compute node partitioning Discuss how.

Slides:



Advertisements
Similar presentations
LCFG overview and future Michael George University of Liverpool
Advertisements

NPACI Rocks Tutorial NPACI All Hands Meeting March 18,
CIS238/DL1 Chapter 15 Rebuilding the Linux Kernel Preparing the Source Code Locating the Source Code Installing the Source Code Read the Documentation.
Quick Overview of NPACI Rocks Philip M. Papadopoulos Associate Director, Distributed Computing San Diego Supercomputer Center.
Introduction to Unix (CA263) File System
Exploring the UNIX File System and File Security
PC Cluster Setup on Linux Fedora Core 5 High Performance Computing Lab Department of Computer Science and Information Engineering Tunghai University, Taichung,
Lesson 15 – INSTALL AND SET UP NETWARE 5.1. Understanding NetWare 5.1 Preparing for installation Installing NetWare 5.1 Configuring NetWare 5.1 client.
Guide To UNIX Using Linux Third Edition
Oracle on Linux Installation for Non-DBAs Sheryl Calish Blue Heron Consulting Paper #36684.
Installing and Setting up mongoDB replica set PREPARED BY SUDHEER KONDLA SOLUTIONS ARCHITECT.
Installing Linux softwares Sirak Kaewjamnong. 2 Software packets  When Linux developers create their software they typically bundle all the executable.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Module 10 – Linux Installations. Wikipedia: Red Hat Package Manager or RPM Package Manager (RPM) is a package management system. The name RPM variously.
Rocks cluster : a cluster oriented linux distribution or how to install a computer cluster in a day.
Guide To UNIX Using Linux Fourth Edition
1 Web Server Administration Chapter 3 Installing the Server.
Partner Logo German Cancio – WP4-install LCFG HOW-TO - n° 1 WP4 hands-on workshop: EDG LCFGng exercises
Lesson 7-Creating and Changing Directories. Overview Using directories to create order. Managing files in directories. Using pathnames to manage files.
Guide to Linux Installation and Administration, 2e1 Chapter 3 Installing Linux.
Kernel Development using Virtualization Installing VMWare and using a virtual machine to build and test a Linux Kernel.
LPIC-1 TRAINING COURSE Topic 102: Linux Installation and package management.
Linux Last Update Copyright Kenneth M. Chipps Ph.D. 1.
LOGO Linux Installation. Linux Distribution Including shells, libraries, tools, compiler, servers, applications. Redhat, Fedora, Mandrake, SuSE, Debian,
1 Web Server Administration Chapter 3 Installing the Server.
Chapter 2 BAI517 Chris Redford.  Different version of Linux are called Distributions or Distros. Each one has its strengths and focus: Red Hat / Fedora.
Rocks ‘n’ Rolls An Introduction to Programming Clusters using Rocks © 2008 UC Regents Anoop Rajendra.
File Permissions. What are the three categories of users that apply to file permissions? Owner (or user) Group All others (public, world, others)
09/21/081 Ho Chi Minh city University of Technology Linux kernel R.M. Introduction of building Linux kernel from source.
A Practical Guide to Fedora and Red Hat Enterprise Linux Unit 8: Installing Software in Linux Chapter 13: Downloading and Installing Software By Fred R.
Installation Overview Lab#2 1Hanin Abdulrahman. Installing Ubuntu Linux is the process of copying operating system files from a CD, DVD, or USB flash.
O.S.C.A.R. Cluster Installation. O.S.C.A.R O.S.C.A.R. Open Source Cluster Application Resource Latest Version: 2.2 ( March, 2003 )
Chapter Two Exploring the UNIX File System and File Security.
Chapter Two Exploring the UNIX File System and File Security.
Deploying a Network of GNU/Linux Clusters with Rocks / Arto Teräs Slide 1(18) Deploying a Network of GNU/Linux Clusters with Rocks Arto Teräs.
Roll Screen Development Debugging assistance for building Rocks Rolls with screens OSGC, May 2008 Nadya Williams University of Zurich.
Installation of packages Objectives –Using software packaging tools Contents –Application delivered as –Where to get commonly used rpm’s –Autofs on! –Getting.
Creating and Managing File Systems. Module 5 – Creating and Managing File Systems ♦ Overview This module deals with the structure of the file system,
Status of Florida Tier2 Center A mini tutorial on ROCKS appliances Jorge L. Rodriguez February 2003.
© 2006 UC Regents1 Track 1: Cluster and Grid Computing NBCR Summer Institute Session 2.1: Cluster and Grid Computing: Case Studies Building a Roll August.
Cluster Software Overview
C. Aiftimiei, E. Ferro / January LCFGng server installation Cristina Aiftimiei, Enrico Ferro INFN-LNL.
Installation of packages Objectives –Using software packaging tools Contents –Application delivered as –Where to get commonly used rpm’s –Autofs on! –Getting.
E. Ferro, CNAF, april Enrico Ferro INFN-LNL Installation of a LCFG server.
Chapter 8: Installing Linux The Complete Guide To Linux System Administration.
LOGO Linux Installation. Linux Distribution Including shells, libraries, tools, compiler, servers, applications. Redhat, Fedora, Mandrake, SuSE, Debian,
Chapter 2 BAI517 Chris Redford.  Different version of Linux are called Distributions or Distros. Each one has its strengths and focus: Red Hat / Fedora.
National Energy Research Scientific Computing Center (NERSC) CHOS - CHROOT OS Shane Canon NERSC Center Division, LBNL SC 2004 November 2004.
Lecture 02 File and File system. Topics Describe the layout of a Linux file system Display and set paths Describe the most important files, including.
Installing Applications in FreeBSD lctseng. Computer Center, CS, NCTU 2 Before we start  Permission issue root: the super user Like administrator in.
Implementation of Embedded OS
LINUX Zhengli Zhu, School of Life Sciences. Outline 1. ABC of Linux 2. Basic orers of Linux 3. Bash Programming.
Spring 2007 Vmware and Linux kernel COMS W4118 Columbia University.
Linux Introduction Linux was developed in the early 1990’s by Linus Torvald computer science student at the University of Helsinki Linux is distributed.
© 2007 IBM Corporation 9/26/2016 Automated Generation of Kickstart Files IBM.
© 2007 IBM Corporation 9/29/2016 Automated Generation of Kickstart Files IBM.
Installation of the ALICE Software
Installation of MySQL Objectives Contents Practical Summary
Guide to Linux Installation and Administration, 2e
Hadoop Architecture Mr. Sriram
Build process of ovirt-node and the plugins
Packaging a Structural Biology Application – imod / 3dmod
Installing OS.
COMP Introduction to Operating Systems Project 1 – Installing CentOS
Exploring the UNIX File System and File Security
Lab #1 Install Linux & How to Build Live CD
IS3440 Linux Security Unit 7 Securing the Linux Kernel
Building and Managing Clusters with NPACI Rocks
Electronics II Physics 3620 / 6620
Presentation transcript:

Customizing a Cluster

What We’ll Be Doing Discuss how to add new packages to compute nodes Discuss frontend and compute node partitioning Discuss how to customize a kernel

Add A New Package

Adding a New Package to the Distribution All packages are found under ‘/home/install’ Put the new package in contrib/enterprise/3/en/os/public/ /RPMS  Where is ‘i386’, ‘x86_64’ or ‘ia64’ “Extend” an XML configuration file Rebind the distro:  “rocks-dist dist” Apply the changes:  “shoot-node compute-0-0”

Extend the “Compute” XML Configuration File To add the package named “my-app” $ cd /home/install/site-profiles/3.2.0/nodes $ cp skeleton.xml extend-compute.xml In ‘extend-compute.xml’, change: To: my-app

Extend the “Compute” XML Configuration File Rebind the distro  This copies ‘extend-compute.xml’ into /home/install/rocks-dist/…/build/nodes # cd /home/install # rocks-dist dist Reinstall a compute node # shoot-node compute-0-0

More on the Distro Rocks-dist looks for packages in:  “/home/install/ftp.rocksclusters.org” Red Hat and Rocks packages  “/home/install/contrib” Pre-built 3rd party packages  “/usr/src/redhat/RPMS” Your packages

More on the Distro Any time you add a package to the distro, you must re-run “rocks-dist dist”  Rocks-dist binds all the found packages into a Red Hat-compliant distribution

More on the Distro Rocks-dist assembles a Red-Hat compliant distribution

Your Distro - Extending Rocks You can use “rocks-dist” to build and distribute your own distribution  Merges RPMS  Resolves versions Final distribution looks just like Rocks  And, Rocks looks just like Red Hat

Custom Partitioning

Default Frontend Partitioning 6 GB for / 1 GB swap Rest of first drive is /export

Modifying Frontend Partitioning Can only change during frontend installation Note: must have ‘/export’  /export is automatically mounted by all compute nodes

Default Compute Node Partitioning 6 GB for / on first disk 1 GB for swap on first disk Remainder of first disk  Partitioned as “/state/partition1” Second disk  Partitioned as “/state/partition2” Third disk, fourth disk, etc.  Partitioned as “/state/partition3”, “/state/partition4”, etc. All non-root partitions are saved over reinstalls

Changing Size of Root and Swap on a Compute Node If just want to change size of root and swap, only need to change two variables Create the file “extend-auto-partition.xml” # cd /home/install/site-profiles/3.2.0/site-nodes/ # cp skeleton.xml extend-auto-partition.xml Above the “ ” section, add the two variables Above XML variables will create a 10 GB root partition and a 2 GB swap partition Rebind the distro (rocks-dist dist) and reinstall a compute node (shoot-node compute-0-0)

Specifying a New Partition Layout Only requirement is that ‘/’ is “big enough” Create the file “extend-auto-partition.xml” # cd /home/install/site-profiles/3.2.0/site-nodes/ # cp skeleton.xml extend-auto-partition.xml In the “ ” section, add: / --size ondisk hda swap --size ondisk hda /mydata --size 1 --grow --ondisk hda Rebind the distro (rocks-dist dist) and reinstall a compute node (shoot-node compute-0-0)

Specifying Software RAID Create the file “extend-auto-partition.xml” # cd /home/install/site-profiles/3.2.0/site-nodes/ # cp skeleton.xml extend-auto-partition.xml In the “ ” section, add: / --size ondisk hda swap --size ondisk hda raid.00 --size= ondisk hda raid.01 --size= ondisk hdb /mydata --level=1 --device=md0 raid.00 raid.01 Rebind the distro (rocks-dist dist) and reinstall a compute node (shoot-node compute-0-0)

Testing Changes Use:  “./kickstart.cgi --client=compute-0-0 > /tmp/ks.cfg” Should not see any output  That is, no error output The file “/tmp/ks.cfg” should contain your changes

Build New Kernel

Building a New Kernel from Red Hat’s Kernel Source Recommend you build on a compute node  Don’t want to pollute (or destroy!) the frontend Go the directory that contains the source # cd /usr/src/linux-2.4 Get a default ‘.config’ file # cp configs/kernel i686-smp.config.config Customize.config Make a kernel RPM # make rpm

Building a New Kernel from Red Hat’s Kernel Source Copy the new kernel RPM back into the frontend’s distribution # scp /usr/src/redhat/RPMS/i686/kernel-smp i686.rpm \ frontend-0:/home/install/contrib/enterprise/3/public/i386/RPMS/ Login back into the frontend Rebind the distro (rocks-dist dist) and reinstall a compute node (shoot-node compute-0-0)

Building a New Kernel from kernel.org’s Source On a compute node, get the Linux kernel tarball # cd /usr/src # wget Prepare the source tree # bunzip2 linux tar.bz2 # tar vfx linux tar # rm linux-2.4 # ln -s linux linux-2.4 Create a “.config” file and put it in “/usr/src/linux-2.4”

Building a New Kernel from kernel.org’s Source Build a kernel RPM # cd /usr/src/linux-2.4 # make rpm Copy the new kernel RPM back into the frontend’s distribution # scp /usr/src/redhat/RPMS/i686/ kernel-smp i686.rpm \ frontend-0:/home/install/contrib/enterprise/3/public/i386/RPMS/ Login back into the frontend Rebind the distro (rocks-dist dist) and reinstall a compute node (shoot-node compute-0-0)

Create a New RPM

Create the ‘contrib-new’ package Go to the ‘contrib’ area of Rocks  # cd /usr/src/rocks/src/contrib/ Create the ‘new’ directory:  # mkdir new Populate ‘new’ with the ‘skeleton’ files:  # cp skeleton/* new Change names: ‘skeleton’ to ‘new’  # cd new  # mv contrib-skeleton.spec.in contrib-new.spec.in  # vi Makefile Change ‘/opt/skeleton’ to ‘/opt/new’

Building the Package Execute:  # make rpm This creates a binary and source RPM:  /usr/src/redhat/RPMS/i386/contrib-new-1-1.i386.rpm  /usr/src/redhat/SRPMS/contrib-new-1-1.src.rpm

Adding the New Package to the Distribution The package contrib-new-1-1.i386.rpm is in /usr/src/redhat/RPMS/i386 To compile a new distro with the ‘contrib-new’ package:  # cd /home/install  # rocks-dist dist This creates a Red Hat compatible distro in /home/install/rocks-dist/ Look under /home/install/rocks-dist for ‘contrib- new-1-1.i386.rpm’

Assigning the New Package to a Cluster Appliance Extend the ‘compute’ appliance  # cd /home/install/site-profiles/3.2.0/nodes  # cp skeleton.xml extend-compute.xml Add the ‘contrib-new’ package  # vi extend-compute.xml  Add the line: contrib-new  To apply dynamic configuration to components of the ‘contrib-new’ package, write a program and place it between ‘ … ’ tags

Test the changes Run kickstart.cgi  # cd /home/install  #./kickstart.cgi --client=‘compute-0-0’ > /tmp/ks.cfg Look for ‘contrib-new’ in ‘%packages’ section of /tmp/ks.cfg

Reinstall Compute Nodes Use ‘shoot-node’ to reinstall compute nodes in order to apply the ‘contrib-new’ package  # shoot-node compute-0-0