Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】

一、传统磁盘管理的弊端

传统的磁盘管理:使用MBR先对硬盘分区,然后对分区进行文件系统的格式化最后再将该分区挂载上去

传统的磁盘管理当分区没有空间使用进行扩展时,操作比较麻烦。分区使用空间已经满了,不再够用了,此时无法通过拉伸分区来进行分区扩充,只能通过添加新的硬盘来扩展,然后在新的硬盘上创建分区,接着再对分区格式化,然后将之前分区的所有东西拷贝到新的分区里面。
新增的硬盘作为独立的文件系统存在的,原有的文件系统没有得到任何的扩充。

传统的磁盘管理不能进行动态的磁盘管理,新增硬盘拷贝原有内容时还需要卸载掉当前的挂载点,并且当原有内容文件较多时,花费的时间也较多,一些实时的服务也不接受去停止再去拷贝内容挂载

二、LVM的磁盘管理

LVM (logical volume Manager)逻辑卷管理。

逻辑卷管理LVM是一个多才多艺的硬盘系统工具。无论在Linux或者其他类似的系统,都是非常的好用。传统分区使用固定大小分区,重新调整大小十分麻烦。但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。LVM并不需要重启就可以让内核知道分区的存在。

LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。

在传统的磁盘管理机制中,上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。

例如:当新增一个物理硬盘时,上层服务是感觉不到的,因为呈现给上次服务的是以逻辑卷的方式(挂载的是逻辑卷)。

LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性!!!

三、基础概念 PE,PV,VG,LV 及 LVM的原理

  1. PE (Physical Extend) 物理拓展
  2. PV (Physical Volume) 物理卷
  3. VG (Volume Group) 卷组
  4. LV (Logical Volume) 逻辑卷

在这里插入图片描述

在LVM的磁盘管理中,首先将硬盘划分分区,然后将分区格式化存储物理卷(PV),一个或多个物理卷可以用来创建卷组(VG),然后基于卷组可以创建逻辑卷(LV)。

格式化物理卷的过程中LVM是将底层的硬盘划分为了一个一个的PE(Physical Extend)LVM磁盘管理中PE的默认大小是4M大小,PE就是逻辑卷管理的最基本单位

只要在卷组中有可用空间,就可以随心所欲的创建逻辑卷,文件系统就是在逻辑卷上创建的,然后操作系统挂载和使用访问。

四、实验-使用LVM磁盘管理

实验内容:给当前的操作系统新增两块硬盘,然后使用LVM磁盘管理

在这里插入图片描述

下图中的/dev/sdb和/dev/sdc为我们新增的硬盘

在这里插入图片描述

(一)磁盘分区

将/dev/sdb 划分为三个主分区,分别为2GB,3GB,5GB的空间

fdisk /dev/sdb
[root@robin robin]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x7e72cf82 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
分区号 (2-4,默认 2):2
起始 扇区 (4196352-20971519,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-20971519,默认为 20971519):+3G
分区 2 已设置为 Linux 类型,大小设为 3 GiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分区号 (3,4,默认 3):3
起始 扇区 (10487808-20971519,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-20971519,默认为 20971519):
将使用默认值 20971519
分区 3 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):2
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):3
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

分区划分完毕后进行查看

fdisk -l /dev/sdb # 查看sdb的磁盘分区列表信息

在这里插入图片描述

(二)准备物理卷

刚创建的分区是用来储存物理卷的。LVM可以使用不同大小的物理卷。
接下来会使用的几个命令的说明:

  1. pvcreate 创建物理卷
  2. pvremove 删除物理卷
  3. pvdisplay 查看物理卷的属性信息
  4. pvs 列出系统上的所有物理卷及其信息(LVM提供的一个命令行工具)
  5. pvextend 扩展物理卷的大小

首先,根据刚刚的三个主分区依次创建三个不同大小的物理卷

pvcreate /dev/sdb1
pvcreate /dev/sdb2
pvcreate /dev/sdb3

使用pvdisplay看一下物理卷的属性信息,可以看到每个物理卷的名称就是它的主分区名称

