1、 LVM介绍

LVM 是 Logical Volume Manager 的简称,中文就是逻辑卷管理。

  • 物理卷(PV,Physical Volume):就是真正的物理硬盘或分区。
  • 卷组(VG,Volume Group):将多个物理卷合起来就组成了卷组,组成同一个卷组的物理卷 可以是同一个硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一 个逻辑硬盘
  • 逻辑卷(LV,Logical Volume):卷组是一个逻辑硬盘,硬盘必须分区之后才能使用,这个分区我们称作逻辑卷。逻辑卷可以格式化和写入数据。我们可以把逻辑卷想象成

    为分区。
  • 物理扩展(PE,Physical Extend):PE 是用来保存数据的最小单元,我们的数据实际上都 是写入 PE 当中,PE 的大小是可以配置的,默认是 4MB。
2、建立 LVM 的步骤
  • 首先需要把物理硬盘分成分区,当然也可以是整块物理硬盘。
  • 然后把物理分区建立成为物理卷(PV),也可以直接把整块硬盘都建立为物理卷。
  • 接下来把物理卷整合成为卷组(VG)。卷组就已经可以动态的调整大小了,可以把物理分区加入卷组,也可以把物理分区从卷组中删除。
  • 最后就是把卷组再划分成为逻辑卷(LV),当然逻辑卷也是可以直接调整大小的。我们说逻 辑卷可以想象成为分区,所以也需要格式化和挂载。
3、物理卷管理
1、分区

创建方式就是使用 fdisk 交互命令,不过需要注意的是分区的系统 ID 不再是 Linux 默认的分区 ID 号 83 了,而要改成 LVM 的 ID 号 8e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1 2048 10487807 5242880 8e Linux LVM
/dev/sdb2 10487808 14682111 2097152 8e Linux LVM
/dev/sdb3 14682112 20973567 3145728 8e Linux LVM
建立PV

建立物理卷时,我们说即可以把整块硬盘都建立成物理卷,也可以把某个分区建立成物理卷。如果要把整块硬盘都建立成物理卷,命令如下

[root@localhost ~]# pvcreate [设备文件名]

[root@localhost ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
[root@localhost ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# pvcreate /dev/sdb3
Physical volume "/dev/sdb3" successfully created. 或者 [root@localhost ~]# pvcreate /dev/sdb
查询PV
1)pvscan
[root@localhost ~]# pvscan
PV /dev/sdb3 lvm2 [3.00 GiB]
PV /dev/sdb2 lvm2 [2.00 GiB]
PV /dev/sdb1 lvm2 [5.00 GiB]
Total: 4 [<29.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 3 [10.00 GiB]
2)pvdisplay
"/dev/sdb1" is a new physical volume of "5.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1 物理卷名
VG Name 所属卷组名
PV Size 5.00 GiB 物理卷大小
Allocatable NO 是否已经分配
PE Size 0 PE大小
Total PE 0 总共PE
Free PE 0 空闲PE数
Allocated PE 0 可分配PE
PV UUID 3TGUYI-7y28-ilGh-uNus-FJfZ-3mn2-a1E2MM UUID
4)删除物理卷
[root@localhost ~]# pvremove /dev/sdb3
4、卷组管理
1、建立卷组
[root@localhost ~]# vgcreate [选项] 卷组名 物理卷名
选项:
-s PE 大小:指定 PE 的大小,单位可以是 MB,GB,TB 等。如果不写默认 PE 大小事 4MB

我们有三个物理卷/dev/sdb1-3,我们先把/dev/sdb1 和/dev/sdb2 加入卷组,留着/dev/sdb3 进行调整卷组大小实验

[root@localhost ~]# vgcreate -s 2Mb  vg1 /dev/sb1 /dev/sdb2
2、查看卷组
1)vgscan
[root@localhost ~]# vgscan
Reading volume groups from cache.
Found volume group "vg1" using metadata type lvm2 2)vgdisplay
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name vg1 卷组名
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 <7.00 GiB 卷组大小
PE Size 2.00 MiB PE大小
Total PE 3582 总共PE数
Alloc PE / Size 0 / 0
Free PE / Size 3582 / <7.00 GiB 空闲PE数
VG UUID nffn4l-fnbY-n6ar-zy7v-PgKP-guw2-TTTOHz
3、删除卷组
[root@localhost ~]# vgremove vg1
4、增加卷组容量
[root@localhost ~]# vgextend  vg1 /dev/sdb3
Volume group "vg1" successfully extended
5、减少卷组容量
[root@localhost ~]# vgreduce vg1 /dev/sdb3
Removed "/dev/sdb3" from volume group "vg1"
5、逻辑卷管理
1、建立逻辑卷
[root@localhost ~]# lvcreate [选项] [-n 逻辑卷名] 卷组名
选项:
-L 容量:指定逻辑卷大小,单位 MB,GB,TB 等
-l 个数:按照 PE 个数指定逻辑卷大小
-n 逻辑卷名:指定逻辑卷名 #建立一个2G的逻辑卷
[root@localhost ~]# lvcreate -L 2G -n lv1 vg1
Logical volume "lv1" created.

