This commit is contained in:
gferg 2003-05-02 20:48:28 +00:00
parent bb8efa2b09
commit f249c0e685
13 changed files with 1406 additions and 1266 deletions

View File

@ -1,30 +1,41 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://docbook.org/xml/4.2/docbookx.dtd"
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://docbook.org/xml/4.2/docbookx.dtd"
[
<!ENTITY evers "1.1.0">
<!ENTITY evers "2.0.0">
<!ENTITY evmsugchap1 SYSTEM "over-ug.xml">
<!ENTITY evmsugpref SYSTEM "pref-ug.xml">
<!ENTITY evmsuginstall SYSTEM "install-ug.xml">
<!ENTITY evmsuglocating SYSTEM "locatingdev-ug.xml">
<!ENTITY evmscmuse SYSTEM "cmuse-ug.xml">
<!ENTITY evmsdebuglog SYSTEM "debuglog-ug.xml">
<!ENTITY evmsmigrate SYSTEM "migrateto-ug.xml">
<!ENTITY evmsdisplaydetails SYSTEM "displaydetails-ug.xml">
<!ENTITY evmsassignseg SYSTEM "assignseg-ug.xml">
<!ENTITY evmscreateseg SYSTEM "create-seg.xml">
<!ENTITY evmscreatecont SYSTEM "create-cont.xml">
<!ENTITY evmscreatereg SYSTEM "create-reg-ug.xml">
<!ENTITY evmscmuse SYSTEM "cmuse-ug.xml">
<!ENTITY evmsdrivelinking SYSTEM "create-drivelinking.xml">
<!ENTITY evmssnapshotting SYSTEM "create-snapshot.xml">
<!ENTITY evmscreatevol SYSTEM "createvol-ug.xml">
<!ENTITY evmsfsimops SYSTEM "fsimops-ug.xml">
<!ENTITY evmsclusterops SYSTEM "clusterops-ug.xml">
<!ENTITY evmsconvert SYSTEM "convertto-ug.xml">
<!ENTITY evmsexpandshrink SYSTEM "expandshrink.xml">
<!ENTITY addfeatures SYSTEM "addfeatures-ug.xml">
<!ENTITY evmsplugintasks SYSTEM "plugintasks.xml">
<!ENTITY evmsdeleterecursive SYSTEM "deleterecurs-ug.xml">
<!ENTITY evmsinitram SYSTEM "appx-initram.xml">
<!ENTITY evmsdos SYSTEM "appx-dos.xml">
<!ENTITY evmsmd SYSTEM "appx-md.xml">
<!ENTITY evmslvm SYSTEM "appx-lvm.xml">
<!ENTITY evmscsm SYSTEM "appx-csm.xml">
<!ENTITY evmssnap SYSTEM "appx-snap.xml">
<!ENTITY evmsdrivelink SYSTEM "appx-drivelink.xml">
<!ENTITY evmsjfsfsim SYSTEM "appx-jfs.xml">
<!ENTITY evmsxfsfsim SYSTEM "appx-xfs.xml">
<!ENTITY evmsreiserfsim SYSTEM "appx-reiserfs.xml">
<!ENTITY evmsext23fsim SYSTEM "appx-ext23.xml">
]>
<book>
<book id="evmsug">
<bookinfo><title>EVMS User Guide</title>
<authorgroup><author><firstname>Joy</firstname>
@ -32,13 +43,16 @@
<affiliation><orgname>IBM</orgname></affiliation></author>
<author><firstname>Kylie</firstname>
<surname>Smith</surname>
<affiliation><orgname>IBM</orgname></affiliation></author>
<author><firstname>Christine</firstname>
<surname>Lorenz</surname>
<affiliation><orgname>IBM</orgname></affiliation></author></authorgroup>
<pubdate>October 21, 2002</pubdate>
<pubdate>March 31, 2003</pubdate>
<copyright><year>2002</year>
<copyright><year>2003</year>
<holder>IBM</holder></copyright>
@ -46,9 +60,10 @@
<para>The following terms are registered trademarks of International Business Machines corporation in the United States and/or other countries: AIX, OS/2, System/390. A full list of U.S. trademarks owned by IBM may be found at <ulink url="http://www.ibm.com/legal/copytrade.shtml">http://www.ibm.com/legal/copytrade.shtml</ulink>.</para>
<para>Intel is a trademark or registered trademark of Intel Corporation in the United States, other countries, or both.</para>
<para>Windows is a trademark of Microsoft Corporation in the United States, other countries or both. </para>
<para>Windows is a trademark of Microsoft Corporation in the United States, other countries, or both. </para>
<para> Linux is a trademark of Linus Torvalds. </para>
<para>Other company, product, and service names may be trademarks or service marks of others.</para>
<para>UNIX is a registered trademark of The Open Group in the United States and other countries.</para>
<para>This document is provided &quot;AS IS,&quot; with no express or implied warranties. Use the information in this document at your own risk. </para>
</legalnotice>
@ -57,31 +72,35 @@
</bookinfo>
&evmsugpref;
&evmsugchap1;
&evmsuginstall;
&evmsuglocating;
&evmscmuse;
&evmsdebuglog;
&evmsmigrate;
&evmsdisplaydetails;
&evmsassignseg;
&evmscreateseg;
&evmscreatecont;
&evmscreatereg;
&evmsdrivelinking;
&evmssnapshotting;
&evmscreatevol;
&evmsfsimops;
&evmsclusterops;
&evmsconvert;
&evmsexpandshrink;
&addfeatures;
&evmsplugintasks;
&evmsdeleterecursive;
&evmsinitram;
&evmsdos;
&evmsmd;
&evmslvm;
&evmscsm;
&evmsjfsfsim;
&evmsxfsfsim;
&evmsreiserfsim;
&evmsext23fsim;
</book>

View File

@ -1,11 +1,20 @@
<chapter id="evmsassignseg"><title>Assigning a Segment Manager</title>
<chapter id="evmsassignseg"><title>Assigning a segment manager</title>
<para> This chapter discusses when to use a segment manager, what the different types of segment managers are, and how to assign a segment manager to a disk. </para>
<sect1 id="whenassign"><title>When to Assign a Segment Manager</title>
<sect1 id="whenassign"><title>When to assign a segment manager</title>
<para>Assigning a segment manager to a disk allows the disk to be subdivided into
smaller storage objects called disk segments. The assign command causes a
segment manager to create appropriate metadata and expose freespace that the segment manager
finds on the disk. You will need to assign segment managers when you have a new disk or
when you are switching from one partitioning sheme to another. </para>
smaller storage objects called disk segments. The
<command>assign</command> command causes a
segment manager to create appropriate metadata and expose freespace
that the segment manager
finds on the disk. You need to assign segment managers when you
have a new disk or
when you are switching from one partitioning scheme to another. </para>
<para>EVMS displays disk segments as the following types: </para>
<itemizedlist><listitem><para>Data: a set of contiguous sectors that has been allocated
from a disk and can be used to construct a volume or object.</para></listitem>
@ -17,8 +26,8 @@
information needed by the segment manager.</para></listitem>
</itemizedlist>
</sect1>
<sect1 id="smtypes"><title>Types of Segment Managers</title>
<para>There are three types of segment managers in EVMS: DOS, GPT, and S/390. </para>
<sect1 id="smtypes"><title>Types of segment managers</title>
<para>There are five types of segment managers in EVMS: DOS, GPT, S/390, Cluster, and BSD. </para>
<sect2 id="defaultseg"><title>DOS Segment Manager</title>
<para>The most
commonly used segment manager is the DOS Segment Manager. This plug-in
@ -80,62 +89,105 @@
capable of understanding the unique S/390 disk layouts. The S/390 Segment Manager
cannot be assigned or unassigned from a disk. </para></sect2>
</sect1>
<sect2><title>Cluster segment manager</title>
<para>The cluster segment manager (CSM) supports high availability clusters. When the
CSM is assigned to a shared storage disk, it writes metadata on the disk that:</para>
<sect1 id="assignsegex"><title>Assigning a Segment Manager to an Existing Disk</title>
<para>When you assign a segment manager to a disk, the segment manager will need to change the basic
layout of the disk. This change means that some sectors will be reserved for metadata and the remaining sectors will
be made available for creating data disk segments. Metadata sectors are written to disk to save information
needed by the segment manager; previous information found on the disk is lost. Before assigning a
segment manager to an existing disk, you must remove any existing volume management structures including any
previous segment manager.</para>
<itemizedlist>
<listitem><para>provides a unique disk ID (guid)</para></listitem>
<listitem><para>names the EVMS container the disk will reside within</para></listitem>
<listitem><para>specifies the cluster node (nodeid) that owns the disk</para></listitem>
<listitem><para>specifies the HA cluster (clusterid)</para></listitem>
</itemizedlist>
<para>This metadata allows the CSM to build containers for supporting failover situations.
It does so by constructing an EVMS container object that consumes all shared objects
discovered by the CSM and belonging to the same container. These shared storage
objects are consumed by the container. A single segment object is produced by the
container for each consumed storage object. A failover of the EVMS resource is then
accomplished by simply reassigning the container to the standby cluster node and
having that node re-run its discovery process.</para>
</sect2>
<sect2><title>BSD segment manager</title>
<para>BSD refers to the Berkeley Software Distribution UNIX&reg; operating system. The EVMS
BSD segment manager is responsible for recognizing and producing EVMS segment
storage objects that map BSD partitions. A BSD disk may have a slice table in the
very first sector on the disk for compatibility purposes with other operating systems.
For example, a DOS slice table might be found in the usual MBR sector. The BSD disk
would then be found within a disk slice that is located using the compatibility slice table.
However, BSD has no need for the slice table and can fully dedicate the disk to
itself by placing the disk label in the very first sector. This is called a &quot;fully dedicated
disk&quot; because BSD uses the entire disk and does not provide a compatibility slice table.
The BSD segment manager recognizes such &quot;fully dedicated disks&quot; and provides mappings for
the BSD partitions.</para>
</sect2>
</sect1>
<sect1 id="assignsegnew"><title>Assigning a Segment Manager to a New Disk</title>
<sect1 id="assignsegex"><title>Assigning a segment manager to an existing disk</title>
<para>When you assign a segment manager to a disk, the segment manager
needs to change the basic
layout of the disk. This change means that some sectors are
reserved for metadata and the remaining sectors are
made available for creating data disk segments. Metadata sectors
are written to disk to save information
needed by the segment manager; previous information found on the
disk is lost. Before assigning a
segment manager to an existing disk, you must remove any existing
volume management structures, including any previous segment manager.</para>
</sect1>
<sect1 id="assignsegnew"><title>Assigning a segment manager to a new disk</title>
<para>When a new disk is added to a system,
the disk usually contains no data and has not
been partitioned. If this is the case, the disk will show up in EVMS as a compatibility volume because
been partitioned. If this is the case, the disk shows up in EVMS as a compatibility volume because
EVMS cannot tell if the disk is being used as a volume. To assign a segment manager to the disk so that it
can be subdivided into smaller disk segment objects, tell EVMS that the disk is not a
compatibility volume by deleting the volume information.</para>
<para>If the new disk was moved from another system, chances are good that the disk already contains
metadata. If the disk does contain metadata, the disk will show up in EVMS with storage objects that
metadata. If the disk does contain metadata, the disk shows up in EVMS with storage objects that
were produced from the existing metadata. Deleting these objects will allow you to assign a different
segment manager to the disk, and you will lose any old data. </para>
segment manager to the disk, and you lose any old data. </para>
</sect1>
<sect1 id="assignex"><title>Working through an Example</title>
<para>This section provides a detailed explanation of how to assign a segment manager with EVMS by
working through the scenario below.</para>
<sect1 id="assignex"><title>Example: assign a segment manager</title>
<para>This section shows how to assign
a segment manager with EVMS.</para>
<para>EVMS initially displays the
physical disks it sees as volumes. Assume that you have added a new disk to the system that EVMS
sees as sde. This disk contains no data and has not been subdivided (no partitions). EVMS assumes that this
physical disks it sees as volumes. Assume that you have added a new
disk to the system that EVMS
sees as <filename>sde</filename>.
This disk contains no data and has not been subdivided
(no partitions). EVMS assumes that this
disk is a compatibility volume known as <filename>/dev/evms/sde</filename>. </para>
<blockquote><example><title>Assign the DOS Segment Manager</title>
<para>Assign the DOS Segment Manager to disk sde. </para></example></blockquote>
<para>Assign the DOS Segment Manager to disk <filename>sde</filename>.</para></example></blockquote>
<note><title>NOTE</title>
<para>In the example above, the DOS Segment
<para>In the following example, the DOS Segment
Manager creates two segments on the disk:
a metadata segment known as sde_mbr, and a
a metadata segment known as <filename>sde_mbr</filename>, and a
segment to represent the available space on
the drive, sde_freespace1. This freespace
segment (sde_freespace1) can be divided into
the drive, <filename>sde_freespace1</filename>. This freespace
segment (<filename>sde_freespace1</filename>) can be
divided into
other segments because it represents space on
the drive that is not in use. </para></note>
the drive that is not in use.</para></note>
<sect2 id="assignseggui"><title>Using the EVMS GUI</title>
<para>To assign the DOS Segment Manager to sde, you will first need to remove the volume, <filename>/dev/evms/sde</filename>:</para>
<para>To assign the DOS Segment Manager to <filename>sde</filename>, first
remove the volume, <filename>/dev/evms/sde</filename>:</para>
<orderedlist>
<listitem><para>Select <menuchoice><guimenu>Actions</guimenu>
@ -145,8 +197,14 @@ working through the scenario below.</para>
<listitem><para>Click <guibutton>Delete</guibutton>.</para></listitem>
</orderedlist>
<para>Alternatively, you can remove the volume through the GUI context sensitive menu:</para>
<para>Once the volume is removed, assign the DOS Segment Manager:</para>
<orderedlist>
<listitem><para>From the <guimenuitem>Volumes tab</guimenuitem>, right click <filename>/dev/evms/sde</filename>.</para></listitem>
<listitem><para>Click <guibutton>Delete</guibutton>.</para></listitem>
</orderedlist>
<para>After the volume is removed, assign the DOS Segment Manager:</para>
<orderedlist>
<listitem><para>Select <menuchoice><guimenu>Actions</guimenu>
@ -161,26 +219,35 @@ working through the scenario below.</para>
</sect2>
<sect2 id="assignsegncur"><title>Using Ncurses</title>
<para>To assign the DOS Segment Manager to sde, you will first need to remove the volume, <filename>/dev/evms/sde</filename>.</para>
<orderedlist><listitem><para>Press <keycap>2</keycap> to view volumes.</para></listitem>
<listitem><para>Highlight <filename>/dev/evms/sde</filename> by using the <keycap>up</keycap>
and <keycap>down</keycap> arrow keys. Press the <keycap>Enter</keycap> key.</para></listitem>
<listitem><para>Highlight <guilabel>Delete Volume</guilabel>. Press the <keycap>Enter</keycap> key.</para></listitem>
<listitem><para>Highlight <guilabel>Delete</guilabel>. Press the <keycap>Enter</keycap> key.</para></listitem>
<para>To assign the DOS Segment Manager to <filename>sde</filename>, first remove the
volume <filename>/dev/evms/sde</filename>:</para>
<orderedlist>
<listitem><para>Select <menuchoice><guimenu>Actions</guimenu><guimenuitem>Delete</guimenuitem>
<guimenuitem>Segment Manager to Storage Object</guimenuitem></menuchoice>.</para></listitem>
<listitem><para>Select <filename>/dev/evms/sde</filename>.</para></listitem>
<listitem><para>Activate <guibutton>Delete</guibutton>.</para></listitem>
</orderedlist>
<para>Once the volume is removed, assign the DOS Segment Manager:</para>
<para>Alternatively, you can remove the volume through the context sensitive menu:</para>
<orderedlist>
<listitem><para>Press <keycap>4 </keycap> to switch views.</para></listitem>
<listitem><para>Highlight <guilabel>Logical Disk</guilabel>. Press the <keycap>Enter</keycap> key.</para></listitem>
<listitem><para>Press the <keycap>Enter</keycap> key to see the context sensitive menu. </para></listitem>
<listitem><para>Highlight <guilabel>Assign Segment Manager to Disk</guilabel>.
Press the <keycap>Enter</keycap> key. </para></listitem>
<listitem><para>Highlight <guilabel>DOS Segment Manager</guilabel>. Press the <keycap>Enter</keycap> key.</para></listitem>
<listitem><para>Highlight <guilabel>sde</guilabel>. Press the <keycap>spacebar</keycap>
to select then press the <keycap>Enter</keycap> key to continue.</para></listitem>
<listitem><para>Press the <keycap>Enter</keycap> key to select the default settings. </para></listitem>
<listitem><para>From the Logical Volumes view, press <keycap>Enter</keycap> on
<filename>/dev/evms/sde</filename>.</para>
</listitem>
<listitem><para>Activate <guibutton>Delete</guibutton>.</para>
</listitem>
</orderedlist>
<para>After the volume is removed, assign the DOS Segment Manager:</para>
<orderedlist>
<listitem><para>Select <menuchoice><guimenu>Actions</guimenu><guimenuitem>Add</guimenuitem>
<guimenuitem>Segment Manager to Storage Object</guimenuitem></menuchoice></para></listitem>
<listitem><para>Select <guilabel>DOS Segment Manager</guilabel>.</para></listitem>
<listitem><para>Activate <guibutton>Next</guibutton>.</para></listitem>
<listitem><para>Select <guilabel>sde</guilabel>.
</para></listitem>
<listitem><para>Activate <guibutton>Add</guibutton>.</para></listitem>
</orderedlist>
</sect2>
@ -197,29 +264,9 @@ volume and is available for use:</para>
<programlisting>Assign:DosSegMgr={},sde</programlisting>
</sect2>
</sect1>
</chapter>
</chapter>

View File

