博主是一个数据库DBA,但是一般来说,是不做linux服务器LVM 逻辑卷的创建、扩容和减容操作的,基本上有系统管理员操作,一是各司其职,专业的事专业的人做,二是做多了你的责任也多了,哈哈!

但是linux运维的人员肯定的要会的,面试的时候如果这个不会,基本上是OVER了。

参考资料来自网站:

https://opensource.com/business/16/9/linux-users-guide-lvm

https://wiki.archlinux.org/index.php/LVM

对于系统运维人员来说,管理磁盘空间一直是一项重要任务。耗尽磁盘空间通常是一系列漫长而复杂的任务的开始,以增加磁盘分区的可用空间。它还需要使系统脱机。这通常涉及安装新的硬盘驱动器,引导至恢复或单用户模式,在新的硬盘驱动器上创建分区和文件系统,使用临时挂载点将数据从太小的文件系统移至新的更大的文件系统。 更改/etc/fstab文件的内容以反映新分区的正确设备名称,然后重新引导以在正确的安装点上重新安装新的文件系统。

David Both大神说:“当LVM(逻辑卷管理器)首次出现在Fedora Linux中时,他强烈反对它,他最初的反应是,我和硬盘之间不需要这个额外的抽象层。原来我错了,逻辑卷管理非常有用”。

LVM允许非常灵活的磁盘空间管理。它提供了诸如在挂载和激活该逻辑卷的同时向逻辑卷及其文件系统添加磁盘空间的功能,并允许将多个物理硬盘驱动器和分区收集到单个卷组中,然后可以将其划分为逻辑卷。 。

卷管理器还允许减少分配给逻辑卷的磁盘空间量,但是有一些要求。首先,必须卸载该卷。第二,必须减小文件系统本身的大小,然后才能减小其所在的卷。

重要的是要注意文件系统本身必须允许调整大小才能使此功能起作用。EXT2、3和4文件系统在增加文件系统大小时都允许脱机(卸载)和联机(挂载)大小调整,而在减小大小时允许脱机大小调整。您应该检查要使用的文件系统的详细信息,以验证它们是否可以完全调整大小,尤其是在联机时是否可以调整大小。

一.LVM结构

下面的图1说明了Logical Volume Manager磁盘环境的结构。逻辑卷管理可将多个单独的硬盘驱动器和/或磁盘分区组合到一个卷组(VG)中。然后可以将该卷组细分为逻辑卷(LV)或用作单个大卷。然后可以在逻辑卷上创建常规文件系统,例如EXT3或EXT4。

在图1中,两个完整的物理硬盘驱动器和第三个硬盘驱动器的一个分区已合并到一个卷组中。已从卷组中的空间创建了两个逻辑卷,并且已在两个逻辑卷中的每个逻辑卷上创建了一个文件系统,例如EXT3或EXT4文件系统。

向主机添加磁盘空间非常简单,但是以我的经验,这种操作相对很少。下面列出了所需的基本步骤。您可以创建一个全新的卷组,也可以将新空间添加到现有的卷组中,然后扩展现有的逻辑卷或创建一个新的逻辑卷。

二.LVM说明

LVM利用Linux内核的device-mapper功能来实现存储系统的虚拟化(系统分区独立于底层硬件)。 通过LVM,你可以实现存储空间的抽象化并在上面建立虚拟分区(virtual partitions),可以更简便地扩大和缩小分区,可以增删分区时无需担心某个硬盘上没有足够的连续空间,避免为正在使用的磁盘重新分区的麻烦、为调整分区而不得不移动其他分区的不便。

LVM的基本组成部分如下:

物理卷 (PV)

一个可供存储LVM的块设备. 例如: 一块硬盘, 一个MBR或GPT分区, 一个回环文件, 一个被内核映射的设备 (例如 dm-crypt).它包含一个特殊的LVM头。
卷组 (VG)
物理卷的一个组,作为存放逻辑卷的容器。 PE是从VG分配给LV的。
逻辑卷 (LV)
"虚拟/逻辑卷"存放在一个卷组中并由物理块组成。是一个类似于物理设备的块设备,例如,你可以直接在它上面创建一个文件系统文件系统
物理块 (PE)
一个卷组中最小的连续区域(默认为4 MiB),多个物理块将被分配给一个逻辑卷。你可以把它看成物理卷的一部分,这部分可以被分配给一个逻辑卷。 

三.LVM方式挂载磁盘

cat /etc/redhat-release

版本是7.5的。

(1) 查看分区情况

fdisk -l

两块盘,/dev/sdb(这个是新加的一块专门拿来做实验的) ,/dev/sda(/dev/sda1,/dev/sda2这两个分区)

(2) 查看磁盘卷组信息

lvmdiskscan

lsblk

sda2分区采用了lvm管理,vg名为centos,sda1是我用的作为boot分区

