Differences
This shows you the differences between two versions of the page.
linux:lvm [2006/10/29 15:03] a LVM |
linux:lvm [2009/05/25 00:35] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Logical Volume Manager ====== | ||
- | * [[http:// | ||
- | |||
- | ===== Example usage ===== | ||
- | |||
- | Start by looking at our existing disks | ||
- | |||
- | cat /proc/scsi/ | ||
- | dmesg |grep sd | ||
- | |||
- | |||
- | Next, partition the new disks using fdisk | ||
- | |||
- | fdisk /dev/sdb | ||
- | |||
- | |||
- | * **p** to Print the existing table (should be blank) | ||
- | * **n** to create a new partition | ||
- | * **t** to change partition system ID to 8e (Linux LVM) | ||
- | * **w** to write new table to disk | ||
- | |||
- | |||
- | Repeat for /dev/sdc | ||
- | Create the physical volumes | ||
- | |||
- | pvcreate /dev/sdb1 | ||
- | pvcreate /dev/sdc1 | ||
- | |||
- | |||
- | |||
- | //NOTE: You can create multiple PVs on a single disk, but it is not recommended. Show existing Physical Volumes// | ||
- | |||
- | pvscan | ||
- | |||
- | |||
- | Show Volume Groups | ||
- | |||
- | vgscan (should return nothing) | ||
- | |||
- | |||
- | Create a Volume Group from the Physical Volumes | ||
- | |||
- | vgcreate opt_vg /dev/sdb1 /dev/sdc1 | ||
- | |||
- | |||
- | //NOTE: You can specify PE size in vgcreate. Default is 4M. You'd use larger PE sizes for LVs greater than 256G. 65K PEs per LV.// | ||
- | |||
- | Show Volume Groups | ||
- | |||
- | vgscan (now shows the VG we created) | ||
- | |||
- | |||
- | Display information about the VG | ||
- | |||
- | vgdisplay | ||
- | |||
- | |||
- | Create a Logical Volume within the VG | ||
- | |||
- | lvcreate -l num_of_extents -n opt_lv opt_vg | ||
- | lvcreate -L 100M -n opt_lv opt_vg | ||
- | lvcreate -L 100M -n opt_lv -i num_stripes opt_vg | ||
- | lvcreate -L 100M -n opt_lv opt_vg [PhysicalVolumePath] | ||
- | |||
- | |||
- | Display information about the LV | ||
- | |||
- | lvdisplay | ||
- | lvdisplay -m (Show maps. Compare striped vs un-striped) | ||
- | |||
- | |||
- | Create a mount point | ||
- | |||
- | mkdir /opt/foo1 | ||
- | mkdir / | ||
- | |||
- | |||
- | Create a filesystem | ||
- | |||
- | mkfs.ext3 / | ||
- | mkfs.ext3 / | ||
- | |||
- | |||
- | Mount the filesystems | ||
- | |||
- | mount / | ||
- | df -h | ||
- | |||
- | |||
- | ===== Growing a Filesystem ===== | ||
- | ==== Grow an EXT2/3 filesystem (with unmount) ==== | ||
- | |||
- | Unmount the FS | ||
- | |||
- | umount / | ||
- | |||
- | |||
- | Extend the LV | ||
- | |||
- | lvresize -l +50 / | ||
- | lvresize -L +200M / | ||
- | |||
- | |||
- | fsck the filesystem | ||
- | |||
- | e2fsck -f / | ||
- | |||
- | |||
- | Resize the filesystem | ||
- | |||
- | resize2fs / | ||
- | |||
- | |||
- | Remount the filesystem | ||
- | |||
- | mount -t ext3 / | ||
- | |||
- | ==== Grow an EXT2/3 filesystem (without unmount) ==== | ||
- | |||
- | Extend the LV | ||
- | |||
- | lvresize -l +50 / | ||
- | lvresize -L +200M / | ||
- | |||
- | |||
- | Grow the filesystem | ||
- | |||
- | ext2online / | ||
- | ext2online / | ||
- | |||
- | |||
- | Grow a ReiserFS filesystem | ||
- | Create a ReiserFS on / | ||
- | |||
- | mkreiserfs / | ||
- | |||
- | |||
- | Mount the FS | ||
- | |||
- | df -h | ||
- | lvresize -L +50M / | ||
- | resize_reiserfs -f / | ||
- | df -h | ||
- | |||
- | |||
- | Add a Physical Volume to a VG | ||
- | |||
- | vgextend vgname /path/to/PV | ||
- |