@ -1,15 +1,26 @@
<chapter id="evmscmuse"><title>Using the EVMS Interfaces</title>
<para>The following chapter explains how to use the EVMS GUI, Ncurses, CLI interfaces, and the EVMS emulation of the Linux LVM command set . This section includes basic navigation and commands. </para>
<chapter id="evmscmuse"><title>Using the EVMS interfaces</title>
<para>This chapter explains how to use the EVMS GUI, Ncurses, and CLI interfaces.
This chapter also
includes information about basic navigation and commands available through
the CLI. </para>
<sect1 id="GUI"><title>EVMS GUI</title>
<para>The EVMS GUI provides you with a flexible and easy-to-use
interface to administer volumes and storage objects. Many users will find the EVMS GUI easy to use because it checks which
storage objects, actions, and plug-ins are acceptable for each
task. </para>
<para>The EVMS GUI is a flexible and easy-to-use
interface for administering volumes and storage objects.
Many users find the EVMS GUI easy to use because it displays which
storage objects, actions, and plug-ins are acceptable for a
particular task.</para>
<sect2 id="GUITASKS"><title>Using Context Sensitive and Action Menus</title>
<para>In the EVMS GUI you can accomplish most
tasks in one of two ways: context sensitive menus and the
<sect2 id="GUITASKS"><title>Using context sensitive and action menus</title>
<para>The EVMS GUI lets you accomplish most
tasks in one of two ways: context sensitive menus or the
<guimenu>Actions</guimenu> menu.</para>
<para>Context sensitive menus are available from any
@ -17,26 +28,28 @@
page in a notebook widget located on the EVMS
GUI main window. These views are made up of different
trees or lists that visually represent the organization of
different object types, such as volumes,
different object types, including volumes,
feature objects, regions, containers, segments, or disks. </para>
<para>You can view the context
sensitive menu for an object by right-clicking on that
object. The actions that are available
for that object will appear on
the screen. The GUI will present only actions that are acceptable
for that object at that point in the process. These actions will not always be a complete set. </para>
for that object display on
the screen. The GUI will only present actions that are
acceptable for the selected object at that point in the
process. These actions are not always a complete set. </para>
<para>To use the <guimenuitem>Actions</guimenuitem> menu
<para>To use the <guimenuitem>Actions</guimenuitem> menu,
choose <menuchoice>
<guimenuitem>Action</guimenuitem>
<guimenuitem>&lt;the action you want
to accomplish&gt;</guimenuitem>
<guimenuitem>&lt;options&gt;</guimenuitem></menuchoice>.
The <guimenuitem>Actions</guimenuitem> menu provides a more guided path to
completing a task than context sensitive menus do. The
<guimenu>Actions</guimenu> option is similar to the popular wizard or druid
approach used by many GUI applications.</para>
The <guimenuitem>Actions</guimenuitem> menu
provides a more guided path for
completing a task than do context sensitive menus. The
<guimenu>Actions</guimenu> option is similar to the
wizard or druid approach used by many GUI applications.</para>
<para>All of the operations you need to
perform as an administrator are available through
@ -45,108 +58,248 @@
<sect2 id="COMMIT"><title>Saving Changes</title>
<para>All changes you make while in the EVMS
<sect2 id="COMMIT"><title>Saving changes</title>
<para>All of the changes that you make while in the EVMS
GUI are only in memory until you save the changes.
In order to make your changes
permanent, you must save
all changes before exiting. If you
forget to save the changes and decide to exit or close the
EVMS GUI, you will be reminded about
saving any pending changes.</para>
EVMS GUI, you are reminded to save any
pending changes.</para>
<para>To explicitly save all changes you
<para>To explicitly save all the changes you
made, select <menuchoice><guimenu>Action</guimenu>
<guimenuitem>Save</guimenuitem></menuchoice>, and click
the <guibutton>Save</guibutton> button.</para>
</sect2>
<sect2 id="refresh"><title>Refreshing Changes</title>
<para>The <guibutton>Refresh</guibutton> button updates the view but does not cause a rediscover. Clicking
the <guibutton>Refresh</guibutton> button allows you to see changes, like mount points, that you might have mounted outside of the GUI.</para></sect2></sect1>
<sect2 id="refresh"><title>Refreshing changes</title>
<para>The <guibutton>Refresh</guibutton> button updates the view and allows
you to see changes, like mount points, that might have changed outside of
the GUI.</para></sect2>
<sect2 id="guiplus"><title>Using the GUI &quot;+&quot;</title>
<para>Along the left hand side of the panel views in the GUI is a &quot;+&quot; that resides
beside each item. When you click the &quot;+,&quot; the objects that are included
in the item are displayed. If any of the objects that display also have a &quot;+&quot; beside them, you can expand them further by clicking on the &quot;+&quot; next to each object name.</para>
</sect2>
<sect2><title>Using the accelerator keys</title>
<para>You can avoid using a mouse for navigating the EVMS GUI by using a series of
key strokes, or &quot;accelerator keys,&quot; instead. The following sections tell how to use
accelerator keys in the EVMS Main Window, the Selection Window, and the Configuration
Options Window.</para>
<sect3><title>Main Window accelerator keys</title>
<para>In the Main Window view, use the following keys to navigate:
<table><title>Accelerator keys in the Main Window</title>
<tgroup cols="2"><colspec colname="C1" colnum="1"/><colspec colname="C2" colnum="2"/>
<tbody>
<row><entry>Left and right arrow keys</entry>
<entry>Navigate between the notebook tabs of the different views.</entry></row>
<row><entry>Down arrow and <keycap>Spacebar</keycap></entry>
<entry>Bring keyboard focus into the view.</entry></row></tbody></tgroup></table>
</para>
<para>
While in a view, use the following keys to navigate:
<table><title>Accelerator keys in the views</title>
<tgroup cols="2"><colspec colname="C1" colnum="1"/><colspec colname="C2" colnum="2"/>
<tbody>
<row><entry>up and down arrows</entry><entry>Allow movement around the window.</entry></row>
<row><entry>&quot;+&quot;</entry><entry>Opens an object tree.</entry></row>
<row><entry>&quot;-&quot;</entry><entry>Collapses an object tree.</entry></row>
<row><entry><keycap>ENTER</keycap></entry><entry>Brings up the context menu (on a row).</entry></row>
<row><entry>Arrows</entry><entry>Navigate a context menu.</entry></row>
<row><entry><keycap>ENTER</keycap></entry><entry><para>Activates an item.</para></entry></row>
<row><entry><keycap>ESC</keycap></entry><entry>Dismisses the context menu.</entry></row>
<row><entry><keycap>Tab</keycap></entry><entry>Gets you out of the view and moves you back up to the notebook tab.</entry></row>
</tbody></tgroup>
</table>
</para>
<para>
To access the action bar menu, press <keycap>Alt</keycap> and
then the underlined
accelerator key for the menu choice (for example, "A" for the
<guimenuitem>Actions</guimenuitem>
dropdown menu).
</para>
<para>In a dropdown menu, you can use the up and down arrows
to navigate. You could also just type the accelerator key for the menu
item, which is the character with the underscore. For example, to initiate
a command to delete a container, type <keycap>Alt</keycap> + "A" + "D" + "C."</para>
<para>
<keycap>Ctrl-S</keycap> is a shortcut to initiate saving changes.
<keycap>Ctrl-Q</keycap> is a shortcut to initiate quitting the EVMS GUI.
</para>
</sect3>
<sect3><title>Accelerator keys in the selection window </title>
<para>
A selection window typically contains a selection list, plus four to five
buttons below it. Use the following keys to navigate in the selection window:
<table><title>Accelerator keys in the selection window</title>
<tgroup cols="2"><colspec colname="C1" colnum="1"/><colspec colname="C2" colnum="2"/>
<tbody>
<row><entry><keycap>Tab</keycap></entry><entry>Navigates (changes keyboard focus) between the list and the buttons.</entry></row>
<row><entry>Up and down arrows</entry><entry>Navigates within the selection list.</entry></row>
<row><entry><keycap>Spacebar</keycap></entry><entry>Selects and deselects items in the selection list.</entry></row>
<row><entry><keycap>Enter</keycap> on the button or type the accelerator character (if one exists)</entry><entry>Activates a button</entry></row>
</tbody></tgroup>
</table>
</para>
</sect3>
<sect3><title>Configuration options window accelerator keys</title>
<para>
Use the following keys to navigate in the configuration options window:
<table><title>Accelerator keys in the configuration options window</title>
<tgroup cols="2"><colspec colname="C1" colnum="1"/><colspec colname="C2" colnum="2"/>
<tbody>
<row><entry><keycap>Tab</keycap></entry><entry>Cycles focus between fields and buttons</entry></row>
<row><entry>Left and right arrows</entry><entry>Navigate the folder tabs if the window has a widget notebook.</entry></row>
<row><entry><keycap>Spacebar</keycap> or the down arrow</entry><entry>Switches focus to a different notebook page.</entry></row>
<row><entry><keycap>Enter</keycap> or type the accelerator character (if one exists)</entry><entry>Activates a button</entry></row>
</tbody></tgroup>
</table>
</para>
<para>For widgets, use the following keys to navigate:
<table><title>Widget navigation keys in the configuration options window </title>
<tgroup cols="2"><colspec colname="C1" colnum="1"/><colspec colname="C2" colnum="2"/>
<tbody>
<row><entry><keycap>Tab</keycap></entry><entry>Cycles forward through a set of widgets</entry></row>
<row><entry><keycap>Shift-Tab</keycap></entry><entry>Cycles backward through a set of widgets.</entry></row>
</tbody></tgroup>
</table>
</para>
<para>
The widget navigation, selection, and activation is the same in all dialog
windows.
</para>
</sect3>
</sect2>
</sect1>
<!-- NCurses -->
<sect1 id="NCURSES"><title>EVMS Ncurses Interface</title>
<para>The EVMS Ncurses (evmsn) user interface provides a menu driven
interface with similar characteristics to the EVMS GUI. Like the EVMS GUI,
evmsn can accommodate new plug-ins and features without requiring any code
<sect1 id="NCURSES"><title>EVMS Ncurses interface</title>
<para>The EVMS Ncurses (<command>evmsn</command>) user interface is a menu-driven
interface with characteristics similar to those of the EVMS GUI.
Like the EVMS GUI,
<command>evmsn</command> can accommodate new plug-ins and features without requiring any code
changes.</para>
<para>The availability of an EVMS Ncurses user interface
<para>The EVMS Ncurses user interface
allows you to manage volumes on systems that do not have the X
and GTK+ libraries that are required by the EVMS GUI.</para>
<sect2 id="NCURSESOVER"><title>Navigating through EVMS Ncurses</title>
<para>The EVMS Ncurses user interface initially
displays a list of logical volumes similar to the
logical volumes view in the EVMS GUI.</para>
logical volumes view in the EVMS GUI. Ncurses also provides
a menu bar similar to the menu bar in the EVMS GUI.</para>
<para>A general guide to navigating through the layout of the
Ncurses screen is listed below:</para>
Ncurses window is listed below:</para>
<itemizedlist>
<listitem><para>A menu of key-to-action mappings is
listed at the bottom of the screen.</para></listitem>
<listitem><para><keycap>Tab</keycap> cycles you through the available
views.</para></listitem>
<listitem><para>The <keycap>2</keycap> key returns you to the
volumes view.</para></listitem>
<listitem><para>Status messages and tips are displayed on
the last line of the screen.</para></listitem>
<listitem><para>The <keycap>4</keycap> key displays a menu of
other views you could switch
to.</para></listitem>
<listitem><para>Typing the accelerator character (the
letter highlighted in red) for any menu item activates
that item. For example, typing <keycap>A</keycap> in any view brings
down the <guimenuitem>Actions</guimenuitem> menu.</para></listitem>
<listitem><para>The <keycap>5</keycap> key saves changes made
during an evmsn session.</para></listitem>
<listitem><para>Typing <keycap>A</keycap> + <keycap>Q</keycap> in a view
quits the application.</para></listitem>
<listitem><para>The <keycap>9</keycap> key exits Ncurses.</para></listitem>
<listitem><para>Typing <keycap>A</keycap> + <keycap>S</keycap> in a view
saves changes
made during an <command>evmsn</command> session.</para></listitem>
<listitem><para>Status messages and user
prompts appear on a line located
between the window frame for the current view and the action
keys menu line.</para></listitem>
<listitem><para>Use the <keycap>up</keycap> and <keycap>down</keycap>
arrows to highlight an object in a view. Pressing
<keycap>Enter</keycap> while an object in a view is
highlighted presents a context popup menu.</para></listitem>
<listitem><para>You can select which actions to
perform by using the <keycap>up</keycap> and
<keycap>down</keycap> arrow keys to highlight
an object within the current view. After the
correct item is highlighted, press the <keycap>Enter</keycap>
key. Ncurses will typically provide a context
sensitive sub-menu of available actions.</para> </listitem>
<listitem><para>When navigating from one menu
to another, the <keycap>Esc</keycap> (escape) key will return
you to the previous menu.</para> </listitem>
<listitem><para>Dismiss a context popup menu by pressing
<keycap>Esc</keycap> or by selecting a menu item with the
<keycap>up</keycap> and <keycap>down</keycap> arrows and pressing
<keycap>Enter</keycap> to
activate the menu item.</para> </listitem>
</itemizedlist>
<para>Ncurses allows you to create new
objects based on your current view. For example, a container can be created
in the Storage Containers view by selecting any
container. If the view
is empty, you can still create a container by pressing the
<keycap>Enter</keycap> key on the
"No Storage Containers found" row.</para>
<para> In order to change or set an option value
within the configuration options menu, use the <keycap>spacebar</keycap> key to
select the value. Press
<keycap>Enter</keycap> when you are finished. In order to
complete most operations you must press <keycap>Enter</keycap>.</para>
<para>Dialog windows are similar in design to the EVMS GUI
dialogs, which allow a user to navigate forwards and backwards through a series
of dialogs using <guibutton>Next</guibutton> and <guibutton>Previous</guibutton>. A general
guide to dialog windows is listed below:</para>
<itemizedlist>
<listitem><para><keycap>Tab</keycap> cycles you through the available buttons. Note
that some buttons might not be available until a valid selection is made.</para>
</listitem>
<listitem><para>The <keycap>left</keycap> and <keycap>right</keycap> arrows can also be used
to move to an available button.</para>
</listitem>
<listitem><para>Navigate a selection list with the <keycap>up</keycap> and
<keycap>down</keycap> arrows.</para>
</listitem>
<listitem><para>Toggle the selection of an item in a list with <keycap>spacebar</keycap>.</para>
</listitem>
<listitem><para>Activate a button that has the current focus with <keycap>Enter</keycap>. If the button has
an accelerator character (highlighted in red), you can also activate the button
by typing the accelerator character regardless of whether the button has the current
focus.</para>
</listitem>
</itemizedlist>
<para>The EVMS Ncurses user interface, like the EVMS GUI, provides context menus
for actions that are available only to the selected object in a view. Ncurses also provides
context menus for items that are
available from the <guimenuitem>Actions</guimenuitem> menu. These context menus present
a list of commands available for a certain object.</para>
</sect2>
<sect2 id="NCURCHANGES"><title>Saving Changes</title>
<sect2 id="NCURCHANGES"><title>Saving changes</title>
<para>All changes you make while in the EVMS
Ncurses are only in memory until you save the changes.
In order to make your changes permanent, you must save
In order to make the changes permanent, save
all changes before exiting. If you
forget to save the changes and decide to exit or close the
EVMS Ncurses, you will be reminded about
saving any pending changes.</para>
forget to save the changes and decide to exit the EVMS Ncurses
interface, you will be reminded of the unsaved changes and
be given the chance to save or discard the changes before exiting.</para>
<para>To explicitly save all changes you
made, press the <keycap>5</keycap> key and confirm
<para>To explicitly save all changes, press <keycap>A</keycap> + <keycap>S</keycap> and confirm
that you want to save changes.</para>
</sect2>
@ -156,54 +309,60 @@ the <guibutton>Refresh</guibutton> button allows you to see changes, like mount
<sect1 id="COMMANDLINE"><title>EVMS Command Line Interpreter</title>
<para>The EVMS Command Line Interpreter (EVMS CLI) provides a
command-driven user interface for EVMS. The EVMS CLI is
designed to help automate volume management tasks. For
situations where the EVMS GUI is not available, the EVMS CLI
provides an interactive mode.</para>
command-driven user interface for EVMS. The EVMS CLI
helps automate volume management tasks
and provides an interactive mode in situations where the
EVMS GUI is not available.</para>
<para>Because the EVMS CLI is an interpreter, it operates
differently than command line utilities for the
operating system. The options you specify
on the EVMS CLI command line used to invoke the EVMS
on the EVMS CLI command line to invoke the EVMS
CLI control how the EVMS CLI operates. For example, the
command line options tell the CLI where to go for commands to interpret and how
often the EVMS CLI should commit changes to disk.
command line options tell the CLI where to go for commands to
interpret and how
often the EVMS CLI must commit changes to disk.
When invoked, the EVMS CLI prompts for commands. </para>
<para>The volume management commands the EVMS CLI understands
are specified in the <filename>/usr/src/evms-1.2.0/engine/UserInterface/commandline/grammar.ps</filename>
are specified in the <filename>/usr/src/evms-1.9.0/engine2/ui/cli/grammar.ps</filename>
file that accompanies the EVMS
package. These commands are described in detail in the EVMS
man page, and help on these commands is available from the EVMS
CLI itself. </para>
man page, and help on these commands is available from within the EVMS
CLI. </para>
<sect2 id="CLITASKS"><title>Using the EVMS CLI</title>
<para>Use the <command>evms</command> command to start
the EVMS CLI. If you do not enter an option with
<command>evms</command>, the EVMS CLI will start in
<command>evms</command>, the EVMS CLI starts in
interactive mode. In interactive mode, the EVMS CLI prompts
you for commands. The results of each command are saved
to disk immediately. The EVMS CLI will exit when you type <userinput>exit</userinput>.
you for commands. The result of each command is immediately saved
to disk. The EVMS CLI exits when you type <userinput>exit</userinput>.
You can modify this behavior by using
the following options with <command>evms</command>:
<variablelist>
<variablelist><varlistentry><term>-b</term>
<listitem><para>This option indicates that you are running in
batch mode and anytime there is a prompt for input from the user,
the default value is accepted automatically. This is the
default behavior with the <command>-f</command> option.</para></listitem></varlistentry>
<varlistentry><term>-c</term>
<listitem><para>This option commits changes to disk
only when EVMS CLI exits, not after
each command. </para></listitem></varlistentry>
each command.</para></listitem></varlistentry>
<varlistentry><term>-f <replaceable>filename</replaceable></term>
<listitem><para>This option tells the EVMS CLI to use
<replaceable>filename</replaceable> as the source of
commands. The EVMS CLI will exit, when it reaches the
commands. The EVMS CLI exits when it reaches the
end of
<replaceable>filename</replaceable>.
</para></listitem></varlistentry>
<varlistentry><term>-p</term>
<listitem><para>This option parses commands only,
which means that the commands are not actually
executed. When combined with the -f option, the -p option
can be used to catch syntax errors in command files. </para></listitem></varlistentry>
<listitem><para>This option only parses commands; it does
not execute them.
When combined with the <command>-f</command> option, the
<command>-p</command> option detects syntax errors in
command files. </para></listitem></varlistentry>
<varlistentry><term>-h</term>
<listitem><para>This option displays help information
for options used with the <command>evms</command>
@ -221,41 +380,41 @@ the <guibutton>Refresh</guibutton> button allows you to see changes, like mount
numbers (starting with 1) as they are encountered on the command line.
Substitutions are not made within comments or quoted strings. </para>
<para>An example would be :
<para>An example would be:</para>
<programlisting>evms -c -f testcase -rl sda sdb</programlisting>
where <option>sda</option> is the replacement for <replaceable>parameter1</replaceable> and
<para>
<option>sda</option> is the replacement for <replaceable>parameter1</replaceable> and
<option>sdb</option> is the replacement for <replaceable>parameter2</replaceable></para></note>
</listitem></varlistentry>
</variablelist></para>
<note><title>NOTE</title>
<para>Information on less commonly used options is available in the EVMS man
page. </para></note>
<para>Information on less commonly used options is available
in the EVMS man page. </para></note>
<para>When the EVMS CLI has been invoked, it processes
the commands or command file you provide. </para>
</sect2>
<sect2 id="NOTECOMMAND"><title>Notes on Commands and Command Files</title>
<sect2 id="NOTECOMMAND"><title>Notes on commands and command files</title>
<para>The EVMS CLI allows multiple commands to appear
on a command line. When using multiple commands on a
single command line, the commands must be separated by
a colon ( : ) . This is
<para>The EVMS CLI allows multiple commands to be displayed
on a command line. When you specify multiple commands on a
single command line, separate the commands with
a colon ( : ). This is
important for command files because the EVMS CLI sees
a command file as a single long command line. The
EVMS CLI has no concept of lines in the file and
ignores spaces. These features allow a command in
a command file to span several lines and use whatever
indentation, or margins that are convenient. The only
requirement is that the command separator (the colon) appear
indentation or margins that are convenient. The only
requirement is that the command separator (the colon) be present
between commands.</para>
<para>The EVMS CLI ignores spaces unless the spaces
appear within quote marks. Any name that contains
spaces or other non-printable or control characters
should be placed in quotation marks. If the name
<para>The EVMS CLI ignores spaces unless they
occur within quote marks. Place in quotation marks a name that contains
spaces or other non-printable or control characters. If the name
contains a quotation mark as part of the name, the
quotation mark must be "doubled" as in the following example:</para>
quotation mark must be "doubled," as shown in the following
example:</para>
<programlisting>"This is a name containing ""embedded"" quote marks."</programlisting>
@ -264,7 +423,7 @@ the <guibutton>Refresh</guibutton> button allows you to see changes, like mount
<para>Finally, C programming language style comments
are supported by the EVMS CLI. Comments can begin and
end anywhere except within a quoted string, as in the
end anywhere except within a quoted string, as shown in the
following example:</para>
<programlisting>/* This is a comment */
@ -276,166 +435,8 @@ Volume",compatibility</programlisting>
</sect1>
<!-- LVM Utilities -->
<sect1 id="lvm"><title>Linux LVM IEmulation Tools</title>
<para>You can administer
Linux LVM volumes through a set of command line utilities that emulate the Linux LVM
command set, using the EVMS Engine APIs.</para>
<para>The Linux LVM is based on the concept of volume groups. A volume group (VG) is
a collection of physical volumes (PVs). All PVs in one group have their storage
space subdivided into small, fixed-sized sections called physical extents (PEs).
The default size for a PE is 4 MB. Logical volumes (LVs) are created by
allocating one or more PEs to the new LV. When I/O requests come in for a
volume, the LVM code determines which PV and which PE the request lies
on, and passes the request down the stack to the appropriate device.</para>
<para>As noted in <xref linkend="terminology"/>, EVMS uses different terms than those used
in Linux LVM. However, the two sets of terms are comparable. Volume groups (VGs)
from Linux LVM are called containers in EVMS. Because the LVM plug-in is an EVMS
Region Manager, its output objects (LVs in LVM) are called regions. The input
objects (PVs in LVM) are called segments, even though region
managers can actually take disks and other regions as inputs as well. These
command line utilities will often use the Linux LVM and EVMS terminology interchangeably.</para>
<para>The options for the EVMS emulation of the Linux LVM command set are the same as the
options for the Linux LVM commands. However, some options now have slightly
different meanings. For instance, the verbose option (-v) displays additional
information about the command to the user, but also opens the Engine with DEBUG
level messaging, so that additional information is written to the Engine log
(<filename>/var/log/evmsEngine.log</filename>). The debug option (-d) displays the
same amount of info to the user as the verbose option, but opens the Engine with
ENTRY_EXIT level messaging, which causes detailed trace information to be
written to the Engine log. Also, some options are currently silently ignored,
because their functionality has not been implemented yet, or because that
functionality is not necessary in EVMS. For instance, the auto-backup option (<option>-A</option>)
is ignored because the LVM plug-in
does not yet make metadata backups.</para>
<para>The following commands are available
in the command line utilities. The
options are generally identical to those available from
the Linux LVM commands. Use the <option>--help</option> option for each
command to learn more about that command.</para>
<glosslist>
<glossentry><glossterm><command>evms_vgcreate</command></glossterm>
<glossdef><para>Creates a new LVM volume group
with the given list of PVs. VG commands no longer require the user to prepare objects
with <command>evms_pvcreate</command>. Any available object in EVMS can now
be used directly by these commands. Similarly, the
<command>evms_pvremove</command> command is no longer necessary to release
PVs back to available EVMS
objects.</para></glossdef></glossentry>
<glossentry><glossterm><command>evms_vgremove</command></glossterm>
<glossdef><para>Deletes an existing volume
group.</para></glossdef></glossentry>
<glossentry><glossterm><command>evms_vgextend</command></glossterm>
<glossdef><para>Adds new PVs to an existing
volume group.</para></glossdef></glossentry>
<glossentry><glossterm><command>evms_vgreduce</command></glossterm>
<glossdef><para>Takes PVs out of an existing
volume group.</para></glossdef></glossentry>
<glossentry><glossterm><command>evms_vgscan</command></glossterm>
<glossdef><para>Lists all current LVM
VGs. This command also contains a new option
(-c) to force a commit, and the creation of
all necessary device files in
<filename>/dev</filename>. This creation of
files is necessary for existing LVM setups
that have not created any new LVs using the
EVMS tools (unless devfs is enabled). The same
results can also be accomplished by by saving in any of the EVMS interfaces.</para></glossdef></glossentry>
<glossentry><glossterm><command>evms_vgdisplay</command></glossterm>
<glossdef><para>Displays extra information
about the specified VG.</para></glossdef></glossentry>
<glossentry><glossterm><command>evms_lvcreate</command></glossterm>
<glossdef><para>Creates a new LVM logical
volume. <command>evms_lvcreate</command> supports creating normal (linear) LVs as
well as striped LVs. Linear LVs can be specified as being contiguous. The LVM
plug-in defines contiguous to mean the LV must reside on a
single PV in a contiguous run of PEs. </para>
</glossdef></glossentry>
<glossentry><glossterm><command>evms_lvremove</command></glossterm>
<glossdef><para>Deletes an LVM logical
volume. </para></glossdef></glossentry>
<glossentry><glossterm><command>evms_lvextend</command></glossterm>
<glossdef><para>Expands an existing LV by
adding extents. You must expand the file system
after expanding the LV. This command currently
does not support expanding snapshots or
snapshot originals. The Engine will coordinate the expanding and shrinking of the file system
if the FSIM (file system interface module) for the file system is installed.</para></glossdef></glossentry>
<glossentry><glossterm><command>evms_lvreduce</command></glossterm>
<glossdef><para>Shrinks an existing LV by
removing extents. You must shrink the file
system before shrinking the LV. Do not shrink
the LV first, or you will risk losing data
from the file system. This command does not currently
support shrinking snapshots or snapshot
originals. The Engine will coordinate the expanding and shrinking of the file system
if the FSIM (file system interface module) for the file system is installed.</para></glossdef></glossentry>
<glossentry><glossterm><command>evms_lvscan</command></glossterm>
<glossdef><para>Lists all current LVM
LVs. When an LV is listed as inactive that LV does not appear as a
compatibility volume in EVMS, and it is not
available for use through EVMS. The
only way this can occur is if the LV was
created in the EVMS GUI and a compatibility
volume was not added. Use
the GUI to perform the task of adding a
compatibility volume to an inactive LV. </para></glossdef></glossentry>
<glossentry><glossterm><command>evms_lvdisplay</command></glossterm>
<glossdef><para>Displays extra information
about the specified LV.</para></glossdef></glossentry>
<glossentry><glossterm><command>evms_pvscan</command></glossterm>
<glossdef><para>Lists all current LVM
PVs. This command also lists all other EVMS
disks, segments, and regions, and marks each
as "available" or "unavailable." Available
objects can be used directly to create or
extend volume groups. </para></glossdef></glossentry>
<glossentry><glossterm><command>evms_pvdisplay</command></glossterm>
<glossdef><para>Displays extra information about the
specified PV.</para></glossdef></glossentry>
</glosslist>
<para>Two commands have been removed from the set of LVM utilities.
<command>evms_pvcreate</command> and
<command>evms_pvremove</command> are no longer
necessary. The <command>evms_pvscan</command> command
will now display all LVM PVs as well as all other
disks, segments, and regions in EVMS, and label them
as available or unavailable. Objects that are marked as
available can be used by <command>evms_vgcreate</command>
without needing to call <command>evms_pvcreate</command>.</para>
</sect1>
</chapter>
</chapter>

