简介
Logical Volume Manager 是一种将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中。
LVM 调整管理文件系统和卷的方法,允许驱动器跨越磁盘,调整驱动器大小。
LVM块设备不受物理约束,不必是连续的,也可在不断电的情况下调整大小。
注意:/boot分区用于存放引导文件,不能应用LVM机制
数据单元概念
物理卷(Physical Volumn,PV):处于LVM最底层,可以是物理硬盘或分区。
卷组(Volume Group,VG):建立在PV之上,可以含有一个到多个PV,将一组物理卷收集为一个管理单元。
-
逻辑卷(Logical Volume,LV):建立在VG之上,相当于原来分区的概念,不过大小可以动态改变。
实例
实验场景:
在虚拟机添加三块硬盘 20G,20G,30G, 3块硬盘,利用这三块硬盘做lvm处理分出15G,15G,20G 三个分区,然后再添加一块40G硬盘,并将所有剩余分配给第一个分区。
实验环境:
一台虚拟机,四块硬盘
实验步骤:
Step1:在虚拟机上手动添加四块硬盘分别为20g,20g,30g,40g
- 如图:
Step2:重启虚拟机,并到/dev目录下查看硬盘是否添加成功
语法:
[root@localhost ~]# cd /dev/
[root@localhost dev]# ls
- 如图:
Step3:分别对四块硬盘进行分区 并设置类型为 Linux LVM
语法
[root@localhost dev]# fdisk /dev/sdb ->n ->p ->1 ->默认 -> 默认 -> t ->8e ->w
Step4:查看硬盘分区及类型是否设置成功
语法
[root@localhost dev]# fdisk -l
-
如图:
Step5:创建物理卷
语法
[root@localhost dev]# pvcreate /dev/sdb1
[root@localhost dev]# pvcreate /dev/sdc1
[root@localhost dev]# pvcreate /dev/sdd1
-
如图:
Step6:创建组卷
语法:
[root@localhost dev]# vgcreate vg /dev/sdb1 /dev/sdc1 /dev/sdd1
-
如图:
Step7:创建逻辑卷
语法:
[root@localhost dev]# lvcreate -L 15G -n lv1 vg
[root@localhost dev]# lvcreate -L 15G -n lv2 vg
[root@localhost dev]# lvcreate -L 20G -n lv3 vg
-
如图:
Step8:查看逻辑卷是否创建成功
语法:
[root@localhost dev]# ls /dev/vg
-
如图:
Step9:格式化逻辑卷
语法:
[root@localhost dev]# mkfs.ext4 /dev/vg/lv1
[root@localhost dev]# mkfs.ext4 /dev/vg/lv2
[root@localhost dev]# mkfs.ext4 /dev/vg/lv3
Step10:创建挂载点,并挂载
语法:
[root@localhost dev]# mkdir /lv1 /lv2 /lv3
[root@localhost dev]# mount ./vg/lv1 /lv1
[root@localhost dev]# mount ./vg/lv2 /lv2
[root@localhost dev]# mount ./vg/lv3 /lv3
Step11:查看是否挂载成功
语法:
[root@localhost dev]# df -h
-
如图:
Step12:将第四块硬盘内存扩展至组卷
语法:
[root@localhost dev]# vgextend vg /dev/sde1
Step13:将剩余内存添加至第一个分区 lv1,并重启分区
语法:
[root@localhost dev]# lvextend -L +58G /dev/vg/lv1
#由于前边分配逻辑卷时剩余不到20G,所以这边只给了40G+18G来演示
[root@localhost dev]# resize2fs /dev/vg/lv1 #重启分区lv1
实验测试:
- 查看是否添加成功
语法:
[root@localhost dev]# df -h
-
如图:
最近在学Python, 写了一些关于Python的笔记 ,感兴趣的朋友可以关注
【Python 目录】