ºìÁªLinuxÃÅ»§
Linux°ïÖú

LinuxÂß¼­¾í¹ÜÀí£¨LVM£©

·¢²¼Ê±¼ä:2014-07-13 11:24:29À´Ô´:ºìÁª×÷Õß:velcbo
Ç°ÑÔ£ºLVM»ù±¾ÊõÓï
ÎïÀí´æ´¢½éÖÊ£¨The physical media£©
ÕâÀïָϵͳµÄ´æ´¢É豸£ºÓ²ÅÌ£¬È磺/dev/hda¡¢/dev/sdaµÈµÈ£¬ÊǴ洢ϵͳ×îµÍ²ãµÄ´æ´¢µ¥Ôª¡£
ÎïÀí¾í£¨physical volume£©
ÎïÀí¾í¾ÍÊÇÖ¸Ó²ÅÌ·ÖÇø»ò´ÓÂß¼­ÉÏÓë´ÅÅÌ·ÖÇø¾ßÓÐͬÑù¹¦ÄܵÄÉ豸(ÈçRAID)£¬ÊÇLVMµÄ»ù±¾´æ´¢Âß¼­¿é£¬µ«ºÍ»ù±¾µÄÎïÀí´æ´¢½éÖÊ£¨Èç·ÖÇø¡¢´ÅÅ̵ȣ©±È½Ï£¬È´°üº¬ÓÐÓëLVMÏà¹ØµÄ¹ÜÀí²ÎÊý¡£
¾í×飨Volume Group£©
LVM¾í×éÀàËÆÓÚ·ÇLVMϵͳÖеÄÎïÀíÓ²ÅÌ£¬ÆäÓÉÎïÀí¾í×é³É¡£¿ÉÒÔÔÚ¾í×éÉÏ´´½¨Ò»¸ö»ò¶à¸ö¡°LVM·ÖÇø¡±£¨Âß¼­¾í£©£¬LVM¾í×éÓÉÒ»¸ö»ò¶à¸öÎïÀí¾í×é³É¡£
Âß¼­¾í£¨logical volume£©
LVMµÄÂß¼­¾íÀàËÆÓÚ·ÇLVMϵͳÖеÄÓ²ÅÌ·ÖÇø£¬ÔÚÂß¼­¾íÖ®ÉÏ¿ÉÒÔ½¨Á¢Îļþϵͳ(±ÈÈç/home»òÕß/usrµÈ)¡£
PE£¨physical extent£©
ÿһ¸öÎïÀí¾í±»»®·ÖΪ³ÆΪPE(Physical Extents)µÄ»ù±¾µ¥Ôª£¬¾ßÓÐΨһ±àºÅµÄPEÊÇ¿ÉÒÔ±»LVMÑ°Ö·µÄ×îСµ¥Ôª¡£PEµÄ´óСÊÇ¿ÉÅäÖõģ¬Ä¬ÈÏΪ4MB¡£
LE£¨logical extent£©
Âß¼­¾íÒ²±»»®·ÖΪ±»³ÆΪLE(Logical Extents) µÄ¿É±»Ñ°Ö·µÄ»ù±¾µ¥Î»¡£ÔÚͬһ¸ö¾í×éÖУ¬LEµÄ´óСºÍPEÊÇÏàͬµÄ£¬²¢ÇÒÒ»Ò»¶ÔÓ¦¡£

Ò»¡¢´´½¨Âß¼­¾íµÄ²½Öè
1£©Í¨¹ýpvcreateÃüÁlinux·ÖÇø´¦Àí³ÉÎïÀí¾í£¨PV)£»
2£©Í¨¹ývgcreateÃüÁ´´½¨ºÃµÄÎïÀí¾í´¦Àí³É¾í×飨Vg)£»
3£©Í¨¹ýlvcreateÃüÁ¾í×é·Ö³ÉÈô¸É¸öÂß¼­¾í£¨Lv)£»
Ö®ºóÎÒÃÇ¿ÉÒÔ¶ÔÂß¼­¾í½øÐиñʽ»¯£¬¹ÒÔØ£¬É¾³ýµÈ²Ù×÷£¬ÎÒÃÇ¿ÉÒÔ¶¯Ì¬µÄµ÷ÕûÂß¼­¾íµÄ´óС£¬²¢ÇҸòÙ×÷²»»áÓ°ÏìÎÒÃÇÔÚÂß¼­¾í£¨Lv)ÉϵÄÊý¾Ý¡£

