IBM GLOBAL SERVICES Nov. 1 - 5, 2004 Miami, FL © Sine Nomine Associates 2004 zSeries Expo V86 David Boyes Supercharged VM Startup: A System V-Style INIT.

Slides:



Advertisements
Similar presentations
MODULE 3: OS & APP LAYERS. Agenda Preparing and importing a gold image Creating and understanding Install Machines Creating basic Application layers Understanding.
Advertisements

Basic Unix system administration
Chapter 9: Understanding System Initialization The Complete Guide To Linux System Administration.
Automating Linux App Startup Session L51 David Boyes Sine Nomine Associates.
Introduction to Linux Init Scripts In this session we will cover the Linux initialization process, run levels, how to change the run level and how to initialize.
Lesson 17: Configuring Security Policies
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 5: Managing File Access.
Introducing the Command Line CMSC 121 Introduction to UNIX Much of the material in these slides was taken from Dan Hood’s CMSC 121 Lecture Notes.
11.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
11 SUPPORTING LOCAL USERS AND GROUPS Chapter 3. Chapter 3: Supporting Local Users and Groups2 SUPPORTING LOCAL USERS AND GROUPS  Explain the difference.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
Starting and Stopping Linux. Boot Process BIOS initializes hardware –Loads the boot sector MBR loads the bootloader –Point to kernel Kernel initializes.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Guide To UNIX Using Linux Third Edition
Introduction to Unix (CA263) Introduction to Shell Script Programming By Tariq Ibn Aziz.
7.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 7: Introducing Group Accounts.
Apache : Installation, Configuration, Basic Security Presented by, Sandeep K Thopucherela, ECE Department.
Network File System (NFS) in AIX System COSC513 Operation Systems Instructor: Prof. Anvari Yuan Ma SID:
1 Chapter Overview Creating User and Computer Objects Maintaining User Accounts Creating User Profiles.
7/17/2009 rwjBROOKDALE COMMUNITY COLLEGE1 Unix Comp-145 C HAPTER 2.
Linux Operations and Administration
Business Optix Library Service – Workflow
9.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
SmartLog X 3 TEAM Basic SmartLog X 3 TEAM Basic DescoEMIT.com USER STATUS USER EDIT TEST LOG ADMIN TEST MACHINE SCHEDULE INSTALL System Requirements:
Introduction to UNIX/Linux Exercises Dan Stanzione.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
Booting and boot levels
September 18, 2002 Introduction to Windows 2000 Server Components Ryan Larson David Greer.
1 Group Account Administration Introduction to Groups Planning a Group Strategy Creating Groups Understanding Default Groups Groups for Administrators.
Introduction to Shell Script Programming
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
Global Customer Partnership Council Forum | 2008 | November 18 1IBM - GCPC MeetingIBM - GCPC Meeting IBM Lotus® Sametime® Meeting Server Deployment and.
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 5: Managing File Access.
Business Unit or Product Name © 2007 IBM Corporation Introduction of Autotest Qing Lin.
By Lecturer / Aisha Dawood 1.  You can control the number of dispatcher processes in the instance. Unlike the number of shared servers, the number of.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Overview Introduction to Managing User Environments Introduction to Administrative Templates Using Administrative Templates in Group Policy Assigning Scripts.
Linux Services Muhammad Amer. 2 xinetd Programs  In computer networking, xinetd, the eXtended InterNET Daemon, is an open-source super-server daemon.
Linux Operations and Administration
© 2004 IBM Corporation IBM ^ z/VM Module 2: Conversational Monitor System (CMS)
CVS – concurrent versions system Network Management Workshop intERlab at AIT Thailand March 11-15, 2008.
Managing SX.e and TWL with MARC and Scripts Jeremiah Curtis
Linux file system "On a UNIX system, everything is a file; if something is not a file, it is a process." Sorts of files (on a Linux system) Directories:
Introduction to touchdevelop statements overview Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Chapter 10: Rights, User, and Group Administration.
Chapter 3 & 6 Root Status and users File Ownership Every file has a owner and group –These give read,write, and execute priv’s to the owner, group, and.
Apache JMeter By Lamiya Qasim. Apache JMeter Tool for load test functional behavior and measure performance. Questions: Does JMeter offers support for.
Linux Security. Module 13 – Linux Security ♦ Overview Linux is more prone today to security loopholes and attacks, both inside and outside the network.
Chapter Five Advanced File Processing. 2 Lesson A Selecting, Manipulating, and Formatting Information.
Module 4 Planning for Group Policy. Module Overview Planning Group Policy Application Planning Group Policy Processing Planning the Management of Group.
Managing SX.e and TWL with scripts and MARC 02/12/04 Jeremiah Curtis.
COMP075 OS2 Managing Linux Services. Services? Services are processes that start, usually when the system starts, and run, usually, until the system stops.
Linux Operations and Administration
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
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.
GDT Tips and Tricks. GDT Tips and Tricks Doug Evans GDT 2004 International User Conference – Evolving the Legacy July  Tucson, Arizona GDT Tips.
Hands-On Microsoft Windows Server 2008 Chapter 5 Configuring Windows Server 2008 Printing.
Sys Admin Course Service Management Fourie Joubert.
System initialization Unit objectives A.Outline steps necessary to boot a Linux system, configure LILO and GRUB boot loaders, and dual boot Linux with.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
9/21/04 James Gallagher Server Installation and Testing: Hands-on ● Install the CGI server with the HDF and FreeForm handlers ● Link data so the server.
Linux file system "On a UNIX system, everything is a file;
Lab 1 introduction, debrief
Integration of Singularity With Makeflow
Guide To UNIX Using Linux Third Edition
Lesson 16-Windows NT Security Issues
OPS235: Week 1 Installing Linux (Lab1: Investigations 4 - )
Periodic Processes Chapter 9.
Presentation transcript:

