Contents

lvm

Contents

LVM

Logical Volume Management 逻辑卷管理

优势:

  • 在线扩展/缩减存储空间/整合琐碎空间
  • 支持快照

Device Mapper设备映射

lvm组织方式:

真实存储设备 --- pv(物理卷) --- vg(卷组) --- lv(逻辑卷) ---- 创建文件系统 ---  挂载使用

相关命令

1、pv(物理卷)

1) 查看物理卷
pvscan 

2) 创建物理卷
pvcreate disk/partition
		
3) 删除物理卷
pvremove pv_name

2、vg(卷组)

1) 查看卷组
[root@node01 ~]# vgscan 
[root@node01 ~]# vgdisplay vg_name
		
2) 创建卷组 
vgcreate vg_name pv_name pv_name .... 

3) 删除卷组
vgremove vg_name 

3、lv(逻辑卷)

1) 查看逻辑卷
[root@node01 ~]# lvscan 
	  ACTIVE            '/dev/centos/swap' [2.00 GiB] inherit
	  ACTIVE            '/dev/centos/root' [<17.00 GiB] inherit

[root@node01 ~]# lvdisplay /dev/centos/swap 

2) 创建逻辑卷
lvcreate -L size -n lv_name vg_name 

lvcreate -L 400G -n lv01 vg01 
			
3) 删除逻辑卷
lvremove /dev/vg01/lv01 

操作过程

# pv
1.创建pv
pvcreate /dev/sda6
pvcreate /dev/sda7

2.查询pv
pvs
pvdisplay 

# vg
1.创建vg
vgcreate vg0 /dev/sda6 /dev/sda7

2.查询vg
vgs
vgdisplay

# lv
1.创建
lvcreate -L 700M -n lv0 vg0
-L size
-n  name

2.查询 
lvs
lvdisplay 

格式化
mkfs.xfs /dev/vg0/lv0
挂载
mount /dev/vg0/lv0 /mnt/

示例:扩容跟分区

1、创建物理卷
[root@localhost ~]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  centos   2   2   0 wz--n- 39.49g    0 
[root@localhost ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <19.00g                                                    
  swap centos -wi-ao---- 508.00m       
  
2、 扩容卷组                                              
[root@localhost ~]# vgextend centos /dev/sdb
  Volume group "centos" successfully extended
[root@localhost ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <19.00g                                                    
  swap centos -wi-ao---- 508.00m                  
  
 3、扩展根逻辑卷                                  
[root@localhost ~]# lvextend -l +100%FREE /dev/centos/root
  Size of logical volume centos/root changed from <19.00 GiB (4863 extents) to <39.00 GiB (9983 extents).
  Logical volume centos/root successfully resized.
[root@localhost ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  2.0G     0  2.0G    0% /dev
tmpfs                   tmpfs     2.0G     0  2.0G    0% /dev/shm
tmpfs                   tmpfs     2.0G   12M  2.0G    1% /run
tmpfs                   tmpfs     2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        19G   18G  1.5G   93% /
/dev/sr0                iso9660   8.1G  8.1G     0  100% /var/ftp/iso
/dev/sda1               xfs       509M  165M  344M   33% /boot
tmpfs                   tmpfs     394M     0  394M    0% /run/user/0


4、同步
[root@localhost ~]# xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=1244928 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=4979712, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4979712 to 10222592
[root@localhost ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  2.0G     0  2.0G    0% /dev
tmpfs                   tmpfs     2.0G     0  2.0G    0% /dev/shm
tmpfs                   tmpfs     2.0G   12M  2.0G    1% /run
tmpfs                   tmpfs     2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        39G   18G   22G   46% /
/dev/sr0                iso9660   8.1G  8.1G     0  100% /var/ftp/iso
/dev/sda1               xfs       509M  165M  344M   33% /boot
tmpfs                   tmpfs     394M     0  394M    0% /run/user/0
[root@localhost ~]# 

扩容 ext2/ext3/ext4 文件系统

resize2fs /dev/vg0/lv0

新建逻辑卷

(1)创建一个指定大小的lv,并指定名字为lv_2

lvcreate -L 2G -n lv_2 vg_1

(2)创建一个占全部卷组大小的lv,并指定名字为lv_3(注意前提是vg并没有创建有lv)

lvcreate -l 100%VG -n lv_3 vg_1

(3)创建一个空闲空间80%大小的lv,并指定名字为lv_4(常用)

lvcreate -l 80%Free -n lv_4 vg_1