¶þ¡¢ÎïÀí¾í´´½¨¹ÜÀí²Ù×÷
1¡¢ÎïÀí·ÖÇøÐÅÏ¢
[root@node1 ~]# fdisk /dev/sdd

The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sdd: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdd1 1 200 1606468+ 83 Linux
/dev/sdd2 201 400 1606500 83 Linux
/dev/sdd3 401 600 1606500 83 Linux
/dev/sdd4 601 2610 16145325 5 Extended
/dev/sdd5 601 800 1606468+ 83 Linux
/dev/sdd6 801 1000 1606468+ 83 Linux
/dev/sdd7 1001 1200 1606468+ 83 Linux
/dev/sdd8 1201 1400 1606468+ 83 Linux
/dev/sdd9 1600 1800 1614532+ 83 Linux
/dev/sdd10 1401 1599 1598404+ 83 Linux
/dev/sdd11 1801 2000 1606468+ 83 Linux
/dev/sdd12 2001 2200 1606468+ 83 Linux
/dev/sdd13 2201 2400 1606468+ 83 Linux
/dev/sdd14 2401 2610 1686793+ 83 Linux

Partition table entries are not in disk order

2¡¢´´½¨ÎïÀí¾í
[root@node1 ~]# pvcreate /dev/sdd*
Device /dev/sdd not found (or ignored by filtering).
Physical volume ¡°/dev/sdd1¡å successfully created
Physical volume ¡°/dev/sdd10¡å successfully created
Physical volume ¡°/dev/sdd11¡å successfully created
Physical volume ¡°/dev/sdd12¡å successfully created
Physical volume ¡°/dev/sdd13¡å successfully created
Physical volume ¡°/dev/sdd14¡å successfully created
Physical volume ¡°/dev/sdd2¡å successfully created
Physical volume ¡°/dev/sdd3¡å successfully created
Device /dev/sdd4 not found (or ignored by filtering).
Physical volume ¡°/dev/sdd5¡å successfully created
Physical volume ¡°/dev/sdd6¡å successfully created
Physical volume ¡°/dev/sdd7¡å successfully created
Physical volume ¡°/dev/sdd8¡å successfully created
Physical volume ¡°/dev/sdd9¡å successfully created

3¡¢É¾³ýÎïÀí¾í
[root@node1 ~]# pvremove /dev/sdd1
Labels on physical volume ¡°/dev/sdd1¡å successfully wiped

4¡¢Ìí¼ÓÎïÀí¾í
[root@node1 ~]# pvcreate /dev/sdd1
Physical volume ¡°/dev/sdd1¡å successfully created

5¡¢²é¿´ÎïÀí¾íÐÅÏ¢
[root@node1 ~]# pvscan
PV /dev/sdd1 lvm2 [1.53 GB]
PV /dev/sdd2 lvm2 [1.53 GB]
PV /dev/sdd3 lvm2 [1.53 GB]
PV /dev/sdd5 lvm2 [1.53 GB]
PV /dev/sdd6 lvm2 [1.53 GB]
PV /dev/sdd7 lvm2 [1.53 GB]
PV /dev/sdd8 lvm2 [1.53 GB]
PV /dev/sdd9 lvm2 [1.54 GB]
PV /dev/sdd10 lvm2 [1.52 GB]
PV /dev/sdd11 lvm2 [1.53 GB]
PV /dev/sdd12 lvm2 [1.53 GB]
PV /dev/sdd13 lvm2 [1.53 GB]
PV /dev/sdd14 lvm2 [1.61 GB]
Total: 13 [19.99 GB] / in use: 0 [0 ] / in no VG: 13 [19.99 GB]

6¡¢²é¿´ÎïÀí¾íÏêϸ²ÎÊý
root@node1 ~]# pvdisplay /dev/sdd5
¡°/dev/sdd5¡å is a new physical volume of ¡°1.53 GB¡±
-- NEW Physical volume --
PV Name /dev/sdd5
VG Name
PV Size 1.53 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 7Ms1jT-wxUI-2d7l-h24c-t17F-J9vL-fz2zHM