View File

@ -1,32 +1,39 @@
<chapter id="evmsconvert"><title>Converting Volumes</title>
<chapter id="evmsconvert"><title>Converting volumes</title>
<para> This chapter discusses converting compatibility volumes to EVMS
volumes and converting EVMS volumes to compatibility volumes. For a discussion
of the difference between compatibility and EVMS volumes see <xref linkend="evmscreatevol"/>.</para>
of the differences between compatibility and EVMS volumes, see <xref linkend="evmscreatevol"/>.</para>
<sect1><title>When to Convert Volumes</title>
<para>There are a several different scenarios that might help you determine what type of volumes you need. For example, if you wanted persistent names or to make full use of EVMS features, such as BBR, Drive Linking, or Snapshotting, you would convert your compatibility volumes to EVMS volumes. In another situation, you might decide that a volume needs to be read by a system that understands the underlying volume management scheme. In this case you would convert your EVMS volume to a compatibility volume.</para>
<sect1><title>When to convert volumes</title>
<para>There are several different scenarios that might help you determine what type of volumes you need. For example, if you wanted persistent names or to make full use of EVMS features, such as BBR, Drive Linking, or Snapshotting, you would convert your compatibility volumes to EVMS volumes. In another situation, you might decide that a volume needs to be read by a system that understands the underlying volume management scheme. In this case, you would convert your EVMS volume to a compatibility volume.</para>
<para>A volume can only be converted when it is offline. This means the volume must
be umounted and otherwise not in use. The volume must be unmounted because the conversion operation changes both the name and the device number of the volume. Once the volume
is converted, you can remount it using its new name.</para>
</sect1>
<sect1 id="comptoevms"><title>Working through an Example of Converting Compatibility Volumes to EVMS Volumes</title>
<sect1 id="comptoevms"><title>Example: convert compatibility volumes to EVMS volumes</title>
<para>A compatibility volume
can be converted to an EVMS volume in the following situations:
<itemizedlist><listitem><para>The compatibility volume has no filesystem (FSIM) on it.</para></listitem>
<listitem><para>The compatibility volume has a filesystem, but the filesystem has been shrunk (if necessary) to make
<itemizedlist><listitem><para>The compatibility volume has no file system (FSIM) on it.</para></listitem>
<listitem><para>The compatibility volume has a file system, but the file system can be shrunk (if necessary) to make
room for the EMVS metadata.</para></listitem></itemizedlist></para>
<para>This section provides a detailed explanation of how to convert compatibility
volumes to EVMS volumes by providing instructions to help you complete the following task. </para>
volumes to EVMS volumes and provides instructions to help you complete the following task. </para>
<blockquote><example><title>Convert a compatibility volume</title>
<para>You have a compatability volume <filename>/dev/evms/hda3</filename>
that you want to make an EVMS volume named <filename>my_vol</filename>.</para></example></blockquote>
that you want to make into an EVMS volume named <filename>my_vol</filename>.</para></example></blockquote>
<sect2 id="c2egui"><title>Using the EVMS GUI</title>
<para>Follow these steps to convert a compatibility volume with the EVMS GUI:</para>
<orderedlist>
<listitem><para>Choose <menuchoice><guimenu>Action</guimenu>
<guimenuitem>Convert </guimenuitem>
@ -38,25 +45,53 @@ room for the EMVS metadata.</para></listitem></itemizedlist></para>
<listitem><para>Click the <guibutton>Convert</guibutton> button
to convert the volume.</para></listitem>
</orderedlist>
<para>Alternatively, you can perform some of the steps to convert the volume from the GUI
context sensitive menu:</para>
<orderedlist>
<listitem><para>From the <guimenuitem>Volumes</guimenuitem> tab, right click
on <filename>/dev/evms/hda3</filename>.</para></listitem>
<listitem><para>Click <guimenuitem>Convert to EVMS Volume...</guimenuitem></para></listitem>
<listitem><para>Continue to convert the volume beginning with step 3 of the GUI
instructions.</para></listitem></orderedlist>
</sect2>
<sect2 id="c2encur"><title>Using Ncurses</title>
<para>Follow these instructions to convert a compatibility volume to an EVMS volume
with the Ncurses
interface:</para>
<orderedlist>
<listitem><para>Press the <keycap>2</keycap> key to see the volume view.</para></listitem>
<listitem><para>Highlight <filename>/dev/evms/hda3</filename> by
using the up and down arrow keys to scroll through the volumes.Press the
<keycap>Enter</keycap> key.</para></listitem>
<listitem><para>Highlight <guimenuitem>Convert to EVMS Volume</guimenuitem>. Press the
<keycap>Enter</keycap> key.</para></listitem>
<listitem><para>Type <userinput>my_vol</userinput> at the "::" prompt.
Press the <keycap>Enter</keycap> key.</para></listitem>
<listitem><para>Choose <menuchoice><guimenu>Actions</guimenu>
<guimenuitem>Convert</guimenuitem><guimenuitem>Compatibility Volume to EVMS Volume</guimenuitem></menuchoice></para></listitem>
<listitem><para>Select <filename>/dev/evms/hda3</filename> from the list
of available volumes.</para></listitem>
<listitem><para>Type <userinput>my_vol</userinput> when prompted for the name.
Press <keycap>Enter</keycap>.</para></listitem>
<listitem><para>Activate <guibutton>Convert</guibutton>.</para></listitem>
</orderedlist>
<para>Alternatively, you can perform some of the steps to convert the volume from the
context sensitive menu:</para>
<orderedlist>
<listitem><para>From the Volumes view, press <keycap>Enter</keycap> on <filename>/dev/evms/hda3</filename>.</para>
</listitem>
<listitem><para>Activate the <guimenuitem>Convert to EVMS Volume</guimenuitem> menu item.</para>
</listitem>
<listitem><para>Continue to convert the volume beginning with step 3 of the Ncurses
instructions.</para>
</listitem>
</orderedlist>
</sect2>
<sect2><title>Using the CLI</title>
<para>To convert a volume use the <command>Convert</command> command.
<para>To convert a volume, use the <command>Convert</command> command.
The <command>Convert</command> command takes the name of a volume as its first argument, and
then <option>name=</option> for what you want to name the new volume
as the second argument. To complete the example and convert a volume, type the
@ -65,19 +100,21 @@ room for the EMVS metadata.</para></listitem></itemizedlist></para>
</sect2>
</sect1>
<sect1 id="evmstocomp"><title>Working through an Example of Converting EVMS Volumes to Compatibility Volumes</title>
<sect1 id="evmstocomp"><title>Example: convert EVMS volumes to compatibility volumes</title>
<para>An EVMS volume can be converted to a compatibility volume only if the volume does not have EVMS
features on it. This section provides a detailed explanation of how to convert EVMS volumes to compatibility volumes
by providing instructions to help you complete the following task. </para>
<blockquote><example><title>Convert an EVMS Volume</title>
<para>You have an EVMS volume, <filename>/dev/evms/my_vol</filename>
<blockquote><example><title>Convert an EVMS volume</title>
<para>You have an EVMS volume, <filename>/dev/evms/my_vol</filename>,
that you want to make a compatibility volume.</para></example></blockquote>
<sect2 id="e2cgui"><title>Using the EVMS GUI</title>
<para>Follow these instructions to convert an EVMS volume to a compatibility
volume with the EVMS GUI:</para>
<orderedlist>
<listitem><para>Choose <menuchoice><guimenu>Action</guimenu>
<guimenuitem>Convert </guimenuitem>
@ -88,18 +125,48 @@ room for the EMVS metadata.</para></listitem></itemizedlist></para>
<listitem><para>Click the <guibutton>Convert</guibutton> button
to convert the volume.</para></listitem>
</orderedlist>
<para>Alternatively, you can perform some of the steps to convert the volume through
the GUI context sensitive menu:</para>
<orderedlist>
<listitem><para>From the <guimenuitem>Volumes</guimenuitem> tab, right click
<filename>/dev/evms/my_vol</filename>.</para></listitem>
<listitem><para>Click <guimenuitem>Convert to Compatibility Volume...</guimenuitem></para></listitem>
<listitem><para>Continue converting the volume beginning with step 3 of the
GUI instructions.</para></listitem>
</orderedlist>
</sect2>
<sect2 id="e2cncur"><title>Using Ncurses</title>
<para>Follow these instructions to convert an EVMS volume to a compatibility volume
with the Ncurses interface:</para>
<orderedlist>
<listitem><para>Press the <keycap>2</keycap> key to see the volume view.</para></listitem>
<listitem><para>Highlight <filename>/dev/evms/my_vol</filename>.
Press the <keycap>Enter</keycap> key.</para></listitem>
<listitem><para>Highlight <menuchoice><guimenuitem>Convert to Compatibility Volume</guimenuitem>
</menuchoice>. Press the <keycap>Enter</keycap> key.</para></listitem>
<listitem><para>Highlight <menuchoice><guimenuitem>Convert</guimenuitem></menuchoice> to confirm.
Press the <keycap>Enter</keycap> key.</para></listitem>
</orderedlist></sect2>
<listitem><para>Choose <menuchoice><guimenu>Actions</guimenu>
<guimenuitem>Convert</guimenuitem><guimenuitem>EVMS Volume to
Compatibility Volume</guimenuitem></menuchoice></para></listitem>
<listitem><para>Select <filename>/dev/evms/my_vol</filename> from the
list of available volumes.</para></listitem>
<listitem><para>Activate <guibutton>Convert</guibutton>.
</para></listitem>
</orderedlist>
<para>Alternatively, you can perform some of the steps to convert the volume through
the context sensitive menu:</para>
<orderedlist>
<listitem><para>From the Volumes view, press <keycap>Enter</keycap> on <filename>/dev/evms/my_vol</filename>.</para>
</listitem>
<listitem><para>Activate the <guimenuitem>Convert to Compatibility Volume</guimenuitem> menu item.</para>
</listitem>
<listitem><para>Continue to convert the volume beginning with step 3 of the Ncurses
instructions.</para>
</listitem>
</orderedlist>
</sect2>
<sect2 id="e2ccli"><title>Using the CLI</title>
<para>To convert a volume use the <command>Convert</command> command.
@ -115,14 +182,4 @@ room for the EMVS metadata.</para></listitem></itemizedlist></para>
</sect1>
</chapter>
</chapter>

View File

