什么是LVM
LVM
是
Logical Volume Manager
(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。
为什么使用LVM
直接使用
fdisk
分区挂载的话,随着时间的推移,数据量越来越大,硬盘空间越来越小,要想扩充容量的话,就必须挂载新硬盘然后做数据迁移,这就必然导致前台业务的停止,不符合企业需求,因此完美的解决方法应该是在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。
Linux
提供的逻辑盘卷管理(
LVM
,
Logical Volume Manager
)机制就是一个完美的解决方案。
LVM
逻辑卷管理通过将底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失现有数据。新加入的硬盘也不会改变现有上层的逻辑卷,大大提高了磁盘管理的灵活性。
LVM原理
首先我们讨论以下几个
LVM
术语:
物理存储介质(
The physical media
)
:这里指系统的存储设备:硬盘,如:
/dev/hda
、
/dev/sda
等等,是存储系统最低层的存储单元。
物理卷(
physical volume
)
:物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备
(
如
RAID)
,是
LVM
的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与
LVM
相关的管理参数。
卷组(
Volume Group
)
:
LVM
卷组类似于非
LVM
系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个”
LVM
分区”(逻辑卷),
LVM
卷组由一个或多个物理卷组成。
逻辑卷(
logical volume
)
:
LVM
的逻辑卷类似于非
LVM
系统中的硬盘分区,在逻辑卷之上可以建立文件系统
(
比如
/home
或者
/usr
等
)
。
PE
(
physical extent
)
:每一个物理卷被划分为称为
PE(Physical Extents)
的基本单元,具有唯一编号的
PE
是可以被
LVM
寻址的最小单元。
PE
的大小是可配置的,默认为
4MB
。
LE
(
logical extent
)
:逻辑卷也被划分为被称为
LE(Logical Extents)
的可被寻址的基本单位。在同一个卷组中,
LE
的大小和
PE
是相同的,并且一一对应。
一块硬盘(物理存储介质)被格式化为物理卷(
physical volume
)
,
其内部被分成若干个默认大小为
4M
的
PE
(
physical extent
),然后在
PV
的基础上创建卷组(
Volume Group
),可以把一个或者多个
PV
加到
VG
中,
VG
就好像一个空间池,假如多少个
PV
,
VG
就有多大的容量,最后基于
VG
创建逻辑卷(
logical volume
) ,一个逻辑卷就是若干个
PE
,然后将
LV
格式化再挂载(将
LV
当成是分区)
1
、物理磁盘被格式化为
PV
,空间被分为一个个
PE
2
、不同的
PV
加入同一个
VG
,不同
PV
的
PE
全部进入
VG
的
PE
池内
3
、
LV
基于
PE
创建,大小为
PE
的整数倍,组成
LV
的
PE
可能自来不同的物理磁盘
4
、
LV
现在就直接可以格式化后挂载使用了
5
、
LV
的扩充缩减实际上就是增加或减少组成该
LV
的
PE
的数量,其过程不会丢失数据
场景一:
原来已有一块硬盘sda,根分区原来是LVM,现在新增加一块磁盘20GB的磁盘sdb,要求把容量增加到原来的根目录
1
、读取磁盘总线(请使用最
tab
键,读取最后一个host即可):
[root@localhost home]# echo “- – – ” > /sys/class/scsi_host/host
N
/scan
2
、查看新增加的磁盘信息:
[root@localhost home]# lsblk
[root@localhost home]#
fdisk -l
3
、进行分区处理:
fdisk /dev/sdb
n
p
1
v
t
8e
w
4
、创建
PV
,扩展
VG
[root@localhost tmp]# pvcreate /dev/sdb1
[root@localhost tmp]# vgextend centos /dev/sdb1 //
如果不知道
vg
名称,请先用
vgs
查看
查看
VG
5
、扩展lv
[root@localhost tmp]# lvextend -l 5120 /dev/centos/root
查看扩展后的
lv
6
、更新文件系统(centos7 默认使用的是XFS文件系统 )
[root@localhost ~]# xfs_growfs /dev/centos/root //
如果是
centos6.x
请使用,
resize2fs /dev/centos/root
[root@localhost ~]#
df -h
场景二:
不管原来的系统是
LVM
还是非
LVM
,新加一块硬盘,做成
LVM
便于后期扩容。
1
、读取磁盘总线(请使用最
tab
键,读取最后一个host即可):
[root@localhost home]# echo “- – – ” > /sys/class/scsi_host/host
N
/scan
2
、查看新增加的磁盘信息:
[root@localhost home]# lsblk
[root@localhost home]#
fdisk -l
3
、进行分区处理:
fdisk /dev/sdb
n
p
1
v
t
8e
w
3
、创建
PV
[root@localhost tmp]# pvcreate /dev/sdb1
查看的
PV
4
、创建
VG
[root@localhost ~]# vgcreate testvg /dev/sdb1
查看
VG
5
、创建lv
[root@localhost ~]# lvcreate -n lvtest -l 5119 testvg //
5119是上面查看vg 的Total PE值,后面是lv名称
查看
lv
[root@localhost ~]# lvdisplay
6
、创建文件系统
[root@localhost ~]# mkfs.xfs /dev/testvg/lvtest
6
、挂载
LV
[root@localhost /]# mount /dev/testvg/lvtest /mnt
7
、修改fstab,以便开机挂载
[root@localhost /]# vim /etc/fstab
8.
查看容量情况
[root@localhost /]#
df -h
转载于:https://www.cnblogs.com/vcdx/p/11150794.html