查看pv

查看vg

vgdisplay

查看 lv

lvdisplay

[root@19c home]# lvdisplay

--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID F3q7AE-E6rC-eq2H-0hvr-zjdt-r9ic-lvxHf7
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2020-12-21 00:22:16 +0800
LV Status available
# open 2
LV Size 7.00 GiB
Current LE 1792
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1

--- Logical volume ---
LV Path /dev/centos/home
LV Name home
VG Name centos
LV UUID TzHMql-idEA-JYY0-IrFO-Nnxe-4lLQ-h8gtHU
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2020-12-21 00:22:16 +0800
LV Status available
# open 1
LV Size <20.34 GiB
Current LE 5207
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2

--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID wkKvYa-wMT2-OZmN-N1yW-2817-cpCt-PpJEE9
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2020-12-21 00:22:17 +0800
LV Status available
# open 1
LV Size <41.66 GiB
Current LE 10664
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0

做了三个LV,路径分别是:

/dev/centos/swap,/dev/centos/home,/dev/centos/root

(3) LVM的操作

添加新逻辑卷的基本步骤如下。

  1. 如有必要,请安装新的硬盘驱动器。
  2. 可选:在硬盘驱动器上创建一个分区。
  3. 创建整个硬盘驱动器或硬盘驱动器上的分区的物理卷(PV)。
  4. 将新的物理卷分配给现有的卷组(VG)或创建一个新的卷组。
  5. 从卷组中的空间创建一个新的逻辑卷(LV)。
  6. 在新的逻辑卷上创建一个文件系统。
  7. 将适当的条目添加到/etc/fstab以挂载文件系统。
  8. 挂载文件系统

3.1创建物理卷 pv

pvcreate /dev/sdb

3.2创建新的卷组 vg

我有两个pv,此次,我想新建一个vg(MyVolGroup ),不把原来的vg进行扩展,后面做完实验了在进行扩展。

vgcreate MyVolGroup /dev/sdb

3.3创建逻辑卷

本次测试创建2个lv,每个各站MyVolGroup一半的空间。

lvcreate -l +50%FREE MyVolGroup -n LogVo1         ##注意啊,这个50%是占MyVolGroup 的50%

lvcreate -l +100%FREE MyVolGroup -n LogVo2        ##注意啊,这个100%是占MyVolGroup 所有没有分配的空间,第一次我也是搞错了

弄成了lvcreate -l +50%FREE MyVolGroup -n LogVo2 ;如果你也写成50%,那么分配的空间是MyVolGroup*(1-50%) *50%=0.25MyVolGroup

删除后重建LV:

lvremove MyVolGroup/LogVo2

lvcreate -l +100%FREE MyVolGroup -n LogVo2

3.4文件系统的挂载和开机自启动

格式化

mkfs.ext4 /dev/mapper/MyVolGroup-LogVo1

mkfs.ext4 /dev/mapper/MyVolGroup-LogVo2

mkdir lvtest01 lvtest02

mount /dev/mapper/MyVolGroup-LogVo1 /lvtest01
mount /dev/mapper/MyVolGroup-LogVo2 /lvtest02

加载到/etc/fstab 开机自启

3.5扩展逻辑卷

把挂载的目录unmount,删除lv以及 /etc/fstab 记录的新加内容

如下

vgremove MyVolGroup

pvremove /dev/sdb

此刻我想把 home 这个逻辑卷多余的空间到根目录下。

lvresize -L -15G --resizefs centos/home

xfs格式不支持

算了只有扩展lv了。

扩展空间操作:磁盘我的前面测试已经格式化了(可以不分区)-->扩展卷组-->扩展逻辑卷

3.6扩展卷组

vgextend centos /dev/sdb

3.7扩展逻辑卷

lvextend -l +100%free  /dev/mapper/centos-root

也可以把+100% 换成大小 +10G

# CentOS 7重新读取磁盘大小:

xfs_growfs /dev/mapper/centos-root

# CentOS 6.5重新读取磁盘大小: # ext4格式, resize2fs会遍历整个磁盘, 速度比较慢, 但是不影响读写数据, 可以令其在后台运行.

resize2fs xfs_growfs /dev/mapper/centos-root

ok! 完事。