vg1 卷组中建立 2GB 的 lv1逻辑卷之后,还要格式化和挂载之后逻辑卷才能正常使用。格式化和挂载命令和操作普通 分区时是一样的,不过需要注意的是逻辑卷的设备文件名是/dev/卷组名/逻辑卷名,

例子:

[root@localhost ~]# mkfs.ext4 /dev/vg1/lv1
# 格式化,建立文件系统
[root@localhost ~]# mkdir /lv1 && mount /dev/vg1/lv1 /lv1/
# 建立挂载点,并挂载
2、查看逻辑卷

1)lvscan

[root@localhost ~]# lvscan
ACTIVE '/dev/centos/swap' [2.00 GiB] inherit
ACTIVE '/dev/centos/root' [<17.00 GiB] inherit
ACTIVE '/dev/vg1/lv1' [2.00 GiB] inherit

2)lvdisplay

  LV Path                /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID jGYU0t-hEzP-BgNw-TgdT-iXDU-oqwt-S2KjT8
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2019-12-05 22:19:48 -0500
LV Status available
# open 1
LV Size 2.00 GiB
Current LE 1024
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
3、调整逻辑卷大小
[root@localhost ~]# lvresize [选项] 逻辑卷设备文件名
选项:
-L 容量:安装容量调整大小,单位 KB,GB,TB 等。使用+代表增加空间,-号代表减少空间。如果直接写容量,代表设定逻辑卷大小为指定大小。
-l 个数:按照 PE 个数调整逻辑卷大小 #调整/dev/vg1/lv1 大小为3G
[root@localhost ~]# lvresize -L +1G /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 2.00 GiB (1024 extents) to 3.00 GiB (1536 extents).
Logical volume vg1/lv1 successfully resized. #查看
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 2.0G 6.0M 1.8G 1% /lv1 #但是此时大小还是没有变化怎么,刚刚只是逻辑卷的大小改变了,如果需要让分区使用这个新逻辑卷,我们还要使用 resize2fs 命令来调整分区的大小。
不过这里就体现了 LVM 的优势,我们不需要卸载分区,直接就能调整分区的大小。 [root@localhost ~]# resize2fs [选项] [设备文件名] [调整的大小]
选项: -f: 强制调整
设备文件名:指定调整哪个分区的大小 调整的大小:指定把分区调整到多大,要加 M,G 等单位。如果不加大小,会使用整个分区 [root@localhost ~]# resize2fs -f /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
The filesystem is already 786432 blocks long. Nothing to do!
4)删除逻辑卷

想要删除逻辑卷,需要先取消挂载

[root@localhost ~]# lvremove 逻辑卷设备文件名 

[root@localhost ~]# umount /dev/vg1/lv1
[root@localhost ~]# lvremove /dev/vg1/lv1