@ -1,11 +1,17 @@
<chapter id="evmscreatecont"><title>Creating a Container </title>
<para>The following chapter discusses when and how to create a container. </para>
<sect1 id="whencont"><title>When to Create a Container</title>
<para>Segments and disks may be combined to form a container. Containers allow you to combine
storage objects and then subdivide those combined storage objects into new storage objects. You can
<chapter id="evmscreatecont"><title>Creating a container </title>
<para>This chapter discusses when and how to create a container. </para>
<sect1 id="whencont"><title>When to create a container</title>
<para>Segments and disks can be combined to form a container. Containers allow
you to combine
storage objects and then subdivide those combined storage objects
into new storage objects. You can
combine storage objects to implement the volume group concept
as found in the AIX and Linux logical volume managers.</para>
<para>Containers are the beginning of more flexible
@ -13,19 +19,21 @@ volume management. You might want to create a container in order to account for
need to add additional disks when your applications or users need more storage. </para>
</sect1>
<sect1 id="contex"><title>Working through an Example</title>
<sect1 id="contex"><title>Example: create a container</title>
<para>This section provides a detailed explanation of how to create a container with EVMS by providing instructions
to help you complete the following task.</para>
<blockquote><example><title>Create &quot;Sample Container&quot;</title>
<para>Given a system with three available disk drives (sdc, sdd, hdc), use the EVMS LVM Region Manager to
combine these disk drives into a container called "Sample Container" with a PE size of 16 MB. </para></example></blockquote>
<para>Given a system with three available disk drives
(<filename>sdc</filename>, <filename>sdd</filename>, <filename>hdc</filename>),
use the EVMS LVM Region Manager to combine these disk drives into a
container called "Sample Container" with a PE size of 16 MB. </para></example></blockquote>
<sect2 id="guicont"><title>Using the EVMS GUI</title>
<para>To create a container using the EVMS GUI, follow the steps below:
<para>To create a container using the EVMS GUI, follow these steps:
<orderedlist>
<listitem><para>Select
<menuchoice>
@ -43,16 +51,16 @@ to help you complete the following task.</para>
<listitem><para>Select <guilabel>sdc</guilabel>, <guilabel>sdd</guilabel>, and
<guilabel>hdc</guilabel> from the list. Click
<guibutton>Next</guibutton> </para></listitem>
<guibutton>Next</guibutton>.</para></listitem>
<listitem><para>Enter the name <userinput>Sample Container</userinput>
for the container and <userinput>16MB</userinput> in the
<guilabel>PE size</guilabel> field.</para></listitem>
<listitem><para>Click the
<guibutton>Create</guibutton>
button. A window that displays the
outcome appears.</para>
<listitem><para>Click
<guibutton>Create</guibutton>.
A window opens to display the
outcome.</para>
</listitem>
</orderedlist>
@ -63,103 +71,65 @@ to help you complete the following task.</para>
<!--ncurses-->
<sect2 id="ncurcont"><title>Using Ncurses</title>
<para>To create a container using the Ncurses interface, follow the steps below:
<para>To create a container using the Ncurses interface, follow these
steps:
<orderedlist>
<listitem><para>Press the
<keycap>4</keycap> key to switch
views.</para> </listitem>
<listitem><para>Select <menuchoice><guimenu>Actions</guimenu>
<guimenuitem>Create</guimenuitem><guimenuitem>Container</guimenuitem></menuchoice>
to see a list of plug-ins that support container creation.</para> </listitem>
<listitem><para>Scroll down the list
using the down arrow key to the
<guimenuitem>Storage
Containers</guimenuitem>. Press the
<keycap>Enter</keycap> key.</para> </listitem>
<listitem><para>Select the
<guimenuitem>LVM Region Manager</guimenuitem>. Activate
<keycap>Next</keycap>. </para>
<para>The next dialog window contains a list
of storage objects that the LVM Region Manager can use to
create the container.</para></listitem>
<listitem><para>Press the <keycap>Enter</keycap> key again to
display a sub menu.</para> </listitem>
<listitem><para>Select <guilabel>sdc</guilabel>, <guilabel>sdd</guilabel>, and
<guilabel>hdc</guilabel> from the list. Activate
<guibutton>Next</guibutton>.</para> </listitem>
<listitem><para>Scroll down until you highlight <guimenuitem>Create a New Container</guimenuitem>.
Press the <keycap>Enter</keycap> key. You should see a list of plug-ins that support container
creation.</para> </listitem>
<listitem><para>Press <keycap>spacebar</keycap> to select the field for
the container name. </para> </listitem>
<listitem><para>Select
<guimenuitem>LVM Region Manager</guimenuitem>. Press the
<keycap>Enter</keycap> key.</para>
<para>The next sub menu contains a
list of storage objects, such as
segments, disks, or regions the
LVM Region Manager finds acceptable to
use for the creation of a
container.</para> </listitem>
<listitem><para>Use the
<keycap>spacebar</keycap> to select <guilabel>sdc</guilabel>,
<guilabel>sdd</guilabel>, and <guilabel>hdc</guilabel> from
the list. Press the <keycap>Enter</keycap> key. Selected disks will be marked with
an <guilabel>x</guilabel>.</para> </listitem>
<listitem><para>Press the
<keycap>spacebar</keycap> key to
select the field for the container
name.</para> </listitem>
<listitem><para>Type <userinput>Sample Container</userinput> at the "::" prompt. Press the
<keycap>Enter</keycap> key.</para> </listitem>
<listitem><para>Type <userinput>Sample Container</userinput> at the "::" prompt. Press
<keycap>Enter</keycap>.</para> </listitem>
<listitem><para>Scroll down until <guilabel>PE Size</guilabel> is highlighted. Press the <keycap>spacebar</keycap>.</para></listitem>
<listitem><para>Scroll down until <guilabel>PE Size</guilabel> is highlighted.
Press <keycap>spacebar</keycap>.</para></listitem>
<listitem><para>Scroll down until <guilabel>32768</guilabel> is highlighted. Press the <keycap>spacebar</keycap>.
<note><title>NOTE</title>
<para>In Ncurses PE Size is listed in sectors, so 16MB = 32768 (512B) sectors.</para></note></para></listitem>
<listitem><para>Scroll down until <guilabel>16MB</guilabel> is highlighted.
Press <keycap>spacebar</keycap>.</para></listitem>
<listitem><para>Press the <keycap>Enter</keycap> key to complete
the operation.</para></listitem>
<listitem><para>Activate <guibutton>OK</guibutton>.</para></listitem>
<listitem><para>Activate <guibutton>Create</guibutton>.</para></listitem>
</orderedlist>
</para>
</sect2>
<!--CLI-->
<sect2 id="clicont"><title>Using the CLI</title>
<para>The <command>Create</command> command is
used to create containers. The first argument
<para>The <command>Create</command> command
creates containers. The first argument
in the <command>Create</command> command is the type of object to
produce, in this case a container. The
<command>Create</command> command then accepts
the following arguments: the region manager to
use along with any parameters it might need, and
the segments or disks to create the container
from. The command to complete the example
above is:</para>
from. The command to complete the previous example is:</para>
<programlisting>
Create:Container,LvmRegMgr={name="Sample Container",pe_size=16KB},sdc,sdd,hdc
<programlisting>Create:Container,LvmRegMgr={name="Sample Container",pe_size=16MB},sdc,sdd,hdc
</programlisting>
<para>The example above accepts the default values for all options you don't specify. To see the options for this command type:
<para>The previous example accepts the default values for all options
you don't specify. To see the options for this command type:
<programlisting>query:plugins,plugin=LvmRegMgr,list options</programlisting></para>
</sect2>
<sect2><title>Using Linux LVM Emulation Tools </title>
<para>To create a container using the Linux LVM emulation tools, type the following at the command prompt: </para>
<programlisting>evms_vgcreate --verbose --physicalextentsize 16MB &quot;Sample Container&quot; sdc sdd hdc</programlisting>
<para>For a listing of other options used with the <command>evms_vgcreate</command> command type:</para>
<programlisting>evms_vgcreate -h</programlisting>
</sect2>
</sect1>
</chapter>
</chapter>

View File

@ -1,184 +1,159 @@
<chapter id="evmscreatereg"><title>Creating Regions</title>
<chapter id="evmscreatereg"><title>Creating regions</title>
<para>Regions can be created from containers, but they can also be created from other
regions, segments, or disks. Most region managers that support containers will create one or more
regions, segments, or disks. Most region managers that support containers create one or more
freespace regions to represent the freespace within the container. This function is
analogous to the way a segment manager creates a freespace segment to represent unused disk
space. </para>
<sect1><title>When to Create Regions</title>
<sect1><title>When to create regions</title>
<para>You can create regions because you want the features provided by a certain region manager.
or because you want the features provided by that region manager.You can also create regions to be compatible with other volume management technologies, such as MD or
LVM. For example,
if you wanted to make a volume that is compatible with Linux LVM, you would create a
region out of a Linux LVM container and then a comptibility volume from that region. </para>
<para>You can create regions because you want the features provided by
a certain region manager or because you want the features provided by
that region manager. You can also create regions to be compatible with
other volume management technologies, such as MD or LVM.
For example, if you wanted to make a volume that is compatible with Linux LVM,
you would create a region out of a Linux LVM container and then a comptibility volume from that region. </para>
</sect1>
<sect1 id="crregex"><title>Working through an Example</title>
<para>This section provides a detailed explanation of how to create a region with EVMS by
<sect1 id="crregex"><title>Example: create a region</title>
<para>This section tells how to create a region with EVMS by
providing instructions to help you complete the following task.</para>
<blockquote><example><title>Create &quot;Sample Region&quot;</title>
<para>Given the container "Sample Container," which has a freespace region of 8799 MB
create a data region 1000 MB in size named "Sample Region."</para></example></blockquote>
<para>Given the container "Sample Container," which has a freespace region of
8799 MB, create a data region 1000 MB in size named "Sample Region."</para></example></blockquote>
<sect2 id="guireg"><title>Using the EVMS GUI</title>
<para>To create a region, follow the steps below:
<para>To create a region, follow these steps:
<orderedlist><listitem><para>Select
<menuchoice>
<guimenu>Actions</guimenu>
<guimenuitem>Create</guimenuitem>
<guimenuitem>Region</guimenuitem></menuchoice>
to see a list of region
manager plug-ins. </para></listitem>
<guimenuitem>Create</guimenuitem><guimenuitem>Region</guimenuitem></menuchoice>
</para></listitem>
<listitem><para>Select
the <guisubmenu>LVM Region
Manager</guisubmenu>. Click <guibutton>Next</guibutton>.</para>
<note><title>NOTE</title>
<para>You may
<para>You might
see additional region managers that were
not in the selection list when you were creating the storage container
because not all region
managers are required to support containers.</para></note></listitem>
<listitem><para>Select the freespace region from
the container you created in <xref linkend="evmscreatecont"/>.
The region should be named
the container you created in
<xref linkend="evmscreatecont"/>.
Verify that the region is named
<filename>lvm&sol;Sample Container&sol;Freespace</filename>.
Click <guibutton>Next</guibutton>.</para>
<para>The fields in the next window are the options for the
LVM Region Manager plug-in,the options marked with an "*" are required. </para></listitem>
LVM Region Manager plug-in, the options marked with an "*" are required. </para></listitem>
<listitem><para>Fill in the name,<userinput>Sample Region</userinput>.</para></listitem>
<listitem><para>Fill in the name, <userinput>Sample Region</userinput>.</para></listitem>
<listitem><para>Enter <userinput>1000MB</userinput> in the <guilabel>size</guilabel> field.</para></listitem>
<listitem><para>Click the
<guibutton>Create</guibutton> button to complete the
operation. A window that displays the
outcome appears. </para>
operation. A window opens to display the outcome.</para>
</listitem>
</orderedlist>
</para>
<para>Alternatively, you can perform some of the steps for creating a region with the GUI context sensitive menu:</para>
<orderedlist><listitem><para>From the <guimenuitem>Regions</guimenuitem> tab, right click
<filename>lvm/Sample Container/Freespace</filename>.</para></listitem>
<listitem><para>Click <guibutton>Create Region</guibutton>.</para></listitem>
<listitem><para>Continue beginning with step 4 of the GUI instructions.</para></listitem>
</orderedlist>
</sect2>
<!--ncurses-->
<sect2 id="ncurreg"><title>Using Ncurses</title>
<para>To create a region, follow the steps below:
<para>To create a region, follow these steps:
<orderedlist>
<listitem><para>Press the
<keycap>4</keycap> key to switch
views.</para> </listitem>
<listitem><para>Scroll down the
list using the <keycap>down</keycap> arrow key until
<guimenuitem>Storage
Regions</guimenuitem> is
highlighted. Press the
<keycap>Enter</keycap> key.</para> </listitem>
<listitem><para>Press the
<keycap>Enter</keycap> key again to
display a submenu. </para></listitem>
<listitem><para>Press the
<keycap>Enter</keycap> key when
<guimenuitem>Create a New
Region</guimenuitem> is
highlighted. You will be presented
with a list of region manager
plug-ins.</para></listitem>
<listitem><para>Select
<menuchoice><guimenu>Actions</guimenu>
<guimenuitem>Create</guimenuitem>
<guimenuitem>Region</guimenuitem></menuchoice>.</para> </listitem>
<listitem><para>Select the
<guimenuitem>LVM Region
Manager</guimenuitem>. Press the <keycap>Enter</keycap> key.</para>
<note><title>NOTE</title>
<para>You might see additional region
managers that were not in the
selection list when you created
the storage container. This absence of
region managers occurs
because not all region managers are
required to support
containers.</para></note></listitem>
Manager</guimenuitem>. Activate <keycap>Next</keycap>.</para>
</listitem>
<listitem><para>Select the freespace
region from the container you created
earlier in <xref linkend="evmscreatecont"/>. The region should be
named
earlier in <xref linkend="evmscreatecont"/>. Verify that
the region is named
<filename>lvm&sol;Sample Container&sol;Freespace</filename>.</para></listitem>
<listitem><para>Use the <keycap>spacebar</keycap>
key to select it. Press the
<keycap>Enter</keycap> key to
continue. The configuration options
submenu should
appear. </para></listitem>
<listitem><para>Scroll to the <guilabel>Name</guilabel> field, and press
<keycap>spacebar</keycap></para></listitem>
<keycap>spacebar</keycap>.</para></listitem>
<listitem><para>Type <userinput>Sample Region</userinput> at the "::" prompt.
Press <keycap>Enter</keycap>.</para></listitem>
<listitem><para>Scroll to the <guilabel>size</guilabel> field, and press
the <keycap>spacebar</keycap></para></listitem>
<listitem><para>Scroll to the <guilabel>size</guilabel> field,
and press <keycap>spacebar</keycap>.</para></listitem>
<listitem><para>Type <userinput>1000</userinput> at the "::" prompt.
<listitem><para>Type <userinput>1000MB</userinput> at the "::" prompt.
Press <keycap>Enter</keycap>.</para></listitem>
<listitem><para>Check all fields to make sure they were entered appropriately.
If the units are displayed as KB and you desired MB, return to the previous step,
and enter the value of KB that is equal to the MB value you desired.</para></listitem>
<listitem><para>Activate <guibutton>Create</guibutton>.</para></listitem>
</orderedlist>
</para>
<para>Alternatively, you can perform some of the steps for creating a region with the
context sensitive menu:</para>
<orderedlist>
<listitem><para>From the Storage Regions view, press <keycap>Enter</keycap> on
<filename>lvm/Sample Container/Freespace</filename>.</para>
</listitem>
<listitem><para>Activate the <guimenuitem>Create Region</guimenuitem> menu item.</para>
</listitem>
<listitem><para>Continue beginning with step 4 of the Ncurses instructions.</para>
</listitem>
</orderedlist>
</sect2>
<!--CLI-->
<sect2 id="clireg"><title>Using the CLI</title>
<para>Regions are created using the <command>Create</command>
<para>Create regions with the <command>Create</command>
command. Arguments to the <command>Create </command>command are
the following: keyword Region, the name of the
region manager to use, the region managers
options, and the objects to consume. The form of this command is:</para>
<programlisting>Create:region, LvmRegMgr={name="Sample Region"; size=1000MB},"lvm/Sample Container/freespace"</programlisting>
<programlisting>Create:region, LvmRegMgr={name="Sample Region", size=1000MB},
"lvm/Sample Container/Freespace"</programlisting>
<para>The LVM Region Manager supports many
options for creating regions. To see the
available options for creating regions and
containers, use the <command>Query</command> command as follows: </para>
containers, use the following <command>Query</command>:</para>
<programlisting>query:plugins,plugin=LvmRegMgr,list options</programlisting>
</sect2>
<sect2 id="lvmreg"><title>Using Linux LVM Emulation Tools </title>
<para>The command that creates a region in LVM also creates an EVMS compatibility volume. Details on creating regions with the Linux LVM emulation tools can be found in the <xref linkend="lvmcomp"/>.</para></sect2>
</sect1>
</chapter>
</chapter>

View File

@ -1,22 +1,25 @@
<chapter id="evmscreateseg"><title>Creating Segments</title>
<para>The following chapter discusses when to use segments and how to create segments using
<chapter id="evmscreateseg"><title>Creating segments</title>
<para>This chapter discusses when to use segments and how to create them using
different EVMS interfaces.</para>
<sect1 id="whyseg"><title>When to Create a Segment</title>
<sect1 id="whyseg"><title>When to create a segment</title>
<para>A disk can be subdivided into smaller storage objects called disk segments. A segment manager plug-in provides this capability. Another reason for creating disk segments is to maintain compatibility on a dual boot system where the other operating system requires disk partitions. Before creating a disk segment, you must choose a segment manager plug-in to manage the disk and assign
the segment manager to the disk. An explanation of when and how to assign segment managers can be found in <xref linkend="evmsassignseg"/>.</para>
the segment manager to the disk. An explanation of when and how to assign segment managers can be found in <xref linkend="evmsassignseg"/>.</para>
</sect1>
<sect1 id="crsegex"><title>Working through an Example</title>
<sect1 id="crsegex"><title>Example: create a segment</title>
<para> This section provides a detailed explanation of how to create a
segment with EVMS by providing instructions to help you complete the following task:</para>
<blockquote><example><title>Create a 100MB egment</title>
<blockquote><example><title>Create a 100MB segment</title>
<para>Create a 100MB segment from the freespace segment sde_freespace1. This
freespace segment lies on a drive controlled by the DOS Segment Manager. </para></example></blockquote>
@ -61,65 +64,61 @@ segment with EVMS by providing instructions to help you complete the following t
fields, the <guibutton>Create</guibutton>
button becomes available.</para></listitem>
<listitem><para>Click the
<guibutton>Create</guibutton>
button. A window that displays the
outcome appears. </para>
<listitem><para>Click
<guibutton>Create</guibutton>.
A window opens to display the
outcome.</para>
</listitem>
</orderedlist></para>
<para>Alternatively, you can perform some of the steps to create a segment from the GUI context sensitive menu:</para>
<orderedlist><listitem><para>From the <guimenuitem>Segments</guimenuitem> tab, right click
on <filename>sde_freespace1</filename>.</para></listitem>
<listitem><para>Click <guibutton>Create Segment...</guibutton></para></listitem>
<listitem><para>Continue beginning with step 4 of the GUI instructions.</para></listitem>
</orderedlist>
</sect2>
<!-- Ncurses-->
<sect2 id="ncurseg"><title>Using Ncurses</title>
<para>To create a segment using the Ncurses, follow the steps below:</para>
<para>To create a segment using Ncurses, follow these steps:</para>
<orderedlist>
<listitem><para>Press the <keycap>4</keycap> key
to switch views.</para></listitem>
<listitem><para>Select <menuchoice><guimenu>Actions</guimenu><guimenuitem>Create</guimenuitem><guimenuitem>Segment</guimenuitem></menuchoice> to see a list of segment manager plug-ins.</para></listitem>
<listitem><para>Scroll down using the
down arrow key until <guimenuitem>Disk Segments</guimenuitem> is highlighted.
Press the <keycap>Enter</keycap> key.</para></listitem>
<listitem><para>Press the <keycap>Enter</keycap> key
again to display a sub menu on the
current selection.</para></listitem>
<listitem><para>Select <guimenuitem>Create a
New Segment</guimenuitem>. Press the
<keycap>Enter</keycap> key. You should see a list of segment
manager plug-ins. </para></listitem>
<listitem><para>Select <guimenuitem>DOS Segment Manager</guimenuitem>. Press the <keycap>Enter</keycap>
key.</para>
<para>The next dialog window
will present a list of free space
<listitem><para>Select <guimenuitem>DOS Segment Manager</guimenuitem>.
Activate <guibutton>Next</guibutton>.</para>
<para>The next dialog window
lists free space
storage objects suitable for creating
a new segment. </para></listitem>
<listitem><para>Select <filename>sde_freespace1</filename> by moving to it with the arrow
keys and then using the <keycap>spacebar</keycap> key
to select it. After the storage object is selected (it
is marked by an &quot;X&quot;), press the <keycap>Enter</keycap> key.</para>
<para>The last dialog window displays the selected freespace object and configuration options
available from the plug-in manager. Required fields are denoted by the "*" in front of the field
description. The DOS Segment Manager provides default values, but you might want to change some of these
values. </para></listitem>
<listitem><para>Select <filename>sde_freespace1</filename>. Activate <keycap>Next</keycap>.</para>
<listitem><para>Highlight the <guilabel>size field</guilabel> and press the <keycap>spacebar</keycap> key.</para></listitem>
</listitem>
<listitem><para>At the &quot;::&quot; prompt enter <userinput>100</userinput>.
Press the <keycap>Enter</keycap> key. </para> </listitem>
<listitem><para>Highlight the <guilabel>size field</guilabel> and press <keycap>spacebar</keycap>.</para></listitem>
<listitem><para>At the &quot;::&quot; prompt enter <userinput>100MB</userinput>.
Press <keycap>Enter</keycap>. </para> </listitem>
<listitem><para>Check all fields to make sure they were entered appropriately. If the units are displayed as KB, and you desired MB, return to step 7 and enter the value of KB that is equal to the MB value you desired. For example, instead of entering 100 you would enter 102400 (100 x 1024) to convert the KB value to MB. </para></listitem>
<listitem><para>Once all required values have been completed, press the <keycap>Enter</keycap> key
and a results status message will be displayed. </para> </listitem>
<listitem><para>After all required values have been completed, the <guibutton>Create</guibutton>
button becomes available.</para> </listitem>
<listitem><para>Activate <guibutton>Create</guibutton>.</para></listitem>
</orderedlist>
<para>Alternatively, you can perform some of the steps to create a segment from the
context sensitive menu:</para>
<orderedlist>
<listitem><para>From the Segments view, press <keycap>Enter</keycap> on <filename>sde_frespace1</filename>.</para>
</listitem>
<listitem><para>Activate <guimenuitem>Create Segment</guimenuitem>.</para>
</listitem>
<listitem><para>Continue beginning with step 4 of the Ncurses instructions.</para>
</listitem>
</orderedlist>
</sect2>
@ -145,20 +144,10 @@ segment with EVMS by providing instructions to help you complete the following t
<note><title>NOTE</title>
<para>The <command>Allocate</command> command will also work to create a segment. </para></note>
<para>The example above accepts the default values for all options you don't specify. To see the options for this command type:<programlisting>query:plugins,plugin=DosSegMgr,list options</programlisting></para>
<para>The <command>Allocate</command> command also works to create a segment. </para></note>
<para>The previous example accepts the default values for all options you don't specify. To see the options for this command type:<programlisting>query:plugins,plugin=DosSegMgr,list options</programlisting></para>
</sect2>
</sect1>
</chapter>
</chapter>

