1、LVM简介
逻辑卷管理器本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次。它可以将几块磁盘(物理卷,PhysicalVolume)组合起来形成一个存储池或者卷组。LVM可以每次从卷组中划分出不同大小的逻辑卷(LogicalVolume)创建新的逻辑设备。底层的原始的磁盘不再由内核直接控制,而由LVM层来控制。对于上层应用来说卷组替代了磁盘块成为数据存储的基本单元。LVM管理着所有物理卷的物理盘区,维持着逻辑盘区和物理盘区之间的映射。LVM逻辑设备向上层应用提供了和物理磁盘相同的功能,如文件系统的创建和数据的访问等。但LVM逻辑设备不受物理约束的限制,逻辑卷不必是连续的空间,它可以跨越许多物理卷,并且可以在任何时候任意的调整大小。相比物理磁盘来说,更易于磁盘空间的管理。
PV(物理卷)可以是一个磁盘,一个分区。由PE(物理盘区)组成,多个PV可以组成一个VG(卷组).
VG(卷组)多个物理卷组成的一个组,但是卷组不可以直接使用,需要在上面创LV(逻辑卷)才可以使用。VG上可以创建多个LV。
PE(物理盘区)就像我们之前学习的磁盘的block块,默认是4MB。
LV(逻辑卷) 是建立在卷组之上的一个可用空间。有物理边界和逻辑边界两种边界。
2、相关命令
物理卷PV
pvcreate 创建pv 例:pvcreate /dev/sda1
pvs 查看pv信息 例:直接在命令行里输入pvs
pvdisplay 查看pv详细信息 例:pvcreate /dev/sda1
pvmove 将pv数据移动到其他pv 例:pvmove /dev/sda1 /dev/sda4
pvremove 将pv删除 例:pvremove /dev/sda1
================================================================
卷组VG
vgcreate 创建vg 例:vgcreate vg01 /dev/sda{m,n}
vgs 查看vg信息 例:直接在命令行里输入vgs
vgdisplay 查看vg详细信息 例:vgdisplay vg01
vgremove 将vg删除 例:vgremove vg01
vgextend 扩容vg 例:vgextend vg01 /dev/sdb2 扩展vg01卷组,把/dev/sda2加进去
vgreduce 缩减vg 例:vgreduce vg01 /dev/sdb2 缩减vg01卷组,把/dev/sda2去掉
================================================================
逻辑卷LV
lvcreate 创建lv
例:lvcreate -L 100%FREE -n lv01 vg01 将vg01空间全部新建到lv01上
lvcreate -n lv01 -L 100G vg01 指定新建lv大小100G
lvs 查看lv信息 例:直接在命令行里输入lvs
lvdisplay 查看lv详细信息 例:vgdisplay lv01
lvremove 将lv 移除 例:lvremove /dev/vg01/lv01
lvextend 扩容lv
例:lvextend -L +100%FREE /dev/vg01/lv01 将vg01空间全部扩到lv01上
lvextend -L +100G /dev/vg01/lv01 指定扩容大小100G
3、LVM示例
3.1 LVM新建
在此我们用两块盘sdb、sdc进行lvm新建(多少块盘无所谓)。
1、将磁盘划定分区(sdc同理)
[root@HK01-C6220II-008-01 ~]# fdisk /dev/sdb
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xfef180a0 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
分区 1 已设置为 Linux 类型,大小为41943039
————————————————————————————————————————
2、物理卷PV创建
3、查看下现在的pv物理卷的状态
4、卷组VG创建
使用新做的sdb和sdc两个物理卷做新的VG
5、查看新创建好的vg信息
6、逻辑卷LV创建
在vg02里创建一个新的lv
lvcreate -n lvdata -L 2G vg02
#这个是以大小来决定使用的空间(不能大于vg的最大剩余量)
lvcreate -l 100%FREE -n lvdata vg02
#这个是以百分比来决定使用的空间(不能大于100%)
这里我们使用百分比的方式创建一个100%使用vg02容量的新lv名字为lvdata
7、 查看新创建好的lv信息
8、格式挂与挂载
xfs文件格式:
ext4文件格式:
[root@HK01-C6220II-008-01 dev]# mkfs.ext4 /dev/vg02/lvdata
mke2fs 1.42.9 (28-Dec-2021)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
9、挂载
创建目录挂载
10、写入fstab文件以便开机能够自动挂载
vi /etc/fstab
11、最后重启测试