LVM2

Posted 思念我的娃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVM2相关的知识,希望对你有一定的参考价值。

DM

设备映射,功能比MD强大

作用:

     1.动态扩展或缩减磁盘分区;

   2.快照

     3.多路径

     4.实现LVM2

     5.RAID

 

PV(物理卷)------>VG(卷组)------->LV(逻辑卷)------>快照

PV:物理卷,单位:PE(物理盘区)

   管理命令:

       pvcreate:创建物理卷

  pvremove:擦出PV中的数据

  pvmove:将物理盘区中的数据移至其他设备

  pvdisplay:查看物理卷

  pvscan:扫面物理卷

VG:多个PV组合成1个VG

  管理命令:

        vgcreate VG_NAME  /PATH/TO/PV

     -s  Num:指定PE大小,默认4M,创建后不可修改

  vgremove   VG_NAME  #删除VG

  vgextend  VG_NAME /PATH/TO/PV    #扩展VG大小,新增PV至VG

  vgreduce VG_NAME /PATH/TO/PV   #缩减VG大小,缩减前需将PV中的数据挪走,即pvmove命令

  vgs

    vgdisplay  

  vgscan

  vgremove

  vgcfgbackup

  vgcfgrestore

      。。。。。

LV:逻辑卷

     在卷组上可以创建逻辑卷,不能大于VG的大小。

     快照(数据备份):数据在某一个时间点的状态,大多数是元数据,所以快照较小(有点像软连接),取代大容量备份和还原。

1.创建逻辑卷:lvcreate

    lvcreate -n LV_NAME -L  #{K/M/G/T}  VG_NAME    #创建逻辑卷

          -s:创建快照卷

     1.数据的增长量不能超过快照卷大小;

     2.快照卷应该是只读的;

     3.跟原卷在同一卷组内。(所以划分时,需给快照卷预留空间)

2. 擦除逻辑卷数据:lvremove 

3.缩减逻辑卷:lvreduce  -L  [-]#{K/MG/T} /PATH/TO/LV 

注意:    

  1.不能在线缩减,得先卸载;

  2.确保缩减后的空间大小,依然存储原有的所有数据;

  3.缩减前检查文件系统,确保文件系统处于一致性状态;

  4.缩减后,重新挂载。

3.扩展逻辑卷:lvextend -L  [+]#{K/M/G/T} /PATH/TO/LV

   lvextend -L +3G /dev/myvg/testlv

3.resize2fs /PATH/TO/LV #{K/M/G/T}    

   扩展/缩减文件系统的逻辑边界,针对ext类型 

      -p   :能扩展到多大,就扩展到多大

   resize2fs /PATH/TO/LV 5G  修改逻辑边界为5G

   resize2fs  -p  /PATH/TO/LV  修改到跟物理边界一样大。

示例1:

1.创建PV

#fdisk /dev/sda命令创建3个分区/dev/sda10、/dev/sda/11、/dev/sdb12,分区类型均为8e(LVM)

#vgcreate /dev/sda{10,11} 

#pvs   #查看分区大小(会产生元数据,实际无物理磁盘大)

#pvdisplay /dev/sda10  

#pvscan   #扫描当前系统一个有多少个PV。(在PV拆到其他主机时,可使用此命令,扫描PV上的源数据被其他主机所识别)

2.创建VG

vgcreate myvg /dev/sda{10,11}

vgs

vgdisplay  myvg

3.修改物理盘区大小=8M

vgcreate -s 8M myvg /dev/sda{10,11}  

4.缩减VG的大小,保留其大小为7G(移除PV)

pvs

pvmove /dev/sda11   把sda11的数据移至其他的盘区

vgreduce myvg  /dev/sda11   #将sda11从myvg中拿掉

 pvremove /dev/sda11   #移除PV

5.扩展VG大小

pvcreate /dev/sda12

vgextend myvg /dev/sda12

pvdisplay /dev/sda12

6.创建LV

lvcreate -L 50M -n testlv myvg   

lvs

lvsdisplay  [/dev/myvg/testlv]

mke2fs -j /dev/myvg/testlv   #格式化

mount /dev/myvg/testlv/ /mnt    #挂载

7.移除逻辑卷

umount /mnt

lvremove  /dev/myvg/testlv

8.扩展逻辑卷

顺序:先扩展物理边界,再扩展逻辑边界

lvcreate -L 2G -n testlv myvg 

mke2fs -j /dev/myvg/testlv 

mkdir /users

vim /etc/fstab

/dev/myvg/testlv  /users  ext3    defaults,acl  0 0 

mount -a

vgs  #查看vg是否有足够的空间

resize2fs -p /dev/myvg/testlv   扩展逻辑边界

9.缩减逻辑卷

顺序:先缩减逻辑边界,再缩减物理边界

df -Plh   #确保缩减后的空间不小于Used显示的空间

umount /users  

强行进行文件检查:

e2fsck -f /dev/myvg/testlv

缩减逻辑边界,将逻辑卷缩减至3G

resize2fs /dev/myvg/testlv 3G

缩减物理边界

lvreduce -L 3G  /dev/myvg/testlv

重新挂载

mount -a

10.快照卷

对testlv创建大小=50M的只读快照卷

lvcreate -L 50M -n testlv-snap -s -p r /dev/myvg//testlv

lvs    查看快照卷的路径、属性、大小等信息

挂载快照卷

mount /dev/myvg/testlv-snap /mnt

#cp /etc/inittab /mnt

定期备份快照卷

#tar -jcf /tmp/users.tar.bz2  /mnt/inittab

#umount /mnt

删除快照卷

lvremove /dev/myvg/testlv-snap

 

 

以上是关于LVM2的主要内容,如果未能解决你的问题,请参考以下文章