View File

@ -1,17 +1,22 @@
<chapter id="evmscreatevol"><title>Creating Volumes</title>
<para>This following chapter discusses when and how to create volumes.</para>
<sect1><title>When to Create a Volume</title>
<para>EVMS treats volumes and storage objects as separate. A storage object does not automatically
become a volume. Instead, a storage object must be made into a volume.</para>
<chapter id="evmscreatevol"><title>Creating volumes</title>
<para>This chapter discusses when and how to create volumes.</para>
<sect1><title>When to create a volume</title>
<para>EVMS treats volumes and storage objects separately.
A storage object does not automatically
become a volume; it must be made into a volume.</para>
<para>Volumes are created from storage objects.
Volumes are either EVMS native volumes or compatibility volumes. Compatibility volumes
are intended to be compatible with a volume manager other than EVMS, such as the Linux
LVM, MD, OS/2 or AIX. Compatibility volumes might have restrictions on what EVMS can do with
them. EVMS native volumes have no such restrictions, but they can only be used by an
EVMS equipped system. Volumes are mountable and can contain filesystems.</para>
them. EVMS native volumes have no such restrictions, but they can be used only by an
EVMS equipped system. Volumes are mountable and can contain file systems.</para>
<para>EVMS native volumes contain EVMS-specific information
@ -20,12 +25,12 @@ become a volume. Instead, a storage object must be made into a volume.</para>
with existing volume types.</para>
<para>Instead of
adding EVMS metadata to an existing object, we can tell EVMS to make an object directly available as a volume. This type of
adding EVMS metadata to an existing object, you can tell EVMS to make an object directly available as a volume. This type of
volume is known as a compatibility volume. Using this method, the final product is fully
backwards-compatible with the desired system. </para>
</sect1>
<sect1 id="crvolexcomp"><title>Working through an Example of Creating an EVMS Native Volume</title>
<sect1 id="crvolexcomp"><title>Example: create an EVMS native volume</title>
<para>This section provides a detailed explanation of how to create an EVMS native
volume with EVMS by providing instructions to help you complete the following task.</para>
@ -36,40 +41,52 @@ become a volume. Instead, a storage object must be made into a volume.</para>
<sect2 id="evmsguivol"><title>Using the EVMS GUI</title>
<para>Follow the instructions below to create an EVMS volume:</para>
<para>Follow these instructions to create an EVMS volume:</para>
<orderedlist><listitem><para>Select <menuchoice><guimenu>Actions</guimenu>
<guimenuitem>Create</guimenuitem>
<guimenuitem>EVMS Volume</guimenuitem></menuchoice></para></listitem>
<guimenuitem>EVMS Volume</guimenuitem></menuchoice>.</para></listitem>
<listitem><para>Choose <filename>lvm/Sample Container/Sample Region</filename>.
</para></listitem>
<listitem><para>Type <userinput>Sample Volume</userinput> in the
<guilabel>name field</guilabel>.</para></listitem>
<listitem><para>Click <guibutton>Create</guibutton></para></listitem></orderedlist>
</sect2>
<listitem><para>Click <guibutton>Create</guibutton>.</para></listitem></orderedlist>
<para>Alternatively, you can perform some of the steps to create an EVMS
volume from the GUI context sensitive menu:</para>
<orderedlist><listitem><para>From the <guimenuitem>Available Options</guimenuitem> tab, right click
<filename>lvm/Sample Container/Sample Region</filename>.</para></listitem>
<listitem><para>Click <guimenuitem>Create EVMS Volume...</guimenuitem></para></listitem>
<listitem><para>Continue beginning with step 3 of the GUI instructions.</para></listitem>
</orderedlist></sect2>
<sect2 id="ncurevmsvol"><title>Using Ncurses</title>
<para>To create a volume, follow the steps below:
<para>To create a volume, follow these steps:
<orderedlist>
<listitem><para>Press the <keycap>4</keycap> key to switch views.</para></listitem>
<listitem><para>Scroll down the list using the <keycap>down</keycap> arrow key to the
available topmost storage object. Press the <keycap>Enter</keycap> key</para></listitem>
<listitem><para>Highlight <filename>lvm/Sample Container/Storage Region</filename>.
Press the <keycap>Enter</keycap> key.</para></listitem>
<listitem><para>Select <guimenuitem>Create EVMS Volume from
the Storage Object</guimenuitem>. Press the
<keycap>Enter</keycap> key.</para></listitem>
<listitem><para>Confirm the creation
of the volume.</para> </listitem>
<listitem><para>Enter <userinput>Sample Volume</userinput> at the "::" prompt.
Press the
<keycap>Enter</keycap> key to complete
the operation.</para> </listitem></orderedlist>
<listitem><para>Select <menuchoice><guimenu>Actions</guimenu>
<guimenuitem>Create</guimenuitem><guimenuitem>EVMS Volume</guimenuitem></menuchoice>.</para></listitem>
<listitem><para>Enter <userinput>Sample Volume</userinput> at the "name" prompt.
Press <keycap>Enter</keycap>.</para> </listitem>
<listitem><para>Activate <guibutton>Create</guibutton>.</para></listitem></orderedlist>
</para>
<para>If you look at the volumes view
(<keycap>2</keycap>), you should see your new volume.</para>
<para>Alternatively, you can perform some of the steps to create an EVMS volume
from the context sensitive menu:</para>
<orderedlist>
<listitem><para>From the Available Objects view, press <keycap>Enter</keycap> on
<filename>lvm/Sample Container/Sample Region</filename>.</para>
</listitem>
<listitem><para>Activate the <guimenuitem>Create EVMS Volume</guimenuitem> menu item.</para>
</listitem>
<listitem><para>Continue beginning with step 3 of the Ncurses instructions.</para>
</listitem>
</orderedlist>
</sect2>
@ -79,7 +96,8 @@ become a volume. Instead, a storage object must be made into a volume.</para>
the case of the example, the first argument is the key word <option>volume</option> that
specifies what is being created. The second argument is the object being made into a volume,
in this case <option>lvm/Sample Container/Sample Region</option>.
The third argument is type specific for an EVMS volume we need <option>Name=</option> and what
The third argument is type specific for an EVMS
volume, <option>Name=</option>, followed by what
you want to call the volume, in this case <option>Sample Volume</option>. The following command
creates the volume from the example. </para>
<programlisting>Create: Volume, &quot;lvm/Sample Container/Sample Region&quot;, Name="Sample Volume"</programlisting>
@ -90,9 +108,9 @@ become a volume. Instead, a storage object must be made into a volume.</para>
</sect1>
<sect1 id="crvolexevms"><title>Working through an Example of Creating a Compatibility Volume</title>
<sect1 id="crvolexevms"><title>Example: create a compatibility volume</title>
<para>This section provides a detailed explanation of how to create a compatibility
volume with EVMS by providing instructions to help you complete the followint task.</para>
volume with EVMS by providing instructions to help you complete the following task.</para>
@ -101,7 +119,7 @@ become a volume. Instead, a storage object must be made into a volume.</para>
the region, <filename>/lvm/Sample Container/Region</filename>, you created in <xref linkend="evmscreatereg"/>.</para></example></blockquote>
<sect2 id="guicompvol"><title>Using the GUI</title>
<para>To create a compatibility volume, follow the steps below:</para>
<para>To create a compatibility volume, follow these steps:</para>
<orderedlist>
<listitem><para>Select
@ -111,35 +129,57 @@ become a volume. Instead, a storage object must be made into a volume.</para>
</para></listitem>
<listitem><para>Choose the region <filename>lvm/Sample Container/Sample Region</filename>
from the list</para></listitem>
from the list.</para></listitem>
<listitem><para>Click the <guibutton>Create</guibutton> button.</para></listitem>
<listitem><para>Click on the <guilabel>Volume</guilabel> tab in the GUI to
<listitem><para>Click the <guilabel>Volume</guilabel> tab in the GUI to
see a volume named <filename>/dev/evms/lvm/Sample Container/Sample Region</filename>.
This volume is your compatibility volume.</para></listitem>
</orderedlist>
<para>Alternatively, you can perform some of the steps to create a compatibility volume from
the GUI context sensitive menu:</para>
<orderedlist><listitem><para>From the <guimenuitem>Available Objects</guimenuitem> tab, right click
<filename>lvm/Sample Container/Sample Region</filename>.</para></listitem>
<listitem><para>Click <guimenuitem>Create Compatibility Volume...</guimenuitem></para></listitem>
<listitem><para>Continue beginning with step 3 of the GUI instructions.</para></listitem></orderedlist>
</sect2>
<sect2 id="ncurcompatvol"><title>Using Ncurses</title>
<para>To create a compatibility volume, follow the steps below:</para>
<para>To create a compatibility volume, follow these steps:</para>
<orderedlist>
<listitem><para>Press the <keycap>4</keycap> key to switch views.</para></listitem>
<listitem><para>Scroll down the list using the <keycap>down</keycap> arrow key to the
available topmost storage object. Press the <keycap>Enter</keycap> key</para></listitem>
<listitem><para>Highlight <filename>lvm/Sample Container/Storage Region</filename>.
Press the <keycap>Enter</keycap> key.</para></listitem>
<listitem><para>Select <menuchoice><guimenu>Actions</guimenu>
<guimenuitem>Create</guimenuitem><guimenuitem>Compatibility Volume</guimenuitem></menuchoice>.</para></listitem>
<listitem><para>Choose the region <filename>lvm/Sample Container/Storage Region</filename> from the list..
</para></listitem>
<listitem><para>Select <guimenuitem>Create Compatibility Volume from Storage Object</guimenuitem>.
Press the <keycap>Enter</keycap> key. </para></listitem>
<listitem><para>Confirm the creation of the volume.</para> </listitem>
<listitem><para>Activate <guibutton>Create</guibutton>.</para> </listitem>
</orderedlist>
<para>Alternatively, you can perform some of the steps to create a compatibility volume from
the context sensitive menu:</para>
<orderedlist>
<listitem><para>From the Available Objects view, press <keycap>Enter</keycap> on
<filename>lvm/Sample Container/Sample Region</filename>.</para>
</listitem>
<listitem><para>Activate the <guimenuitem>Create Compatibility Volume</guimenuitem> menu item.</para>
</listitem>
<listitem><para>Continue beginning with step 3 of the Ncurses instructions.</para>
</listitem>
</orderedlist>
</sect2>
<sect2><title>Using the CLI</title>
<para>To create a volume, use the <command>Create</command> command. The arguments
the <command>Create</command> accepts vary depending on what is being created. In
the <command>Create</command> cocmmand accepts vary depending on what is being created. In
the case of the example, the first argument is the key word <option>volume</option> that
specifies what is being created. The second argument is the object being made into a volume,
in this case <option>lvm/Sample Container/Sample Region</option>.
@ -147,34 +187,9 @@ become a volume. Instead, a storage object must be made into a volume.</para>
volume and should be named as such. </para>
<programlisting>Create:Volume,"lvm/Sample Container/Sample Region",compatibility</programlisting>
</sect2>
<sect2 id="lvmcomp"><title>Using Linux LVM Emulation Tools</title>
<para>Using Linux LVM emulation tools, you can create only an EVMS compatibility volume, not an EVMS native volume. To create a region and a corresponding EVMS compatibility volume, type the following:</para>
<programlisting>evms_lvcreate --verbose --size 1000M --name &quot;Sample Region&quot; &quot;Sample Container&quot;</programlisting>
<para>For help and additional options available with <command>evms_lvcreate</command> type the following:</para>
<programlisting>evms_lvcreate -h</programlisting>
</sect2>
</sect1>
</chapter>
</chapter>

View File

