Document Actions

EVMS Install Guide

by David Hostetler [posted 20070306:19:05 (Tue)]

step by step instructions for installing EVMS in linux (gentoo) and configuring a RAID array

Introduction

EVMS is a tool for configuring and managing your harddrive storage space.  If you've used mdadm in the past, you know what EVMS is for, and you'd probably be much happier using EVMS.  I use it for configuring and managing large RAID arrays for personal and project-related data storage.  EVMS has a hard-core geekery rating of 11.3, and I probably just barely scratch the surface of its capabilities, so this is by no means intended to be a comprehensive guide to exploiting EVMS.  In short, I figured out enough to correctly setup a RAID 5 array, and then prompty both forgot and ignored it.  This guide is a chronicle of that process (the setup part, not the forgetting and ignoring).


Disclaimers

  • I'm no expert, at EVMS in particular, or Linux in general.
  • This guide is Gentoo focused, since that is my preferred distribution.  There's not much here that is really Gentoo specific, though.  Once we get past the package compilation, we're probably squarely in generic land.

Links

Official EVMS homepage
Official EVMS installation guide

Guide


  1. First we need to correctly configure the kernel to include the EVMS prerequisites
    • cd /usr/src/linux
    • make menuconfig
    • ensure that all of the following are selected in your kernel configuration:
      • Code maturity level options
        • [*] Prompt for development and/or incomplete code/drivers
      • Device Drivers -> Block devices
        • <*> Loopback device support
                    <*> RAM disk support
                              (16)  Default number of RAM disks (NEW)
                              (4096) Default RAM disk size (kbytes) (NEW)
                    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
      • Device Drivers -> Multi-device support (RAID and LVM)
        • <*> Device mapper support
                    <*> Crypt target support
                    <*> Snapshot target (EXPERIMENTAL)
                    <*> Mirror target (EXPERIMENTAL)
                    <*> Zero target (EXPERIMENTAL)
                    <*> Multipath target (EXPERIMENTAL)
                    < >  EMC CX/AX multipath support (EXPERIMENTAL) (NEW)
                    <*> Bad Block Relocation Device Target (EXPERIMENTAL)
  2. Now emerge evms (if you're not using gentoo, this is where you'd do your usual './configure && make && make install && ldconfig' dance):
    • emerge --ask evms
  3. configure emvs (this example uses the ncurses interface to evms, there is also an X11 gui, 'evmsgui', that is very nice):
    • evmsn
    • select 'A->Create->Region'
    • select 'Raid 4/5'
    • select at least 3 of the available logical disks (you can't use less than 3, but if you want a spare, you should leave one drive unselected -- i.e. you need at least 4 drives to create an array with a hot spare, and in fact evms will complain to you about a region that has less than 4 drives, even though it works)
    • modify any of the region properties (defaults are fine)
      • if you left one of the drives out, you can select it here as a hot spare
    • create the region
    • you should now be viewing the list of regions (it should say '3=Storage Regions' at the top), if not, use [TAB] until you see the region list
    • highlight the region you just created (something like 'md/md0')
    • hit [ENTER] and select 'Create EVMS Volume'
    • specify a volume name, i.e. 'raid'
    • now [TAB] until you're viewing the list of EVMS volumes, your new volume should show up as '/dev/evms/raid' or whatever you named it
    • highlight the volume
    • hit [ENTER] and select 'Add File System...'
    • choose your desired filesystem (I use ReiserFS, though JFS or XFS might be better suited, depending on your needs)
    • select 'A->Save', which will cook your new raid volume and format it
    • select 'A->Quit'
    • you can now mount your raid volume as you would any other mount.  A typical evms entry in /etc/fstab would look like:
      • /dev/evms/raid          /raid           reiserfs        noatime                 0 1