LVM逻辑卷管理

LVM逻辑卷管理ide


磁盘空间的动态划分和管理
 
LVM简介
LVM是Logical Volume Manager(逻辑卷管理器)的简写,提供将多块磁盘从逻辑上组合成一个大容量的存储(VG)。而且支持容量在线动态扩展和缩减。

LVM管理的概念
PP:物理分区(physical  partition)。
PV:物理卷(Pysical Volume),能够是单独磁盘,也能够是硬盘分区。是标识了pv的物理磁盘或分区。
VG:卷组(Volume Group),一个或多个PV组成的存储空间。
LV:逻辑卷(Logical Volume),至关于物理分区的/dev/sdaX,只有逻辑卷才能够写数据。

PE:物理扩展(Pysical Extent),VG单元,相似于RAID的条带大小。 当多个PV组成一个VG时,LVM会在全部PV上作相似格式化的动做,将每一个PV切成一块块的空间,这一块块的空间就称为PE, 一般是4MB。
LE:逻辑扩展(Logical Extent),LV的组成单位。大小为PE的倍数(一般为1:1)。
spa


LVM可以实现分区的动态扩容和缩容  
 
LVM的建立过程实际上是一个先整合,在划分的过程。
 
LVM建立过程
 1.添加硬盘或者是分区,通知内核
 2.建立物理卷
 3.建立卷组
 4.建立逻辑卷
 5.建立文件系统
 6.挂载使用
rem


下面经过案例实现来具体了解:虚拟机

       案例1:给虚拟机添加4块1G的SCSI硬盘,将其中的sdb、sdc建立成一个名称为vg0的卷组,在卷组中建立一个 1.6G的名称为lv0的逻辑卷,再建立一个400M的名称为lv1的逻辑卷。并将lv0、lv1逻辑卷格式化成ext4文件系统,将lv0挂载到/lv0目录中,将lv1挂载到/lv1目录中,并分别写入一些文件到逻辑卷中。
案例2:对lv0逻辑卷扩容和缩容。将lv0的容量扩大为2G,并验证lv0的容量。
案例3:对vg0卷组扩容和缩容。将sdd、sde硬盘加入到vg0卷组中,并验证vg0的容量。

案例1实施思路:
一、将sdb、sdc硬盘建立成pv,并查看信息
lsblk
pvscan
pvcreate  --help    或   man  pvcreate  
pvcreate   /dev/sd[bc]  或  pvcreate   /dev/sdb   /dev/sdc
pvs
pvdisplay

二、建立vg,并查看vg信息
vgscan
vgcreate  --help
vgcreate  -s  8M  vg0   /dev/sd[bc]  或  vgcreate   vg0   /dev/sdb   /dev/sdc

-s 指定PE的大小  
   PE(物理扩展单元)  大小(默认4M)
   
查看vg信息  
vgs
vgdisplay

三、建立lv,并查看lv信息
lvscan
lvcreate   -L   1.6G   -n  lv0   vg0
       -n   指定lv的名字
       -L   指定lv的大小
       vg0  用vg0的空间作lv  

lvcreate -n lv1 -l 20  vg0
       -l   指定使用多少个PE

查看lv信息
lvs
lvdisplay

四、格式化
mkfs.ext4    /dev/vg0/lv0

五、手动挂载,写入数据
mkdir    -pv   /lv0   /lv1
mount   /dev/vg0/lv0   /lv0
mount   /dev/vg0/lv1   /lv1
lsblk
mkdir  /lv0/conf   /lv1/host
cp  -v  /etc/*.conf   /lv0/conf/
cp  -v  /etc/host*   /lv1/host/

------------------  
     
案例2:lv0扩容  从vg0直接取空间
lvextend -L +400M /dev/vg0/lv0  在原来的空间上加上多少空间
lvs    查看lv状态信息
resize2fs /dev/vg0/lv0 文件系统扩容
df  -h    查看文件系统容量

lv扩容 卷组没有空间了
1.建立新分区
fdisk -cu /dev/sdd

2.建立物理卷
pvcreate /dev/sdd  /dev/sde

3.加入卷组 vg扩容
vgextend vg0 /dev/sdd  /dev/sde
vgs

4.逻辑卷扩容  lv扩容
lvextend -L 2.5G /dev/vg0/lv0  指定到多少
lvs

5.文件系统扩容
resize2fs /dev/vg0/lv0
df  -h

------------------  
     案例3:缩容
注意:
1.风险大有可能形成数据损坏
2.不能在线缩容
3.确保缩减后的空间大小依然能存储原来的全部数据
4.在缩减以前强制检查文件系统

一.如今lv1空间不足,卷组vg内没有空间,lv0空间过大,缩减lv0空间,给lv1加空间
缩减lv0 在缩减lv0以前先缩减文件系统

1.卸载
umount  /dev/vg0/lv0

2.强制检查文件系统
e2fsck -f /dev/vg0/lv0

3.缩减文件系统
resize2fs /dev/vg0/lv0 100M  缩减到400M

4.缩减lv
lvreduce -L 400M /dev/vg0/lv0  缩减到400M

检查缩容后的lv1逻辑卷的数据有没有损失
1.挂载
mount /dev/vg0/lv1  /lv1

2.查看数据内容
cd  /lv1
cat  a.txt

给lv0扩容
lvextend -L +700M /dev/vg0/lv0
给lv0文件系统扩容
resize2fs   -p   /dev/vg0/lv0

----------------------------------
it

       案例4:xfs文件系统的扩容io

文件系统容量更新的方法与ext4略有不一样并且不支持缩容class

xfs_growfs  设备扩展


----------------------------
数据迁移
pvmove /dev/sdc

从卷组移除物理卷
vgreduce vg0  /dev/sdb

删除物理卷
pvremove /dev/sdb
 
删除卷组
vgremove vg0  

删除逻辑卷
lvremove /dev/vg0/lv1

---------------------
删除LVM
   先卸载
   删除逻辑卷
   删除卷组
   删除物理卷
----------------------
逻辑卷管理命令大全:
   
分区

pvcreate
pvs
pvdisplay
pvscan
pvmove    
pvremove

vgcreate
vgs
vgdisplay
vgscan
vgextend
vgreduce
vgremove

lvcreate
lvs
lvdisplay
lvscan
lvextend
lvreduce
lvremove
gc

相关文章
相关标签/搜索