Linux学习-9.LVM逻辑卷管理器

1.LVM的概念和作用

LVM(Logical Volume Manager)逻辑卷管理是在Linux2.4内核以上实现的磁盘管理技术。LVM通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。

在LVM中,主要有三个概念:
在这里插入图片描述
物理卷(Physical Volume, PV): 物理卷可以是一个磁盘,也可以是磁盘中的一个分区,它为LVM提供了存储介质。
逻辑卷组(Logical Volume Group, LVG): 可以把逻辑卷组想象成一个存储池,或者是逻辑硬盘。
逻辑卷(Logical Volume, LV): 可以将卷组划分成若干个逻辑卷,相当于在逻辑硬盘上划分出几个逻辑分区,每个逻辑分区上都可以创建具体的文件系统。

2.LVM的部署

部署LVM时,需要逐个配置物理卷、卷组和逻辑卷。

功能/命令		物理卷管理		卷组管理			逻辑卷管理
扫描				pvscan			vgscan			lvscan
建立				pvcreate		vgcreate		lvcreate
显示				pvdisplay		vgdisplay		lvdisplay
删除				pvremove		vgremove		lvremove
扩展								vgextend		lvextend
缩小								vgreduce		lvreduce

a.创建物理卷

使用两块新硬盘/dev/sdb和/dev/sdc创建物理卷,使用pvs或者pvdisplay查看:

[root@shijie Desktop]# pvcreate /dev/sdb /dev/sdc
  Physical volume "/dev/sdb" successfully created
  Physical volume "/dev/sdc" successfully created
[root@shijie Desktop]# pvs
  PV         VG    Fmt  Attr PSize  PFree 
  /dev/sda2  rhel  lvm2 a--  19.51g     0 
  /dev/sdb   lvmvg lvm2 a--  20.00g 20.00g
  /dev/sdc   lvmvg lvm2 a--  20.00g 20.00g
[root@shijie Desktop]# pvdisplay /dev/sdb /dev/sdc

  "/dev/sdb" is a new physical volume of "20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name               
  PV Size               20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               wk2YIh-l5Hf-U59E-9Uas-We4n-si9s-wnozZE
   
  "/dev/sdc" is a new physical volume of "20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name               
  PV Size               20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               zfzxXh-WMXD-f7l3-eSVx-IZGs-2FAs-D9jtKB

b.创建卷组

使用物理卷/dev/sdb和/dev/sdc创建一个名称为lvmvg的卷组,使用vgs或者vgdisplay查看:

[root@shijie Desktop]# vgcreate lvmvg /dev/sdb /dev/sdc
  Volume group "lvmvg" successfully created
[root@shijie Desktop]# vgs
  VG    #PV #LV #SN Attr   VSize  VFree 
  lvmvg   2   0   0 wz--n- 39.99g 39.99g
  rhel    1   2   0 wz--n- 19.51g     0 
[root@shijie Desktop]# vgdisplay lvmvg
  --- Volume group ---
  VG Name               lvmvg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               39.99 GiB
  PE Size               4.00 MiB
  Total PE              10238
  Alloc PE / Size       0 / 0   
  Free  PE / Size       10238 / 39.99 GiB
  VG UUID               IRlex8-TuEU-dydv-Ws1K-q7zg-635q-oOnyqy

vg卷组PE大小为4MiB,这是PE的默认大小,PE是卷组的最小储存单位,我们也可以用-s参数来修改,不过这只能才创建卷组时使用,一旦卷组创建成功是没法再去修改PE大小的。

c.创建逻辑卷

在刚刚创建的llvmvg卷组上创建逻辑卷lvmlv,使用-L参数设定逻辑卷大小,这个大小必须是设定的PE值的整数倍,如果不是它会分一个比设定的大一点的空间也就是向上去整数倍空间。也可以使用-l,后面跟的就是PE数量。像上个步骤中我们划分的卷组PE值为4MiB,数量为10238,那划分的逻辑卷大小就为4x你划分的数量MiB。

[root@shijie Desktop]# lvcreate -L 2G -n lvmlv lvmvg 
  Logical volume "lvmlv" created
[root@shijie Desktop]# lvcreate -l 500 -n lvmlv2 lvmvg
  Logical volume "lvmlv2" created
[root@shijie dev]# lvs
  LV     VG    Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  lvmlv  lvmvg -wi-a-----  2.00g                                             
  lvmlv2 lvmvg -wi-a-----  1.95g                                             
  root   rhel  -wi-ao---- 17.51g                                             
  swap   rhel  -wi-ao----  2.00g                                             