@ -1,274 +1,125 @@
<chapter id="evmsuginstall"><title>Downloading and Installing EVMS </title>
<para>This chapter helps you make informed decisions about how you want to install and configure your EVMS system. In order to get the best understanding of the different options and steps for installing EVMS, read this chapter in its entirety before you begin the process.</para>
<sect1 id="beforebegin"><title>Preparing Your System</title>
<para>You will need to make several
choices when installing EVMS, such as how you want to build EVMS and which
capabilities you want to enable. You will also need you will need to make sure
that you have a kernel source tree. The following sections explain these choices and
guide you through the installation process.</para>
<sect2 id="selectcapabilities"><title>Choosing Capabilities</title>
<para>EVMS has many capabilities. Certain options you choose during install
allow EVMS to be compatible with logical volumes from Linux
LVM, AIX LVM, and OS/2 LVM, as well as Linux MD/Software
RAID. EVMS also has unique features,
such as bad block relocation. If
you do not know which capabilities you want to use, turn
on kernel support for all the options. You can decide
which ones to use after the Engine and user-space
administration tools are installed.</para>
<sect3 id="mdsjupport"><title>MD Support</title>
<para>If you choose to turn
on EVMS MD support, <emphasis>do not </emphasis>enable native MD support (in the
<guimenuitem>Multi-device Support</guimenuitem> menu). MD
rewrites its metadata from within the kernel, and if both
systems recognize the same volume, it could cause metadata
corruption.</para>
</sect3>
<sect3 id="lvmsupport"><title>EVMS Linux LVM</title>
<para>If you choose to
turn on EVMS Linux LVM support, you can enable native Linux
LVM support. Avoid mounting the same volume through
both systems at the same time, or you could cause volume data
corruption. Also, if you use one system to make a change to
a volume or group configuration, you might need to reboot for
the other system to fully recognize the changes.</para>
</sect3>
</sect2>
<sect2 id="buildingopt"><title>Selecting Building Options</title>
<para>You have the option of building EVMS as kernel
modules instead of compiling EVMS directly into the kernel.
However, if you choose to build EVMS as modules, EVMS will not automatically
perform discovery at kernel boot time. You will need to load the
necessary kernel modules from user-space using <command>insmod
</command> or <command>modprobe</command>. Then, use the
<command>evms_rediscover</command> utility to tell EVMS to
discover the logical volumes. </para>
<chapter id="evmsuginstall"><title>Downloading and installing EVMS </title>
<para>This chapter tells how to obtain and install EVMS, and offers guidelines to help you make decisions about your EVMS installation. If you are setting up EVMS to work in a cluster,
execute the steps described in this chapter on each of the nodes in the cluster.</para>
<para>If you decide to build EVMS as kernel modules, and you
want your root file-system on an EVMS volume, you must use an
init-ramdisk during boot. See <xref linkend="INITRD"/> for instructions on adding
EVMS support to your init-ramdisk .
</para>
<sect1 id="beforebegin"><title>Preparing your system</title>
<para>Before you install EVMS, decide whether to implement certain kernel capabilities and ensure that you have a Linux kernel source tree. EVMS 2.0 is built on top of the already existing components MD and Device Mapper (DM). If you are using Linux kernel 2.5 or later, the MD and DM components are already available, but you need to apply some patches for bug fixes because the 2.5 kernel is still stabilizing. If you are using Linux kernel 2.4, you need to obtain all the DM patches from the Sistina website and then apply the bug fixes. Steps for performing these tasks are included later in this chapter.</para>
<sect2 id="selectcapabilities"><title>Choosing capabilities</title>
<para>In order to run EVMS, you need to configure the Device Mapper in your kernel either as a module or as a component built directly into the kernel. If you want to use the RAID functions of EVMS, turn on MD and the appropriate RAID personalities in the kernel.</para>
</sect2>
<sect2 id="kernelsource"><title>Obtaining the Device Mapper and a kernel source tree</title>
<para>EVMS 2.0 is built on top of the already existing components MD and Device Mapper. If you are using Linux kernel 2.5 or later, the MD and DM components are already available; however, you need to apply some patches for bug fixes because the 2.5 kernel is still stabilizing. If you are using Linux kernel 2.4, you need to patch the DM in from the <ulink url="http://people.sistina.com/~thornber/patches/">Sistina website</ulink> and then apply the bug fixes. The DM patches for the kernel are included in the EVMS package on the <ulink url="http://www.sourceforge.net/projects/evms/">EVMS project website</ulink>. The current EVMS package contains a patch for both the 2.4 and 2.5 kernel series.</para>
<note><title>NOTE</title>
<para>If you choose to build EVMS as
kernel modules, you will need to compile all EVMS plug-ins as
modules. If you compile some plug-ins as modules and some
plug-ins directly into the kernel, the plug-ins that are in the
kernel will perform automatic boot-time discovery, without the
remaining plug-ins being active. This inconsistency could produce
incorrect volumes. It is strongly recommended that you not build EVMS as modules without
adding support to your EVMS ramdisk. EVMS configurations built as modules that do not
have support in the ramdisk do not allow EVMS to offer the usual protections against corrupting
data</para></note>
<para>If you have built the plug-ins as
modules, and do not wish to mount your root
file system
using EVMS, simply add entries in your
<filename>init</filename> scripts to
load all the necessary EVMS modules and run the
<command>evms_rediscover</command>
utility. You should run the rediscover early in
the boot scripts before the <filename>/etc/fstab</filename> file is
processed.</para> </sect2>
<sect2 id="kernelsource"><title>Kernel Source Tree</title>
<para>To install EVMS, you will need to add EVMS support to your Linux
kernel. Currently,
EVMS support is not included in the main Linux kernel.
EVMS patches for the kernel are included in the EVMS package on the
<ulink url="http://www.sourceforge.net/projects/evms/">EVMS project website</ulink>. The current
EVMS package contains a patch against both the 2.4 and
2.5 kernel series.</para>
<note><title>NOTE</title>
<para>EVMS will not work with 2.3, 2.2, or earlier kernel series.
<para>EVMS does not work with Linux kernels 2.3, 2.2, or earlier.
</para></note>
<para>If you do not have a Linux kernel source tree,
you can obtain one from <ulink url="http://www.kernel.org/">The Linux Kernel Archives </ulink>.
The current recommended
kernel to use is 2.4.19, but most 2.4 series kernels will
work. </para>
kernel is 2.4.20, but earlier 2.4 series kernels might
work.</para>
</sect2>
</sect1>
<sect1 id="DOWNLOADING">
<title>Downloading EVMS</title>
<para>To install EVMS, download the latest version EVMS
(<filename>evms-1.2.0.tar.gz</filename>) from the
<para>To install EVMS, download the latest version of EVMS
(<filename>evms-2.0.0.tar.gz</filename>) from the
<ulink url="http://www.sourceforge.net/projects/evms/">EVMS project homepage</ulink>. This
file contains source code patches for the Linux kernel and
source code for all necessary user-space administration tools.</para>
<para>After downloading the file,
<command>untar</command> it in the appropriate
place, using the following command:</para>
use the <command>tar</command> command to extract the files in the
appropriate place. In the following example, the files are
extracted in <filename>/usr/src</filename>. You can substitute
another directory.</para>
<programlisting>cd /usr/src
tar xvzf evms-2.0.0.tar.gz</programlisting>
<programlisting>
<![CDATA[
cd /usr/src
tar xvzf evms-1.2.0.tar.gz
]]>
</programlisting>
<note><title>NOTE</title>
<para>The command
above assumes the file will be untarred in
<filename>/usr/src</filename>. You can substitute another directory.</para></note>
</sect1>
<sect1 id="PATCHING">
<title>Patching the Kernel</title>
<para>You must apply three patches to your kernel tree
to include EVMS support:
<itemizedlist>
<listitem><para>a patch specific to
your version of the kernel. </para></listitem>
<title>Patching the kernel</title>
<para>In addition to the base MD and Device Mapper support, EVMS requires a few
patches for the EVMS engine to work correctly with these drivers. These
patches are provided in the EVMS package, in the <filename>kernel/2.4.20/</filename>
subdirectory. See the INDEX files in the <filename>kernel/2.4.20</filename> directory
for descriptions of the patches.
</para>
<listitem><para>a patch that includes
all the EVMS specific source code.</para></listitem>
<note><title>NOTE</title><para>If you are currently using the Sistina LVM2 tools,
the patches provided here are not compatible with the LVM2 tools.
EVMS has made some changes to the kernel ioctl packets so that they
work correctly on ppc-64 and sparc-64 architectures. These changes
have not yet been accepted by Sistina. Thus, for the time being, you
need to use separate kernels for running EVMS and LVM2.</para></note>
<listitem><para>a patch that adds
code to allow the filesystems to perform flushing and
locking when certain volume configuration changes take
place. This third patch is necessary only when
you want to take SnapShot volumes of journaling
filesystems, such as JFS, ReiserFS, ext3, and XFS.</para></listitem>
</itemizedlist></para>
<para>To apply the patches to the kernel, complete the following steps:
<orderedlist>
<listitem><para>Determine which kernel version
you are using.</para></listitem>
<listitem><para>Find the appropriate patch in the
<filename>kernel</filename> directory of the EVMS
package. This example will use a system running kernel
2.4.19, and a
kernel source tree in <filename>/usr/src/linux</filename>.
<note><title>NOTE</title>
<para>If your kernel source tree is in a different location,
you will need to make the appropriate changes to these instructions.</para></note>
</para></listitem>
<listitem><para>Apply the first patch to your
kernel tree by typing the following commands:
<programlisting>
<![CDATA[
cd /usr/src/linux
patch -p1 < /usr/src/evms-/kernel/evms-linux-2.4.19-common-files.patch
]]>
</programlisting>
</para></listitem>
<listitem><para>From the same directory as the
previous step, type the following command to
apply the actual EVMS code to any 2.4 kernel tree:
<programlisting>
<![CDATA[
patch -p1 < /usr/src/evms-/kernel/evms-1.2.0-linux-2.4.patch
]]>
</programlisting>
</para>
<para>If you are running a 2.5 kernel, substitute
<filename>evms-1.2.0-linux-2.5.patch</filename>
in the command above.</para>
</listitem>
<listitem><para>To apply the optional VFS Locking Patch, remain in the
<filename>/usr/src/linux</filename> directory, and type the following command:
<programlisting>
<![CDATA[
patch -p1 < /usr/src/evms-1.2.0/kernel/linux-2.4.19-VFS-lock.patch
]]>
</programlisting></para></listitem>
</orderedlist></para>
<para>Distributions make modifications to the Linux kernel
that are sometimes incompatible with the code in EVMS.
If you are patching a kernel from a
distribution, the above commands might produce patch
failures, and you might need to manually patch the
affected files. To make the installation easier, it is
recommended that you start with a clean kernel from
kernel.org.</para>
<para>Apply each of the patches for 2.4.20 to your kernel as follows:</para>
<programlisting>cd /usr/src/linux-2.4.20
patch -p1 &lt; /src/src/evms-2.0.0/kernel/2.4.20/1-dm-base.patch
patch -p1 &lt; /src/src/evms-2.0.0/kernel/2.4.20/2-syncio.patch
patch -p1 &lt; /src/src/evms-2.0.0/kernel/2.4.20/3-dm-bbr.patch
patch -p1 &lt; /src/src/evms-2.0.0/kernel/2.4.20/4-dm-sparse.patch
patch -p1 &lt; /src/src/evms-2.0.0/kernel/2.4.20/5-md.c.patc
patch -p1 &lt; /src/src/evms-2.0.0/kernel/2.4.20/6-vsprintf.c.patch
patch -p1 &lt; /src/src/evms-2.0.0/kernel/2.4.20/7-vfs-lock.patch</programlisting>
</sect1>
<sect1 id="configuring">
<title>Configuring the Kernel</title>
<title>Configuring the kernel</title>
<para>After patching the kernel, configure it with EVMS support. To
configure the kernel, complete the following steps:</para>
<orderedlist>
<listitem><para>Type the following command:
<programlisting>make xconfig</programlisting>
<listitem><para>Type the following command:</para>
<programlisting>make xconfig</programlisting>
<note><title>NOTE</title>
<para>You can also use <command>config</command> or
<command>menuconfig</command> if you don't have an Xwindow system.</para></note></para>
<para>You can also use <command>config</command> or <command>menuconfig</command> if you don't have an Xwindow system.</para></note>
<para>If you are using an Xwindow system, the following window appears. </para>
<para>If you are using an Xwindow system, the following window opens. </para>
<figure><title>xconfig Window</title>
<mediaobject><imageobject><imagedata fileref="linux_config.png" format="PNG"/></imageobject>
<mediaobject><imageobject><imagedata fileref="xconf.png" format="PNG"/></imageobject>
<textobject><phrase>xconfig Window</phrase></textobject></mediaobject></figure>
</listitem>
<listitem><para>To enable EVMS support, select
<guimenuitem>Enterprise Volume Management
System</guimenuitem>. The following window appears.</para>
<figure><title>Linux Kernel Configuration Window</title>
<mediaobject><imageobject><imagedata fileref="evms_config.png" format="PNG"/></imageobject>
<textobject><phrase>Linux Kernel Configuration Window</phrase>
<listitem><para>To enable the kernel components that EVMS needs, select
<guimenuitem>Multi-device support (RAID and LVM)</guimenuitem>. The following window opens.</para>
<figure><title>Multi-device Support (RAID and LVM) Window</title>
<mediaobject><imageobject><imagedata fileref="mdconf.png" format="PNG"/></imageobject>
<textobject><phrase>MD Support (RAID and LVM) Window</phrase>
</textobject></mediaobject></figure>
<note><title>NOTE</title>
<para>If you are configuring EVMS as
<para>If you are configuring the components as
modules, you can click the <guibutton>Help</guibutton> button beside each
module to see the name of each kermel module.</para></note></listitem>
module to see the name of each kernel module.</para></note></listitem>
<listitem><para>Select <option>y</option> for the first three
options: <option>EVMS Kernel Runtime</option>, <option>EVMS Local Device Manager</option>, and
<option>EVMS DOS Segment Manager</option>. These options are the bare minimum for EVMS.
<listitem><para>Select <option>y</option> for Multi-device support (RAID and LVM).
Select <option>y</option> (to build in the kernel) or <option>m</option> (to build
modules)
for Device Mapper support.
These options are the minimum required for EVMS.
The remaining options add additional capabilities to EVMS.</para>
<note><title>NOTE</title>
<para>The options you select in this step are the ones you selected in <xref linkend="selectcapabilities"/>.</para></note>
</listitem>
</listitem>
<listitem><para>Select <option>y</option> for all additional options
you want to configure for EVMS. </para>
<note><title>NOTE</title>
<para>If you are configuring EVMS as modules,
select <option>m</option> for the first three options and all remaining
capabilities you wish to add.</para></note></listitem>
</orderedlist>
</orderedlist>
<para>Continue configuring your kernel as required for your
system and hardware. For general instructions on configuring
@ -281,69 +132,101 @@ patch -p1 < /usr/src/evms-1.2.0/kernel/linux-2.4.19-VFS-lock.patch
<sect1 id="buildinstall">
<title>Building and Installing the New Kernel</title>
<title>Building and installing the new kernel</title>
<para>After you have configured the kernel, you will need to
build and install a new kernel image. There are slight variations for different architectures,
but the general steps are the same. For example, on Intel&reg; machines you could run
<command>lilo</command> to install the new kernel image. However , on S/390 machines, you
would run <command>zipl</command> to install the new kernel image. The following instructions
<para>After you have configured the kernel, build and install a new kernel image.
There are slight variations for different architectures,
but the general steps are the same.
For example, on Intel&reg; machines you might run
<command>lilo</command> to install the new kernel image.
On S/390 machines, you might
run <command>zipl</command> to install the new kernel image.
The following instructions
are based on an installation using an Intel machine. </para>
<orderedlist>
<listitem><para>Build the kernel :
<programlisting>
<![CDATA[
make dep clean bzImage modules modules_install
]]>
</programlisting>
</para></listitem>
<listitem><para>Build the kernel:</para>
<programlisting>make dep clean bzImage modules modules_install</programlisting>
</listitem>
<listitem><para>Copy the new kernel to the <filename>/boot</filename> directory.</para>
<programlisting>
<![CDATA[
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-evms
]]>
</programlisting>
<programlisting>cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-evms</programlisting>
<note><title>NOTE</title>
<para>The command above assumes the file will be named
<para>The previous command assumes the file to be named
<filename>vmlinuz-evms</filename>, you can substitute
another name.</para></note></listitem>
<listitem><para>Open the file for the boot loader with your favorite editor.
The LILO boot loader information is in <filename>etc/lilo.conf</filename>.
The GRUB boot loader information is in <filename>boot/menu.list</filename>.</para></listitem>
<listitem><para>Open the file for the boot loader.
The LILO boot loader information is in <filename>/etc/lilo.conf</filename>.
The GRUB boot loader information is in <filename>/boot/menu.list</filename>.</para></listitem>
<listitem><para>Update the boot loader information as follows:
<programlisting>
<![CDATA[
image=/boot/vmlinuz-evms
label=EVMS
append="root=/dev/evms/hda1"
]]>
</programlisting>
<listitem><para>Update the boot loader information as follows:</para>
<programlisting>image=/boot/vmlinuz-evms
label=EVMS</programlisting>
<note><title>NOTE</title>
<para>In order to have your boot partition on an EVMS controlled volume and use LILO,
you must have an EVMS patched version of
LILO or a version since 22.3.2. </para></note>
</para></listitem>
<note><title>NOTE</title>
<para>Currently, LILO does not support placing the <filename>/boot</filename> filesystem on a Device Mapper device. Thus, <filename>/boot</filename> must be mounted through the traditional partition device.</para></note>
</listitem>
<listitem><para>Run your boot loader to install the new kernel image.</para>
<note><title>NOTE</title>
<para>If you installed your kernel as modules skip to
<xref linkend="INSTALLENGINE"/>. You will also need to
complete <xref linkend="INITRD"/> after building the engine.</para></note></listitem>
<para>If you installed your kernel as modules, skip to
<xref linkend="INSTALLENGINE"/>. </para></note></listitem>
<listitem><para>Re-boot your machine and choose the new
<listitem><para>Reboot your machine and choose the new
kernel image to run with EVMS support.</para></listitem>
</orderedlist>
</sect1>
<!-- Installing the Cluster Manager -->
<sect1 id="installclusmgr"><title>Installing the cluster manager</title>
<para>Skip this section if you do not require high-availability features.</para>
<para>EVMS currently supports the Linux-HA cluster manager, commonly known as
Heartbeat. You can download the latest version of the Linux-HA software from
<ulink url="http://www.linux-ha.org/download/">http://www.linux-ha.org/download/</ulink>. EVMS works
with Heartbeat V1.0.1 and later. For instructions on setting up a two-node cluster, see
<ulink url="http://www.linux-ha.org/download/GettingStarted.html">http://www.linux-ha.org/download/GettingStarted.html</ulink>. For additional information and a list of frequently asked questions, see
<ulink url="http://www.linux-ha.org/download/faqntips.html">http://www.linux-ha.org/download/faqntips.html</ulink>.</para>
<para>Linux-HA provides the following sub-packages:
<itemizedlist>
<listitem><para>heartbeat-xxx.arch.rpm</para>
</listitem>
<listitem><para>heartbeat-stonith-xxx.arch.rpm</para>
</listitem>
<listitem><para>heartbeat-pils-xxx.arch.rpm</para>
</listitem>
<listitem><para>heartbeat-ldirectord-xxx.arch.rpm</para>
</listitem>
</itemizedlist>
</para>
<para>&quot;xxx&quot; is the version of heartbeat; &quot;arch&quot; is the architecture of the target nodes.</para>
<para>You do not need to install <filename>heartbeat-ldirectord-xxx.arch.rpm</filename> because EVMS does not depend on its service.</para>
<para><note><title>NOTE</title>
<para>The download page also contains tarballs and source rpms.</para>
</note>
</para>
<para>To install the package, execute the following command on each cluster node:</para>
<programlisting>rpm -i heartbeat-pils-xxx.arch.rpm heartbeat-stonith-xxx.rpm \
heartbeat-xxx.arch.rpm</programlisting>
<para><note><title>NOTE</title>
<para>It is highly recommended that you configure the STONITH package on a two-node cluster because
data integrity on shared disks is at risk if STONITH is not configured. Although EVMS
operates even when STONITH is not configured (EVMS is not restricted to a two-node
cluster), EVMS's failover capability is limited by the support provided by the native
cluster manager.</para>
<para>Refer to the STONITH device manual for instructions on how to configure the
STONITH device.</para></note></para>
</sect1>
<!-- Installing the Engine -->
<sect1 id="INSTALLENGINE">
<title>Installing the Engine</title>
@ -351,194 +234,256 @@ cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-evms
<para>The EVMS Engine consists of the user-space plug-ins and interfaces as well as a stand-alone
library, dlist, that the Engine uses for linked-list management.</para>
<sect2 id="installsource"><title>Installing from Source</title>
<sect2 id="installsource"><title>Installing from source</title>
<orderedlist>
<listitem><para>To build and install the Engine from source, type the following commands:</para>
<listitem><para>To build and install the Engine from source, first type the following command to change to the <filename>/usr/src/evms-2.0.0</filename> directory:</para>
<programlisting>
cd /usr/src/evms-1.2.0/engine
autoconf
<programlisting>cd /usr/src/evms-2.0.0</programlisting>
</programlisting>
<note><title>NOTE</title>
<para>The command <command>autoconf</command>
is necessary only for code taken directly from CVS.
However, using this command will not affect the build or
installation if your code is not taken directly from CVS.</para></note>
</listitem>
</listitem>
<listitem><para>Select the appropriate options for your configuration.
<note><title>NOTE</title>
<para>A list of options can be found by typing
<programlisting>./configure -h</programlisting></para></note>
</para>
<listitem><para>Select the appropriate options for your configuration.</para>
<note><title>NOTE</title>
<para>A list of options can be found by typing:</para>
<programlisting>./configure -h</programlisting></note>
</listitem>
<listitem><para>Configure your engine:
<programlisting>
./configure [--options]
</programlisting></para></listitem>
<programlisting>./configure [--options]</programlisting>
</para></listitem>
<listitem><para>Type the following commands:
<programlisting>
make
<listitem><para>Type the following commands: </para>
<programlisting>make
make install
ldconfig
</programlisting>
</para>
<para>Unless you specified other directories in Step 3, the
<para>Unless you specified other directories when you configured the engine, the
following list describes where files will be installed
on your system:
<itemizedlist>
<listitem><para>The core Engine library will be installed in
<filename>/usr/local/lib</filename>.</para></listitem>
<listitem><para>The core Engine library is installed in
<filename>/lib</filename>.</para></listitem>
<listitem><para>The core dlist library will be installed in
<filename>/usr/local/lib</filename>.</para></listitem>
<listitem><para>The core dlist library is installed in
<filename>/lib</filename>.</para></listitem>
<listitem><para>All plug-in libraries will be installed in
<filename>/usr/local/lib/evms</filename>.</para></listitem>
<listitem><para>All plug-in libraries is installed in
<filename>/lib/evms</filename>.</para></listitem>
<listitem><para>All user interface binaries will be installed
in <filename>/usr/local/sbin</filename>.</para></listitem>
<listitem><para>All user interface binaries are installed
in <filename>/sbin</filename>.</para></listitem>
<listitem><para>All header files are installed in
<filename>/usr/include/evms</filename>.</para></listitem>
<listitem><para>All manual pages are installed in <filename>/usr/man</filename>.</para> </listitem>
<listitem><para>Add the Engine library path to your
<varname>LD_LIBRARY_PATH</varname> environment variable, or to
your <filename>/etc/ld.so.conf</filename> file. Do not add the
plug-in library path because the Engine dynamically loads
these libraries directly.</para></listitem>
</itemizedlist></para>
</listitem>
<listitem><para>Add the Engine library path to your
<varname>LD_LIBRARY_PATH</varname> environment variable, or to
your <filename>/etc/ld.so.conf</filename> file. Do not add the
plug-in library path because the Engine will dynamically load
these libraries directly.</para></listitem>
<listitem><para>Examine the EVMS configuration file (<filename>evms.conf</filename>). This file contains settings to control how EVMS operates.
For example, the logging level, the location of the engine
log, and the list of disk devices to examine can all be
controlled through settings in the configuration file.
The sample file is well commented and advises you of appropriate
values for each setting.</para>
<para>The <filename>evms.conf</filename> file is normally installed in
<filename>/etc/evms.conf</filename>. However, if you already have a configuration
file, it is installed as <filename>/etc/evms.conf.sample</filename>. Examine the
new sample
to see if your existing file should be updated.</para>
</listitem>
</orderedlist>
<para>Begin using EVMS by typing <command>evmsgui</command>
<para>You can now begin using EVMS by typing <command>evmsgui</command>
to start the GUI, <command>evmsn</command> to
start the Ncurses UI, or <command>evms</command> to start the
command line interpreter.</para>
</sect2>
<sect2 id="INSTALLRPM"><title>Installing the Engine RPM</title>
<para>You can download an RPM with the latest compiled engine
binaries and libraries. This RPM is available on the project
<ulink url="http://www.sourceforge.net/projects/evms/">web site</ulink> along with the
source code package. The RPM is a
generic i386 RPM that should install on any system that uses
the RPM.</para>
<para>If you install the EVMS RPM, you will still need to
patch your kernel with EVMS support. </para>
</sect2>
<sect2 id="INSTALLDEBIAN"><title>Installing the EVMS Debian Packages</title>
<sect2 id="INSTALLDEBIAN"><title>Installing the EVMS Debian packages</title>
<para>Debian packages of EVMS are maintained by Matt Zimmerman
at the <ulink url="http://www.debian.org">Debian</ulink> website.
You can download these packages for the <ulink url="http://packages.debian.org/testing/admin/evms.html">Woody
</ulink> (testing) release, or for the
<ulink url="http://packages.debian.org/unstable/admin/evms.html">Sid</ulink> (unstable) release.</para>
<para>For the Debian package you should patch and recompile your kernel in order to use
EVMS. Debian has a packaged version of the EVMS kernel patches,
<para>For the Debian package, patch and recompile your kernel in order to use
EVMS. Debian has a packaged version of the EVMS kernel patches
that includes instructions for patching and building your kernel.</para>
</sect2>
<sect2 id="INSTALLCVS"><title>Installing from CVS</title>
<para>If you would like to use the most recently developed version of EVMS, you can get
the code directly from the CVS tree. </para>
<para>
<orderedlist>
<listitem><para>To download the code, type the
following commands:</para>
<programlisting>mkdir /usr/src/evms_cvs
cd /usr/src/evms_cvs
cvs -d:pserver:anonymous@cvs.evms.sf.net:/cvsroot/evms login
(press Enter when prompted for a password)
cvs -z3 -d:pserver:anonymous@cvs.evms.sf.net:/cvsroot/evms co engine2</programlisting>
</listitem>
<listitem><para>Alternatively, if you already have a copy of the CVS code checked out, you can update
to the latest code with the following commands:
</para>
<programlisting>cd /usr/src/evms_cvs/engine2
cvs update -d -P</programlisting></listitem>
<listitem><para>The EVMS Engine can be built directly into the CVS tree. To start, change
directory to <filename>/usr/src/evms_cvs/engine2</filename>:
</para>
<programlisting>cd /usr/src/evms_cvs/engine2
autoconf</programlisting>
<note><title>NOTE</title><para>The <command>autoconf</command> command is necessary only for code taken directly from CVS.</para></note></listitem>
<listitem><para>Select the appropriate options for your configuration.
<note><title>NOTE</title>
<para>You can find the list of options by typing:
<programlisting>./configure -h</programlisting></para></note>
</para>
</listitem>
<listitem><para>Configure your engine:</para>
<programlisting>./configure [--options]</programlisting></listitem>
<listitem><para>Type the following commands: </para>
<programlisting>make
make install
ldconfig</programlisting>
<para>Unless you specified other directories in Step 5, the
following list describes where files are installed
on your system:
<itemizedlist>
<listitem><para>The core Engine library is installed in
<filename>/lib</filename>.</para></listitem>
<listitem><para>The core dlist library is installed in
<filename>/lib</filename>.</para></listitem>
<listitem><para>All plug-in libraries is installed in
<filename>/lib/evms</filename>.</para></listitem>
<listitem><para>All user interface binaries are installed
in <filename>/sbin</filename>.</para></listitem>
<listitem><para>All header files are installed in
<filename>/usr/include/evms</filename>.</para></listitem>
<listitem><para>All manual pages are installed in <filename>/usr/man</filename>.</para></listitem>
</itemizedlist></para>
</listitem>
<listitem><para>Add the Engine library path to your
<varname>LD_LIBRARY_PATH</varname> environment variable, or to
your <filename>/etc/ld.so.conf</filename> file. Do not add the
plug-in library path because the Engine dynamically loads
these libraries directly.</para></listitem>
</orderedlist></para>
</sect2>
</sect1>
<!-- init ramdisk -->
<sect1 id="INITRD"><title>Loading Modules with an Init-Ramdisk</title>
<para>If you built your EVMS kernel
plug-ins as modules and want your root
file system mounted on an EVMS volume (the only recommended way of using EVMS
built as kernel modules), you must add EVMS support
to your init-ramdisk. If you do not have an
init-ramdisk, general instructions for creating one are in the kernel source
tree in the file <filename>Documentation/initrd.txt</filename>. Some distributions include utilities for creating init-ramdisks. (See your distribution
for details.) If you do not want to use an
init-ramdisk but want your root filesystem on an EVMS volume, you should
compile all EVMS support directly into the kernel.</para>
<para>To modify your init-ramdisk,
decompress it using <command>gunzip</command> and mount it through a loopback
device. The following steps walk you through modifying your
init-ramdisk. The following commands are based on
the assumption that the init-ramdisk is mounted on <filename>/mnt/loop</filename>.</para>
<orderedlist>
<listitem><para>Once the init-ramdisk is mounted, copy the EVMS kernel modules
to it.</para>
<programlisting>
<![CDATA[
mkdir -p /mnt/loop/lib/modules/2.4.19/kernel/drivers/evms
cp /lib/modules/2.4.19/kernel/drivers/evms/*.o \
/mnt/loop/lib/modules/2.4.19/kernel/drivers/evms
]]>
</programlisting>
<note><title>NOTE</title>
<para>In the previous code, 2.4.19 is the
recommended version of the kernel. You can replace this version number with your kernel version.</para></note>
</listitem>
<listitem><para>Copy the
<command>evms_rediscover</command>
utility to the init-ramdisk. If you
are not using devfs, copy the
<command>evms_devnode_fixup</command> utility
as well.</para>
<programlisting>
<![CDATA[
cp /usr/local/sbin/evms_rediscover /mnt/loop/bin
cp /usr/local/sbin/evms_devnode_fixup /mnt/loop/bin
]]>
</programlisting>
<note><title>NOTE</title>
<para><command>evms_rediscover</command> and <command>evms_devnode_fixup</command>
are statically linked with the necessary libraries and will not need any additional dynamic
libraries added to the init-ramdisk.</para></note>
</listitem>
<listitem><para>Edit the
<filename>linuxrc</filename> script on your
init-ramdisk so that it loads all of the EVMS kernel
modules and calls <command>evms_rediscover</command>,
followed by <command>evms_ devnode_fixup</command> (if you are not
running devfs).</para></listitem>
<listitem><para>Add the following lines to the
<filename>linuxrc</filename> script. These
lines should be added to the
<filename>linuxrc</filename> script before the
root file system is mounted, so the root volume
will be discovered and available.</para>
<programlisting>
insmod evms
insmod evms_passthru
insmod ldev_mgr
insmod dos_part
# Add insmod commands for all EVMS modules copied in the step above.
evms_rediscover
evms_devnode_fixup # If not running devfs
</programlisting>
<sect1 id="voldisc"><title>Activating EVMS volumes</title>
<para>In the previous EVMS design (releases 1.2.1 and earlier), volume discovery
was performed in the kernel, and all volumes were immediately activated at boot time.
With the current EVMS design, volume discovery is performed in user-space, and
volumes are activated by communicating with the kernel. Thus, in order to activate
your volumes, you must open one of the EVMS user interfaces and perform a save,
which will activate all inactive volumes.</para>
<para>For example, start the GUI by running <command>evmsgui</command>. You should see all empty
checkboxes in the &quot;Active&quot; column. Press <guibutton>Save</guibutton>, which
activates all of the volumes and fills in each of the checkboxes.</para>
<para>In addition to manually starting one of the EVMS user interfaces, there is a new
utility called <command>evms_activate</command>.
The <command>evms_activate</command> utility simply opens the EVMS Engine
and issues a <command>commit</command> command.
You might want to add a call to <command>evms_activate</command> to your
boot scripts in order to automatically activate your volumes at boot time. If
you have volumes listed in your <filename>/etc/fstab</filename> file,
you need to call <command>evms_activate</command> before the
<filename>fstab</filename> is processed.</para>
<note><title>NOTE</title>
<para>For the 2.5 kernel replace <filename>insmod dos_part</filename> with
<filename>insmod dos</filename> in the script above.</para></note> </listitem></orderedlist>
</sect1>
</chapter>
<para>EVMS requires <filename>/proc</filename> to be mounted in order
to find the Device Mapper driver. If you run <command>evms_activate</command>
before processing the <filename>fstab</filename> file, you might need
to manually mount and unmount <filename>/proc</filename> around the call
to <command>evms_activate</command>.
</para>
</note>
<para>After the volumes are activated, you can mount them in the normal way with the dev-nodes in the <filename>/dev/evms</filename> directory.</para></sect1>
<sect1 id="rootfs"><title>The root filesystem on an EVMS volume</title>
<para>After volume discovery and activation are done in user space, there is an
issue with having your system's root file system on an EVMS volume.
In order for the root file system's volume to be activated, the EVMS tools must
run. However, in order to get to the EVMS tools, the root file system must be mounted.
The solution to this dilemma is to use an initial ramdisk (<command>initrd</command>).
An initial ramdisk
is a ram-based device that acts as a temporary root file system at boot time. The
initial ramdisk lets EVMS run programs and load modules that are necessary to
activate the true root file system.</para>
<para>For instructions on building an init-ramdisk for use with EVMS, see <xref linkend="appxinitram"/>.</para></sect1>
<sect1 id="setupclus"><title>Setting up clustered EVMS</title>
<para>The following steps show how to set up EVMS clustering. Perform these steps on
each cluster node:</para>
<orderedlist>
<listitem><para>Because EVMS depends on the CCM services offered by Heartbeat, the
Linux-HA CCM service must be configured on the system. Execute the following
line to configure CCM:</para>
<programlisting>echo 'respawn haclient /usr/lib/heartbeat/ccm' &gt;&gt; /etc/ha.d/ha.cf</programlisting>
</listitem>
<listitem><para>Because Linux-HA expects its consumers to set up a private communication
channel, create the following fifo with administrative privileges:</para>
<programlisting>mkfifo /var/lib/heartbeat/api/evms.req
mkfifo /var/lib/heartbeat/api/evms.rsp
chgrp haclient /var/lib/heartbeate/api/evms.req
chgrp haclient /var/lib/heartbeat/api/evms.rsp
chmod 200 /var/lib/heartbeat/api/evms.req
chmod 600 /var/lib/heartbeat/api/evms.rsp</programlisting>
</listitem>
<listitem><para>To ensure that clustered EVMS is activated whenever Linux-HA starts,
execute the following line:</para>
<programlisting>echo 'respawn root /sbin/evmsd' &gt;&gt; /etc/ha.d/ha.cf</programlisting>
<para>This step assumes that the <command>evmsd</command> daemon is installed in
<filename>/sbin/evmsd</filename>. If
the <command>evmsd</command> daemon is not installed in <filename>/sbin/evmsd</filename>,
change <filename>/sbin/evmsd</filename> to the correct location when executing
the command.</para>
</listitem>
</orderedlist>
<para>See <xref linkend="clusterops"/> for information about clustering
operations.</para>
</sect1>
</chapter>

View File

@ -1,11 +1,12 @@
<chapter id="evmsmigrate"><title>Viewing Compatibility Volumes after Migrating</title>
<chapter id="evmsmigrate"><title>Viewing compatibility volumes after migrating</title>
<para>Migrating to EVMS allows you to have the flexibility of EVMS without losing the integrity of your existing data. EVMS discovers existing volume management volumes as compatibility volumes. After you have installed EVMS, you can view your existing volumes with the interface of your choice. </para>
<sect1 id="guimigrate"><title>Using the EVMS GUI</title>
<para>If you are using the EVMS GUI as your preferred interface, you can view your migrated volumes by typing <command>evmsgui</command> at the command prompt. The following screen appears listing your migrated volumes. </para>
<para>If you are using the EVMS GUI as your preferred interface, you can view your migrated volumes by typing <command>evmsgui</command> at the command prompt. The following window opens, listing your migrated volumes. </para>
<figure><title>GUI Start-up Window</title>
<mediaobject><imageobject><imagedata fileref="gui.png" format="PNG"/></imageobject>
<figure><title>GUI start-up window</title>
<mediaobject><imageobject><imagedata format="PNG" fileref="gui_active.png"/></imageobject>
<textobject><phrase>GUI start-up window</phrase></textobject></mediaobject></figure></sect1>
@ -13,20 +14,19 @@
<sect1 id="ncurmigrate"><title>Using Ncurses</title>
<para>If you are using the Ncurses interface, you can view your migrated volumes by
typing <command>evmsn</command> at the command prompt. The following screen will
appear listing your migrated volumes. </para>
typing <command>evmsn</command> at the command prompt. The following window opens, listing your migrated volumes. </para>
<figure><title>Ncurses Start-up Window</title>
<figure><title>Ncurses start-up window</title>
<mediaobject>
<imageobject><imagedata fileref="n.png" format="PNG"/></imageobject>
<imageobject><imagedata format="PNG" fileref="n.png"/></imageobject>
<textobject>
<phrase>Ncurses Start-up Window</phrase></textobject></mediaobject></figure>
<phrase>Ncurses start-up window</phrase></textobject></mediaobject></figure>
</sect1>
<sect1 id="climigrate"><title>Using the CLI</title>
<para>If you are using the Command Line Interpreter (CLI) interface, you can view
your migrated volumes by typing the following:</para>
your migrated volumes by following these steps:</para>
<orderedlist><listitem><para>Start the Command Line Interpreter by typing
<command>evms</command> at the command line.</para></listitem>
@ -37,24 +37,9 @@
<para>Your migrated volumes are displayed as results of the
query. </para></listitem></orderedlist>
<figure><title>CLI Volume Query Results</title>
<mediaobject><imageobject><imagedata fileref="cli.png" format="PNG"/></imageobject>
<textobject><phrase>CLI Volume Query</phrase></textobject></mediaobject></figure>
<figure><title>CLI volume query results</title>
<mediaobject><imageobject><imagedata format="PNG" fileref="cli_active.png"/></imageobject>
<textobject><phrase>CLI volume query</phrase></textobject></mediaobject></figure>
</sect1>
<sect1 id="lvmmigrate"><title>Using Linux LVM Emulation Tools</title>
<para>If you are using the EVMS emulation of the Linux LVM command set, you can view
your Linux LVM migrated volumes by typing the following command:
<programlisting>evms_lvscan</programlisting></para>
<para>The following screen appears listing your migrated volumes.</para>
<figure><title>EVMS Emulation of Linux LVM</title>
<mediaobject><imageobject><imagedata fileref="lvm.png" format="PNG"/></imageobject>
<textobject><phrase>EVMS Emulation of Linux LVM to view Linux LVM volumes.</phrase></textobject></mediaobject></figure></sect1></chapter>
</chapter>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -1,28 +1,55 @@
<chapter id="intro"><title>What Is EVMS?</title>
<para>Enterprise Volume Management System (EVMS) brings a new model of volume management to Linux&reg;. EVMS integrates all aspects of volume management, such as disk partitioning, Linux logical volume manager (LVM) and multi-disk (MD) management, and filesystem operations into a single cohesive package. With EVMS, various volume managemet technologies are accessible through one interface, and new technologies can be added as they are developed. </para>
<sect1 id="cando"><title>Why Choose EVMS?</title>
<para>EVMS allows you to manage your storage space in a way that is more intuitive and flexible than many other Linux volume management systems. Practical tasks such as migrating disks or adding new disks to your Linux system become more managable with EVMS because of its ability to recognize and read from different volume types and filesystems. EVMS provides additional safety controls by not allowing unsafe commands. These controls help maintain the integrity of the data stored on the system. </para>
<para>You can use EVMS to create and manage data storage. With EVMS, you can use multiple volume management technologies under one framework. With one framework, you can access many technologies while ensuring your system will still interact correctly with stored data. With EVMS, you are able to use bad block relocation, shrink and expand volumes, create snapshots of your volumes, and set up RAID (redundant array of independent devices) features for your system. You are also able to use many types of filesystems and manipulate these storage pieces in ways that best meet your needs for your particular work environment. </para>
<para></para>
<para>EVMS provides a choice of user interfaces that allow you to manage your storage space. Additionally, if you need to design your own interface for EVMS, the system allows you to create customized interfaces. </para>
<chapter id="intro"><title>What is EVMS?</title>
<para>EVMS brings a new model of volume management to Linux&reg;.
EVMS integrates all aspects of volume management,
such as disk partitioning, Linux logical volume manager (LVM) and
multi-disk (MD) management, OS2 and AIX volume managers, and file system operations into a single
cohesive package.
With EVMS, various volume management technologies are accessible through
one interface, and new technologies can be added as plug-ins as they are developed.</para>
<sect1 id="cando"><title>Why choose EVMS?</title>
<para>EVMS lets you manage storage space in a way that is more
intuitive and flexible than many other Linux volume management systems.
Practical tasks, such as migrating disks or adding new disks to your
Linux system, become more manageable with EVMS because EVMS can
recognize and read from different volume types and file systems.
EVMS provides additional safety controls by not allowing commands that are
unsafe.
These controls help maintain the integrity of the data stored on the system.</para>
<para>You can use EVMS to create and manage data storage.
With EVMS, you can use multiple volume management technologies under one
framework while ensuring your system still interacts correctly with
stored data.
With EVMS, you are can use bad block relocation, shrink and expand volumes,
create snapshots of your volumes, and set up RAID (redundant array of independent devices) features for your system.
You can also use many types of file systems and manipulate these storage pieces
in ways that best meet the needs of your particular work environment.</para>
<para>EVMS also provides the capability to manage data on storage that is
physically shared by nodes in a cluster. This shared storage allows data to
be highly available from different nodes in the cluster.</para>
</sect1>
<sect1 id="uis"><title>Why Are There Different User Interfaces?</title>
<sect1 id="uis"><title>The EVMS user interfaces</title>
<para>There are currently three user interfaces available for EVMS: graphical (GUI), text mode (Ncurses), and the Command Line Interpreter (CLI). You can use the EVMS Application Programming Interface to implement your own customized user interface. An example of a customized user interface is the EVMS emulation of the Linux LVM command set that comes standard with the EVMS download. </para>
<para><xref linkend="userinterf"/> lists details about each of the user interfaces and when each is appropriate.
<para>There are currently three user interfaces available for EVMS: graphical (GUI), text mode (Ncurses), and the Command Line Interpreter (CLI).
Additionally, you can use the EVMS Application Programming Interface to implement your own customized user interface. </para>
<para><xref linkend="userinterf"/> tells more about each of the EVMS user interfaces.
</para>
<table id="userinterf" frame="all"><title>EVMS User Interfaces</title>
<tgroup cols="4">
<thead><row><entry>User Interface</entry>
<entry>Typical User</entry>
<entry>Types of Use</entry>
<table id="userinterf" frame="all"><title>EVMS user interfaces</title>
<tgroup cols="4"><colspec colwidth="1in" colnum="1"/><colspec colwidth="1.5in" colnum="2"/><colspec colwidth="1in" colnum="3"/><colspec colwidth="2.5in" colnum="4"/>
<thead><row><entry>User interface</entry>
<entry>Typical user</entry>
<entry>Types of use</entry>
<entry>Function</entry></row></thead>
<tbody><row><entry>GUI</entry>
<entry>All</entry>
@ -36,24 +63,21 @@
<entry>Expert</entry>
<entry>All uses</entry>
<entry>Allows easy automation of tasks</entry></row>
<row><entry>LVM Emulation Tools</entry>
<entry>Experienced LVM User</entry>
<entry>LVM manipulation</entry>
<entry>Allows users to keep old scripts and knowledge base with only slight changes. </entry></row></tbody></tgroup>
</tbody></tgroup>
</table>
</sect1>
<sect1 id="terminology">
<title>What Terms Does EVMS Use for Volume Management?</title>
<para>To avoid confusion with other terms used to describe volume
management, EVMS uses a set of terms specific to EVMS. The following list
defines volume management terms as they relate to EVMS. The terms
are listed from most fundamental to most comprehensive.
<title>EVMS terminology</title>
<para>To avoid confusion with other terms that describe volume
management in general, EVMS uses a specific set of terms.
These terms are listed, from most fundamental to most comprehensive,
as follows:
</para>
<variablelist>
<varlistentry><term>Logical Disk</term>
<varlistentry><term>Logical disk</term>
<listitem><para>Representation of anything EVMS can access as a physical disk.
In EVMS, physical disks are logical disks.</para></listitem>
</varlistentry>
@ -64,31 +88,62 @@
meaning found in other management systems.</para></listitem>
</varlistentry>
<varlistentry><term>Disk Segment</term>
<varlistentry><term>Disk segment</term>
<listitem><para>An ordered set of physically contiguous
sectors residing on the same storage object.
The general analogy for a segment is to a traditional disk
partition, such as DOS or OS/2 &reg;</para></listitem>
</varlistentry>
<varlistentry><term>Storage Region</term>
<varlistentry><term>Storage region</term>
<listitem><para>An ordered set of logically contiguous sectors
that are not necessarily physically contiguous. </para></listitem>
</varlistentry>
<varlistentry><term>Storage Object</term>
<varlistentry><term>Storage object</term>
<listitem><para>Any persistent memory structure in EVMS that can be used to
build objects or create a volume. Storage object is a generic term for disks, segments, regions, and feature objects.</para></listitem>
</varlistentry>
<varlistentry><term>Storage Container</term>
<varlistentry><term>Storage container</term>
<listitem><para>A collection of storage objects. A storage
container consumes one set of storage objects and produces new
storage objects. One common subset of storage containers is volume groups,
such as AIX&reg; or LVM.</para></listitem>
such as AIX&reg; or LVM.</para>
<para>Storage containers can be either of type private or cluster.</para>
</listitem>
</varlistentry>
<varlistentry><term>Feature Object</term>
<varlistentry><term>Cluster storage container</term>
<listitem><para>Specialized storage containers that consume only disk objects
that are physically accessible from all nodes of a cluster.</para>
<variablelist>
<varlistentry><term>Private storage container</term>
<listitem><para>A collection of disks that are physically accessible from all
nodes of a cluster, managed as a single pool of storage, and owned and accessed
by a single node of the cluster at any given time.</para>
</listitem>
</varlistentry>
<varlistentry><term>Shared storage container</term>
<listitem><para>A collection of disks that are physically accessible from all
nodes of a cluster, managed as a single pool of storage, and owned and accessed
by all noDes of the cluster simultaneously.</para>
</listitem>
</varlistentry>
<varlistentry><term>Deported storage container</term>
<listitem><para>A shared cluster container that is not owned by any node of the cluster.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem></varlistentry>
<varlistentry><term>Feature object</term>
<listitem><para>A storage object that contains an EVMS native feature, such as
bad block relocation. </para>
<para>An <glossterm>EVMS Native Feature</glossterm> is a function of volume management designed
@ -97,67 +152,87 @@
volume management technologies. </para></listitem>
</varlistentry>
<varlistentry><term>Logical Volume</term>
<varlistentry><term>Logical volume</term>
<listitem><para>A volume that consumes a storage object and exports
something mountable. There are two varieties of logical volumes: <glossterm>EVMS Volumes</glossterm>
and <glossterm>Compatibility Volumes</glossterm>.</para>
and <glossterm>Compatibility volumes</glossterm>.</para>
<para> <glossterm>EVMS Volumes</glossterm> contain EVMS native metadata and can support all
EVMS features. <filename>/dev/evms/my_volume</filename> would be an example
of an EVMS Volume.</para>
<para><glossterm>Compatibility Volumes</glossterm> do not contain any EVMS native metadata.
<para><glossterm>Compatibility volumes</glossterm> do not contain any EVMS native metadata.
Compatibility volumes are backward compatible to their particular scheme, but
they cannot support EVMS features. <filename>/dev/evms/md/md0</filename> would
be an example of a compatibility volume. </para></listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1><title>What Makes EVMS So Flexible?</title>
<sect1><title>What makes EVMS so flexible?</title>
<para>By dividing the labor between the Runtime and the Engine, EVMS reduces the size and kernel resources the system requires. The Runtime resides in kernel space and handles the actual use of the volumes. The Engine resides in user space and handles the creation, configuration, and management of volumes, segments, and disks. The EVMS Engine is a programmatic interface to the EVMS system. User interfaces and programs that use EVMS must go through the Engine. </para>
<para>There are numerous drivers in the Linux kernel, such as Device
Mapper and MD (software RAID), that implement volume management schemes. EVMS is built
on top of these drivers to provide one framework for combining and
accessing the capabilities.</para>
<para>EVMS provides the capacity for plug-in modules that allow EVMS to perform specialized tasks without altering the core code. These plug-in modules reside in kernel space and user space. A kernel space plug-in will have a corresponding user space plug-in module that provides the configuration and management tasks that are needed by the plug-in. The use of plug-in modules allow EVMS to be more extensible and customizable than other volume management systems. This design also allows EVMS to use only the resources needed to handle a volume. </para>
<para>The EVMS Engine handles the creation,
configuration, and management of volumes, segments, and disks.
The EVMS Engine is a programmatic interface to the EVMS system.
User interfaces and programs that use EVMS must go through the Engine.</para>
<para>EVMS provides the capacity for plug-in modules to the Engine that
allow EVMS to perform specialized tasks without altering the core code.
These plug-in modules allow EVMS to be more extensible and customizable than
other volume management systems.</para>
</sect1>
<sect2 id="LAYERDEF">
<title>Plug-in Layer Definitions</title>
<sect1 id="LAYERDEF">
<title>Plug-in layer definitions</title>
<para>EVMS defines a layered architecture where plug-ins in each layer
create abstractions of the layer or layers below. EVMS also allows most plug-ins
to create abstractions of objects within the same layer. The following
list defines these layers from the bottom up.</para>
<variablelist termlength="15">
<varlistentry><term>Device Managers</term>
<listitem><para>The first layer is the device managers.
These plug-ins communicate with the hardware device drivers to
<varlistentry><term>Device managers</term>
<listitem><para>The first (bottom) layer consists
of device managers.
These plug-ins communicate with hardware device drivers to
create the first EVMS objects. Currently, all devices are handled by a single plug-in.
Future releases of EVMS might need additional device managers
to do network device management, such as for disks on a storage
area network (SAN).</para></listitem>
for network device management (for example, to manage
disks on a storage area network (SAN)).</para></listitem>
</varlistentry>
<varlistentry><term>Segment Managers</term>
<listitem><para>The second layer is the segment managers. These plug-ins
<varlistentry><term>Segment managers</term>
<listitem><para>The second layer consists of segment
managers. These plug-ins
handle the segmenting, or partitioning,
of disk drives. The Engine components can replace partitioning
programs, such as <command>fdisk</command> and
<application>Disk Druid</application>, and the kernel components
can replace the in-kernel disk partitioning code. Segment
managers can also be "stacked," meaning that one segment manager
can take as input output from another segment manager.</para>
<application>Disk Druid</application>, and EVMS
uses Device Mapper to replace the in-kernel disk
partitioning code.
Segment managers can also be "stacked," meaning that
one segment manager
can take as input the output from another segment
manager.</para>
<para> EVMS provides the following segment managers:
DOS, GPT, and System/390&reg; (S/390). Other segment manager
DOS, GPT, System/390&reg; (S/390), Cluster, and BSD. Other segment manager
plug-ins can be added to support other
partitioning schemes.</para></listitem>
</varlistentry>
<varlistentry><term>Region Managers</term>
<listitem><para>The third layer is the region managers. This
layer is intended to provide a place for plug-ins that ensure
compatibility with existing volume management schemes in Linux
or other operating systems. Region managers are intended to
model systems that provide a logical abstraction above disks
<varlistentry><term>Region managers</term>
<listitem><para>The third layer consists of region
managers.
This layer provides a place for plug-ins that ensure
compatibility with existing volume management schemes
in Linux and other operating systems.
Region managers are intended to model systems that
provide a logical abstraction above disks
or partitions.</para>
<para>Like the segment managers, region managers can also be
stacked. Therefore, the input object(s) to a region manager can
<para>Like segment managers, region managers can
also be stacked.
Therefore, the input object(s) to a region manager can
be disks, segments, or other regions.</para>
<para>There are currently four region manager plug-ins in EVMS:
@ -180,33 +255,35 @@
is based on linear linking of disk partitions, as well as
bad-block relocation. The OS/2 LVM does not allow for modifications.</para></listitem></varlistentry>
<varlistentry><term>MD LVM</term>
<varlistentry><term>MD</term>
<listitem><para>The Multi-Disk (MD) plug-in for RAID provides
RAID levels linear, 0, 1, 4, and 5 in
software. MD is one plug-in that will appear as four region
managers you will be able to choose from.</para></listitem></varlistentry>
software. MD is one plug-in that displays as four region
managers that you can choose from.</para></listitem></varlistentry>
</variablelist></para></listitem>
</varlistentry>
<varlistentry><term>EVMS Features</term>
<listitem><para>The next layer is EVMS features. This layer is
<varlistentry><term>EVMS features</term>
<listitem><para>The next layer consists of EVMS
features. This layer is
where new EVMS-native functionality is implemented. EVMS
features can be built on any object in the system, including
disks, segments, regions, or other feature objects. EVMS
features all share a common type of metadata, which makes
discovery of feature objects much more efficient, and recovery
disks, segments, regions, or other feature objects.
All EVMS features share a common type of metadata,
which makes discovery of feature objects much more
efficient, and recovery
of broken features objects much more reliable. There are three
features currently available in EVMS: Drive Linking, Bad Block Relocation,
and Snapshotting. </para>
features currently available in EVMS: drive linking, Bad
Block Relocation, and snapshotting. </para>
<variablelist>
<varlistentry><term>Drive Linking</term>
<listitem><para>The Drive Linking feature allows any
<listitem><para>Drive linking allows any
number of objects to be linearly concatenated together into a
single object. A Drive Linked volume can be expanded by
single object. A drive linked volume can be expanded by
adding another storage object to the end or shrunk by removing the last object.</para></listitem></varlistentry>
<varlistentry><term>Bad Block Relocation</term>
<listitem><para>The Bad Block Relocation (BBR) feature
<listitem><para>Bad Block Relocation (BBR)
monitors its I/O path and detects write failures (which can be
caused by a damaged disk). In the event of such a failure, the
data from that request is stored in a new location. BBR keeps
@ -230,28 +307,33 @@
</listitem>
</varlistentry>
<varlistentry><term>File System Interface Modules</term>
<listitem><para>File System Interface Modules (FSIMs) are
the one layer of EVMS that exists only in user space.
These plug-ins are used to provide coordination with the
filesystems during certain volume management operations. For
instance, when expanding or shrinking a volume, the filesystem
<listitem><para>File System Interface Modules (FSIMs)
provide coordination with the
file systems during certain volume management
operations. For
instance, when expanding or shrinking a volume,
the file system
must also be expanded or shrunk to the appropriate size.
Ordering in this example is also important; a filesystem cannot
be expanded before the volume, and a volume cannot be shrunk
before the filesystem. The FSIMs allow EVMS to ensure this
Ordering in this example is also important;
a file system cannot
be expanded before the volume, and a volume cannot
be shrunk before the file system.
The FSIMs allow EVMS to ensure this
coordination and ordering.</para>
<para>FSIMs also perform filesystem
<para>FSIMs also perform file system
operations from one of the EVMS user interfaces. For instance,
a user can make new filesystems and check existing filesystems
a user can make new file systems and check existing file systems
by interacting with the FSIM.</para></listitem>
</varlistentry>
<varlistentry><term>Cluster Manager Interface Modules</term>
<listitem><para>Cluster Manager Interface Modules, also
known as the EVMS Clustered Engine (ECE), interface
with the local cluster manager installed on the system.
The ECE provides a standardized ECE API to the Engine
while hiding cluster manager details from the Engine.</para></listitem></varlistentry>
</variablelist>
</sect2>
</sect1>
</chapter>
</sect1>
</chapter>

View File

@ -1,26 +1,81 @@
<chapter id="evmsugpref">
<title>Preface</title>
<para>This book is designed to address user's questions about Enterprise Volume Management System (EVMS) and provide a context for using EVMS. </para>
<para>For additional information about EVMS or to ask questions specific to your distribution, the EVMS mailing lists are an excellent resource. You can view the list archives or subscribe to the lists from the <ulink url="http://evms.sourceforge.net/mailinglists.html">EVMS Project web site</ulink>. </para>
<para>Listed below are descriptions for the various sections of this User Guide.
<itemizedlist>
<listitem><para>Chapter 2: provides an oveview of some basic EVMS terms.</para></listitem>
<listitem><para>Chapter 3: explains how to download, install, and configure EVMS.</para></listitem>
<listitem><para>Chapter 4: reviews how to locate and fix <filename>/dev/</filename> files.</para></listitem>
<listitem><para>Chapter 5: introduces the EVMS interfaces and explains how to navigate through each. </para></listitem>
<listitem><para>Chapter 6: provides an overview of how to view your existing files after you migrate to EVMS.</para></listitem>
<listitem><para>Chapter 7: introduces the types of segment managers and describes how to apply segment managers to disks using the various EVMS interfaces.</para></listitem>
<listitem><para>Chapter 8-11: offers scenarios and explanations of how and why you would create the most fundamental pieces of the EVMS storage system. </para></listitem>
<listitem><para>Chapter 12: explains how to convert volumes from EVMS native volumes to compatibility volumes and from compatibility volumes to EVMS native volumes. </para></listitem>
</itemizedlist></para></chapter>
<preface id="userguidepref"><title>Preface</title>
<para>This guide tells how to install, configure, and manage Enterprise
Volume Management System (EVMS). EVMS is a storage management program
that provides a single framework for managing and administering your system's storage.</para>
<para>This guide is intended for Linux system administrators and users who are
responsible for setting up and maintaining EVMS.</para>
<para>For additional information about EVMS or to ask questions specific to
your distribution, refer to the EVMS mailing lists. You can view the list
archives or subscribe to the lists from
the <ulink url="http://evms.sourceforge.net/mailinglists.html">EVMS Project
web site</ulink>.</para>
<para>The following table shows how this guide is organized:</para>
<table frame="all" id="bookorg"><title>Organization of the EVMS User Guide</title>
<tgroup cols="2"><colspec colwidth="1.5in" colnum="1"/><colspec colwidth="3.5in" colnum="2"/>
<thead><row><entry>Chapter or appendix title</entry>
<entry>Contents</entry></row></thead>
<tbody><row><entry>1. What is EVMS?</entry>
<entry>Discusses general EVMS concepts and terms.</entry></row>
<row><entry>2. Downloading and installing EVMS</entry>
<entry>Tells how to access and install EVMS and configure it for use on your system.</entry></row>
<row><entry>3. Using the EVMS interfaces</entry>
<entry>Describes the three EVMS user interfaces and how to use them.</entry></row>
<row><entry>4. The EVMS log file and error data collection</entry>
<entry>Discusses the EVMS information and error log file and explains how to change the logging level.</entry></row>
<row><entry>5. Viewing compatibility volumes after migrating</entry>
<entry>Tells how to view existing files that have been migrated to EVMS.</entry></row>
<row><entry>6. Obtaining interface display details</entry>
<entry>Tells how to view detailed information about EVMS objects.</entry></row>
<row><entry>7. Assigning a segment manager</entry>
<entry>Discusses segments and explains how to assign a segment manager.</entry></row>
<row><entry>8. Creating segments</entry>
<entry>Explains when and how to create segments.</entry></row>
<row><entry>9. Creating containers</entry>
<entry>Discusses containers and explains when and how to create them.</entry></row>
<row><entry>10. Creating regions</entry>
<entry>Discusses regions and explains when and how to create them.</entry></row>
<row><entry>11. Creating drive links</entry>
<entry>Discusses the drive linking feature and tells how to create a drive link.</entry></row>
<row><entry>12. Creating snapshots</entry>
<entry>Discusses snapshotting and tells how to create a snapshot.</entry></row>
<row><entry>13. Creating volumes</entry><entry>Explains when and how to create volumes.</entry></row>
<row><entry>14. FSIMS and file system operations</entry>
<entry>Discusses the standard FSIMs shipped with EVMS and provides examples of adding file systems and coordinating file checks with the FSIMs.</entry></row>
<row><entry>15. Clustering operations</entry><entry>Describes EVMS clustering and how to create private and shared containers.</entry></row>
<row><entry>16. Converting volumes</entry>
<entry>Explains how to convert EVMS native volumes to compatibility volumes and compatibility volumes to EVMS native volumes.</entry></row>
<row><entry>17. Expanding and shrinking volumes</entry><entry>Tells how to expand and shrink EVMS volumes with the various EVMS user interfaces.</entry></row>
<row><entry>18. Adding features to an existing volume</entry>
<entry>Tells how to add additional features, such as drive linking and bad block relocation, to an existing volume.</entry></row>
<row><entry>19. Plug-in operations tasks</entry>
<entry>Discusses the plug-in tasks that are available within the context of a particular plug-in.</entry></row>
<row><entry>20. Destroying EVMS objects</entry><entry>Tells how to safely destroy EVMS objects.</entry></row>
<row><entry>A. Building an init-ramdisk to use with EVMS</entry>
<entry>Explains the steps necessary to build a ram-based device that acts a temporary root file system at boot time.</entry></row>
<row><entry>B. The DOS link plug-in</entry>
<entry>Provides details about the DOS link plug-in, which is a segment manager plug-in.</entry></row>
<row><entry>C. The MD region manager</entry>
<entry>Explains the Multiple Disks (MD) support in Linux that is a software implementation of RAID.</entry></row>
<row><entry>D. The LVM plug-in</entry>
<entry>Tells how the LVM plug-in is implemented and how to perform container operations.</entry></row>
<row><entry>E. The CSM plug-in</entry>
<entry>Explains how the Cluster Segment Manager (CSM) plug-in is implemented and how to perform CSM operations.</entry></row>
<row><entry>F. JFS file system interface module</entry>
<entry>Provides information about the JFS FSIM.</entry></row>
<row><entry>G. XFS file system interface module</entry>
<entry>Provides information about the XFS FSIM.</entry></row>
<row><entry>H. ReiserFS file system interface module</entry>
<entry>Provides information about the ReiserFS FSIM.</entry></row>
<row><entry>I. Ext-2/3 file system interface module</entry>
<entry>Provides information about the Ext-2/3 FSIM.</entry></row>
</tbody></tgroup>
</table>
</preface>