Locating and Fixing Device FilesIn 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 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/Volume1Namespaces 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.CAUTIONWhen 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.devfsEVMS 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 NodesOn 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.