Linux LVM Logical Volume Management 逻辑卷的管理的更多相关文章

  1. lvm - Logical Volume Manager - 逻辑卷管理

    下午突然感觉 lvm 相关的知识忘记了,恰好机房里的fedora服务器上 挂了4个500GB的HDD 硬盘没有使用,就拿来操作了一番: 下面有几篇关于lvm不错的文章,进行了链接,网上也有很多不错的博 ...

  2. 逻辑卷管理LVM (Logical Volume Manager)

    什么是LVM? LVM(Logical Volume Manager)逻辑卷管理,是一种将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的 ...

  3. centos6下的lvm逻辑卷的管理

    LVM:Logical Volume Manager 将多块设备组合成一个来使用 dm:device mapper 设备映射 设备文件 /dev/卷组名/逻辑卷名          /dev/mapp ...

  4. LVM逻辑卷的管理和使用

    本篇将从头到尾演示一遍逻辑卷的管理. 主要步骤 1.创建lv逻辑卷步骤     前提:先创建3个磁盘分区,类型为8e:         1.PV创建             pvcrete /dev/ ...

  5. 逻辑卷管理-LVM(Logical Volume Manager)

    一. 概念与由来 LVM:逻辑卷管理(Logical Volume Manager) 普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某文件时,这个文件因为受上层文件 ...

  6. Linux LVM学习总结——删除物理卷

    本篇介绍LVM管理中的命令vgreduce, pvremove.其实前面几篇中以及有所涉及. vgreduce:通过删除LVM卷组中的物理卷来减少卷组容量.注意:不能删除LVM卷组中剩余的最后一个物理 ...

  7. LVM(2)逻辑卷的扩展、缩减、快照卷

    一.扩展逻辑卷:lvextend   扩展逻辑卷物理边界    -L [+]# /PATH/TO/LV2G, +3G5G

  8. LVM逻辑卷创建管理

    首先添加三块硬盘 结构关系图 相关命令 查看磁盘 #fdisk -l 分区 #fdisk /dev/sda/ #n新建 ProMary主分区 extended扩展分区 #p查看 #q不保存退出 #w保 ...

  9. 《RedHatLinux逻辑卷的管理》——一条龙服务

    首先建2分区 [root@localhost ~]# partx -d /dev/sdb error deleting partition 4: BLKPG: No such device or ad ...

随机推荐

  1. Panda Global 要点聚焦,区块链在数字医疗的落地应

    据Panda Global,随着区块链技术影响力的不断扩大,其应用性已涉及更加广泛的领域,不断更新着人们的认知.在区块链技术未介入之前,关于医疗行业和数字经济结合早已不是什么新鲜话题,相关研究不少 但 ...

  2. SA-IS学习笔记

    Q:SA-IS 是什么玩意? A:一种 \(O(n)\) 求后缀数组的高科技. Q:为什么会有 SA-IS 这种算法? A:因为它是 \(O(n)\) 的,比倍增 \(O(n\log n)\) 快. ...

  3. 基于jaccard相似度的LSH

    使用Python通过LSH建立推荐引擎 LSH:一个可以用来处理成百上千行的算法 前提: Python 基础 Pandas 学完本教程之后,解锁成就: 通过建立shingles 为LSH准备训练集和测 ...

  4. 数组问题:a[i][j] 和 a[j][i] 有什么区别?

    本文以一个简单的程序开头--数组赋值: int LEN = 10000; int[][] arr = new int[LEN][LEN]; for (int i = 0; i < LEN; i+ ...

  5. MySQL锁:03.InnoDB行锁

    目录 InnoDB 行锁 锁排查可以用的视图和数据字典 InnoDB 行锁兼容性 InnoDB行锁之共享锁 共享锁: 查看InnoDB锁 InnoDB行锁实现机制 对普通索引上锁 InnoDB隐式.显 ...

  6. 1.微博回调接口 和绑定user接口

    1.1 oauth/views.py 中添加试图函数 http://192.168.56.100:8888/oauth/weibo/callback/ # 通过vue前端传入的code,微博身份验证c ...

  7. Excel优雅导出

    流程 原来写过一篇文章,是介绍EasyExcel的,但是现在有些业务需要解决,流程如下 1.需要把导出条件转换成中文并存入数据库 2.需要分页导出 3.需要上传FTP或者以后上传OSS 解决方案 大体 ...

  8. [日常摸鱼]bzoj1001狼抓兔子-最大流最小割

    题意就是求最小割- 然后我们有这么一个定理(最大流-最小割定理 ): 任何一个网络图的最小割中边的容量之和等于图的最大流. (下面直接简称为最大流和最小割) 证明: 如果最大流>最小割,那把这些 ...

  9. [日常摸鱼]bzoj4802 欧拉函数-PollardRho大整数分解算法

    啊居然要特判,卡了好久QAQ (好像Windows下的rand和Linux下的不一样? QwQ一些东西参考了喵铃的这篇blog:http://www.cnblogs.com/meowww/p/6400 ...

  10. 弱肉强食——《哆啦A梦:大雄的新恐龙》观后感

    观看大雄的新恐龙不是在电影院观看的,由于时间的问题无法去电影院观看,是在家通过梦蓝字幕组翻译好的观看的,这个翻译好的视频已经由于版权原因没有发布了. 故事的开始与以往的情节十分相似:大雄因为不想被胖虎 ...