在这里插入图片描述

(三)准备卷组

常用命令(和物理卷的格式一样)

  1. vgcreate 创建卷组
  2. vgremove 删除卷组
  3. vgdisplay 查看卷组信息
  4. vgs 列出系统上的所有卷组及其信息(LVM提供的一个命令行工具)
  5. vgextend 扩展卷组中的物理卷(添加新的物理卷到卷组中)

将刚刚创建的三个物理卷都放到一个卷组(vg_test)中

# -s 选项用来指定 PE的大小, vg_test为新建的卷组名称
vgcreate -s 4M vg_test /dev/sdb1 /dev/sdb2 /dev/sdb3

同样,验证查看一下卷组的信息,使用 vgdisplay 命令
在这里插入图片描述

(四)创建逻辑卷

常用命令:

  1. lvcreate 创建逻辑卷
  2. lvremove 删除逻辑卷
  3. lvdisplay 查看逻辑卷信息
  4. lvs 列出系统上的所有逻辑卷及其信息(LVM提供的一个命令行工具)
  5. lvresize 调整逻辑卷的大小
  6. lvextend 扩展逻辑卷的大小

我们刚刚生成的卷组大小差不多有10GB,现在根据卷组去创建逻辑卷,先创建一个5GB的逻辑卷(lv_test)

# -n 指定逻辑卷的名称 
# -L 指定逻辑卷的大小
lvcreate -n lv_test -L 5G /dev/vg_test

使用lvdisplay命令查看一下,可以看到lv_test的卷组是vg_test,以及它的一个大小是5G,并且它的路径为 “/dev/vg_test/lv_test” (/dev/卷组/逻辑卷)

在这里插入图片描述

(五)格式化-挂载

格式化逻辑卷为文件系统,使用 mkfs 命令。挂载使用 mount 命令。

  1. 格式化逻辑卷
mkfs.ext4 /dev/vg_test/lv_test

在这里插入图片描述

  1. 挂载
mkdir /home/robin/data # 这里我存在一个robin用户,所以我将robin用户下的data目录作为挂载点使用
mount /dev/vg_test/lv_test /home/robin/data
  1. 查看挂载后的状态(df)
df -h /home/robin/data

在这里插入图片描述

(六)扩展逻辑卷

动态的扩展,是LVM最有用的功能.
扩展逻辑卷分为如下几步:

  1. 卸载当前要进行扩展的逻辑卷 (umount)
  2. 扩展逻辑卷大小 (lvresize)
  3. 检查磁盘错误
  4. 更新文件系统大小
  5. 重新挂载
 umount /dev/vg_test/lv_test # 1. 卸载逻辑卷
 lvresize -L 7G /dev/vg_test/lv_test # 2. 扩展逻辑卷大小到7G
 e2fsck -f /dev/vg_test/lv_test # 3. 检查逻辑卷磁盘错误
 resize2fs /dev/vg_test/lv_test # 4.更新文件系统大小
 mount /dev/vg_test/lv_test /home/robin/data # 5.重新挂载

再次使用 df 命令查看挂载目录的磁盘信息,容量已经发生改变。

在这里插入图片描述

(七)扩展卷组

假设我们第一块硬盘(/dev/sdb)创建的卷组(vg_test)已经满了,且/dev/sdb这块硬盘已经没有可以使用的多余空间了,同时我们还有一块硬盘/dev/sdc (10GB大小)尚未使用,我们从第二块硬盘中划分两个G给卷组vg_test进行扩展。

卷组扩展的本质就是 将物理卷加入到卷组中

所以从其他硬盘进行扩展卷组可以分为如下几步:
● 新的硬盘进行分区
● 创建不同大小的物理卷
● 将新创建的物理卷添加到需要扩展的卷组中
● 查看检验卷组是否扩充

  1. 将/dev/sdc进行分区(先分一个2G的分区给我们扩展使用就行)
fdisk /dev/sdc

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e

WARNING: If you have created or modified any DOS 6.xpartitions, please see the fdisk manual page for additionalinformation.

