

Frequently Asked Questions about EVMS

Joy Yokley Goodreau


joyg at us.ibm.com



EVMS provides flexibility and extensibility in managing storage. EVMS is a
new approach to logical volume management. The EVMS architecture introduces
a plug-in model that allows for easy expansion or customization of various
levels of volume management. This FAQ lists some of the most commonly asked
questions about EVMS and the answers to those questions.

Copyright Notice and Disclaimer

Copyright 2002 IBM Corporation

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.

This document is provided "AS IS," with no express or implied warranties.
Use the information in this document at your own risk.

Special Notices

Linux is a trademark of Linus Torvalds. Other company, product, and service
names may be trademarks or service marks of others.

---------------------------------------------------------------------------

Q: I just created a new segment hda9, but it does not show up in the volume
    list. Why not?
Q: What is the difference between a compatability volume and an EVMS
    volume?
Q: I have disk partitions with filesystems on them. How can I convert them
    to EVMS volumes without losing my data?
Q: Where are the device files for the EVMS volumes? I've just booted my
    EVMS-enabled kernel, but there are no device nodes to access the
    volumes.
Q: How do I assign a segment manager to a device?


Q: I just created a new segment hda9, but it does not show up in the volume
list. Why not?

A: EVMS does not assume that anything created is a volume unless you tell
EVMS to make it a volume. You may have been creating the segment to use as
a part of an LVM container or something else. If you want to access the
segment as a volume you may create either a compatibility volume or an EVMS
volume from that segment.

Q: What is the difference between a compatability volume and an EVMS
volume?

A: A compatibility volume works with other objects of its type. For
instance, a region from the LVM Region Manager that is made into a
compatibility volume is compatible with the existing Linux LVM. If you make
an EVMS volume, you will have static naming and minor numbers. If you have
added an EVMS Feature to an object then you can only make an EVMS volume
out of it.

Q: I have disk partitions with filesystems on them. How can I convert them
to EVMS volumes without losing my data?

A: The advantage of EVMS volumes over compatibility volumes is that EVMS
volumes have persistent names and minor numbers. Due to discovery ordering
and the naming scheme for some compatibility plugins, names and minor
numbers of compatibility volumes may "shift."

In order for EVMS to create a native volume out of a compatibility object,
it must write two sectors of metadata at the end of the object to store the
name and minor number. To prevent the end of your filesystem from being
overwritten, you must shrink the filesystem before converting to the EVMS
volume.

Below is an example of converting a compatibility disk partition with an
ext2 filesystem to an EVMS volume.

 1. Use an ext2 file system resizer, such as resize2fs, to shrink the
    filesystem by about 10k. Use the dev-node for the compatibility volume
    ( /dev/evms/hdb1).
   
 2. Start the EVMS GUI.
   
 3. In the Volumes panel, right-click on the desired compatibility volume,
    and choose remove.
   
 4. In the Available Objects panel, right-click on the object from the last
    step, and choose Create EVMS Volume. Give the new volume a suitable
    name, such as New_Volume.
   
 5. Commit the changes, and close the EVMS GUI.
   
 6. Use the files ystem resizer to expand the file system into the available
    space. This time use the dev-node for the EVMS volume ( /dev/evms/
    New_Volume).
   


Q: Where are the device files for the EVMS volumes? I've just booted my
EVMS-enabled kernel, but there are no device nodes to access the volumes.

A: The device files for EVMS are found in the /dev/evms directory. If you
are running devfs, the device files for the EVMS volumes should be created
automatically and kept up-to-date with the kernel's view of the volumes. If
you are not running devfs, the quickest way to produce the correct
dev-nodes is to run the command evms_devnode_fixup. You can also get the
same functionality by starting the EVMS engine, using evmsgui. If any
dev-nodes are missing, the volumes are marked "Needs Devnode." If you then
perform a commit, all of the necessary dev-nodes will be created or
updated.

Q: How do I assign a segment manager to a device?

A: When you add a raw disk without any partitions or partition tables to a
system, you must assign a segment manager to the disk if you wish to
partition the disk. The disk is acceptable to other plug-in featurs; for
example, a drive linking storage object can accept a disk object. If you
need to partition the disk to create segment storage objects, you must use
the Assign command and specify the disk storage object and the segment
manager plug-in you wish to assign to the disk.

Assigning the Default Segment Manager to a disk will result in two new
storage objects: a metadata storage object that maps the MBR partition
table and a freespace storage object that maps the unused disk sectors.
After successfully assigning the segment manager, you can then create
segment storage objects on the disk.

If you wish to remove a segment manager plug-in from a disk, the process is
a bit more involved. First, you must remove all partitions from the disk by
using the Destroy command on every data segment storage object. When you
remove the last data segment storage object, a popup message will inform
you that if you now destroy the metadata segment storage object, the
segment plug-in will be unassigned.