¶þ¡¢¾í×éµÄ´´½¨¹ÜÀí
1¡¢´´½¨¾í×é
[root@node1 ~]# vgcreate -s 8M xifenfei /dev/sdd{1,2,3,5,6,7,8,9,10,11,12,13,14}
Volume group ¡°xifenfei¡± successfully created
¸ñʽ£ºvgcreate [-s <8M|16M|...>] xifenfei /dev/sdb{1,2,3¡­}
-s£ºÖ¸¶¨À©Õ¹¿é£¨PE£©µÄ´óС£¬Ä¬ÈÏΪ4MB£»£¨Ï൱Óë´ÅÅÌÉϵĴأ¬À©Õ¹Âß¼­¾íµÄ»ù±¾µ¥Î»¡£ ºóÃæµÄÖµ¿ÉÒÔÊÇ8M 16M 32M 64M ¡­..×î¶à65532¸öÀ©Õ¹¿é¡£
xifenfei£ºÐ´´½¨µÄ¾í×éµÄÃû×Ö

2¡¢²é¿´¾í×éÐÅÏ¢
[root@node1 ~]# vgscan
Reading all physical volumes. This may take a while¡­
Found volume group ¡°xifenfei¡± using metadata type lvm2

[root@node1 ~]# pvscan
PV /dev/sdd1 VG xifenfei lvm2 [1.53 GB / 1.53 GB free]
PV /dev/sdd2 VG xifenfei lvm2 [1.53 GB / 1.53 GB free]
PV /dev/sdd3 VG xifenfei lvm2 [1.53 GB / 1.53 GB free]
PV /dev/sdd5 VG xifenfei lvm2 [1.53 GB / 1.53 GB free]
PV /dev/sdd6 VG xifenfei lvm2 [1.53 GB / 1.53 GB free]
PV /dev/sdd7 VG xifenfei lvm2 [1.53 GB / 1.53 GB free]
PV /dev/sdd8 VG xifenfei lvm2 [1.53 GB / 1.53 GB free]
PV /dev/sdd9 VG xifenfei lvm2 [1.54 GB / 1.54 GB free]
PV /dev/sdd10 VG xifenfei lvm2 [1.52 GB / 1.52 GB free]
PV /dev/sdd11 VG xifenfei lvm2 [1.53 GB / 1.53 GB free]
PV /dev/sdd12 VG xifenfei lvm2 [1.53 GB / 1.53 GB free]
PV /dev/sdd13 VG xifenfei lvm2 [1.53 GB / 1.53 GB free]
PV /dev/sdd14 VG xifenfei lvm2 [1.60 GB / 1.60 GB free]
Total: 13 [19.98 GB] / in use: 13 [19.98 GB] / in no VG: 0 [0 ]

3¡¢²é¿´¾í×éµÄÏêϸ²ÎÊý
[root@node1 ~]# vgdisplay /dev/xifenfei
-- Volume group --
VG Name xifenfei
System ID
Format lvm2
Metadata Areas 13
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 13
Act PV 13
VG Size 19.98 GB
PE Size 8.00 MB
Total PE 2557
Alloc PE / Size 0 / 0
Free PE / Size 2557 / 19.98 GB
VG UUID dGa5e5-Jjef-GhYN-jpP0-EHMj-pAK1-Y9jJG2

4¡¢É¾³ý¾í×éÖÐÎïÀí¾í
[root@node1 ~]# vgreduce xifenfei /dev/sdd3
Removed ¡°/dev/sdd3¡å from volume group ¡°xifenfei¡±

5¡¢Ìí¼ÓÎïÀí¾íµ½¾í×éÖÐ
[root@node1 ~]# vgextend xifenfei /dev/sdd3
Volume group ¡°xifenfei¡± successfully extended

6¡¢É¾³ý¾í×é
[root@node1 ~]# vgremove /dev/xifenfei
Volume group ¡°xifenfei¡± successfully removed

ËÄ¡¢Âß¼­¾íµÄ´´½¨¼°¹ÜÀí
1¡¢´´½¨Âß¼­¾í
1.1£©
[root@node1 ~]# lvcreate -L 2G -n data xifenfei
Logical volume ¡°data¡± created
-L 2G£ºÉèÖÃÂß¼­¾íµÄ´óСΪ512M¡£
-n data£ºÉèÖÃÂß¼­¾íµÄÃû×ÖΪdata £»±íʾ·¨£º/dev/¾í×éÃû/data
xifenfei £ºÉèÖÃÊÇÓÐÄǸö¾í×éÉú³ÉµÄÂß¼­¾í
1.2£©
[root@node1 ~]# lvcreate -l 128 -n xff xifenfei
Logical volume ¡°xff¡± created
-l 128£ºÉú³ÉµÄÂß¼­¾íʹÓÃ128¸öÀ©Õ¹¿é£¬Âß¼­¾í´óС=32*PE£¨Ä¬ÈÏ4M£¬±¾´¦Îª8M£©ÔòΪ1024M
-n xff£ºÂß¼­¾íµÄÃû×Ö£»
xifenfei £ºÉèÖÃÊÇÓÐÄǸö¾í×éÉú³ÉµÄÂß¼­¾í

