Setting up Logical Volumes with LVM: Difference between revisions
(c4tlirobocd) |
m (Reverted edits by 80.227.1.101 (Talk); changed back to last version by 213.234.126.131) |
||
Line 1: | Line 1: | ||
This document how to create logical volumes in Alpine using lvm2. | This document how to create logical volumes in Alpine using lvm2. | ||
Revision as of 15:05, 20 February 2008
This document how to create logical volumes in Alpine using lvm2.
LVM is collection of programs that allow larger physical disks to be reassembled into "logical" disks that can be shrunk or expanded as data needs change.
In this document we will use a software raid1 device as physical storage for our logical volumes. We will set up a swap partition and a data partition for vservers
Installing LVM software
First we need to load the kernel driver, dm-mod
modprobe dm-mod
We also want it to be loaded during next reboot.
echo dm-mod >> /etc/modules
We also need the userspace programs.
apk_add lvm2
Preparing the physical volumes
First we need to tell LVM that de partition is available as a physical volume and can be added to a volume group. In this example we use a software raid array as physical volume.
pvcreate /dev/md0
Preparing the Volume Group
We can then create a volume group and add the physical volume /dev/md0
vgcreate vg0 /dev/md0
If we later need more space we can add additional physcal volumes with vgextend. All physcal disks/partitions added need to be prepared with pvcreate.
Creating Logical volumes
In the volume group we can create logical volumes. To create a 1GB volume called swap and a 6GB volume called 'vservers on the volume group vg0 we run
lvcreate -n swap -L 1G vg0 lvcreate -n vservers -L 6G vg0
display Logicall Volumes
You can now se the logical volumes with the lvdisplay utility.
lvdisplay --- Logical volume --- LV Name /dev/vg0/swap VG Name vg0 LV UUID a4NYOi-FQP6-Lj5Q-0TYk-Jjtk-Qxjt-nxeBPn LV Write Access read/write LV Status available # open 0 LV Size 1.00 GB Current LE 256 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:0 --- Logical volume --- LV Name /dev/vg0/vservers VG Name vg0 LV UUID 16VMmy-7I0s-eeoW-tL2V-JrlN-jM6C-d0wEg0 LV Write Access read/write LV Status available # open 0 LV Size 6.00 GB Current LE 1536 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:1
Start LVM during Boot
We want lvm to init the logical voluems during boot. There is a boot service named lvm to do this. If your volumes are on raid, make sure that /etc/init.d/lvm is started after mdadm-raid.
rc_add -s 12 -k lvm
Setting up swap
Now we have our devices in /dev/vg0 and can use them as normal disk paritions. To set up swap:
mkswap /dev/vg0/swap
Add the following line to your /etc/fstab:
/dev/vg0/swap none swap sw 0 0
Start the swap service and make sure it starts during next reboot and tht is starts after lvm.
/etc/init.d/swap start rc_add -s 14 -k swap
Setting up /vservers partition
Finally we want to set up an XFS partition for /vservers.
Install xfsprogs.
apk_add xfsprogs
Create filesystem on /dev/vg0/vservers.
mkfs.xfs /dev/vg0/vservers
Add the mount information to your /etc/fstab:
/dev/vg0/vservers /vservers xfs noatime,tagxid 0 0
Note that the tagxid option is specific for setting up vserver disk limits so it might be you don't want it. The noatime option is to increase performance but you will no longer know when files were accessed last time.
Now we can start the localmount boot service to mount our partition.
/etc/init.d/localmount start
Make sure we run localmount during boot too, and that it is done after lvm.
rc_add -s 14 -k localmount
More Info on LVM
For more information, have a look at the common tasks section in the LVM Howto.