Silicon Graphics, Inc.
OpenVault
System Startup and Restart
Command Sequencing

$Id: booting.html,v 1.13 1997/07/01 21:38:27 curtis Exp $

Overview and High Level Goals

This document describes how the different components of the OpenVault system assemble themselves into a functioning whole at either boot time or when recovering from a partial failure of the system. This document is primarily focussed on DCPs and LCPs, not on CAPI clients or AAPI clients.

The goal is to have high flexibility without having high administrative overhead; to support central administration and/or locally controlled resources at the same time.

The dynamic configuration discovery approach we are using allows us to have both good flexibility and insulation from environmental changes. Specifically, we are using a combination of a small configuration file next to each component and a stylized session initiation sequence to bootstrap the pieces of the Open Vault system into full functionality.

The configuration file should have just enough information in it to bootstrap that particular OpenVault component into communication with the device it controls and the MLM Core. All the rest of the information would be derived from the state of the device, the information in the central OpenVault database, or the parameters compiled into that particular component. The contents of a configuration file may vary greatly from component to component depending on the requirements of that particular component.

The stylized session initiation sequence is common to all components and allows the component to identify itself by name, type, and language versions that it supports.

The name an LCP or DCP uses is actually the name of the device that it is managing, not the name of the particular instance of LCP or DCP. If more that one LCP or DCP claims to manage the same name, then that device is assumed to be multi-ported between those two components.


Decisions, Assumptions, and Limitations


Open Issues


LCP Booting

Overview

Since any given LCP could be the inactive side of a multi-ported device, there is a specific set of requirements that an LCP must adhere to during booting so as not to interfere with the currently active LCP for that device. The MLM Core is the arbitrator of control for all devices, and the LCP cannot assume that it is controlling the device until the MLM Core tells it to do so.

Configuration File

Each LCP should have a configuration file that logically contains at least the following information: The format and content of the file are strictly up to the LCP implementor, but we strongly encourage edittable ASCII. There may be additional information in the file, the list above is just an idea of the likely minimum contents.

(Re)Boot Sequence

  1. When an LCP (re)boots, the LCP will:

  2. When the MLM Core is first contacted by an LCP it will:

  3. When OpenVault tells the LCP to activate enable, the LCP will:

  4. When the LCP pushes the slotmap and drive information up, the MLM Core will:

  5. When the MLM Core gets a succesful response to the activate command, it will:


DCP Booting

Overview

Since any given DCP could be the inactive side of a multi-ported device, there is a specific set of requirements that a DCP must adhere to during booting so as not to interfere with the currently active DCP for that device. The MLM Core is the arbitrator of control for all multi-ported devices, and the DCP cannot assume that it is controlling the device until the MLM Core tells it to do so.

Configuration File

Each DCP should have a configuration file that logically contains at least the following information:

The format and content of the file are strictly up to the DCP implementor, but we strongly encourage edittable ASCII. There may be additional information in the file, the list above is just an idea of the likely minimum contents.

(Re)boot Sequence

  1. When a DCP (re)boots the DCP will:

  2. When the MLM Core is first contacted by a DCP it will:

  3. When OpenVault tells the DCP to activate enable, the DCP will:


    MLM Core Booting

    Overview

    Configuration File

    The MLM Core has a configuration file containing an unspecified pile of stuff.

    (Re)boot Sequence

    When the MLM Core (re)boots it will have dropped all of its existing connections to LCPs and DCPs, so they will all be trying to reattach. When it boots it will do the following: