From afa447e3fca0d1a1dfa7e9e641a7fe0ca729f590 Mon Sep 17 00:00:00 2001 From: gferg <> Date: Mon, 20 Sep 2004 13:00:51 +0000 Subject: [PATCH] updated --- LDP/guide/docbook/EVMSUG/EVMSUG.xml | 48 +- LDP/guide/docbook/EVMSUG/appx-lvm.xml | 100 ++ LDP/guide/docbook/EVMSUG/appx-md.xml | 1165 +++++++++++------- LDP/guide/docbook/EVMSUG/cli_active.png | Bin 14234 -> 21306 bytes LDP/guide/docbook/EVMSUG/create-snapshot.xml | 83 +- LDP/guide/docbook/EVMSUG/expandshrink.xml | 6 + LDP/guide/docbook/EVMSUG/gui_active.png | Bin 13733 -> 23828 bytes LDP/guide/docbook/EVMSUG/install-ug.xml | 2 +- LDP/guide/docbook/EVMSUG/replace-objects.xml | 15 +- 9 files changed, 923 insertions(+), 496 deletions(-) diff --git a/LDP/guide/docbook/EVMSUG/EVMSUG.xml b/LDP/guide/docbook/EVMSUG/EVMSUG.xml index 2c04cc88..d8977f49 100644 --- a/LDP/guide/docbook/EVMSUG/EVMSUG.xml +++ b/LDP/guide/docbook/EVMSUG/EVMSUG.xml @@ -1,32 +1,35 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - + + + - + - + + @@ -35,6 +38,7 @@ + ]> EVMS User Guide @@ -52,7 +56,7 @@ IBM -April 9, 2004 +September 16, 2004 2004 @@ -94,6 +98,8 @@ &evmsconvert; &evmsexpandshrink; &addfeatures; +&selectactivate; +&mountunmount; &evmsplugintasks; &evmsdeleterecursive; &evmsreplaceobjects; @@ -101,11 +107,13 @@ &evmsdos; &evmsmd; &evmslvm; +&evmslvm2; &evmscsm; &evmsjfsfsim; &evmsxfsfsim; &evmsreiserfsim; &evmsext23fsim; &evmsopengfsfsim; +&evmsntfsim; diff --git a/LDP/guide/docbook/EVMSUG/appx-lvm.xml b/LDP/guide/docbook/EVMSUG/appx-lvm.xml index 39b40e98..818c23c4 100644 --- a/LDP/guide/docbook/EVMSUG/appx-lvm.xml +++ b/LDP/guide/docbook/EVMSUG/appx-lvm.xml @@ -63,11 +63,96 @@ shrink regions, or move extents, in order to free the object from use. +Expanding consumed objects in LVM containers +In addition to adding new objects to an LVM container, +you can also expand +the space in a container by expanding one of the existing consumed +objects (PVs). +For example, if a PV is a disk-segment with freespace immediately +following it on +the disk, you can expand that segment, which will increase the +amount of freespace in the container. +Likewise, if a PV is a RAID-0 or RAID-5 region, you can expand +that region by adding additional objects, which in turn increases the +freespace in the container. +When using the GUI or text-mode UIs, PV-expand is performed by expanding +the container. +If any of the existing PVs are expandable, they will appear in the +expand-points list. +Choose the PV to expand, and then the options for expanding +that object. After the PV has expanded, the container's +freespace will reflect the additional space available on that PV. +When using the CLI, PV-expand is performed by expanding the +appropriate object directly. +The CLI and the EVMS engine will route the necessary commands so the +container is expanded at the same time. +The options for expanding a PV are dependent on the plug-in +that owns that PV object. +Please see the appropriate plug-in's appendix for more details on +options for that object. + + +Shrinking consumed objects in LVM containers + +In addition to removing existing objects from an LVM container, +you can +also reduce the size of a container by shrinking one of the existing +consumed objects (PVs). +This is only allowed if the consumed object +has physical extents (PEs) at the end of the object that are not allocated +to any LVM regions. +In this case, LVM2 will allow the object to +shrink by the number of unused PEs at the end of that object. + + + +For example, if a PV is a desk-segment, you can shrink that segment, +which will decrease the amount of freespace in the container. Likewise, +if a PV is a RAID-0 or RAID-5 region, you can shrink that region by +removing one of the objects, which in turn decreases the freespace in +the container. + + + +When using the GUI or text-mode UIs, PV-shrink is performed by shrinking +the container. If any of the existing PVs are shrinkable, they will +appear in the shrink-points list. Choose the PV to shrink, and then the +options for shrinking that object. After the PV has shrunk, the container's +freespace will reflect the reduced space available on that PV. + + + +When using the CLI, PV-shrink is performed by shrinking the appropriate +object directly. The CLI and the EVMS engine will route the necessary +commands so the container is shrunk at the same time. + + + +The options for shrinking a PV are dependent on the plug-in that owns +that PV object. Please see the appropriate plug-in's appendix for more +details on options for that object. + + + + Deleting LVM containers You can delete a container as long as the container does not have any produced regions. The LVM plug-in does not allow containers to be deleted if they have any regions. No options are available for deleting LVM containers. + +Renaming LVM containers +You can rename an existing LVM container. When renaming an LVM container, +all of the regions produced from that container will automatically have their names changed as +well, because the region names include the container name. +In the EVMS GUI and text-mode UIs, this is done using the +modify properties command, +which is available through the "Actions" menu or the context-sensitive pop-up menus. +In the EVMS CLI, this is done using the set command. +See for more information about the effects of renaming the regions. + + + Region operations @@ -285,6 +370,21 @@ region and container. +Renaming LVM regions +You can rename an existing LVM region. In the EVMS GUI and text-mode UIs, this +is done using the modify properties command, which is available through the "Actions" +menu or the context-sensitive pop-up menus. In the EVMS CLI, this is done using the +set command. +If the renamed LVM region has a compatibility volume on it, then the name of that +compatibility volume will also change. In order for this to work correctly, that volume must +be unmounted before the name is changed. Also, be sure to update your +/etc/fstab file if the volume is listed, or the volume won't be mounted properly the next +time the system boots. +If the renamed LVM region has an EVMS volume or another storage object built on it, +then the region's name change will be transparent to the upper layers. In this case, the +rename can be done while the volume is mounted. + + diff --git a/LDP/guide/docbook/EVMSUG/appx-md.xml b/LDP/guide/docbook/EVMSUG/appx-md.xml index 89526650..fd98b5ab 100644 --- a/LDP/guide/docbook/EVMSUG/appx-md.xml +++ b/LDP/guide/docbook/EVMSUG/appx-md.xml @@ -1,489 +1,798 @@ The MD region manager -Multiple disks (MD) support in Linux is a software implementation of RAID -(Redundant Array of Independent Disks). The basic idea of software RAID -is to combine multiple inexpensive hard disks into an array of disks to -obtain performance, capacity, and reliability that exceeds that of a single -large disk. +The Multi-Disk (MD) driver in the Linux kernel and the MD plug-in in +EVMS provide a software implementation of RAID (Redundant Array of +Inexpensive Disks). The basic idea of software RAID is to combine +multiple hard disks into an array of disks in order to improve capacity, +performance, and reliability. -Linux software RAID works on most block devices. A Linux RAID device -can be composed of a mixture of IDE or SCSI devices. Furthermore, -because a Linux RAID device is itself a block device, it can be a -member of another Linux RAID device. +The RAID standard defines a wide variety of methods for combining disks +into a RAID array. +In Linux, MD implements a subset of the full RAID standard, including +RAID-0, RAID-1, RAID-4, and RAID-5. In addition, MD also supports +additional combinations called Linear-RAID and Multipath. -Whereas there are six standard types of RAID arrays (RAID-0 through RAID-5) in the hardware implementation, the Linux implementation of software -RAID has RAID-0, RAID-1, RAID-4, and RAID-5 levels. In addition to these -four levels, Linux also has support for other non-redundant arrays called -"Linear Mode" and "MULTIPATH." +In addition to this appendix, more information about RAID and the +Linux MD driver can be found in the Software RAID HOWTO at +www.tldp.org/HOWTO/Software-RAID-HOWTO.html. +Characteristics of Linux RAID levels -All levels of Linux software RAID are discussed in greater detail in the -Software RAID HOWTO of The Linux Documentation Project -(TLDP). -One important thing to remember is RAID is not a substitute for backups. +All RAID levels are used to combine multiple devices into a single MD +array. +The MD plug-in is a region-manager, so EVMS refers to MD arrays as "regions." +MD can create these regions using disks, segments or other regions. +This means that it's possible to create RAID regions using other RAID +regions, and thus combine multiple RAID levels within a single volume stack. + +The following subsections describe the characteristics of each Linux RAID +level. +Within EVMS, these levels can be thought of as sub-modules of the MD plug-in. + + +Linear mode + +Linear-RAID regions combine objects by appending them to each other. +Writing (or reading) linearly to the MD region starts by writing to the +first child object. +When that object is full, writes continue on the second child object, and so +on until the final child object is full. +Child objects of a Linear-RAID region do not have to be the same size. + + +Advantage: + + + + +Linear-RAID provides a simple method for building very large regions +using several small objects. + + + + + +Disadvantages: + + + + +Linear-RAID is not "true" RAID, in the sense that there is no data +redundancy. If one disk crashes, the RAID region will be unavailable, +and will result in a loss of some or all data on that region. + + + + + +Linear-RAID provides little or no performance benefit. +The objects are combined in a simple, linear fashion that doesn't allow +for much (if any) I/O in parallel to multiple child objects. +The performance of a Linear-RAID will generally be equivalent to +the performance of a single disk. + + + + + + +RAID-0 + +RAID-0 is usually referred to as "striping." +This means that data in a RAID-0 region is evenly distributed and +interleaved on all the child objects. +For example, when writing 16 KB of data to a RAID-0 region with +three child objects and a chunk-size of 4 KB, the data would be written +as follows: + + + + + +4 KB to object 0 + + + + +4 KB to object 1 + + + + +4 KB to object 2 + + + + +4 KB to object 0 + + + + +Advantages: + + + +Like Linear-RAID, RAID-0 provides a simple method for building very +large regions using several small objects. + + + + +In general, RAID-0 provides I/O performance improvements, because it can +break large I/O requests up and submit them in parallel across +several disks. + + + + + +Disadvantage: + + + + +Also like Linear-RAID, RAID-0 is not "true" RAID, in the sense that there +is no data redundancy (hence the name RAID "zero"). If one disk crashes, +the RAID region will be unavailable, and will likely result in a loss of all +data on that region. + + + + + +RAID-1 + +RAID-1 is usually referred to as "mirroring." Each child object in a +RAID-1 region contains an identical copy of the data in the region. +A write to a RAID-1 region results in that data being written +simultaneously to all child objects. +A read from a RAID-1 region can result in reading the data from any +one of the child objects. +Child objects of a RAID-1 region do not have to be the same size, but the +size of the region will be equal to the size of the smallest child object. + + +Advantages: + + + + +RAID-1 provides complete data redundancy. In a RAID-1 region made from +N child objects, up to N-1 of those objects can crash and the region will +still be operational, and can retrieve data from the remaining objects. + + + + +RAID-1 can provide improved performance on I/O-reads. Because all child +objects contain a full copy of the data, multiple read requests can be +load-balanced among all the objects. + + + + +Disadvantages: + + + +RAID-1 can cause a decrease in performance on I/O-writes. +Because each child object must have a full copy of the data, each +write to the region must be duplicated and sent to each object. +A write request cannot be completed until all duplicated writes to +the child objects are complete. + + + + +A RAID-1 region with N disks costs N times as much as a single disk, but +only provides the storage space of a single disk. + + + + + +RAID-4/5 + +RAID-4/5 is often referred to as "striping with parity." Like RAID-0, +the data in a RAID-4/5 region is striped, or interleaved, across all the +child objects. +However, in RAID-4/5, parity information is also calculated and recorded +for each stripe of data in order to provide redundancy in case one of +the objects is lost. +In the event of a disk crash, the data from that disk can be recovered +based on the data on the remaining disks and the parity information. + + +In RAID-4 regions, a single child object is used to store the parity +information for each data stripe. However, this can cause an I/O +bottleneck on this one object, because the parity information must be +updated for each I/O-write to the region. + + +In RAID-5 regions, the parity is spread evenly across all the child +objects in the region, thus eliminating the parity bottleneck in RAID-4. +RAID-5 provides four different algorithms for how the parity is +distributed. In fact, RAID-4 is often thought of as a special case of +RAID-5 with a parity algorithm that simply uses one object instead of +all objects. This is the viewpoint that Linux and EVMS use. +Therefore, the RAID-4/5 level is often just referred to as RAID-5, with +RAID-4 simply being one of the five available parity algorithms. + +Advantages and disadvantages + + + +Like RAID-1, RAID-4/5 provides redundancy in the event of a hardware +failure. +However, unlike RAID-1, RAID-4/5 can only survive the loss of a +single object. +This is because only one object's worth of parity is recorded. +If more than one object is lost, there isn't enough parity information +to recover the lost data. + + + + +RAID-4/5 provides redundancy more cost effectively than RAID-1. +A RAID-4/5 region with N disks provides N-1 times the storage space of a +single disk. +The redundancy comes at the cost of only a single disk in the region. + + + + +Like RAID-0, RAID-4/5 can generally provide an I/O performance +improvement, because large I/O requests can be broken up and submitted +in parallel to the multiple child objects. However, on I/O-writes the +performance improvement will be less than that of RAID-0, because the +parity information must be calculated and rewritten each time a write +request is serviced. +In addition, in order to provide any performance improvement on +I/O-writes, an in-memory cache must be maintained for recently accessed +stripes so the parity information can be quickly recalculated. +If a write request is received for a stripe of data that isn't in the +cache, the data chunks for the stripe must first be read from disk in +order to calculate the parity. If such cache-misses occur too often, +the I/O-write performance could potentially be worse than even a +Linear-RAID region. + + + + + +Multipath + +A multipath region consists of one or more objects, just like the other +RAID levels. However, in multipath, the child objects actually +represent multiple physical paths to the same physical disk. Such setups +are often found on systems with fiber-attached storage devices or SANs. + + +Multipath is not actually part of the RAID standard, but was added +to the Linux MD driver because it provides a convenient place to create +"virtual" devices that consist of multiple underlying devices. + + +The previous RAID levels can all be created using a wide variety of +storage devices, including generic, locally attached disks (for example, +IDE and SCSI). However, Multipath can only be used if the hardware +actually contains multiple physical paths to the storage device, and +such hardware is usually available on high-end systems with fiber-or +network-attached storage. Therefore, if you don't know whether you +should be using the Multipath module, chances are you don't need to use it. + + +Like RAID-1 and RAID-4/5, Multipath provides redundancy against +hardware failures. +However, unlike these other RAID levels, Multipath protects against +failures in the paths to the device, and not failures in the device +itself. If one of the paths is lost (for example, a network adapter +breaks or a fiber-optic cable is removed), I/O will be redirected to the +remaining paths. + + +Like RAID-0 and RAID-4/5, Multipath can provide I/O performance +improvements by load balancing I/O requests across the various paths. + + + + Creating an MD region -There are four EVMS MD region plug-ins: Linear, RAID-0, RAID-1, -and RAID-4/5. The RAID-4/5 region plug-in provides support for both -RAID-4 and RAID-5 arrays. After an MD region manager is selected, the software -provides a -list of acceptable objects. The ordering of the MD array is -implied by the order in which you pick objects from the provided list. The -following are MD region configuration options: + +The procedure for creating a new MD region is very similar for all the +different RAID levels. +When using the EVMS GUI or Ncurses, first choose the +ActionsCreate +Region menu item. +A list of region-managers will open, and each RAID level will appear +as a separate plug-in in this list. +Select the plug-in representing the desired RAID level. +The next panel will list the objects available for creating a new RAID +region. +Select the desired objects to build the new region. +If the selected RAID level does not support any additional options, +then there are no more steps, and the region will be created. +If the selected RAID level has extra creation options, the next +panel will list those options. +After selecting the options, the region will be created. + + +When using the CLI, use the following command to create a new region: + + +create:region,<plugin>={<option_name>=<value>[,<option_name>=<value>]*}, + <object_name>[,<object_name>]* + + +For <plugin>, the available plug-in names are "MDLinearRegMgr," +"MDRaid0RegMgr," "MDRaid1RegMgr," "MDRaid5RegMgr," and "MD Multipath." +The available options are listed in the following sections. +If no options are available or desired, simply leave the space blank +between the curly braces. + + +The Linear-RAID and Multipath levels provide no extra options for +creation. The remaining RAID levels provide the options listed below. + + + +RAID-0 options + +RAID-0 has the following option: -chunk size -The smallest chunk size is 4 KB and the largest is 4096 KB. The -chunk size is a power of 2 of the previous value. Consider the intended use of the -MD region when selecting chunk size. For example, -if the MD region contains mostly large files, you might see better performance -by having a larger chunk size. The block size of the file system being used is -also an important factor when selecting chunk size. -This option is available for use with RAID-0 and RAID-4/5. +chunksize + + +This option represents the granularity of the striped data. +In other words, the amount of data that is written to one child +object before moving to the next object. The range of valid values is +4 KB to 4096 KB, and must be a power of 2. If the option is not +specified, the default chunk size of 32 KB will be used. + + - -spare disk -The benefit of having a spare disk is that when an active disk fails, -the kernel MD code automatically replaces the failed disk with the spare disk. -Otherwise, the MD array operates in a degraded mode. -This option is available for use with RAID-1 and RAID-4/5. - - -RAID-5 algorithms -There are four RAID-5 parity algorithms: left asymmetric, right -asymmetric, left symmetric, and right symmetric. The ACCS web -page provides examples of what the different parity algorithms do. -This option is available for use with the RAID-5 algorithm. - - - - - -Adding and removing a spare object (RAID-1 and RAID-4/5) - -When adding a spare disk to an existing MD region, select an available object -that has the same size as the disks that are currently active in the MD region. -If the MD region consists of objects with different sizes, use the smallest size. -Note that after adding a spare to a degraded MD region, the kernel MD code -automatically starts the reconstruction of the MD array. When reconstruction finishes, -the spare disks becomes an active disk. -If you want to reorganize disks and segments, you can remove an existing -spare disk from the MD region. This is a safe operation because the spare disk does -not contain any data. - - -Reconfiguring MD arrays - -Expanding and shrinking MD arrays (linear and RAID-1) -If the MD region is part of a compatibility volume and the MD region is -the topmost object of the volume, it's possible to expand and shrink the MD region. -Expanding a linear MD region -A linear MD region can be expanded either by expanding the last member -or by adding a new member. - - -Shrinking a linear MD region -A linear MD region can be shrunk either by shrinking the last member -or by removing disks from the array (last member first). - - -Expanding a RAID-1 MD region -A RAID-1 MD region can only be expanded if all members can be expanded. - - -Shrinking a RAID-1 MD region -A RAID-1 MD region can only be shrunk if all members can be shrunk. - - -Adding an active object (RAID-1 only) -Use this option to increase the number of mirrors of the RAID-1 region, from -n-way mirrors to (n+1)-way mirrors. When the operation is committed, the -kernel MD driver performs a resync of the MD array. +RAID-1 options + +RAID-1 has the following option: + + + +sparedisk + + +This option is the name of another object to use as a "hot-spare." +This object cannot be one of the objects selected in the initial +object-selection list. +If no object is selected for this option, then the new region will +simply not initially have a spare. +More information about spare objects is in the following sections. + + + + -Removing an active object (RAID-1 only) -Use this option to decrease the number of mirrors of the RAID-1 region, from -n-way mirrors to (n-1)-way mirrors. +RAID-4/5 options + +RAID-4/5 have the following options: + + + +chunksize + + +This is the same as the chunksize option for RAID-0. + + + +sparedisk + + +This is the same as the sparedisk option for RAID-1. + + + +level + + +Choose between RAID4 and RAID5. The default value for this option is RAID5. + + + +algorithm + + +If the RAID-5 level is chosen, this option allows choosing the +desired parity algorithm. +Valid choices are "Left Symmetric" (which is the default), +"Right Symmetric," "Left Asymmetric, and "Right Asymmetric." +If the RAID-4 level is chosen, this option is not available. + + + + +Active and spare objects + +An active object in a RAID region is one that is actively used by the +region and contains data or parity information. +When creating a new RAID region, all the objects selected from the +main available-objects panel will be active objects. +Linear-RAID and RAID-0 regions only have active objects, and if any +of those active objects fail, the region is unavailable. + + +On the other hand, the redundant RAID levels (1 and 4/5) can have spare +objects in addition to their active objects. +A spare is an object that is assigned to the region, but does not +contain any live data or parity. Its primary purpose is to act as a +"hot standby" in case one of the active objects fails. + + +In the event of a failure of one of the child objects, the MD kernel +driver removes the failed object from the region. +Because these RAID levels provide redundancy (either in the form of +mirrored data or parity information), the whole region can continue +providing normal access to the data. +However, because one of the active objects is missing, the region is +now "degraded." + + +If a region becomes degraded and a spare object has been assigned to +that region, the kernel driver will automatically activate that spare object. +This means the spare object is turned into an active object. However, +this newly active object does not have any data or parity information, +so the kernel driver must "sync" the data to this object. +For RAID-1, this means copying all the data from one of the current +active objects to this new active object. +For RAID-4/5, this means using the data and parity information from the +current active objects to fill in the missing data and parity on the +new active object. +While the sync process is taking place, the region remains in the +degraded state. +Only when the sync is complete does the region return to the full +"clean" state. + + +You can follow the progress of the sync process by examining the +/proc/mdstat file. +You can also control the speed of the sync process using the files +/proc/sys/dev/raid/speed_limit_min and +/proc/sys/dev/raid/speed_limit_max. To speed up the +process, echo a larger number into the speed_limit_min +file. + -Removing a faulty object (RAID-1 and RAID-4/5) -When an I/O error occurs on a disk, the disk is marked faulty by the kernel -MD driver. Use this function to permanently remove the faulty disk from the MD region. + +Adding spare objects + +As discussed above, a spare object can be assigned to a RAID-1 or +RAID-4/5 region when the region is created. +In addition, a spare object can also be added to an already existing +RAID region. +The effect of this operation is the same as if the object were +assigned when the region was created. + + +If the RAID region is clean and operating normally, the kernel driver +will add the new object as a regular spare, and it will act as a hot-standby +for future failures. +If the RAID region is currently degraded, the kernel driver will +immediately activate the new spare object and begin syncing the data +and parity information. + + +For both RAID-1 and RAID-4/5 regions, use the "addspare" plug-in function +to add a new spare object to the region. The only argument is the +name of the desired object, and only one spare object can be added at a time. +For RAID-1 regions, the new spare object must be at least as big as the +region, and for RAID-4/5 regions, the new spare object must be at least +as big as the smallest active object. + + +Spare objects can be added while the RAID region is active and in use. + + + +Removing spare objects + +If a RAID-1 or RAID-4/5 region is clean and operating normally, and +that region has a spare object, the spare object can be removed from +the region if you need to use that object for another purpose. + + +For both RAID-1 and RAID-4/5 regions, use the "remspare" plug-in +function to remove a spare object from the region. +The only argument is the name of the desired object, and only one spare +object can be removed at a time. +After the spare is removed, that object will show up in the Available-Objects +list in the EVMS user interfaces. + + +Spare objects can be removed while the RAID region is active and in use. + + + +Adding active objects to RAID-1 + +In RAID-1 regions, every active object has a full copy of the data for +the region. +This means it is easy to simply add a new active object, sync the +data to this new object, and thus increase the "width" of the mirror. +For instance, if you have a 2-way RAID-1 region, you can add a new +active object, which will increase the region to a 3-way mirror, which +increases the amount of redundancy offered by the region. + + +The first process of adding a new active object can be done in one of +two ways. First, the "addactive" plug-in function adds any +available object in EVMS to the region as a new active object. +The new object must be at least as big as the size of the RAID-1 region. +Second, if the RAID-1 region has a spare object, that object can be +converted to an active member of the region using the "activatespare" +plug-in function. + + - - -Marking an object faulty (RAID-1 and RAID-4/5) - -There are two scenarios for marking an active disk faulty: - - -When the MD region has at least one spare disk, the active disk will -be swapped with a spare disk. - - -When the MD region has no spare disks, the active disk will be marked -faulty and the MD array will operate in degraded mode. - - -When the active disk is successfully marked -faulty, it can be immediately removed from the MD region. Alternatively, the -faulty disk can be later removed, as described in . - - - -Replacing an object - -In EVMS 2.0 and later, you can replace a member of an MD region with an -available storage object. The new object must be the same size as the replaced object. -This option is currently only supported for volumes that are offline. - - - -Characteristics of Linux RAID levels - -The following subsections describe the characteristics of each Linux RAID level. - -Linear mode -Characteristics: - - +Faulty objects -Two or more disks are combined into one virtual MD device. - - - -The disks are appended to each other, so writing linearly to the MD device -fills up disk 0 first, then 1, and so on. - - - -The disks do not have to be of the same size. - - -Advantages: - - - -Can be used to build a very large MD device. +As discussed in the previous section, if one of the active objects in a +RAID-1 or RAID-4/5 region has a problem, that object will be kicked out and +the region will become degraded. +A problem can occur with active objects in a variety of ways. +For instance, a disk can crash, a disk can be pulled out of the +system, a drive cable can be removed, or one or more I/Os can cause errors. +Any of these will result in the object being kicked out and the RAID +region becoming degraded. - - -No parity calculation overhead is involved. +If a disk has completely stopped working or has been removed from the +machine, EVMS obviously will no longer recognize that disk, and it will +not show up as part of the RAID region when running the EVMS user interfaces. +However, if the disk is still available in the machine, EVMS will likely +be able to recognize that the disk is assigned to the RAID region, but has +been removed from any active service by the kernel. +This type of disk is referred to as a faulty object. - - -Disadvantages: - - + +Removing faulty objects -Not a "true" RAID because it is not fault-tolerant. +Faulty objects are no longer usable by the RAID region, and should be +removed. +You can remove faulty objects with the "remfaulty" plug-in function +for both RAID-1 and RAID-4/5. This operation is very similar to +removing spare objects. After the object is removed, it will appear +in the Available-Objects list in the EVMS user interfaces. - - -One disk crash will probably result in loss of most or all data. +Faulty objects can be removed while the RAID region is active and in use. - - - -Should never be used in mission-critical environments. - - -RAID-0 - -Characteristics: - - +Fixing temporarily failed objects -Two or more disks are combined into one virtual MD device. - - - -Also called "stripe" mode. - - - -Stripe size determines how data is written to disk. For example, -writing 16 K bytes to a RAID-0 array of three disks with stripe size -of 4 K bytes is broken down into: - - - -4 K bytes of disk 0 +Sometimes a disk can have a temporary problem that causes the disk to be +marked faulty and the RAID region to become degraded. +For instance, a drive cable can come loose, causing the MD kernel driver +to think the disk has disappeared. +However, if the cable is plugged back in, the disk should be available +for normal use. +However, the MD kernel driver and the EVMS MD plug-in will continue to +indicate that the disk is a faulty object because the disk might have +missed some writes to the RAID region and would therefore be out of +sync with the rest of the disks in the region. - - -4 K bytes to disk 1 +In order to correct this situation, the faulty object should be +removed from the RAID region (as discussed in the previous section). +The object will then show up as an Available-Object. +Next, that object should be added back to the RAID region as a spare +(as discussed in . When the +changes are saved, the MD kernel driver will activate the spare and +sync the data and parity. +When the sync is complete, the RAID region will be operating in its +original, normal configuration. - - -4 K bytes to disk 2 +This procedure can be accomplished while the RAID region is active and +in use. - - - -4 K bytes to disk 0 - - - - - - -The disks should be the same size but they do not have to be the same size. - - - - -Advantages: - - - -Can be used to build a very large MD device. - - - - -I/O performance is greatly improved by spreading I/O load across many -controllers and disks. - - - - -No parity calculation overhead is involved. - - - - -Disadvantages: - - - -Not a "true" RAID because it is not fault-tolerant. - - - - -One disk crash is liable to result in the loss of the whole array. - - - - -Should never be used in mission-critical environments. - - - -RAID-1 -Characteristics: - - - +Marking objects faulty -Consists of two or more disks to provide a two-way or N-way mirrored MD device. +EVMS provides the ability to manually mark a child of a RAID-1 or +RAID-4/5 region as faulty. +This has the same effect as if the object had some problem or +caused I/O errors. +The object will be kicked out from active service in the region, and +will then show up as a faulty object in EVMS. +It can then be removed from the region as discussed in the previous +sections. - - -Writes result in writing identical data to all active disks in the array. +There are a variety of reasons why you might want to manually mark an +object faulty. +One example would be to test failure scenarios to learn how Linux and +EVMS deal with the hardware failures. +Another example would be that you want to replace one of the current +active objects with a different object. +To do this, you would add the new object as a spare, then mark the +current object faulty (causing the new object to be activated and +the data to be resynced), and finally remove the faulty object. - - -Reads can be performed on any active disk of the array. +EVMS allows you to mark an object faulty in a RAID-1 region if there +are more than one active objects in the region. +EVMS allows you to mark an object faulty in a RAID-4/5 region if the +region has a spare object. - - -Data is intact as long as there is at least one "good" active disk in the array. +Use the "markfaulty" plug-in function for both RAID-1 and RAID-4/5. +This command can be used while the RAID region is active and in use. - - - -The disks should be the same size. If they are different sizes, the size -of the RAID-1 array is determined by the smallest disk. - - - - -Advantages: - - - -100% redundancy of data. - - - - -Under certain circumstances, a RAID-1 array can sustain multiple simultaneous -disk failures. - - - - -Kernel MD code provides good read-balancing algorithm. - - - - -No parity calculation overhead is involved. - - - - -Disadvantages: - - - -Write performance is often worse than on a single device. - - - - - -RAID-4 -Characteristics: - - - -Consists of three or more striped disks. - - - - -Parity information is kept on one disk. When a disk fails, parity information -is used to reconstruct all data. - - - - -The disks should be the same size. If they are different sizes, the size of -the RAID-4 array is determined by the smallest disk. - - - - -Advantages: - - - -Like RAID-0, I/O performance is greatly improved by spreading the I/O load -across many controllers and disks. - - - - -Disadvantages: - - - -The parity disk becomes a bottleneck. Therefore, a slow parity disk degrades -I/O performance of the whole array. - - - - -Cannot sustain a two-disk simultaneous failure. - - - - - -RAID-5 - -Characteristics: - - - -Consists of three or more striped disks. - - - - -Parity information is distributed evenly among the participating disks. - - - - -The disks should be the same size. If they are different sizes, the size of -the RAID-5 array is determined by the smallest disk. - - - - -Advantages: - - - -Like RAID-0, I/O performance is greatly improved by spreading the I/O load -across many controllers and disks. - - - - -Read performance is similar to RAID-0. - - - - -Disadvantages: - - - -Writes can be expensive when required read-in blocks for parity calculations -are not in the cache. - - - - -Cannot sustain a two-disk simultaneous failure. - - - - - - -MULTIPATH -Characteristics: - -Consists of 1 or more disks. -Disks are actually I/O paths to the same physical disk. -Spreads I/O across active disks for simple load balancing. -Like other RAID levels, I/O failures will mark a disk faulty. -Failed I/O will be automatically retried on remaining active disks. - - -Advantages: - -Achieves fault-tolerance through redundant I/O paths. -Possible performance improvements through load balancing. - - -Disadvantages: - -Cannot survive a single disk crash. - +Resizing MD regions + +RAID regions can be resized in order to expand or shrink the available +data space in the region. +Each RAID level has different characteristics, and thus each RAID level +has different requirements for when and how they can expand or shrink. + + +See for general information about +resizing EVMS volumes and objects. + + +Linear + +A Linear-RAID region can be expanded in two ways. +First, if the last child object in the Linear-RAID region is +expandable, then that object can be expanded, and the RAID region +can expand into that new space. +Second, one or more new objects can be added to the end of the region. + + +Likewise, a Linear-RAID region can be shrunk in two ways. +If the last child object in the region is shrinkable, then that object +can be shrunk, and the RAID region will shrink by the same amount. +Also, one or more objects can be removed from the end of the RAID +region (but the first object in the region cannot be removed). + + +Linear-RAID regions can be resized while they are active and in use. + + + +RAID-0 + +You can expand a RAID-0 region by adding one new object to the region. +You can shrink a RAID-0 region by removing up to N-1 of the current +child objects in a region with N objects. + + +Because RAID-0 regions stripe across the child objects, when a RAID-0 +region is resized, the data must be "re-striped" to account for the new +number of objects. +This means the MD plug-in will move each chunk of data from its +location in the current region to the appropriate location in the +expanded region. +Be forewarned, the re-striping process can take a long time. +At this time, there is no mechanism for speeding up or slowing down +the re-striping process. +The EVMS GUI and text-mode user interface will indicate the progress +of the re-striping. +Please do not attempt to interrupt the re-striping before it is +complete, because the data in the RAID-0 region will likely become +corrupted. + + +RAID-0 regions must be deactivated before they are resized in order to +prevent data corruption while the data is being re-striped. + + +IMPORTANT: Please have a suitable backup available before attempting +a RAID-0 resize. If the re-striping process is interrupted before it +completes (for example, the EVMS process gets killed, the machine +crashes, or a child object in the RAID region starts returning I/O +errors), then the state of that region cannot be ensured in all situations. + + +EVMS will attempt to recover following a problem during a RAID-0 resize. +The MD plug-in does keep track of the progress of the resize in the MD +metadata. +Each time a data chunk is moved, the MD metadata is updated to +reflect which chunk is currently being processed. +If EVMS or the machine crashes during a resize, the next time you run +EVMS the MD plug-in will try to restore the state of that region based +on the latest metadata information. +If an expand was taking place, the region will be "rolled back" to its +state before the expand. +If a shrink was taking place, the shrink will continue from the +point it stopped. +However, this recovery is not always enough to ensure that the entire +volume stack is in the correct state. +If the RAID-0 region is made directly into a volume, then it will +likely be restored to the correct state. +On the other hand, if the RAID region is a consumed-object in an +LVM container, or a child-object of another RAID region, then the +metadata for those plug-ins might not always be in the correct state +and might be at the wrong location on the RAID region. +Thus, the containers, objects, and volumes built on top of the RAID-0 +region might not reflect the correct size and might not even be discovered. + + + +RAID-1 + +A RAID-1 region can be resized if all of the child objects can be +simultaneously resized by the same amount. + + +RAID-1 regions cannot be resized by adding additional objects. +This type of operation is referred to as "adding active objects," and +is discussed in . + + +RAID-1 regions must be deactivated before they are resized. + + + +RAID-4/5 + +Resizing a RAID-4/5 region follows the same rules and restrictions +for resizing a RAID-0 region. Expand a RAID-4/5 region by +adding one new object to the region. +Shrink a RAID-4/5 region by removing up to N-1 of the current child objects in a region +with N objects. + + +See for information about how to perform this function. + + +Like RAID-0, RAID-4/5 regions must be deactivated before they are resized. + + + + +Replacing objects +The MD plug-in allows the child objects of a RAID region to be replaced with +other available objects. +This is accomplished using the general EVMS replace function. +Please see for more detailed information about how to +perform this function. +For all RAID levels, the replacement object must be at least as big as the +child object being replaced. If the replacement object is bigger than the +child object being replaced, the extra space on the replacement object will be unused. +In order to perform a replace operation, any volumes that comprise the +RAID region must be unmounted. + +This capability is most useful for Linear-RAID and RAID-0 regions. It is also allowed +with RAID-1 and RAID-4/5, but those two RAID levels offer the ability to mark objects faulty, +which accomplishes the same end result. +Because that process can be done while the region is in use, it is generally preferable +to object-replace, which must be done with the region deactivated. + + + diff --git a/LDP/guide/docbook/EVMSUG/cli_active.png b/LDP/guide/docbook/EVMSUG/cli_active.png index fc4b1d5107a1d177e7b44f0bab391d87623a2ec8..8a0b3d546fabbecee598b3afb20eae06a2d48bca 100644 GIT binary patch literal 21306 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 literal 14234 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 diff --git a/LDP/guide/docbook/EVMSUG/create-snapshot.xml b/LDP/guide/docbook/EVMSUG/create-snapshot.xml index 439d19da..ce820a5e 100644 --- a/LDP/guide/docbook/EVMSUG/create-snapshot.xml +++ b/LDP/guide/docbook/EVMSUG/create-snapshot.xml @@ -25,16 +25,7 @@ is taken from the snapshot, while the original remains in active use. -Creating and activating snapshot objects - -Creating and activating a snapshot is a two-step process. -The first step is to create the snapshot object. -The snapshot object specifies where the saved data will -be stored when changes are made to the original. -The second step is to activate the -object, which is to make an EVMS volume from the object. - -Creating a snapshot +Creating snapshot objects You can create a snapshot object from any unused storage object in EVMS (disks, segments, regions, or feature objects). The size of this consumed object is @@ -45,7 +36,6 @@ from the original to the snapshot, given sufficient activity on the original. In this situation, the snapshot is deactivated and additional I/O to the snapshot fails. - Base the size of the snapshot object on the amount of activity that is likely to take place on the original during the lifetime of the snapshot. The more changes that occur on the @@ -62,19 +52,22 @@ object is the same size as the original volume, or a little larger, to account for the snapshot mapping tables, the snapshot is never deactivated. +After you've created the snapshot object and saved the changes, the +snapshot will be activated (as long as the snapshot child object is already active). +This is a change from snapshots in EVMS 2.3.x and earlier, where the snapshot +would not be activated until the object was made into an EVMS volume. If you +wish to have an inactive snapshot, please add the name of the snapshot object +to the "activate.exclude" line in the EVMS configuration file (see section about +selective-activation for more details). If at any point you decide to deactivate a +snapshot object while the original volume is still active, the snapshot will be reset. +The next time that the snapshot object is activated, it will reflect the state of the +original volume at that point in time, just as if the snapshot had just been created. - +In order to mount the snapshot, the snapshot object must still be made into an +EVMS volume. The name of this volume can be the same as or different than the +name of the snapshot object. -Activating a snapshot -After you create a snapshot, activate it by making an EVMS volume from the object. -After you create the volume and save the changes, the snapshot is active. -The only option you have to specify for activating snapshots is -the name to give the EVMS volume. -This name can be -the same as or different than the name of the snapshot object. - - Example: create a snapshot This section shows how to create a snapshot with EVMS: @@ -208,8 +201,8 @@ snapshot. command on the snapshot object (not the snapshot volume). This command reinitializes the snapshot without requiring you to -manually delete and recreate the volume. -The snapshot volume must be unmounted for it to be reinitialized. +manually deactivate and reactivate the volume. +The snapshot must be active but unmounted for it to be reinitialized. This section continues the example from the previous section, @@ -228,14 +221,14 @@ is called "/dev/evms/snap." Select the volume "snap." - Click Next. + Click or activate Next. Select Reset. - Click Next. + Click or activate Next. - Click Reset on the action panel. + Click or activate Reset on the action panel. - Click Reset on the warning panel. + Click or activate Reset on the warning panel. @@ -247,9 +240,9 @@ is called "/dev/evms/snap." the object snap. -Click Reset on the popup menu. -Click Reset on the action panel. -Click Reset on the warning panel. +Click or activate Reset on the popup menu. +Click or activate Reset on the action panel. +Click or activate Reset on the warning panel. @@ -270,7 +263,7 @@ the object snap. Expanding a snapshot -As mentioned in the , as data is +As mentioned in , as data is copied from the original volume to the snapshot, the space available for the snapshot might fill up, causing the snapshot to be invalidated. This situation might cause your data backup to end prematurely, as the @@ -324,17 +317,17 @@ and comparing the percent-full field before and after the expand operation. to see a list of EVMS feature objects. Select the volume /dev/evms/snap. - Click Next. + Click or activate Next. Select lvm/Sample Container/Sample Region. This object is the object that will actually be expanded. - Click Next. + Click or activate Next. Select the options for expanding the LVM region, including the amount of extra space to add to the region. - Click Expand. + Click or activate Expand. @@ -347,14 +340,14 @@ and comparing the percent-full field before and after the expand operation. Select Expand from the popup menu. -Click Next. +Click or activate Next. Select the region lvm/Sample Container/Sample Region. This is the object that will actually be expanded. -Click Next. +Click or activate Next. Select the options for expanding the LVM region, including the amount of extra space to add to the region. -Click Expand. +Click or activate Expand. @@ -429,25 +422,25 @@ all but the desired snapshot must be deleted before rollback can take place. Storage Object Tasks. Select the object "snap." -Click Next. +Click or activate Next. Select Rollback. -Click Next. -Click Rollback on the action panel. +Click or activate Next. +Click or activate Rollback on the action panel. -Click Rollback on the warning panel. +Click or activate Rollback on the warning panel. -Alternatively, you can perform these same steps with the context sensitive menus: +Alternatively, you can perform these same steps with the context-sensitive menus: From the Feature Objects panel, right click (or press Enter on) the object "snap." -Click Rollback on the popup menu. +Click or activate Rollback on the popup menu. -Click Rollback on the action panel. +Click or activate Rollback on the action panel. -Click Rollback on the warning panel. +Click or activate Rollback on the warning panel. diff --git a/LDP/guide/docbook/EVMSUG/expandshrink.xml b/LDP/guide/docbook/EVMSUG/expandshrink.xml index 042d7ef9..87a18637 100644 --- a/LDP/guide/docbook/EVMSUG/expandshrink.xml +++ b/LDP/guide/docbook/EVMSUG/expandshrink.xml @@ -65,6 +65,12 @@ shrink and expand options available for each type of FSIM. Online only + +NTFS +Offline only +Offline only + + diff --git a/LDP/guide/docbook/EVMSUG/gui_active.png b/LDP/guide/docbook/EVMSUG/gui_active.png index 24ddd5050d7864b64fec8207da4bf7fc251018fa..159a6f93b259bbe2b6b27dc63658579cb959174f 100644 GIT binary patch literal 23828 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 In addition to manually starting one of the EVMS user interfaces, there is a new utility called evms_activate. The evms_activate utility simply opens the EVMS Engine -and issues a commit command. +and tells the Engine to save the changes. You might want to add a call to evms_activate to your boot scripts in order to automatically activate your volumes at boot time. If you have volumes listed in your /etc/fstab file, diff --git a/LDP/guide/docbook/EVMSUG/replace-objects.xml b/LDP/guide/docbook/EVMSUG/replace-objects.xml index b35e3c21..7b37d380 100644 --- a/LDP/guide/docbook/EVMSUG/replace-objects.xml +++ b/LDP/guide/docbook/EVMSUG/replace-objects.xml @@ -75,8 +75,19 @@ the object sdb1 will be moved to the "Available Objects" panel. Using the CLI - The replace command has not yet been implemented in the EVMS CLI. -It will be available in a future release. + Use the Replace to replace objects with +the CLI: + +Replace:source_object_name, target_object_name + + +"source_object_name" is the name of the object you wish to replace with +"target_object_name." In the following example, sdb1 is replaced with +sdc1. + + +Replace:sdb1,sdc1 +