已将分区“FAT12”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.

在这里插入图片描述

在这里插入图片描述

  1. 基于主分区/dev/sdc1创建物理卷 /dev/sdc1
pvcreate /dev/sdc1
  1. 将新建的物理卷添加到需要扩展的卷组(vg_test)中
vgextend vg_test /dev/sdc1
  1. 查看卷组是否正确的扩充
vgdisplay vg_test

在这里插入图片描述

tips: 这里第一块硬盘10G加上第二块扩展的2G所以就是接近于12G的一个大小


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/131355.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

个人app编程的好处及条件

1.概要 2.个人app编程目标 开发手机软件,类似微信、qq等软件应用,解决人们日常生活问题 例如: 1)你可以,自己开发一个网站,管理自己的日常生活照片,防止哪一天手机掉了或丢了,照片…

lenovo联想小新 Air-14 2019 AMD平台API版(81NJ)原装出厂Windows10系统

下载链接:https://pan.baidu.com/s/1HCC66EH4UOcgofRx5_v1oA?pwdlgqw 提取码:lgqw 原厂系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序 所需要工具:16G或以上的U盘 文件格式&#xf…

Python开源项目RestoreFormer(++)——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践

有关 python anaconda 及运行环境的安装与设置请参阅: Python开源项目CodeFormer——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践https://blog.csdn.net/beijinghorn/article/details/134334021 1 RESTOREF…

评国青、优青、杰青,到底需要什么级别的文章?五篇代表作如何选?

一到年底就听同事们讨论到底申报“杰青”、“优青”还是“国青”,那么,“杰青”到底是什么呢?它和“优青”、“国青”又有什么区别呢? 杰青,全称“国家杰出青年基金获得者”,是国家自然科学基金里人才资助…

条件渲染-if/hidden

1.条件渲染的方法 1.1 wx:if方法(少用) block只是一个容器,容器内的都用于if判断 1.2 hidden方法 注:view要小写,否则不生效 1.3方法对比

C++ 编译与链接过程

案例讲解 有 main.cpp 和 add.cpp 2个文件&#xff0c;add.cpp中实现add_func函数&#xff0c;main.cpp文件中需要使用add_func函数。 demo&#xff1a; // main.cpp文件 #include <iostream>int add_func(int a, int b);int main() {int a 10;int b 10;int ret ad…

KM云仓——限制用户无法提现?资金盘?

KM云仓一个打着跨境电商的资金盘 最近几年跨境电商越来越火&#xff0c;各种短视频平台上也有不少人推跨境电商&#xff0c;宣传中国几块钱的东西&#xff0c;挂到美国能买几十刀甚至一百多刀&#xff0c;非常的暴力&#xff0c;且资金投入非常少&#xff0c;吸引力许多的宝妈…

快块手多功能全自动引流软件-引流工具-引流脚本-自动引流技术功能介绍

脚本功能&#xff1a; 功能1_养号功能 功能2_评论区关注 功能3_评论区私信 功能4_评论区用户作品评论 功能5_评论区点赞 功能6_粉丝回关 功能7_自己粉丝私信 功能8_已关私信 功能9_好友私信 功能10_关键词搜索关注 功能11_关键词搜索私信 功能12_搜索ID关注 功能13_搜索ID私信…

Linux学习第二枪(yum,vim,g++/gcc,makefile的使用)

前言&#xff1a;在我的上一篇Linux博客我已经讲了基础指令和权限&#xff0c;现在我们来学习如何在Linux上运行和执行代码 一&#xff0c;yum yum是Linux中的软件包管理器&#xff0c;软件包是有人一些人写好的代码和程序作出软件包放到服务器上&#xff0c;我们使用yum就能…

响应式少儿舞蹈培训网站模板源码

模板信息&#xff1a; 模板编号&#xff1a;6903 模板编码&#xff1a;UTF8 模板颜色&#xff1a;橙色 模板分类&#xff1a;学校、教育、培训、科研 适合行业&#xff1a;培训机构类企业 模板介绍&#xff1a; 本模板自带eyoucms内核&#xff0c;无需再下载eyou系统&#xf…