IBM GLOBAL SERVICES Nov , 2004 Miami, FL © Sine Nomine Associates 2004 zSeries Expo V86 David Boyes Supercharged VM Startup: A System V-Style INIT Process for VM and Guests

Agenda Introduction to SysVInit Construction Example of Use Conclusion Questions

Introduction to SysVInit

What Are We Doing? SysVInit is a systematic approach to service virtual machine management for z/VM and VM/ESA Freely available from Problems to Solve: VM has no easily programmatically accessible standard method for adding and deleting items from the system startup processing VM has no way to indicate that a particular virtual machine startup depends on the availability of other virtual machine VM has no way to set up differing configurations of system services for different running conditions CP SHUTDOWN does not have any standard "graceful shutdown" processing

SysVInit: Introduction What is System V Init? Method of starting services under Unix and Linux Startup scripts in /etc/init.d Scripts invoked with standard functions, eg “start,” “stop,” “restart,” “reload” et al. Services grouped into “runlevels” Each runlevel lives in /etc/init.d/rcX.d or /etc/rcX.d, where X is the runlevel name. Symbolic links tie “Startup” and “Kill” and priority levels back to scripts in base directory

System V example of use Example /etc/init.d/ssh starts the ssh daemon. Symbolic links: /etc/rc0.d/K20ssh, /etc/rc2.d/S20ssh, others Starts at priority 20 in runlevels 2,3,4,5, and 6 Stops at priority 20 in runlevels 0 and 1

SysVInit: What Good Is It? This scheme allows Unix systems a way of specifying: “In runlevel X, start the following services in this order. When leaving runlevel X, shut them down in this order.” Tools like insserv and chkconfig allow for easy programmatic insertion of new services. Some distributions read comment structure in script to determine numeric runlevel priorities.

What Does z/VM Have? AUTOLOG1 PROFILE EXEC (on AUTOLOG1’s 191-disk) Default configuration as shipped by IBM (controlled by SYSTEM CONFIG setting) starts AUTOLOG1 at IPL Provides a “semi-standard” place to do ordered startup of service virtual machines No pauses in between machines unless you insert them by hand, no error checking, no conditional processing (unless, you do it by hand) Anything beyond simple list to start is completely ad-hoc and reinvented for each site. Is not incorporated into shutdown processing

SysVInit for z/VM and VM/ESA What is it? A easy way to specify multiple groups of virtual machines for specific purposes Each runlevel contains an ordered set of services and their dependencies. A mechanism for moving between runlevels (equivalent to Linux/Unix init/telinit) in a controlled fashion Basic framework for consistent start, stop, status testing, configuration management process for human and program controlled management. Demonstration of the power of built-in CMS functions to provide useful system management services for non-CMS environments.

SysVInit for z/VM and VM/ESA How is it different from Sys V init? Both framework and apps are CMS-native Rexx, rather than Bourne Shell scripts. Runlevels can be any legal 8 char identifier Dependencies are not assigned by means of special comments in the scripts Dependencies are actually significant No numeric priority Centralized event dispatcher

Why isn’t it just init-for-VM? System V Init (the real thing, for Unix) suffers from some really annoying shortcomings Doesn’t respect dependencies: S80bar will always run after S40foo, even if bar depends on foo and foo fails. Single-digit runlevel names? Two-digit priorities? Different Linux distributions (to say nothing of Unix systems!) don’t agree: What each runlevel means Commands to manipulate runlevel scripts Existence of tools to determine numeric priority levels Even where runlevel symlinks live

Construction

