diff --git a/LDP/guide/docbook/EVMSUG/EVMSUG.xml b/LDP/guide/docbook/EVMSUG/EVMSUG.xml new file mode 100644 index 00000000..e0d5bed7 --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/EVMSUG.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + +]> + +EVMS User Guide + +Joy +Goodreau +IBM +Kylie +Smith +IBM + + +October 21, 2002 + + +2002 +IBM + + +Special Notices +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 http://www.ibm.com/legal/copytrade.shtml. +Intel is a trademark or registered trademark of Intel Corporation in the United States, other countries, or both. + +Windows is a trademark of Microsoft Corporation in the United States, other countries or both. + Linux is a trademark of Linus Torvalds. +Other company, product, and service names may be trademarks or service marks of others. +This document is provided "AS IS," with no express or implied warranties. Use the information in this document at your own risk. + + +License Information +This document may be reproduced or distributed in any form without prior permission provided the copyright notice is retained on all copies. Modified versions of this document may be freely distributed provided that they are clearly identified as such, and this copyright is included intact. + + +&evmsugpref; +&evmsugchap1; +&evmsuginstall; +&evmsuglocating; +&evmscmuse; +&evmsmigrate; +&evmsassignseg; +&evmscreateseg; +&evmscreatecont; +&evmscreatereg; +&evmscreatevol; +&evmsconvert; + + + + + + + + + + + + + + + + + diff --git a/LDP/guide/docbook/EVMSUG/assignseg-ug.xml b/LDP/guide/docbook/EVMSUG/assignseg-ug.xml new file mode 100644 index 00000000..e96d8ac6 --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/assignseg-ug.xml @@ -0,0 +1,225 @@ +Assigning a Segment Manager + 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. +When to Assign a Segment Manager + 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. +EVMS displays disk segments as the following types: + Data: a set of contiguous sectors that has been allocated + from a disk and can be used to construct a volume or object. + + Freespace: a set of contiguous sectors that are unallocated + or not in use. Freespace can be used to create a segment. + + Metadata: a set of contiguous sectors that contain + information needed by the segment manager. + + +Types of Segment Managers + There are three types of segment managers in EVMS: DOS, GPT, and S/390. + DOS Segment Manager + The most + commonly used segment manager is the DOS Segment Manager. This plug-in + provides support for traditional DOS disk partitioning. The + DOS Segment Manager also recognizes and supports the following variations + of the DOS partitioning scheme: + OS/2: an OS/2 disk has additional metadata + sectors that contain information needed to reconstruct disk segments. + Embedded partitions: support for BSD, SolarisX86, and UnixWare + is sometimes found embedded in primary DOS partitions. + The DOS Segment Manager recognizes and supports these + slices as disk segments. + + GUID Partitioning Table (GPT) Segment Manager + The GUID Partitioning Table (GPT) Segment Manager handles the + new GPT partitioning scheme + on IA-64 machines. The Intel + Extensible Firmware Interface Specification + requires that firmware be able to discover partitions and produce logical devices that + correspond to disk partitions. The partitioning scheme described in + the specification is called GPT due to the extensive use of + Globally Unique Identifier (GUID) tagging. GUID is a 128 bit long + identifier, also referred to as a Universally Unique Identifier (UUID). + As described in the Intel Wired For Management Baseline Specification, + a GUID is a combination of time and space fields that produce an + identifier that is unique across an entire UUID space. + These identifiers are used extensively on GPT partitioned disks + for tagging entire disks and individual partitions. + GPT partitioned disks serve several functions, such as: + + keeping a primary and backup copy of metadata + + replacing msdos partition nesting by allowing many partitions + + using 64 bit logical block addressing + + tagging partitions and disks with GUID descriptors + + + + The GPT Segment Manager scales better to large disks. It provides more redundancy with added reliability and uses unique names. However, the GPT Segment Manager is not compatible with DOS, OS/2, or Windows®. + + S/390 Segment Manager + The S/390 Segment Manager is used exclusively on System/390 + mainframes. The S/390 Segment Manager has the ability to recognize + various disk layouts found on an S/390 machine, and provide + disk segment support for this architecture. The two most common disk + layouts are Linux Disk Layout (LDL) and Common Disk Layout (CDL). + + The principle difference between LDL and CDL is that an LDL disk + cannot be further subdivided. An LDL disk will produce a single metadata + disk segment and a single data disk segment. There is no freespace on an + LDL disk, and you cannot delete or re-size the data segment. A CDL disk can + be subdivided into multiple data disk segments + because it contains metadata that is missing from an LDL disk, specifically + the Volume Table of Contents (vtoc) information. + + The S/390 Segment Manager is the only segment manager plug-in + capable of understanding the unique S/390 disk layouts. The S/390 Segment Manager + cannot be assigned or unassigned from a disk. + + + + +Assigning a Segment Manager to an Existing Disk + 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. + + + + +Assigning a Segment Manager to a New Disk + 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 + 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. + + 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 + 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. + + +Working through an Example +This section provides a detailed explanation of how to assign a segment manager with EVMS by +working through the scenario below. + + 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 + disk is a compatibility volume known as /dev/evms/sde. + + + +
Assign the DOS Segment Manager +Assign the DOS Segment Manager to disk sde.
+ + NOTE +In the example above, the DOS Segment + Manager creates two segments on the disk: + a metadata segment known as sde_mbr, and a + segment to represent the available space on + the drive, sde_freespace1. This freespace + segment (sde_freespace1) can be divided into + other segments because it represents space on + the drive that is not in use. + + +Using the EVMS GUI + +To assign the DOS Segment Manager to sde, you will first need to remove the volume, /dev/evms/sde: + + +Select Actions +Delete +Volume. +Select /dev/evms/sde. +Click Delete. + + + +Once the volume is removed, assign the DOS Segment Manager: + + +Select Actions +Add +Segment Manager to Storage Object. +Select DOS Segment Manager. +Click Next. +Select sde + +Click Add + + + +Using Ncurses +To assign the DOS Segment Manager to sde, you will first need to remove the volume, /dev/evms/sde. +Press 2 to view volumes. +Highlight /dev/evms/sde by using the up +and down arrow keys. Press the Enter key. +Highlight Delete Volume. Press the Enter key. +Highlight Delete. Press the Enter key. + + + +Once the volume is removed, assign the DOS Segment Manager: + +Press 4 to switch views. +Highlight Logical Disk. Press the Enter key. +Press the Enter key to see the context sensitive menu. +Highlight Assign Segment Manager to Disk. +Press the Enter key. +Highlight DOS Segment Manager. Press the Enter key. +Highlight sde. Press the spacebar +to select then press the Enter key to continue. +Press the Enter key to select the default settings. + + + + +Using the CLI + +To assign the DOS Segment Manager to sde, first tell EVMS that this disk is not a +volume and is available for use: + + Delete:/dev/evms/sde + + +Next, assign the DOS Segment Manager to sde by typing the following: + + Assign:DosSegMgr={},sde + + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + diff --git a/LDP/guide/docbook/EVMSUG/cli.png b/LDP/guide/docbook/EVMSUG/cli.png new file mode 100644 index 00000000..6deb44a7 Binary files /dev/null and b/LDP/guide/docbook/EVMSUG/cli.png differ diff --git a/LDP/guide/docbook/EVMSUG/cmuse-ug.xml b/LDP/guide/docbook/EVMSUG/cmuse-ug.xml new file mode 100644 index 00000000..e95a2547 --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/cmuse-ug.xml @@ -0,0 +1,441 @@ +Using the EVMS Interfaces +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. +EVMS GUI + + 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. + + Using Context Sensitive and Action Menus + In the EVMS GUI you can accomplish most + tasks in one of two ways: context sensitive menus and the + Actions menu. + + Context sensitive menus are available from any + of the main "views." Each view corresponds to a + 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, + feature objects, regions, containers, segments, or disks. + + 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. + + To use the Actions menu + choose + Action + <the action you want + to accomplish> + <options>. + The Actions menu provides a more guided path to + completing a task than context sensitive menus do. The + Actions option is similar to the popular wizard or druid + approach used by many GUI applications. + + All of the operations you need to + perform as an administrator are available through + the Actions menu. + + + + + Saving Changes + All changes 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. + + To explicitly save all changes you + made, select Action + Save, and click + the Save button. + + +Refreshing Changes +The Refresh button updates the view but does not cause a rediscover. Clicking +the Refresh button allows you to see changes, like mount points, that you might have mounted outside of the GUI. + + + EVMS Ncurses Interface + 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 + changes. + + The availability of an 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. + + Navigating through EVMS Ncurses + The EVMS Ncurses user interface initially + displays a list of logical volumes similar to the + logical volumes view in the EVMS GUI. + + A general guide to navigating through the layout of the + Ncurses screen is listed below: + + + A menu of key-to-action mappings is + listed at the bottom of the screen. + + The 2 key returns you to the + volumes view. + + The 4 key displays a menu of + other views you could switch + to. + + The 5 key saves changes made + during an evmsn session. + + The 9 key exits Ncurses. + + Status messages and user + prompts appear on a line located + between the window frame for the current view and the action + keys menu line. + + You can select which actions to + perform by using the up and + down arrow keys to highlight + an object within the current view. After the + correct item is highlighted, press the Enter + key. Ncurses will typically provide a context + sensitive sub-menu of available actions. + + When navigating from one menu + to another, the Esc (escape) key will return + you to the previous menu. + + + + 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 + Enter key on the + "No Storage Containers found" row. + + In order to change or set an option value + within the configuration options menu, use the spacebar key to + select the value. Press + Enter when you are finished. In order to + complete most operations you must press Enter. + + + + Saving Changes + + 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 + 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. + + To explicitly save all changes you + made, press the 5 key and confirm + that you want to save changes. + + + + + + + EVMS Command Line Interpreter + 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. + + 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 + 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. + When invoked, the EVMS CLI prompts for commands. + + The volume management commands the EVMS CLI understands + are specified in the /usr/src/evms-1.2.0/engine/UserInterface/commandline/grammar.ps + 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. + + Using the EVMS CLI + Use the evms command to start + the EVMS CLI. If you do not enter an option with + evms, the EVMS CLI will start 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 exit. + You can modify this behavior by using + the following options with evms: + + + -c + This option commits changes to disk + only when EVMS CLI exits, not after + each command. + -f filename + This option tells the EVMS CLI to use + filename as the source of + commands. The EVMS CLI will exit, when it reaches the + end of + filename. + + -p + 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. + -h + This option displays help information + for options used with the evms + command. + + -rl + This option tells the CLI that all remaining items on the + command line are replacement parameters for use with + EVMS commands. + + NOTE + Replacement parameters are accessed in EVMS commands using the + notation, where x is the number identifying which + replacement parameter to use. Replacement parameters are assigned + numbers (starting with 1) as they are encountered on the command line. + Substitutions are not made within comments or quoted strings. + + An example would be : + evms -c -f testcase -rl sda sdb + where is the replacement for parameter1 and + is the replacement for parameter2 + + + + NOTE + Information on less commonly used options is available in the EVMS man + page. + + When the EVMS CLI has been invoked, it processes + the commands or command file you provide. + + Notes on Commands and Command Files + + 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 + 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 + between commands. + + 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 + contains a quotation mark as part of the name, the + quotation mark must be "doubled" as in the following example: + +"This is a name containing ""embedded"" quote marks." + + EVMS CLI keywords are not case sensitive, but EVMS + names are case sensitive. Sizes can be input in any units with a unit label, such as KB, MB, GB, or TB. + + 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 + following example: + +/* This is a comment */ +Create:Vo/*This is a silly place for a comment, but it is +allowed.*/lume,"lvm/Sample Container/My LVM +Volume",compatibility + + + + + + +Linux LVM IEmulation Tools + 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. + + 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. + + As noted in , 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. + + 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 + (/var/log/evmsEngine.log). 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 () + is ignored because the LVM plug-in + does not yet make metadata backups. + + 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 for each + command to learn more about that command. + + + evms_vgcreate + Creates a new LVM volume group + with the given list of PVs. VG commands no longer require the user to prepare objects + with evms_pvcreate. Any available object in EVMS can now + be used directly by these commands. Similarly, the + evms_pvremove command is no longer necessary to release + PVs back to available EVMS + objects. + + evms_vgremove + Deletes an existing volume + group. + + evms_vgextend + Adds new PVs to an existing + volume group. + + evms_vgreduce + Takes PVs out of an existing + volume group. + + evms_vgscan + 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 + /dev. 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. + + evms_vgdisplay +Displays extra information + about the specified VG. + + + evms_lvcreate + Creates a new LVM logical + volume. evms_lvcreate 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. + + + evms_lvremove + Deletes an LVM logical + volume. + + evms_lvextend + 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. + + evms_lvreduce + 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. + + evms_lvscan + 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. + + evms_lvdisplay + Displays extra information + about the specified LV. + + evms_pvscan + 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. + + evms_pvdisplay + Displays extra information about the + specified PV. + + + + Two commands have been removed from the set of LVM utilities. + evms_pvcreate and + evms_pvremove are no longer + necessary. The evms_pvscan 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 evms_vgcreate + without needing to call evms_pvcreate. + + + + + + + + + + + + + + + diff --git a/LDP/guide/docbook/EVMSUG/convertto-ug.xml b/LDP/guide/docbook/EVMSUG/convertto-ug.xml new file mode 100644 index 00000000..492b7b6a --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/convertto-ug.xml @@ -0,0 +1,128 @@ +Converting Volumes + 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 . + + +When to Convert Volumes +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. + + + + + +Working through an Example of Converting Compatibility Volumes to EVMS Volumes + A compatibility volume +can be converted to an EVMS volume in the following situations: +The compatibility volume has no filesystem (FSIM) on it. +The compatibility volume has a filesystem, but the filesystem has been shrunk (if necessary) to make +room for the EMVS metadata. +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. + + + +
Convert a compatibility volume +You have a compatability volume /dev/evms/hda3 + that you want to make an EVMS volume named my_vol.
+ + Using the EVMS GUI + + Choose Action + Convert +Compatibility Volume to EVMS + . + Select /dev/evms/hda3 + from the list of available volumes. + Type my_vol in the name field. + Click the Convert button + to convert the volume. + + + + Using Ncurses + + Press the 2 key to see the volume view. + Highlight /dev/evms/hda3 by + using the up and down arrow keys to scroll through the volumes.Press the + Enter key. + Highlight Convert to EVMS Volume. Press the + Enter key. + Type my_vol at the "::" prompt. + Press the Enter key. + + + + + Using the CLI + + To convert a volume use the Convert command. + The Convert command takes the name of a volume as its first argument, and + then for what you want to name the new volume + as the second argument. To complete the example and convert a volume, type the + following command at the EVMS: prompt: + convert: /dev/evms/hda3, Name=my_vol + + +
+Working through an Example of Converting EVMS Volumes to Compatibility Volumes + + 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. + + +
Convert an EVMS Volume +You have an EVMS volume, /dev/evms/my_vol + that you want to make a compatibility volume.
+ + + Using the EVMS GUI + + Choose Action + Convert + EVMS Volume to Compatibility Volume + . + Select /dev/evms/my_vol + from the list of available volumes. + Click the Convert button + to convert the volume. + + + + Using Ncurses + + Press the 2 key to see the volume view. + Highlight /dev/evms/my_vol. + Press the Enter key. + Highlight Convert to Compatibility Volume + . Press the Enter key. + Highlight Convert to confirm. + Press the Enter key. + + + Using the CLI + To convert a volume use the Convert command. + The Convert command takes the name of a volume as its first argument, and + the keyword to indicate a change to a compatibility volume + as the second argument. To complete the example and convert a volume, type the + following command at the EVMS: prompt: + + +convert: /dev/evms/my_vol, compatibility + + + +
+ +
+ + + + + + + + + + diff --git a/LDP/guide/docbook/EVMSUG/create-cont.xml b/LDP/guide/docbook/EVMSUG/create-cont.xml new file mode 100644 index 00000000..5e4633a6 --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/create-cont.xml @@ -0,0 +1,165 @@ +Creating a Container + +The following chapter discusses when and how to create a container. + + +When to Create a Container +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 + combine storage objects to implement the volume group concept + as found in the AIX and Linux logical volume managers. +Containers are the beginning of more flexible +volume management. You might want to create a container in order to account for flexibility in your future storage needs. For example, you might +need to add additional disks when your applications or users need more storage. + + +Working through an Example +This section provides a detailed explanation of how to create a container with EVMS by providing instructions +to help you complete the following task. + + + +
Create "Sample Container" +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.
+ + +Using the EVMS GUI + To create a container using the EVMS GUI, follow the steps below: + + Select + + Actions + Create + Container + to see a list plug-ins that support container creation. + + Select the + LVM Region Manager. Click + Next. + + The next dialog window contains a list of storage objects + that the LVM Region Manager can use to create a container. + + Select sdc, sdd, and + hdc from the list. Click + Next + + Enter the name Sample Container + for the container and 16MB in the + PE size field. + + Click the + Create + button. A window that displays the + outcome appears. + + + + + + + + + +Using Ncurses + To create a container using the Ncurses interface, follow the steps below: + + Press the + 4 key to switch + views. + + Scroll down the list + using the down arrow key to the + Storage + Containers. Press the + Enter key. + + Press the Enter key again to + display a sub menu. + + Scroll down until you highlight Create a New Container. + Press the Enter key. You should see a list of plug-ins that support container + creation. + + Select + LVM Region Manager. Press the + Enter key. + + 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. + + Use the + spacebar to select sdc, + sdd, and hdc from + the list. Press the Enter key. Selected disks will be marked with + an x. + + Press the + spacebar key to + select the field for the container + name. + + Type Sample Container at the "::" prompt. Press the + Enter key. + + +Scroll down until PE Size is highlighted. Press the spacebar. + + +Scroll down until 32768 is highlighted. Press the spacebar. +NOTE +In Ncurses PE Size is listed in sectors, so 16MB = 32768 (512B) sectors. + + + Press the Enter key to complete + the operation. + + + + +Using the CLI + + The Create command is + used to create containers. The first argument + in the Create command is the type of object to + produce, in this case a container. The + Create 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: + + +Create:Container,LvmRegMgr={name="Sample Container",pe_size=16KB},sdc,sdd,hdc + + + The example above accepts the default values for all options you don't specify. To see the options for this command type: + query:plugins,plugin=LvmRegMgr,list options + +Using Linux LVM Emulation Tools +To create a container using the Linux LVM emulation tools, type the following at the command prompt: +evms_vgcreate --verbose --physicalextentsize 16MB "Sample Container" sdc sdd hdc + + +For a listing of other options used with the evms_vgcreate command type: + +evms_vgcreate -h + +
+
+ + + + + + + + + + diff --git a/LDP/guide/docbook/EVMSUG/create-reg-ug.xml b/LDP/guide/docbook/EVMSUG/create-reg-ug.xml new file mode 100644 index 00000000..3d433aa7 --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/create-reg-ug.xml @@ -0,0 +1,184 @@ +Creating Regions + +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 +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. + + +When to Create Regions + +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. + + +Working through an Example +This section provides a detailed explanation of how to create a region with EVMS by +providing instructions to help you complete the following task. + + + +
Create "Sample Region" +Given the container "Sample Container," which has a freespace region of 8799 MB +create a data region 1000 MB in size named "Sample Region."
+ + +Using the EVMS GUI + To create a region, follow the steps below: + Select + + Actions + Create + Region + to see a list of region + manager plug-ins. + + Select + the LVM Region + Manager. Click Next. + + NOTE +You may + 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. + + Select the freespace region from + the container you created in . + The region should be named + lvm/Sample Container/Freespace. + Click Next. + + The fields in the next window are the options for the + LVM Region Manager plug-in,the options marked with an "*" are required. + + Fill in the name,Sample Region. + + Enter 1000MB in the size field. + + Click the + Create button to complete the + operation. A window that displays the + outcome appears. + + + + + + + + + Using Ncurses + To create a region, follow the steps below: + + Press the + 4 key to switch + views. + + Scroll down the + list using the down arrow key until + Storage + Regions is + highlighted. Press the + Enter key. + + Press the + Enter key again to + display a submenu. + + Press the + Enter key when + Create a New + Region is + highlighted. You will be presented + with a list of region manager + plug-ins. + + Select the + LVM Region + Manager. Press the Enter key. + + NOTE + 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. + + Select the freespace + region from the container you created + earlier in . The region should be + named + lvm/Sample Container/Freespace. + + Use the spacebar + key to select it. Press the + Enter key to + continue. The configuration options + submenu should + appear. + + Scroll to the Name field, and press + spacebar + + Type Sample Region at the "::" prompt. + Press Enter. + + Scroll to the size field, and press + the spacebar + + Type 1000 at the "::" prompt. + Press Enter. + + 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. + + + + + + + Using the CLI + + Regions are created using the Create + command. Arguments to the Create 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: + +Create:region, LvmRegMgr={name="Sample Region"; size=1000MB},"lvm/Sample Container/freespace" + +The LVM Region Manager supports many + options for creating regions. To see the + available options for creating regions and + containers, use the Query command as follows: +query:plugins,plugin=LvmRegMgr,list options + + +Using Linux LVM Emulation Tools + 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 . +
+
+ + + + + + + + + + + + + + diff --git a/LDP/guide/docbook/EVMSUG/create-seg.xml b/LDP/guide/docbook/EVMSUG/create-seg.xml new file mode 100644 index 00000000..1961e921 --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/create-seg.xml @@ -0,0 +1,164 @@ +Creating Segments + +The following chapter discusses when to use segments and how to create segments using +different EVMS interfaces. + + +When to Create a Segment + 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 . + + + +Working through an Example + This section provides a detailed explanation of how to create a +segment with EVMS by providing instructions to help you complete the following task: + + + +
Create a 100MB egment +Create a 100MB segment from the freespace segment sde_freespace1. This + freespace segment lies on a drive controlled by the DOS Segment Manager.
+ + +Using the EVMS GUI + To create a segment using the GUI, follow the steps below: + + Select + + Actions + Create + Segment + + to see a list of segment manager plug-ins. + + + Select + DOS Segment Manager. + Click Next. + + The next dialog window lists + the free space storage objects suitable for creating + a new segment. + + Select sde_freespace1. Click + Next. + + The last dialog window + presents the free space object you + selected as well as the available + configuration options for that + object. + + Enter 100 MB. 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. + + + After you have filled in + information for all the required + fields, the Create + button becomes available. + + Click the + Create + button. A window that displays the + outcome appears. + + + + + + +Using Ncurses + To create a segment using the Ncurses, follow the steps below: + + Press the 4 key + to switch views. + + Scroll down using the + down arrow key until Disk Segments is highlighted. + Press the Enter key. + + Press the Enter key + again to display a sub menu on the + current selection. + + Select Create a + New Segment. Press the + Enter key. You should see a list of segment + manager plug-ins. + + Select DOS Segment Manager. Press the Enter + key. + + The next dialog window + will present a list of free space + storage objects suitable for creating + a new segment. + + Select sde_freespace1 by moving to it with the arrow + keys and then using the spacebar key + to select it. After the storage object is selected (it + is marked by an "X"), press the Enter key. + + 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. + + Highlight the size field and press the spacebar key. + + At the "::" prompt enter 100. + Press the Enter key. + + +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. + + Once all required values have been completed, press the Enter key + and a results status message will be displayed. + + + + + + + +Using the CLI + + + To create a data segment from a + freespace segment, use the + Create command. The arguments the + Create command accepts vary + depending on what is being created. The first + argument to the Create + command indicates what is to be created, which + in the above example is a segment. The + remaining arguments are the freespace segment + to allocate from and a list of options to pass + to the segment manager. The command to + accomplish this is: + +Create: Segment,sde_freespace1, size=100MB + + +NOTE +The Allocate command will also work to create a segment. +The example above accepts the default values for all options you don't specify. To see the options for this command type:query:plugins,plugin=DosSegMgr,list options + + +
+ +
+ + + + + + + + + + diff --git a/LDP/guide/docbook/EVMSUG/create-sobj.xml b/LDP/guide/docbook/EVMSUG/create-sobj.xml new file mode 100644 index 00000000..1bf66d85 --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/create-sobj.xml @@ -0,0 +1,38 @@ + +Creating Storage Objects +Storage objects are created from + segments, regions, disks, or other storage + objects. Storage objects are typically + used when an EVMS specific feature is desired + on a volume, such as Bad Block Relocation + (BBR). +Using CLI + + Storage objects are created using the + Create command. In this + case, the arguments to the + Create command are the + keyword Object followed by the name of the EVMS feature to + use along with its options, and the segments, + disks, regions, and storage objects to use to + create the new storage object. + + Example + Given the region lvm/Sample + Container/Sample Region, create a + storage object called BBR_Region using the + EVMS Bad Block Relocation + feature. + + Because the BBR feature supports only + one option, , the command + to complete this example is: + +Create:Object,BBR={name=BBR_Region},"lvm/Sample Container/Sample Region" + + NOTE + The EVMS CLI ignores spaces. Any name + containing spaces must appear in quotation + marks. + + diff --git a/LDP/guide/docbook/EVMSUG/createvol-ug.xml b/LDP/guide/docbook/EVMSUG/createvol-ug.xml new file mode 100644 index 00000000..08b96007 --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/createvol-ug.xml @@ -0,0 +1,180 @@ +Creating Volumes + +This following chapter discusses when and how to create volumes. + + +When to Create a Volume + 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. +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. + + + EVMS native volumes contain EVMS-specific information + to identify the name and minor number. After this volume information is + applied, the volume is no longer fully backwards compatible + with existing volume types. + + 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 + volume is known as a compatibility volume. Using this method, the final product is fully + backwards-compatible with the desired system. + + +Working through an Example of Creating an EVMS Native Volume + 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. + + + +
Create an EVMS native volume +Create an EVMS native volume called "Sample Volume" from the region, /lvm/Sample Container/Region, you created in .
+ + + Using the EVMS GUI + Follow the instructions below to create an EVMS volume: + + Select Actions + Create + EVMS Volume + Choose lvm/Sample Container/Sample Region. + + Type Sample Volume in the + name field. + Click Create + + + Using Ncurses + To create a volume, follow the steps below: + + Press the 4 key to switch views. + Scroll down the list using the down arrow key to the + available topmost storage object. Press the Enter key + Highlight lvm/Sample Container/Storage Region. + Press the Enter key. + Select Create EVMS Volume from + the Storage Object. Press the + Enter key. + + Confirm the creation + of the volume. + Enter Sample Volume at the "::" prompt. + Press the + Enter key to complete + the operation. + + + If you look at the volumes view + (2), you should see your new volume. + + + + Using the CLI + To create a volume, use the Create command. The arguments + the Create command accepts vary depending on what is being created. In + the case of the example, the first argument is the key word that + specifies what is being created. The second argument is the object being made into a volume, + in this case . + The third argument is type specific for an EVMS volume we need and what + you want to call the volume, in this case . The following command + creates the volume from the example. +Create: Volume, "lvm/Sample Container/Sample Region", Name="Sample Volume" + + + + +
+ + +Working through an Example of Creating a Compatibility Volume + 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. + + + +
Create a compatibility volume +Create a compatibility volume called "Sample Volume" from + the region, /lvm/Sample Container/Region, you created in .
+ + Using the GUI + To create a compatibility volume, follow the steps below: + + + Select + Actions + Create + Compatibility Volume. + + + Choose the region lvm/Sample Container/Sample Region + from the list + + Click the Create button. + Click on the Volume tab in the GUI to + see a volume named /dev/evms/lvm/Sample Container/Sample Region. + This volume is your compatibility volume. + + + + Using Ncurses + + To create a compatibility volume, follow the steps below: + + + Press the 4 key to switch views. + Scroll down the list using the down arrow key to the + available topmost storage object. Press the Enter key + Highlight lvm/Sample Container/Storage Region. + Press the Enter key. + + Select Create Compatibility Volume from Storage Object. + Press the Enter key. + Confirm the creation of the volume. + + + + Using the CLI + To create a volume, use the Create command. The arguments + the Create accepts vary depending on what is being created. In + the case of the example, the first argument is the key word that + specifies what is being created. The second argument is the object being made into a volume, + in this case . + The third argument, , indicates that this is a compatibility + volume and should be named as such. +Create:Volume,"lvm/Sample Container/Sample Region",compatibility + + + Using Linux LVM Emulation Tools + 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: + +evms_lvcreate --verbose --size 1000M --name "Sample Region" "Sample Container" + + For help and additional options available with evms_lvcreate type the following: + +evms_lvcreate -h + + + + +
+ + + + +
+ + + + + + + + + + + + diff --git a/LDP/guide/docbook/EVMSUG/evms_config.png b/LDP/guide/docbook/EVMSUG/evms_config.png new file mode 100644 index 00000000..a808e2da Binary files /dev/null and b/LDP/guide/docbook/EVMSUG/evms_config.png differ diff --git a/LDP/guide/docbook/EVMSUG/gui.png b/LDP/guide/docbook/EVMSUG/gui.png new file mode 100644 index 00000000..87f3e4cc Binary files /dev/null and b/LDP/guide/docbook/EVMSUG/gui.png differ diff --git a/LDP/guide/docbook/EVMSUG/gui_comp_vols.png b/LDP/guide/docbook/EVMSUG/gui_comp_vols.png new file mode 100644 index 00000000..6f399ebc Binary files /dev/null and b/LDP/guide/docbook/EVMSUG/gui_comp_vols.png differ diff --git a/LDP/guide/docbook/EVMSUG/install-ug.xml b/LDP/guide/docbook/EVMSUG/install-ug.xml new file mode 100644 index 00000000..2e8d613c --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/install-ug.xml @@ -0,0 +1,544 @@ +Downloading and Installing EVMS +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. + +Preparing Your System +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. + + Choosing Capabilities + 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. + + MD Support + If you choose to turn + on EVMS MD support, do not enable native MD support (in the + Multi-device Support menu). MD + rewrites its metadata from within the kernel, and if both + systems recognize the same volume, it could cause metadata + corruption. + + + EVMS Linux LVM + 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. + + + + + + + + + Selecting Building Options + 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 insmod + or modprobe. Then, use the + evms_rediscover utility to tell EVMS to + discover the logical volumes. + + 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 for instructions on adding + EVMS support to your init-ramdisk . + + + NOTE + 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 + + 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 + init scripts to + load all the necessary EVMS modules and run the + evms_rediscover + utility. You should run the rediscover early in + the boot scripts before the /etc/fstab file is + processed. + + Kernel Source Tree + 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 + EVMS project website. The current + EVMS package contains a patch against both the 2.4 and + 2.5 kernel series. + + NOTE + EVMS will not work with 2.3, 2.2, or earlier kernel series. + + + If you do not have a Linux kernel source tree, + you can obtain one from The Linux Kernel Archives . + The current recommended + kernel to use is 2.4.19, but most 2.4 series kernels will + work. + + + + + + + + + Downloading EVMS + To install EVMS, download the latest version EVMS + (evms-1.2.0.tar.gz) from the + EVMS project homepage. This + file contains source code patches for the Linux kernel and + source code for all necessary user-space administration tools. + + After downloading the file, + untar it in the appropriate + place, using the following command: + + + + + + NOTE + The command + above assumes the file will be untarred in + /usr/src. You can substitute another directory. + + + + + Patching the Kernel + You must apply three patches to your kernel tree + to include EVMS support: + + a patch specific to + your version of the kernel. + + a patch that includes + all the EVMS specific source code. + + 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. + + + + To apply the patches to the kernel, complete the following steps: + + Determine which kernel version + you are using. + + Find the appropriate patch in the + kernel directory of the EVMS + package. This example will use a system running kernel + 2.4.19, and a + kernel source tree in /usr/src/linux. + NOTE +If your kernel source tree is in a different location, + you will need to make the appropriate changes to these instructions. + + + Apply the first patch to your + kernel tree by typing the following commands: + + + + + + + From the same directory as the + previous step, type the following command to + apply the actual EVMS code to any 2.4 kernel tree: + + + + + + + If you are running a 2.5 kernel, substitute + evms-1.2.0-linux-2.5.patch + in the command above. + + + To apply the optional VFS Locking Patch, remain in the + /usr/src/linux directory, and type the following command: + + + + + + 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. + + + + + Configuring the Kernel + After patching the kernel, configure it with EVMS support. To + configure the kernel, complete the following steps: + + + Type the following command: +make xconfig + +NOTE +You can also use config or + menuconfig if you don't have an Xwindow system. + + + + If you are using an Xwindow system, the following window appears. + +
xconfig Window + + xconfig Window
+
+ + To enable EVMS support, select + Enterprise Volume Management + System. The following window appears. +
Linux Kernel Configuration Window + + Linux Kernel Configuration Window +
+ NOTE + + If you are configuring EVMS as + modules, you can click the Help button beside each + module to see the name of each kermel module.
+ + Select for the first three + options: , , and + . These options are the bare minimum for EVMS. + The remaining options add additional capabilities to EVMS. + +NOTE +The options you select in this step are the ones you selected in . + + + + Select for all additional options + you want to configure for EVMS. + NOTE + + If you are configuring EVMS as modules, + select for the first three options and all remaining + capabilities you wish to add. +
+ + Continue configuring your kernel as required for your + system and hardware. For general instructions on configuring + and compiling a Linux kernel, please see The Kernel HOWTO. + + When you have finished configuring your + kernel, choose Save and Exit to quit + the kernel configuration. +
+ + + +Building and Installing the New Kernel + + 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® machines you could run + lilo to install the new kernel image. However , on S/390 machines, you + would run zipl to install the new kernel image. The following instructions + are based on an installation using an Intel machine. + + + Build the kernel : + + + + + + Copy the new kernel to the /boot directory. + + + + + NOTE + The command above assumes the file will be named + vmlinuz-evms, you can substitute + another name. + + +Open the file for the boot loader with your favorite editor. + The LILO boot loader information is in etc/lilo.conf. + The GRUB boot loader information is in boot/menu.list. + + Update the boot loader information as follows: + + + + + + NOTE + 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. + + + Run your boot loader to install the new kernel image. + + NOTE + If you installed your kernel as modules skip to + . You will also need to + complete after building the engine. + + Re-boot your machine and choose the new + kernel image to run with EVMS support. + + + + + +Installing the Engine + +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. + + Installing from Source + + To build and install the Engine from source, type the following commands: + + +cd /usr/src/evms-1.2.0/engine +autoconf + + + + NOTE + The command autoconf + 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. + + + + + Select the appropriate options for your configuration. + NOTE + A list of options can be found by typing + ./configure -h + + + + Configure your engine: + +./configure [--options] + + + Type the following commands: + +make +make install +ldconfig + + + Unless you specified other directories in Step 3, the + following list describes where files will be installed + on your system: + + The core Engine library will be installed in + /usr/local/lib. + +The core dlist library will be installed in + /usr/local/lib. + + All plug-in libraries will be installed in + /usr/local/lib/evms. + + All user interface binaries will be installed + in /usr/local/sbin. + + + + Add the Engine library path to your + LD_LIBRARY_PATH environment variable, or to + your /etc/ld.so.conf file. Do not add the + plug-in library path because the Engine will dynamically load + these libraries directly. + + +Begin using EVMS by typing evmsgui +to start the GUI, evmsn to +start the Ncurses UI, or evms to start the +command line interpreter. + + + + Installing the Engine RPM + You can download an RPM with the latest compiled engine + binaries and libraries. This RPM is available on the project + web site along with the + source code package. The RPM is a + generic i386 RPM that should install on any system that uses + the RPM. + + If you install the EVMS RPM, you will still need to + patch your kernel with EVMS support. + + + Installing the EVMS Debian Packages + Debian packages of EVMS are maintained by Matt Zimmerman + at the Debian website. + You can download these packages for the Woody + (testing) release, or for the + Sid (unstable) release. + + 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, + that includes instructions for patching and building your kernel. + + + + + + +Loading Modules with an Init-Ramdisk + 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 Documentation/initrd.txt. 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. + + To modify your init-ramdisk, + decompress it using gunzip 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 /mnt/loop. + + + Once the init-ramdisk is mounted, copy the EVMS kernel modules + to it. + + + + NOTE + In the previous code, 2.4.19 is the + recommended version of the kernel. You can replace this version number with your kernel version. + + + Copy the + evms_rediscover + utility to the init-ramdisk. If you + are not using devfs, copy the + evms_devnode_fixup utility + as well. + + + + + NOTE + evms_rediscover and evms_devnode_fixup + are statically linked with the necessary libraries and will not need any additional dynamic + libraries added to the init-ramdisk. + + + Edit the + linuxrc script on your + init-ramdisk so that it loads all of the EVMS kernel + modules and calls evms_rediscover, + followed by evms_ devnode_fixup (if you are not + running devfs). + + Add the following lines to the + linuxrc script. These + lines should be added to the + linuxrc script before the + root file system is mounted, so the root volume + will be discovered and available. + +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 + + + +NOTE +For the 2.5 kernel replace insmod dos_part with +insmod dos in the script above. + + + + +
+ + + + + + + + + diff --git a/LDP/guide/docbook/EVMSUG/linux_config.png b/LDP/guide/docbook/EVMSUG/linux_config.png new file mode 100644 index 00000000..335ae51a Binary files /dev/null and b/LDP/guide/docbook/EVMSUG/linux_config.png differ diff --git a/LDP/guide/docbook/EVMSUG/locatingdev-ug.xml b/LDP/guide/docbook/EVMSUG/locatingdev-ug.xml new file mode 100644 index 00000000..d673aae7 --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/locatingdev-ug.xml @@ -0,0 +1,94 @@ +Locating and Fixing Device Files + +In order for user-space programs to access EVMS +volumes, device files are created in the /dev/evms + directory for each volume that is exported by EVMS. Device files are created every time +the Engine is opened and saves changes, so you can always see the the current state of the volume configuration +in the /dev/evms directory. + +A variety of namespaces exist within the /dev/evms directory. Each plug-in defines +and maintains its own namespace. The most common names will +be those of DOS segments. On a non-EVMS Linux system, disk drives and drive partitions appear as files in +/dev. The same names are maintained in EVMS by the +local device manager and the DOS segment manager. Corresponding device files are created in +/dev/evms. An example of the naming convention follows: + + +/dev/hda -> /dev/evms/hda +/dev/hda1 -> /dev/evms/hda1 +/dev/sdb -> /dev/evms/sdb +/dev/sdb5 -> /dev/evms/sdb5 + + + +EVMS features create logical volumes with persistent names. The +names of these volumes are used to create the appropriate device +file in /dev/evms. For example, if an EVMS +snapshot was created and made into a volume named "Thursday_Snapshot," the file would appear +as /dev/evms/Thursday_Snapshot. + +The Linux LVM plug-in is an example of a plug-in specific namespace +that uses its own namespace (/dev/evms/lvm). In +this directory, additional directories are created for each active +volume group. Device files representing the LVM logical volumes +are created in the appropriate group directory, as demonstrated in the following example: + +/dev/Group1/Volume1 -> /dev/evms/lvm/Group1/Volume1 + +Namespaces exist for other plug-ins. Currently +the OS/2 LVM is in /dev/evms/os2, the +AIX LVM is in /dev/evms/aix, and the MD is in /dev/evms/md. + + +CAUTION +When using EVMS you should perform all filesystem mounts using the +EVMS device nodes. Failure to do so could result in loss of data when running EVMS configuration tools. + + +devfs + EVMS supports the kernel device file system (devfs). If you have + devfs enabled in the kernel and mounted in your file system tree, you + will see the device files for your volumes immediately upon boot. + devfs is the preferred method for running EVMS + because it ensures that the minor + numbers EVMS dynamically assigns to compatibility volumes will never be + out of sync with the minor numbers of the device files for those volumes. + + +Fixing EVMS Device Nodes + On systems that are not running devfs, the device nodes in the + /dev/evms directory might become out of sync + with the volumes that are exported by the EVMS + kernel. The following list details potential problems that could occur if you do + not use devfs: + + + Nodes might not exist for volumes that are exported. + Nodes might have the wrong minor + number associated with them. + Nodes might exist for volumes that are no longer exported by the EVMS + kernel. + + + Starting one of the user interfaces alleviates the problems listed above. The EVMS Engine will update the device nodes in + the /dev/evms so that the nodes agree with the volumes that are exported by + the EVMS kernel. + + The evms_devnode_fixup program provides an alternative + means of fixing the device nodes in the /dev/evms directory by + updating the device nodes without the overhead of starting the Engine. + + evms_devnode_fixup + can be run as a daemon by specifying the option. In daemon mode, + evms_devnode_fixup will first fix the device nodes in the + /dev/evms directory. It then loops, waiting for + notifications of volume changes from the EVMS Runtime. On each notification, + evms_devnode_fixup fixes the device nodes in the + /dev/evms directory. + + + + + + + diff --git a/LDP/guide/docbook/EVMSUG/lvm.png b/LDP/guide/docbook/EVMSUG/lvm.png new file mode 100644 index 00000000..273105a8 Binary files /dev/null and b/LDP/guide/docbook/EVMSUG/lvm.png differ diff --git a/LDP/guide/docbook/EVMSUG/migrateto-ug.xml b/LDP/guide/docbook/EVMSUG/migrateto-ug.xml new file mode 100644 index 00000000..9b036b37 --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/migrateto-ug.xml @@ -0,0 +1,60 @@ +Viewing Compatibility Volumes after Migrating +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. + +Using the EVMS GUI +If you are using the EVMS GUI as your preferred interface, you can view your migrated volumes by typing evmsgui at the command prompt. The following screen appears listing your migrated volumes. + +
GUI Start-up Window + +GUI start-up window
+ + + +Using Ncurses + + If you are using the Ncurses interface, you can view your migrated volumes by + typing evmsn at the command prompt. The following screen will + appear listing your migrated volumes. + +
Ncurses Start-up Window + + + + Ncurses Start-up Window
+
+ + +Using the CLI + If you are using the Command Line Interpreter (CLI) interface, you can view + your migrated volumes by typing the following: + + Start the Command Line Interpreter by typing + evms at the command line. + Query the volumes by typing the following at the + EVMS prompt: + + query:volumes + Your migrated volumes are displayed as results of the + query. + +
CLI Volume Query Results + + CLI Volume Query
+
+ +Using Linux LVM Emulation Tools + 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: + evms_lvscan + +The following screen appears listing your migrated volumes. + +
EVMS Emulation of Linux LVM + + +EVMS Emulation of Linux LVM to view Linux LVM volumes.
+ + + + + diff --git a/LDP/guide/docbook/EVMSUG/n.png b/LDP/guide/docbook/EVMSUG/n.png new file mode 100644 index 00000000..22cd3727 Binary files /dev/null and b/LDP/guide/docbook/EVMSUG/n.png differ diff --git a/LDP/guide/docbook/EVMSUG/over-ug.xml b/LDP/guide/docbook/EVMSUG/over-ug.xml new file mode 100644 index 00000000..ca7550e9 --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/over-ug.xml @@ -0,0 +1,257 @@ +What Is EVMS? + +Enterprise Volume Management System (EVMS) brings a new model of volume management to Linux®. 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. + +Why Choose EVMS? + 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. + +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. + + + +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. + + +Why Are There Different User Interfaces? + +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. + lists details about each of the user interfaces and when each is appropriate. + + +EVMS User Interfaces + +User Interface +Typical User +Types of Use +Function +GUI +All +All uses except automation +Allows you to choose from available options only, instead of having to sort through all the options, including ones that are not available at that point in the process. +Ncurses +Users who don't have GTK libraries or X Window Systems on their machines +All uses except automation +Allows you to choose from available options only, instead of having to sort through all the options, including ones that are not available at that point in the process. +Command Line +Expert +All uses +Allows easy automation of tasks +LVM Emulation Tools +Experienced LVM User +LVM manipulation +Allows users to keep old scripts and knowledge base with only slight changes. +
+
+ + +What Terms Does EVMS Use for Volume Management? + 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. + + + + + Logical Disk + Representation of anything EVMS can access as a physical disk. + In EVMS, physical disks are logical disks. + + + Sector + The lowest level of addressability on a block + device. This definition is in keeping with the standard + meaning found in other management systems. + + + Disk Segment + 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 ® + + + Storage Region + An ordered set of logically contiguous sectors + that are not necessarily physically contiguous. + + + Storage Object + 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. + + + Storage Container + 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® or LVM. + + + Feature Object + A storage object that contains an EVMS native feature, such as + bad block relocation. + An EVMS Native Feature is a function of volume management designed + and implemented by + EVMS. These features are not intended to be backwards compatible with other + volume management technologies. + + + Logical Volume + A volume that consumes a storage object and exports + something mountable. There are two varieties of logical volumes: EVMS Volumes + and Compatibility Volumes. + EVMS Volumes contain EVMS native metadata and can support all + EVMS features. /dev/evms/my_volume would be an example + of an EVMS Volume. + Compatibility Volumes do not contain any EVMS native metadata. + Compatibility volumes are backward compatible to their particular scheme, but + they cannot support EVMS features. /dev/evms/md/md0 would + be an example of a compatibility volume. + + + +What Makes EVMS So Flexible? + +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. + +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. + + + Plug-in Layer Definitions + 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. + + + Device Managers + The first layer is the device managers. + These plug-ins communicate with the 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). + + Segment Managers + The second layer is the segment managers. These plug-ins + handle the segmenting, or partitioning, + of disk drives. The Engine components can replace partitioning + programs, such as fdisk and + Disk Druid, 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. + + EVMS provides the following segment managers: + DOS, GPT, and System/390® (S/390). Other segment manager + plug-ins can be added to support other + partitioning schemes. + + Region Managers + 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 + or partitions. + + Like the segment managers, region managers can also be + stacked. Therefore, the input object(s) to a region manager can + be disks, segments, or other regions. + + There are currently four region manager plug-ins in EVMS: + Linux LVM, AIX, OS/2, and Multi-Disk (MD). + Linux LVM + The Linux LVM plug-in provides compatibility with + the Linux LVM and allows the creation of volume groups + (known in EVMS as containers) and logical volumes + (known in EVMS as regions). + + AIX LVM + The AIX LVM provides compatibility with AIX and is similar in functionality + to the Linux LVM by also using volume groups and logical + volumes. + + OS/2 LVM + The OS/2 plug-in provides compatibility with + volumes created under + OS/2. Unlike the Linux and AIX LVMs, the OS/2 LVM + is based on linear linking of disk partitions, as well as + bad-block relocation. The OS/2 LVM does not allow for modifications. + + MD LVM + 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. + + + EVMS Features + The next layer is 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 + of broken features objects much more reliable. There are three + features currently available in EVMS: Drive Linking, Bad Block Relocation, + and Snapshotting. + + +Drive Linking +The Drive Linking feature allows any + number of objects to be linearly concatenated together into a + single object. A Drive Linked volume can be expanded by + adding another storage object to the end or shrunk by removing the last object. + +Bad Block Relocation +The Bad Block Relocation (BBR) feature + 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 + track of this remapping. Additional I/Os to that + location are redirected to the new location. + +Snapshotting +The Snapshotting feature provides + a mechanism for creating a "frozen" copy of a volume at a single + instant in time, without having to take that volume off-line. + This is useful for performing backups on a live system. + Snapshots work with any volume (EVMS or compatibility), and can + use any other available object as a backing store. After a + snapshot is created and made into an EVMS volume, writes to the "original" volume cause the + original contents of that location to be copied to the snapshot's + storage object. Reads to the snapshot volume look like they + come from the original at the time the snapshot was created. + + + + + + File System Interface Modules + 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 + 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 + coordination and ordering. + + FSIMs also perform filesystem + operations from one of the EVMS user interfaces. For instance, + a user can make new filesystems and check existing filesystems + by interacting with the FSIM. + + + + + +
+ + + + diff --git a/LDP/guide/docbook/EVMSUG/pref-ug.xml b/LDP/guide/docbook/EVMSUG/pref-ug.xml new file mode 100644 index 00000000..ebda8809 --- /dev/null +++ b/LDP/guide/docbook/EVMSUG/pref-ug.xml @@ -0,0 +1,26 @@ + +Preface +This book is designed to address user's questions about Enterprise Volume Management System (EVMS) and provide a context for using EVMS. +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 EVMS Project web site. + + +Listed below are descriptions for the various sections of this User Guide. + +Chapter 2: provides an oveview of some basic EVMS terms. + +Chapter 3: explains how to download, install, and configure EVMS. + +Chapter 4: reviews how to locate and fix /dev/ files. +Chapter 5: introduces the EVMS interfaces and explains how to navigate through each. +Chapter 6: provides an overview of how to view your existing files after you migrate to EVMS. +Chapter 7: introduces the types of segment managers and describes how to apply segment managers to disks using the various EVMS interfaces. +Chapter 8-11: offers scenarios and explanations of how and why you would create the most fundamental pieces of the EVMS storage system. +Chapter 12: explains how to convert volumes from EVMS native volumes to compatibility volumes and from compatibility volumes to EVMS native volumes. + + + + + + + + diff --git a/LDP/guide/docbook/EVMSUG/view_evms.png b/LDP/guide/docbook/EVMSUG/view_evms.png new file mode 100644 index 00000000..8b2d5ba3 Binary files /dev/null and b/LDP/guide/docbook/EVMSUG/view_evms.png differ diff --git a/LDP/guide/docbook/EVMSUG/view_xconfig.png b/LDP/guide/docbook/EVMSUG/view_xconfig.png new file mode 100644 index 00000000..b9db250c Binary files /dev/null and b/LDP/guide/docbook/EVMSUG/view_xconfig.png differ