uni.getLocation() 微信小程序 线上获取失败

开发版,体验版,用此方法都可以正确获取定位,但是在小程序的线上,总是获取失败 参考:uni-app微信小程序uni.getLocation获取位置&#xff1b;authorize scope.userLocation需要在app.json中声明permission&#xff1b;小程序用户拒绝授权后重新授权-CSDN博客 uniapp 中的 uni.…

【数据结构】树与二叉树(七):二叉树的遍历(先序、中序、后序及其C语言实现)

文章目录 5.2.1 二叉树二叉树性质引理5.1&#xff1a;二叉树中层数为i的结点至多有 2 i 2^i 2i个&#xff0c;其中 i ≥ 0 i \geq 0 i≥0。引理5.2&#xff1a;高度为k的二叉树中至多有 2 k 1 − 1 2^{k1}-1 2k1−1个结点&#xff0c;其中 k ≥ 0 k \geq 0 k≥0。引理5.3&…

leetcode(力扣) 207. 课程表1+2(图的构造与遍历,清晰思路,完整模拟)

文章目录 题目描述思路分析完整代码 题目描述 你这个学期必须选修 numCourses 门课程&#xff0c;记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出&#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表示如果要学…

网易云音乐未登录接口返回301

网易云音乐 NodeJS 版 API (neteasecloudmusicapi.js.org) 上面是网易云音乐的官方API接口文档 当我调用接口发送请求的时候部分接口数据是需要登录之后进行获取的&#xff0c;但是当我发送请求的时候原生js项目中的跨端问题是比较难解决的。 遇到的问题&#xff1a;跨端请求…

超详细!Linux内核内存规整详解

1.前言 伙伴系统作为内核最基础的物理页内存分配器&#xff0c;具有高效、实现逻辑简介等优点&#xff0c;其原理页也尽可能降低内存外部碎片产生&#xff0c;但依然无法杜绝碎片问题。外部碎片带来的最大影响就是内存足够&#xff0c;但是却无法满足内存分配需求&#xff0c;如…

35 字段类型不匹配 影响 使用索引?

前言 这是一个经常能够看到的问题, 又或者 经常在面试中碰到 如果 索引字段类型 不匹配, 然后 不会使用索引 这里 我们来看一下 具体的情况 测试表结构如下 CREATE TABLE tz_test (id int(11) unsigned NOT NULL AUTO_INCREMENT,field1 varchar(128) DEFAULT NULL,PRIMA…

开放领域问答机器人1

开放领域问答机器人是一种智能机器人&#xff0c;它不受限制&#xff0c;可以回答任何问题。这种机器人主要通过自然语言处理技术来理解用户的问题&#xff0c;并从大量的数据中获取相关信息&#xff0c;以提供准确的答案。它的应用领域广泛&#xff0c;包括客户服务、教育、医…

GS3661V1 3.7升压5V 3A SOT23-5封装 外置MOS 升压芯片 单节锂电升压5V 2.5-3A

GS3661V1 3.7升压5V 3A SOT23-5 外置MOS 升压芯片 单节锂电升压5V 2.5-3A

贝锐向日葵亮相云栖大会,携手无影推出全新“云桌面”功能

2023年10月31日-11月2日&#xff0c;一年一度的云栖大会如期举办&#xff0c;本届云栖大会主题为“计算&#xff0c;为了无法计算的价值”&#xff0c;国民级远程控制品牌“贝锐向日葵”亮相云栖大会&#xff0c;参与了以“云电脑”为主题的聚合话题活动。 活动现场&#xff0c…

Vue3组件

组件&#xff08;Component&#xff09;是 Vue.js 最强大的功能之一。 组件可以扩展 HTML 元素&#xff0c;封装可重用的代码。 组件系统让我们可以用独立可复用的小组件来构建大型应用&#xff0c;几乎任意类型的应用的界面都可以抽象为一个组件树&#xff1a; 每个 Vue 应用…