The basic event handling loop is done with PROP combined with a set of REXX action routines to implement the commands. PROP does not match regular expressions, so PROP just recognizes verbs and hands the full command to DISPATCH EXEC DISPATCH EXEC does command parsing and in turn spawns RUNLEVEL EXEC or particular service EXECs, as well as manipulating global variables.

Command Authorization Most commands have to be authorized: from the service machine the command affects from a user listed in the ADMIN global variable (USER%HOST for remote admins) Some particularly dangerous commands must be double-authorized: CMD (execute CP command as AUTOLOG1) has to come from user listed in SYSVINIT RTABLE SHUTDOWN [REIPL] must come from ADMIN who is also in the RTABLE

SYSVINIT RTABLE (PROP) * *T S E T U N A P *E C C Y S O C A *X O O P E D T R *T L L E R E N M * * COMMAND HANDLING FOR SYSVINIT * /CMD / 1 4 OPERATOR HOSTNODE DMSPOR TOVM /RUNLEVEL / 1 9 DISPATCH RUNLEVEL /SERVICE / 1 8 DISPATCH SERVICE /LEVELMAINT / 1 11 DISPATCH LVLMAINT /LOG / 1 4 DISPATCH LOG /SHUTDOWN REIPL/ 1 15 OPERATOR HOSTNODE DISPATCH SHUTRIPL /SHUTDOWN/ 1 8 OPERATOR HOSTNODE DISPATCH SHUTDOWN

Runlevels Each runlevel is implemented as a NAMES file Runlevel NAMES files are not intended for human editing Contain service and dependency information (which is runlevel-specific) Maintained with LEVELMAINT command Internally parsed into stem variable tree accessible from service EXEC

Service Local Variables Service variables are kept as CMS GLOBALVs, each service in its own group. Service descriptions, start and stop timeouts. Manipulated with LIST SERVICEVARS, GET SERVICEVAR service variable, SET SERVICEVAR service variable value Value of service local variables preserved over IPLs by storage in LASTING GLOBALV on AUTOLOG1 191.

Global Variables Global vars affect the entire SYSVINIT server Also stored as CMS GLOBALVs, group GLOBAL Variables stored as global variables: Default service startup/stop timeouts List of allowable administrative users Owner and address of configuration disk.

SVM Exec Service = Virtual Machine Userid() EXEC = controls virtual machine Template for all service manipulation. Designed for one function per virtual machine. Called with small set of standard “methods” If defaults aren’t appropriate, can be modified to suit your needs. Initial setup for each virtual machine done with SERVICE foo ADD

SVM Methods STARTStarts a machine STOPStop a machine PROBETest status of machine STATUSReport status of machine RESTARTStop/start of machine RELOADReload config if needed FORCERELOADReload config by force

Example of Use

Installation Create AUTOLOG1 192 Unpack S5I VMARC onto it Save and print AUTOLOG1 PROFILE EXEC Copy over new PROFILE EXEC Edit SYSVINIT RTABLE for local nodename and admin users Start the service: it starts in runlevel DEFAULT with only DUMMY service enabled

Example of Use Add services you want TELL AUTOLOG1 SERVICE VMSERVR ADD TELL AUTOLOG1 SERVICE VMSERVU ADD … Put services in runlevel TELL AUTOLOG1 LEVELMAINT DEFAULT VMSERVR … TELL AUTOLOG1 LEVELMAINT DUMMY REMOVE

Example of Use Add dependency information TELL AUTOLOG1 LEVELMAINT DEFAULT LINUX01 STARTAFTER TCPIP TELL AUTOLOG1 LEVELMAINT DEFAULT TCPIP STOPAFTER LINUX01 Change service variables TELL AUTOLOG1 SET SERVICEVAR LINUX01 DESCR Debian Linux Sarge RC1 TELL AUTOLOG1 SET SERVICEVAR LINUX01 STARTTIMEOUT 45

Example of Use Monitor use TELL AUTOLOG1 SHOW RUNLEVEL TELL AUTOLOG1 SERVICE LINUX01 PROBE TELL AUTOLOG1 SERVICE TCPIP RESTART TELL AUTOLOG1 LIST GLOBALVARS TELL AUTOLOG1 GET SERVICEVAR LINUX01 DESCR …

Conclusion

SysVInit provides a flexible method for adding new services to a VM system. Far superior to traditional PROFILE EXEC autolog list Also superior to Unix System V Init Designed to be easily manipulated by product installation scripts

Future Enhancements Equivalents to insserv and chkconfig to allow: Manipulating multiple runlevels at once Replacing SVM EXEC with customized exec automatically (currently requires grabbing a write link to AUTOLOG1 192). Dependency list checking Currently, if you misspell a dependency or have a circular dependency…your gun, your foot.

Questions

Contact Info David Boyes Sine Nomine Associates