[root@shijie Desktop]# lvdisplay /dev/lvmvg/lvmlv /dev/lvmvg/lvmlv2
  --- Logical volume ---
  LV Path                /dev/lvmvg/lvmlv
  LV Name                lvmlv
  VG Name                lvmvg
  LV UUID                iuAiCP-23uZ-1GLZ-8Ccn-Xazs-mEEY-v4cjkp
  LV Write Access        read/write
  LV Creation host, time shijie, 2020-05-16 03:37:11 +0800
  LV Status              available
  # open                 0
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/lvmvg/lvmlv2
  LV Name                lvmlv2
  VG Name                lvmvg
  LV UUID                yEZEGP-IQiu-Qr36-wK09-Mwo6-0hos-V3yumg
  LV Write Access        read/write
  LV Creation host, time shijie, 2020-05-16 03:45:19 +0800
  LV Status              available
  # open                 0
  LV Size                1.95 GiB
  Current LE             500
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3        

d.格式化逻辑卷

[root@shijie Desktop]# mkfs.ext4 /dev/lvmvg/lvmlv
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

e.挂载使用

[root@shijie Desktop]# mkdir dir
[root@shijie Desktop]# mount /dev/lvmvg/lvmlv ./dir/
[root@shijie Desktop]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root     18G  3.1G   15G   18% /
devtmpfs                 2.0G     0  2.0G    0% /dev
tmpfs                    2.0G   84K  2.0G    1% /dev/shm
tmpfs                    2.0G  8.9M  2.0G    1% /run
tmpfs                    2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/sr0                 3.5G  3.5G     0  100% /media/cdrom
/dev/sda1                497M  119M  379M   24% /boot
/dev/mapper/lvmvg-lvmlv  2.0G  6.0M  1.8G    1% /root/Desktop/dir

3.逻辑卷的扩容与缩小

a.扩容

先使用vgs查看lvmvg所剩空间是否充足,接着使用lvextend命令来对lvmlv进行扩容。-L参数和创建卷组的-L参数一个性质,后面都是直接跟大小,不过这里要注意+3G是增加3G空间,如果不跟+是扩容到3G,同理如果使用-l参数后,后面跟的就是要增加多少PE值。

[root@shijie Desktop]# vgs
  VG    #PV #LV #SN Attr   VSize  VFree 
  lvmvg   2   2   0 wz--n- 39.99g 36.04g
  rhel    1   2   0 wz--n- 19.51g     0 
[root@shijie Desktop]# lvextend -L 3G /dev/lvmvg/lvmlv -r
  Extending logical volume lvmlv to 3.00 GiB
  Logical volume lvmlv successfully resized

[root@shijie Desktop]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root     18G  3.1G   15G   18% /
devtmpfs                 2.0G     0  2.0G    0% /dev
tmpfs                    2.0G   84K  2.0G    1% /dev/shm
tmpfs                    2.0G  8.9M  2.0G    1% /run
tmpfs                    2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/sr0                 3.5G  3.5G     0  100% /media/cdrom
/dev/sda1                497M  119M  379M   24% /boot
/dev/mapper/lvmvg-lvmlv  2.9G  6.0M  2.8G    1% /root/Desktop/dir

b.缩小

逻辑卷扩容可以在线操作但是缩小需要先卸载已挂载的逻辑卷。扩容逻辑卷我们是先扩大逻辑卷再扩大文件系统,而缩小逻辑卷就需要我们反着来,我们要先缩小文件系统,再去缩小逻辑卷。缩小文件系统前我们要先对文件系统做个扫描检测,如果我们直接使用resize2fs系统会提示让你先对文件系统进行检测,这是为了保护缩减文件系统时不对数据损害。

[root@shijie Desktop]# umount /dev/lvmvg/lvmlv
[root@shijie Desktop]# e2fsck -f /dev/lvmvg/lvmlv
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/lvmvg/lvmlv: 11/262144 files (0.0% non-contiguous), 34894/1048576 blocks
[root@shijie Desktop]# resize2fs /dev/lvmvg/lvmlv 2G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/lvmvg/lvmlv to 524288 (4k) blocks.
The filesystem on /dev/lvmvg/lvmlv is now 524288 blocks long.

[root@shijie Desktop]# lvreduce -L 2G /dev/lvmvg/lvmlv
  WARNING: Reducing active logical volume to 2.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lvmlv? [y/n]: y
  Reducing logical volume lvmlv to 2.00 GiB
  Logical volume lvmlv successfully resized
[root@shijie Desktop]# mount /dev/lvmvg/lvmlv ./dir/
[root@shijie Desktop]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root     18G  3.1G   15G   18% /
devtmpfs                 2.0G     0  2.0G    0% /dev
tmpfs                    2.0G   84K  2.0G    1% /dev/shm
tmpfs                    2.0G  8.9M  2.0G    1% /run
tmpfs                    2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/sr0                 3.5G  3.5G     0  100% /media/cdrom
/dev/sda1                497M  119M  379M   24% /boot
/dev/mapper/lvmvg-lvmlv  2.0G  6.0M  1.8G    1% /root/Desktop/dir
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值