[ncolug] My LVM/RAID Presentation

  • From: Chuck Stickelman <cstickelman@xxxxxxxxxx>
  • To: ncolug@xxxxxxxxxxxxx
  • Date: Fri, 04 Aug 2006 01:42:31 -0400

Here's the text file I put together for tonight's presentation.
I hope many found the presentation useful. I have certainly come to the conclusion that most Desktop/Laptop systems should be using LVM. As we saw tonight, supporting RAID is fairly trivial, once you learn the ins and outs of msadm.


Chuck

Here are the steps needed to create LVM on a single device:
I am using /dev/sde (a USB flash drive) for this example.
More information can be found in /usr/share/doc/HOWTO/en-txt/LVM-HOWTO.gz

Steps:
1. Create any needed partitions on the drive (ex. /dev/sde1).
   Note: A drive can support both traditional and LVM partitions simultaneously.
   Note: You can use any partitioning utility to partition the device(s).

2. Create the Physical Volumes (PV) on the device. Run:
   (The documentation strongly recommends that only one Physical Volume (PV) 
exist on a single spindle.)
   Note: Run `man pvcreate` for more information.
        # pvcreate /dev/sde1

3. Create the Volume Groups (VG) on the PV. Run:
   Note: Run `man vgcreate` for more information.
        # vgcreate VG_NAME /dev/sde1

4. Create one or more Logical Volumes (LV), adding them to the VG created 
above. Run:
   Note: Run `man lvcreate` for more information.
        # lvcreate -L64M -ndemoLV1 VG01
        # lvcreate -L100M -ndemoLV2 VG01

5. Check the existence of the VG and the associated LVs. Run:
        # ls -l /dev/VG01/
        total 0
        lrwxrwxrwx 1 root root 24 2006-08-03 14:40 demoLV1 -> 
/dev/mapper/VG01-demoLV1
        lrwxrwxrwx 1 root root 24 2006-08-03 14:42 demoLV2 -> 
/dev/mapper/VG01-demoLV2

        # ls -l /dev/mapper/
        total 0
        crw-rw---- 1 root root  10, 63 2006-08-03 13:45 control
        brw-rw---- 1 root disk 253,  0 2006-08-03 14:52 VG01-demoLV1
        brw-rw---- 1 root disk 253,  1 2006-08-03 14:53 VG01-demoLV2

6. Create file-systems (FS) on the LVs. Run:
   Note: Run `man mke2fs` for more information.
        # mke2fs /dev/VG01/demoLV1
        # mke2fs /dev/VG01/demoLV2

7. Mount the FSs as you would any other block device. Run:
        # mount /dev/VG01/demoLV1 /media/usb1
        # mount /dev/VG01/demoLV2 /media/usb2

8. Check the stats of the mounted FSs. Run:
        # mount
        /dev/hda6 on / type ext3 (rw,errors=remount-ro)
        proc on /proc type proc (rw)
        sysfs on /sys type sysfs (rw)
        usbfs on /proc/bus/usb type usbfs (rw)
        tmpfs on /dev/shm type tmpfs (rw)
        devpts on /dev/pts type devpts (rw,gid=5,mode=620)
        /dev/hda3 on /boot type ext3 (rw)
        tmpfs on /dev type tmpfs (rw,size=10M,mode=0755)
        /dev/mapper/VG01-demoLV1 on /media/usb1 type ext2 (rw)
        /dev/mapper/VG01-demoLV2 on /media/usb2 type ext2 (rw)

        # df -h
        Filesystem                      Size    Used    Avail   Use%    Mounted 
on
        /dev/hda6                       21G     5.7G    14G     29%     /
        tmpfs                           347M    0       347M    0%      /dev/shm
        /dev/hda3                       964M    43M     869M    5%      /boot
        tmpfs                           10M     160K    9.9M    2%      /dev
        /dev/mapper/VG01-demoLV1        62M     13K     59M     1%      
/media/usb1
        /dev/mapper/VG01-demoLV2        97M     13K     92M     1%      
/media/usb2

9. Use e2fsadm to shrink or grow the file-systems and their underlying LVs.
   Note: You can only grow a mounted FS/LV. You must unmount the FS in order to 
shrink the FS and LV.
   Note: Run `man e2fsadm` for more information.

For setting up LVM on a RAID system, the RAID must be built first.

1. Create the RAID.  Here I am using RAID Level 5, with 4 devices and no spares.
   Note: I'm using the first partition on each of 4 USB Flash drives: /dev/sda, 
/dev/sdb, /dev/sdc, and /dev/sdd.
   Run:
        # mdadm --create --chunk=32 --level=5 --raid-devices=4 
--parity=left-symmetric \
--auto=yes --spare-devices=0 --name=usbRAID /dev/md0 /dev/sda1 /dev/sdb1 
/dev/sdc1 /dev/sdd1

2. Checking the RAID device. Run:
        # ls -l /dev/md0        
        brw-rw---- 1 root disk 9, 0 2006-08-03 16:18 /dev/md0

3. Follow the above steps for creating the LVM volumes as above.

Other related posts: