Linux LVM逻辑卷配置使用详解

LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。RHEL5默认安装的分区格式就是LVM逻辑卷的格式,需要注意的是/boot分区不能基于LVM创建,必须独立出来。

一、创建逻辑卷

1、准备分区

/dev/sda7

/dev/sda8

#partprobe

使分区表生效,无需重启系统。

2、创建物理卷

# pvcreate /dev/sda7 /dev/sda8

Physical volume "/dev/sda7" successfully created

Physical volume "/dev/sda8" successfully created

3、创建卷组

#vgcreate vgdata /dev/sda7 /dev/sda8

Volume group "vgdata" successfully created

创建卷组 vgdata ,并将刚才创建好的两个物理卷加入该卷组.

4、从物理卷vgdata上分割出2G给新的逻辑卷lvdata1

#lvcreate -L 2G -n lvdata1 vgdata

Logical volume "lvdata1" created

5、在lvdata1建立文件系统

#mkfs.ext3 /dev/vgdata/lvdata1

6、挂载逻辑卷lvdata1

#mount /dev/vgdata/lvdata1  /vg_test

#df -h

/dev/mapper/vgdata-lvdata1

                      2.0G   68M  1.9G   4% /vg_test

二、逻辑卷扩展,空间不够用。

给逻辑卷增加空间并不会影响以前空间的使用,所以无需卸载文件系统,直接通过命令

#lvextend -L +500M /dev/vgdata/lvdata1 

Extending logical volume lvdata1 to 2.49 GB

Logical volume lvdata1 successfully resized

或者lvextend –l 2.5G /dev/vgdata/lvdata1 给lvdata1增加500M空间

#resize2fs /dev/vgdata/lvdata1

使用resize2fs命令来同步文件系统。

resize2fs 1.39 (29-May-2006)

Filesystem at /dev/vgdata/lvdata1 is mounted on /vg_test; on-line resizing required

Performing an on-line resize of /dev/vgdata/lvdata1 to 652288 (4k) blocks.

The filesystem on /dev/vgdata/lvdata1 is now 652288 blocks long.

#df -h

/dev/mapper/vgdata-lvdata1

                      2.5G   68M  2.3G   3% /vg_test

逻辑卷lvdata1增加了500M空间

三、当卷组不够用,如何给卷组扩容。

常见硬盘分区,将分区加入已存在的卷组vgdata

#vgextend vgdata /dev/sda9

查看是否成功加入卷组

#pvs

PV         VG     Fmt  Attr PSize   PFree  

  /dev/sda7  vgdata lvm2 a-     1.54G   1.54G

  /dev/sda8  vgdata lvm2 a-     3.64G   1.16G

  /dev/sda9  vgdata lvm2 a-   122.56G 122.56G

四、当硬盘空间不够用,如何减少逻辑卷空间释放给其他逻辑卷。

1、卸载逻辑卷

#umount /dev/vgdata/lvdata2

2、通过e2fsck命令检测逻辑卷上空余的空间。

#e2fsck  /dev/vgdata/lvdata2

e2fsck 1.39 (29-May-2006)

/dev/vgdata/lvdata2: clean, 11/2621440 files, 126323/5242880 blocks

3、使用resize2fs将文件系统减少到5G

#resize2fs  /dev/mapper/vgdata-lvdata2 5G

4、使用lvreduce命令将逻辑卷减少到5G

#lvreduce -L 5G /dev/vgdata/lvdata2

WARNING: Reducing active logical volume to 5.00 GB

  THIS MAY DESTROY YOUR DATA (filesystem etc.)

Do you really want to reduce lvdata2? [y/n]: y

  Reducing logical volume lvdata2 to 5.00 GB

  Logical volume lvdata2 successfully resized

注意:文件系统大小和逻辑卷大小一定要保持一致才行。如果逻辑卷大于文件系统,由于部分区域未格式化成文件系统会造成空间的浪费。如果逻辑卷小于文件系统,哪数据就出问题了。

5、重新挂载逻辑卷lvdata2

#mount /dev/vgdata/lvdata2 /vg_test2

五、如果某一块磁盘或者分区故障,如何将数据快速转移到相同的卷组其他的空间去。

1、通过pvmove命令转移空间数据

#pvs

PV         VG     Fmt  Attr PSize   PFree  

  /dev/sda7  vgdata lvm2 a-     1.54G   1.54G

  /dev/sda8  vgdata lvm2 a-     3.64G      0 

  /dev/sda9  vgdata lvm2 a-   122.56G 108.72G

#pvmove /dev/sda8 /dev/sda9

/dev/sda8: Moved: 100.0%

#pvs 

/dev/sda7  vgdata lvm2 a-     1.54G   1.54G

/dev/sda8  vgdata lvm2 a-     3.64G   3.64G

/dev/sda9  vgdata lvm2 a-   122.56G 105.07G

2、通过vgreduce命令将即将坏的磁盘或者分区从卷组vgdata里面移除除去。

#vgreduce vgdate /dev/sda8

Removed "/dev/sda8" from volume group "vgdata"

3、通过pvremove命令将即将坏的磁盘或者分区从系统中删除掉。

#pvremove /dev/sda8

 Labels on physical volume "/dev/sda8" successfully wiped

#pvs

/dev/sda7  vgdata lvm2 a-     1.54G   1.54G

/dev/sda9  vgdata lvm2 a-   122.56G 105.07G

 

4、手工拆除硬盘或者通过一些工具修复分区。

六、删除整个逻辑卷

1、先通过umount命令卸载掉逻辑卷

#umount /dev/vgdata/lvdata1

#umount /dev/vgdata/lvdata2

2、修改/etc/fstab里面逻辑卷的挂载信息,否则系统有可能启动不起来。

3、通过lvremove 删除逻辑卷 

#lvremove /dev/vgdata/lvdata1 

#lvremove /dev/vgdata/lvdata2

4、通过vgremove 删除卷组vgdata

#vgremove vgdate

5、通过pvremove 将物理卷转化成普通分区。

#pvremove /dev/sda7 /dev/sda9

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(linux,lvm,逻辑卷)