LVM指南

概念:

LVM:逻辑卷管理工具,linux环境下对磁盘分区进行管理的一种机制,建立在硬盘和分区之上的一个逻辑层。通俗来说它就是一个磁盘管理工具,可以动态对文件系统的大小进行更改,把文件系统从一个磁盘切换到另一个磁盘


看如下例子:app这个文件系统的大小是100G

  1. Filesystem                      Size  Used    Avail  Use%   Mounted on  
  2. /dev/mapper/app-home      100G   50G    50G  50%    /home  

扩展此文件系统

  1. lvextend -L +50G /dev/app/home  
  2. resize_reiserfs -s +50G /dev/app/home

现在变为了

  1. Filesystem                                   Size    Used      Avail    Use%   Mounted on  
  2. /dev/mapper/app-home        150G   50G    100G  66.7%    /home  

P V(physical volume):

物理卷,在LVM的最底层,可以是整个物理硬盘或者硬盘上的分区要使用LVM系统,首先对要用于LVM的磁盘进行初始化,初始化的目的就是将磁盘或分区标识为LVM 的物理卷,使用pvcreate 命令创建物理卷。

VG(volume group):

卷组卷组是表示数据存储的实体。在PV之上,一个VG至少包括一个PV,可以动态添加PV,一个LVM可以有多个VG

LV(logic volume):

逻辑卷,在VG之上,VG所代表的磁盘空间可以分配给不同大小的逻辑卷,lv可以动态扩展缩小空间,在lv之上可以建立文件系统.然后mount到指定目录如:/opt/tomcat

PE(pysical extent):

物理区域,物理卷中的可用分配的最小存储单元,pe在vg创建的时候指定,确定后不能修改。同一vg中的所有,pv的pe大小必须一致。新的pv加入vg后,pe的大小自动更改为vg中的pe大小。

LE(logical extent):

逻辑区域,lv中可用于分配的最小存储单元。le的大小取决于lv所在vg中pe的大小。



 

    

  

PV

物理卷:磁盘或分区

/dev/sda1
/dev/sdb

VG

卷组:一组磁盘和/或一组分区

/dev/<VG name>/(目录)

LV

逻辑卷:LVM分区

/dev/<VG name>/<LV name>

首先准备分区  用fdisk 将sdb 分为sdb1,sdb2这个分区。

选择主分区还是扩展分区

分完之后  command w 保存退出

command l

修改之后的状态

创建pv:

在物理分区上创建而来。它只是物理分区中划出一个特殊的区域,用于记载与lvm相关的管理参数。
pvcreate /dev/sdb1
pvdisplay

创建vg:

vgcreate vg_test /dev/sdb1
vgdisplay
多个pv 组合成vg后,lvm会在所有pv上做类似格式化的工作,将pv切成一块块的空间(pe),默认是4M.
通常lv最多只能包含65536gepe,所以单个lv的最大容量诶256G

创建LV

lvcreate -L 15G -n lv_test vg_test


创建文件系统
mkfs -t ext3  /dev/vg_test/lv_test
创建文件系统后,就可以加载使用了
mkdir /opt/test
mount /dev/vg_test/lv_test /opt/test


为了系统启动是自动加载文件系统,需要在 /etc/fstab 添加
/dev/vg_test/lv_test   /opt/test ext3 defaults 1 2
有时可能因为逻辑卷为打开而无法启动系统

整个过程可以总结为:

管理LVM

lvm的好处就是可以动态的调整分区大小,无需重启动机器。假设lv_test (dev/vg_test/lv_test)的空间不足,需要增加大小,分两种情况
1、vg中有剩余空间
lvextend -l+2222  /dev/vg_test/lv_test    (2222为vg中free pe的大小可以用vgdisplay查看)

lvresize -L +200M /dev/vg1000/lvol0
增加完lv的容量后,就可以修改文件系统的大小了
resize_reiserfs -s +5G /dev/vg_test/lv_test    这个好像会报错,有个解决方案
(umount /dev/vg_test/lv_test)然后 resize2fs -f /dev/vg_test/lv_est http://www.iteye.com/problems/34912


补:resize2fs /dev/vg/lv   (直接执行此命令就可以增加所挂载的文件系统的大小,需要等待一段时间)

https://wiki.archlinux.org/index.php/LVM_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)


lvm常用命令:

1、lvremove : 移除逻辑卷
lvremove /dev/vgname/lvname     

如果该lv已经mount了,lvremove不能使用,必须unmount后才可以使用。

2、lvcreate :创建逻辑卷

lvcreate --name vol_01  -L  10G vgname
-L :指定逻辑卷大小,单位可以是"kKmMgGtT"

3、lvextend -L +10G  /dev/vgname/lvname
给lvname添加10G的容量
另外一种写法:
lvcreate --size 40GB --name vol vgname

4、vgcreate:创建卷组vg
vgcreate vg-test /dev/sdb1 /dev/sdb2

5、强制删除vg,及时vg下有lv,也会被删除
vgremove vgname -f 

6、移除物理卷

vgreduce my_volume_group /dev/hda1

vgreduce --removemissing  vgname

7、vgextend

vgextend vgname   /dev/sdb1(物理卷位置)

http://www.ibm.com/developerworks/linux/library/l-lvm2/index.html

猜你喜欢

转载自liuzhijun.iteye.com/blog/1667898
LVM