2¡¢É¾³ýÂß¼­¾í
[root@node1 ~]# lvremove /dev/xifenfei/xff
Do you really want to remove active logical volume ¡°xff¡±? [y/n]: y
Logical volume ¡°xff¡± successfully removed

3¡¢²é¿´Âß¼­¾íÐÅÏ¢
[root@node1 ~]# lvscan
ACTIVE ¡®/dev/xifenfei/data¡¯ [2.00 GB] inherit
ACTIVE ¡®/dev/xifenfei/xff¡¯ [1.00 GB] inherit

4¡¢Âß¼­¾íÏêϸÐÅÏ¢
[root@node1 ~]# lvdisplay /dev/xifenfei/data
-- Logical volume --
LV Name /dev/xifenfei/data
VG Name xifenfei
LV UUID 84pp2v-GnfP-X3cL-a3fj-q3Cs-FDjh-i2d02u
LV Write Access read/write
LV Status available
# open 0
LV Size 2.00 GB
Current LE 256
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0

5¡¢¸ñʽ»¯Âß¼­¾í
[root@node1 ~]# mkfs.ext3 /dev/xifenfei/data
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
262144 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

6¡¢¹ÒÔØÂß¼­¾í
[root@node1 ~]# mkdir /data
[root@node1 ~]# mount /dev/xifenfei/data /data
[root@node1 ~]# df -h
Filesystem ÈÝÁ¿ ÒÑÓà ¿ÉÓà ÒÑÓÃ% ¹ÒÔصã
/dev/sda2 18G 9.3G 7.5G 56% /
/dev/sda1 99M 13M 82M 14% /boot
none 395M 0 395M 0% /dev/shm
/dev/drbd0 1.6G 656M 810M 45% /opt/mysql
/dev/mapper/xifenfei-data
2.0G 36M 1.9G 2% /data

7¡¢Ôö´óÂß¼­¾í´óС£¨ÒòΪ¼õСʵ¼ÊÇé¿öÖкÜÉÙÓã¬ËùÒÔ²»×öʵÑélvreduce£©
[root@node1 ~]# lvextend -L 5.5G /dev/xifenfei/data
Extending logical volume data to 5.50 GB
Logical volume data successfully resized
[root@node1 ~]# resize2fs /dev/xifenfei/data
resize2fs 1.35 (28-Feb-2004)
/dev/xifenfei/data is mounted; can¡¯t resize a mounted filesystem!

[root@node1 ~]# umount /data
[root@node1 ~]# resize2fs /dev/xifenfei/data
resize2fs 1.35 (28-Feb-2004)
Please run ¡®e2fsck -f /dev/xifenfei/data¡¯ first.

[root@node1 ~]# e2fsck -f /dev/xifenfei/data
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/xifenfei/data: 11/655360 files (9.1% non-contiguous), 29800/1310720 blocks
[root@node1 ~]# resize2fs /dev/xifenfei/data
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /dev/xifenfei/data to 1441792 (4k) blocks.
The filesystem on /dev/xifenfei/data is now 1441792 blocks long.

[root@node1 ~]# mount /dev/xifenfei/data /data
[root@node1 ~]# df -h
Filesystem ÈÝÁ¿ ÒÑÓà ¿ÉÓà ÒÑÓÃ% ¹ÒÔصã
/dev/sda2 18G 9.3G 7.5G 56% /
/dev/sda1 99M 13M 82M 14% /boot
none 395M 0 395M 0% /dev/shm
/dev/drbd0 1.6G 656M 810M 45% /opt/mysql
/dev/mapper/xifenfei-data
5.5G 37M 5.3G 1% /data

8¡¢É¾³ýÂß¼­¾í
[root@node1 ~]# lvremove /dev/xifenfei/xff
Do you really want to remove active logical volume ¡°xff¡±? [y/n]: y
Logical volume ¡°xff¡± successfully removed

À´Ô´£ºLinuxÉçÇø
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