文件系统之LVM 逻辑卷管理的更多相关文章

  1. 18 LVM逻辑卷管理

    根据上一节的内容,我们知道md这个内核模块可以用来做软RAID的管理.同时RAID实现了两个功能:1.提高了磁盘的读写能力:2.对于数据进行了冗余备份: 但是,如果是管理员手动误删的数据,则一样无法找 ...

  2. LVM逻辑卷管理测试——逻辑卷扩展、收缩、快照及删除

    一.逻辑卷扩展 [root@lxjtest /]# umount /testLVM/ [root@lxjtest /]# df -h Filesystem Size Used Avail Use% M ...

  3. LVM逻辑卷管理测试——创建逻辑卷

    虚拟机里再添加两块硬盘,如下所示: 启动系统后,我们可以看到新添加的两块硬盘为/dev/sdb和/dev/sdc.每个2GB. [root@lxjtest ~]# fdisk -l Disk /dev ...

  4. CentOS LVM逻辑卷管理

    在CentOS 挂载(U盘NTFS格式,新硬盘,增加交换分区,扩展根分区等)中扩展根分区部分用的就是LVM逻辑卷管理来进行扩展的. 1.为什么会有逻辑卷管理 传统磁盘管理是直接对硬盘分区进行访问,你如 ...

  5. linux的存储管理(RALD) LVM 逻辑卷管理 虚拟阵列

    磁盘存储管理 LVM 逻辑卷 虚拟阵列 1.Linux系统中 磁盘使用 存在3个大问题: 1.灵活性 2.安全性 3.性能 2.解决办法RAID独立磁盘冗余阵列 RAID(Redundant Arra ...

  6. 【Linux】LVM 逻辑卷管理

    LVM - 逻辑卷管理 简介 LVM(Logical Volume Manager), 即逻辑卷管理,是Linux环境下对磁盘分区进行管理的一种机制. 相关名词 PV(physical volume) ...

  7. Linux之LVM逻辑卷管理

    LVM逻辑卷管理 LVM机制:PV物理卷,VG卷组,LV逻辑卷. --功能-- --物理卷管理-- --卷组管理-- --逻辑卷管理-- create(建立) pvcreate vgcreate lv ...

  8. CentOS下LVM逻辑卷管理技术解释

    1.LVM逻辑卷管理技术产生的背景 企业日益变化的存储需要使得传统的磁盘分区存储显得不够灵活 2.磁盘分区存储 对于这样的三个物理分区的话,迟早有一天会被数据填满,因为它是死的,无法进行缩放. 假设下 ...

  9. 『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍

    目录 1.LVM逻辑卷管理的简介 2.LVM逻辑卷管理的原理 3.总结建立LVM分区的步骤 1.LVM逻辑卷管理的简介 LVM是Logical Volume Manager的简称,中文就是逻辑卷管理. ...

随机推荐

  1. 5. SOFAJRaft源码分析— RheaKV中如何存放数据?

    概述 上一篇讲了RheaKV是如何进行初始化的,因为RheaKV主要是用来做KV存储的,RheaKV读写的是相当的复杂,一起写会篇幅太长,所以这一篇主要来讲一下RheaKV中如何存放数据. 我们这里使 ...

  2. Vue+element UI实现表格数据导出Excel组件

    介绍 这是一个可以将页面中的表格数据导出为Excel文件的功能组件,该组件一般与表格一起使用,将表格数据传给组件,然后通过点击组件按钮可将表格中的数据导出成Excel文件. 使用方法 由于封装该组件内 ...

  3. Kubernetes4-web管理界面

    一.简介 1.环境 环境还是前面的环境 2.Kubernetes Dashboard web界面 kubernetes dashboard (仪表盘)是一个将通用的基于web的监控和操作界面加入kub ...

  4. 第一行python代码

    Hello Python 其实和大家一样为了以后多一条生存之路,本人也比较感兴趣python,因为它相比较JAVA来说,实现功能真的太方便了. 万事开头难,python不例外,本人在校过程学习了jav ...

  5. 百度艾尼(ERNIE)常见问题汇总及解答

    一.ERNIE安装配置类问题 Q1:最适合ERNIE2.0的PaddlePaddle版本是?A1:PaddlePaddle版本建议升级到1.5.0及以上版本. Q2:ERNIE可以在哪些系统上使用?A ...

  6. 自动任务调度 - Timer

    一.概述: 最近维护一个老项目,里面使用的是Timer的时间调度器,以前没接触过,对着代码鼓捣了半天,查阅了部分博客,最后总结出自己的见解,新项目一般是不会用这种老掉牙的时间调度器了,但是维护老项目还 ...

  7. 最新JetBrains PyCharm 使用教程--下载安装Python库(五)

    最新JetBrains PyCharm 下载安装Python库 ​

  8. python经典算法面试题1.5:如何找出单链表中的倒数第K个元素

    本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. [微软笔试题] 难度系数:⭐⭐⭐ 考察频率:⭐⭐⭐⭐⭐ 题目描 ...

  9. jquery手指触摸滑动放大图片的方法(比较靠谱的方法)

    jquery手指触摸滑动放大图片的方法(比较靠谱的方法) <pre><!DOCTYPE html><html lang="zh-cn">< ...

  10. PHP RSA签名(公钥、私钥)

    签名算法:    Setp.1 确定待签名参数        在请求参数列表中,除去sign参数外,其他需要使用到的参数皆是要签名的参数. 在通知返回参数列表中,除去sign参数外,凡是通知返回回来的 ...