当前位置: 首页 > article >正文

linux的逻辑卷管理(Logical Volume Manager)

在对磁盘进行分区大小规划时有时往往不能确定这个分区要使用的总空间大小。而用fdisk对磁盘进行分区后每个分区的大小就已经固定了如果分区设置的过大会白白浪费磁盘空间分区设置的过小就会导致空间不够用的情况。这个时候就可以用到LVMLogical Volume Manager逻辑卷管理。一、LVM简介LVM是 Logical Volume Manager(逻辑卷管理)的简写LVM将若干个磁盘或者磁盘分区连接为一个整块的卷组形成一个存储池。管理员可以在卷组上任意创建逻辑卷并进一步在逻辑卷上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小并且可以对磁盘存储按照组的方式进行命名、管理和分配。假设有三块磁盘/dev/sdb、/dev/sdc和/dev/sdd用来划分逻辑卷LVM模型如图所示二、LVM基本术语通过LVM技术屏蔽了磁盘分区的底层差异在逻辑上给文件系统提供了一个卷的概念然后在这些卷上建立相应的文件系统。在了解LVM之前先熟悉LVM中几个常用的术语。1物理存储设备The physical media指系统的存储设备文件如/dev/hda1、/dev/sda等等。2物理卷physical volume简称PV物理卷可以是整个硬盘、硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID)是LVM的基本存储逻辑块但和基本的物理存储介质如分区、磁盘等比较却包含有与LVM相关的管理参数。3卷组Volume Group简称VG可以看成单独的逻辑磁盘建立在PV之上一个卷组中至少要包括一个PV在卷组建立之后可以动态的添加PV到卷组中。卷组的名称可以自定义。4PEphysical extent物理区域物理区域是物理卷中可用于分配的最小存储单元物理区域的大小默认为4MB。物理区域大小一旦确定将不能更改同一卷组中的所有物理卷的物理区域大小需要一致。5逻辑卷logical volume简称LV相当于物理分区。逻辑卷建立在卷组之上卷组中的未分配空间可以用于建立新的逻辑卷逻辑卷建立后可以动态的扩展或缩小空间。系统中的多个逻辑卷可以属于同一个卷组也可以属于不同的多个卷组。6LElogical extent逻辑区域逻辑区域是逻辑卷中可用于分配的最小存储单元逻辑区域的大小取决于逻辑卷所在卷组中的物理区域大小。LE的大小和PE的大小一样。7VGDAVolume Group Descriptor Area卷组描述符区域和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的卷组描述符区域中。VGDA包括以下内容PV描述符、VG描述符、LV描述符和一些PE描述符。三、安装LVM首先确定系统中是否安装了lvm工具[rootlocalhost ~]# rpm -qa | grep lvm lvm2-2.02.130-5.el7.x86_64 mesa-private-llvm-3.6.2-2.el7.x86_64 lvm2-libs-2.02.130-5.el7.x86_64查看结果可知系统已经安装了LVM管理工具如果命令没有输出则说明没有安装LVM管理工具则需要从网络下载或者从光盘装LVM rpm工具包。四、创建和管理逻辑卷常用命令任务PVVGLV创建pvcreatevgcreatelvcreate删除pvremovevgremovelvremove扫描列表pvscanvgscanlvscan显示属性pvdisplayvgdisplaylvdisplay显示相关信息pvsvgslvs扩展无vgextendLvextend缩减无vgreduceLvreduce对lv进行容量大小的调整lvresize4.1逻辑卷的创建过程1创建物理分区在使用LVM之前需要先划分磁盘分区也就是使用fdisk命令划分磁盘分区。不过在创建分区的时候需要指定分区类型为linux LVM对应的ID为8e其实LVM也能识别linux默认的分区类型83。添加三块5G大小的磁盘第一块磁盘的分区方法为2G大小的主分区和3G大小的逻辑分区第二块磁盘的分区方法为两个2G大小的逻辑分区第三块磁盘不分区。[rootlocalhost ~]# fdisk -l /dev/sdb[rootlocalhost ~]# fdisk -l /dev/sdc#让内核重读分区表 [rootlocalhost ~]# partprobe2创建物理卷pv[rootlocalhost ~]# pvcreate /dev/sdb1 /dev/sdb5 /dev/sdc5 /dev/sdc6 /dev/sdd [rootlocalhost ~]# pvdisplay [rootlocalhost ~]# pvscan [rootlocalhost ~]# pvs3创建卷组将物理卷/dev/sdb1,/dev/sdb5和/dev/sdc5加入卷组vg1将物理卷/dev/sdc6,/dev/sdd加入卷组vg2该卷组的PE尺寸为8MB。[rootlocalhost ~]# vgcreate vg1 /dev/sdb1 /dev/sdb5 /dev/sdc5 [rootlocalhost ~]# vgcreate -s 8M vg2 /dev/sdc6 /dev/sdd [rootlocalhost ~]# vgdisplay [rootlocalhost ~]# vgscan [rootlocalhost ~]# vgs4创建逻辑卷第一个逻辑卷的名字为lv1所属卷组为vg1大小为6G第二个逻辑卷的名字为lv2所属卷组为vg2大小为5G第三个逻辑卷的名字为lv3所属卷组为vg2该逻辑卷由100个PE组成。[rootlocalhost ~]# lvcreate -L 6G -n lv1 vg1 [rootlocalhost ~]# lvcreate -L 5G -n lv2 vg2 [rootlocalhost ~]# lvcreate -l 100 -n lv3 vg2 [rootlocalhost ~]# lvdisplay [rootlocalhost ~]# lvscan [rootlocalhost ~]# lvs5格式化逻辑卷创建文件系统并挂载将新建的逻辑卷lv1和lv2格式化为ext4的文件系统将lv3格式化为xfs的文件系统三个逻辑卷可分别自动挂载在/logical/lv1,/logical/lv2,/logical/lv3目录。[rootlocalhost ~]# mkfs.ext4 /dev/vg1/lv1 [rootlocalhost ~]# mkfs.ext4 /dev/vg2/lv2 [rootlocalhost ~]# mkfs.xfs /dev/vg2/lv3 [rootlocalhost ~]# mkdir -p /logical/{lv1,lv2,lv3} [rootlocalhost ~]# blkid [rootlocalhost ~]# vim /etc/fstab UUIDc47eb7a0-013d-4dc2-8b6c-4441186583e7 /logical/lv1 ext4 defaults 0 0 UUID1f7f9b71-c99f-41fe-b647-25f3a18e875f /logical/lv2 ext4 defaults 0 0 UUIDbaa50c7f-de65-4baa-8bd9-a89f611fd9f3 /logical/lv3 xfs defaults 0 0 [rootlocalhost ~]# mount -a [rootlocalhost ~]# df -h4.2修改逻辑卷的大小扩大需要添加新的物理卷到逻辑卷所在卷组xfs的文件系统只支持扩大逻辑卷ext4的文件系统支持扩大和缩小逻辑卷。1缩小ext4文件系统类型的逻辑卷假设缩小逻辑卷lv1为3G先卸载逻辑卷[rootlocalhost ~]# umount /logical/lv1/如果无法卸载显示设备正忙则是有进程占用该挂载点目录使用如下命令来终止占用进程fuser -m -k 挂载点目录。[rootlocalhost ~]# e2fsck -f /dev/vg1/lv1 [rootlocalhost ~]# resize2fs /dev/vg1/lv1 3G [rootlocalhost ~]# lvreduce -L 3G /dev/vg1/lv1 或者[rootlocalhost ~]# lvresize -L 3G /dev/vg1/lv1 [rootlocalhost ~]# mount -a [rootlocalhost ~]# df -h2扩大ext4文件系统类型的逻辑卷假设扩大逻辑卷lv2为6G。首先得查看剩余卷组容量是否足够逻辑卷的扩大。[rootlocalhost ~]# vgs #可不卸载 [rootlocalhost ~]# lvextend -L 6G /dev/vg2/lv2 [rootlocalhost ~]# resize2fs /dev/vg2/lv23缩小和扩大ext4文件系统的逻辑卷不论是扩大还是缩小均可以使用命令lvresize同时lvresize的一个-r的选项可以实现执行lvresize的时候一并执行resize2fs。#假设将lv1缩小至2G [rootlocalhost ~]# lvresize -L 2G -r /dev/vg1/lv1 Do you want to unmount /logical/lv1? [Y|n] y4扩大xfs文件系统的逻辑卷#假设扩大lv3的大小为1600M首先得查看剩余卷组容量是否足够逻辑卷的扩大 [rootlocalhost ~]# vgs #查看之后发现lv3的卷组vg2的容量不够所以得先扩大卷组的容量 [rootlocalhost ~]# fdisk /dev/sdc [rootlocalhost ~]# pvcreate /dev/sdc7 [rootlocalhost ~]# vgextend vg2 /dev/sdc7 [rootlocalhost ~]# vgs [rootlocalhost ~]# lvextend -L 1600M /dev/vg2/lv3 [rootlocalhost ~]# xfs_growfs /dev/vg2/lv35假设某个磁盘或者分区被损坏假设要将/dev/sdd从卷组中删除先查看该磁盘所在的卷组有没有多余的空间[rootlocalhost ~]# vgs如果损坏磁盘所在的卷组没有多余空间则准备好一个和该磁盘大小相同的分区或者是磁盘这里假设有一个分区大小为5G的分区/dev/sda5。[rootlocalhost ~]# pvcreate /dev/sda5 [rootlocalhost ~]# vgextend vg2 /dev/sda5 #将/dev/sdd中的PE全部移动到/dev/sda5中 [rootlocalhost ~]# pvmove /dev/sdd /dev/sda5 [rootlocalhost ~]# vgreduce vg2 /dev/sdd4.3删除物理卷、卷组和逻辑卷先删除逻辑卷再删除卷组最后再删除物理卷。在删除的同时需要把/etc/fstab里面的相关挂载信息删除或者注释否则系统会无法正常启动。[rootlocalhost ~]# umount /logical/{lv1,lv2,lv3} [rootlocalhost ~]# lvremove /dev/vg1/lv1 /dev/vg2/lv2 /dev/vg2/lv3 [rootlocalhost ~]# vgremove vg1 vg2 [rootlocalhost ~]# pvremove /dev/sda5

相关文章:

linux的逻辑卷管理(Logical Volume Manager)

在对磁盘进行分区大小规划时,有时往往不能确定这个分区要使用的总空间大小。而用fdisk对磁盘进行分区后,每个分区的大小就已经固定了,如果分区设置的过大,会白白浪费磁盘空间;分区设置的过小,就会导致空间不…...

提示词失效?双色调渲染偏色?深度解析Midjourney色彩空间转换机制,精准锁定sRGB→Lab双色域锚点

更多请点击: https://codechina.net 第一章:提示词失效?双色调渲染偏色?深度解析Midjourney色彩空间转换机制,精准锁定sRGB→Lab双色域锚点 当用户在Midjourney中输入高饱和度提示词(如“vibrant cyan neo…...

告别频繁中断!华大HC32F4A0串口DMA接收实战:用TIMEOUT中断替代STM32的IDLE

HC32F4A0串口DMA接收优化:TIMEOUT中断替代STM32 IDLE的工程实践 对于习惯了STM32开发环境的工程师而言,华大半导体的HC32F4A0系列微控制器在串口通信处理上存在一个显著差异——缺少IDLE中断机制。这一差异在RS485通信等需要帧完整性判断的场景中尤为突出…...

事件相机数据处理与GRU网络硬件加速技术解析

1. 事件相机与GRU网络硬件加速概述事件相机(Event Camera)是一种革命性的视觉传感器,其工作原理与传统帧式相机截然不同。它通过独立工作的像素阵列异步检测亮度变化,当某个像素的亮度变化超过预设阈值时,会立即生成一…...

KAN网络实战:5分钟看懂如何用它‘可视化’发现物理定律(以安德森定域化为例)

KAN网络:用可视化方法发现物理定律的AI协作者 在科学研究的前沿,物理学家们常常需要从海量数据中识别出隐藏的规律和模式。传统的人工智能方法虽然能够提供预测结果,却往往难以解释其内部机制,这让科学家们难以信任和验证这些&quo…...

别再乱升级了!在CentOS 7上优雅共存Python 2和3.10.1的完整实践

在CentOS 7上实现Python 2与3.10.1和谐共存的终极指南 当老旧系统遇上现代开发需求,Python版本冲突成为许多开发者的噩梦。CentOS 7默认搭载的Python 2.7与当下项目所需的Python 3.10特性之间,似乎总有一场不可避免的战争。但真相是——它们完全可以和平…...

DRAM内存计算技术PUDTune:原理、优化与应用

1. 内存计算与DRAM技术背景在传统冯诺依曼架构中,数据需要在处理器和内存之间频繁搬运,这种"内存墙"问题已成为制约计算性能提升的主要瓶颈。内存计算(In-Memory Computing)技术通过直接在存储介质中执行计算操作&#…...

RK3588嵌入式主板如何以ARM架构重塑智能医疗设备设计

1. 项目概述:当医疗设备遇上“能效比”难题在医疗设备这个对稳定性和可靠性要求近乎苛刻的领域,硬件平台的每一次选择都像是一场精密的外科手术,需要权衡性能、功耗、尺寸、成本与长期供应。过去很长一段时间,当设备需要更强的算力…...

如何快速突破百度网盘限速:高效下载工具终极指南

如何快速突破百度网盘限速:高效下载工具终极指南 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 百度网盘作为国内最流行的云存储平台,其下载速度限制一…...

CCoE专家协作框架:垂直领域AI落地的工程化范式

1. 项目概述:当通用大模型遇上专业深水区,CCoE不是“打补丁”,而是重构知识协作方式你有没有试过让一个刚读完《五年高考三年模拟》的学霸,立刻去给三甲医院心内科会诊?或者让一位通晓全球法律体系的法学教授&#xff…...

Logistic Regression实战指南:Python构建可解释二分类模型

1. 这不是数学课,是解决真实问题的工具链——从“预测用户是否会点击广告”说起你手头有一份电商后台导出的用户行为日志:20万条记录,每条包含年龄、性别、浏览时长、页面跳转次数、是否收藏过商品、最近一次下单距今天数……最后一列是标签&…...

告别CNN局部视野:用UNETR的Transformer编码器搞定三维医学图像分割(附PyTorch+MONAI实战)

突破CNN局限:UNETR在三维医学图像分割中的Transformer实践指南 医学图像分割一直是计算机辅助诊断系统中的核心环节,从肿瘤定位到器官轮廓勾画,精准的分割结果直接影响后续分析的可靠性。传统基于CNN的方法虽然在2D图像处理中表现出色&#x…...

别再只盯着Ra了!从轴承到晶圆,聊聊三维粗糙度Sa怎么测更准

从Ra到Sa:三维粗糙度测量的技术革命与实操指南 在精密制造领域,表面粗糙度测量正经历一场静默但深刻的范式转移。当半导体工艺迈入5纳米时代,当轴承寿命要求突破百万转大关,传统二维线扫描的Ra参数越来越难以捕捉微观形貌的全貌。…...

别再手动开两个终端了!群晖Docker部署MCSM面板后,配置Systemd服务实现开机自启动详解

群晖Docker部署MCSM面板的终极运维方案:Systemd服务配置全指南 在家庭服务器和小型私有云环境中,Minecraft服务器的管理一直是个既有趣又充满挑战的话题。MCSM面板作为一款开源的Minecraft服务器管理工具,凭借其友好的Web界面和丰富的功能&am…...

告别黑白DEM!GeoServer发布地形图的样式美化实战(附完整SLD代码)

告别黑白DEM!GeoServer发布地形图的样式美化实战(附完整SLD代码) 当你在GeoServer中发布DEM数据时,是否遇到过这样的困扰:明明精心准备了高程数据,预览时却只能看到一片单调的灰度图像?这种&quo…...

通过用量看板分析不同模型在taotoken上的实际token消耗差异

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过用量看板分析不同模型在taotoken上的实际token消耗差异 效果展示类,分享一名开发者在完成一个多轮对话项目后&…...

保姆级教程:在RK3588开发板上用Python部署NanoTrack,实测120FPS真香

保姆级教程:在RK3588开发板上用Python部署NanoTrack,实测120FPS真香 RK3588作为当前嵌入式AI领域的旗舰级芯片,其强大的NPU算力让边缘设备也能流畅运行复杂的视觉算法。本文将手把手带你完成NanoTrack模型从转换到部署的全流程,实…...

稀疏记忆微调:在Transformer权重中编码任务专属结构化记忆

1. 这不是又一篇“加个正则就叫持续学习”的水文——我们来拆解这篇真正动了底层参数结构的稀疏记忆微调如果你最近刷过arxiv或者NeurIPS、ICLR的预印本列表,大概率见过标题里带“Continual Learning”“Sparse”“Memory”这几个词组合出现的论文。但说实话&#x…...

随机森林在精准农业中的落地实践:地理空间建模与田间部署

1. 项目概述:当随机森林遇上农田里的厘米级变量在华北平原某农场的冬小麦田里,我第一次用随机森林模型预测氮肥施用量时,手里的无人机刚飞完第三圈,地面传感器网络正把土壤电导率、含水量、温度的实时数据推送到边缘计算节点。这不…...

AI Coding 时代的工程策略革命:为什么 Monorepo 成了 AI 的“最佳拍档“?

AI Coding 时代的工程策略革命:为什么 Monorepo 成了 AI 的"最佳拍档"? 导读:当 AI 开始替你写代码,你的工程架构是否还在"拖后腿"?本文从 AI 的视角重新审视工程策略,深度解析为什么 …...

别再纠结Unity和Godot了!用Python写游戏,从零开始30分钟搞定你的第一个Ren`Py视觉小说

用Python写游戏:30分钟打造你的第一款RenPy视觉小说 当Python开发者想要涉足游戏创作时,往往会面临一个尴尬的选择:要么学习C#配合Unity,要么用GDScript适应Godot,这些额外的语言学习曲线常常让人望而却步。但鲜为人知…...

别再手动打包了!用Jenkins Pipeline + Docker + Gitee自动化部署Spring Boot项目(附完整Jenkinsfile)

Jenkins Pipeline实战:从代码提交到容器化部署的全自动化实践 对于Java开发者而言,每次代码变更后的打包、测试、构建镜像和部署流程往往需要耗费大量重复时间。我曾在一个中型项目中统计过,团队每月平均执行这类手动操作超过200次&#xff0…...

LERF技术解析:基于NeRF与CLIP的3D场景语言查询与语义分割

1. 项目概述:当NeRF遇见自然语言最近在三维重建和生成领域,一个名为LERF(Language Embedded Radiance Fields)的技术组合引起了不小的关注。简单来说,它做了一件听起来很科幻的事:你给一段文字描述&#xf…...

四旋翼DIY实战:用STM32和ICM20602实现Mahony姿态解算(附完整代码)

四旋翼DIY实战:用STM32和ICM20602实现Mahony姿态解算 1. 项目背景与硬件选型 四旋翼飞行器的核心在于稳定控制,而姿态解算是实现这一目标的基础。ICM20602作为一款六轴IMU传感器,集成了三轴加速度计和三轴陀螺仪,配合STM32系列微控…...

从硬复位到裸机运行:一张图看懂ZYNQ7000系列启动全流程(附Stage0/1/2详细解析)

从硬复位到裸机运行:ZYNQ7000启动全流程深度解析 当一块ZYNQ7000芯片首次通电时,内部究竟发生了什么?这个看似简单的上电过程,实际上隐藏着一套精密的启动机制。对于FPGA/SOC开发者而言,理解这套机制不仅是掌握ZYNQ开发…...

老服务器CPU不支持x86-64-v2?手把手教你降级Hasura v2.24.0成功避坑

老服务器CPU不支持x86-64-v2?手把手教你降级Hasura v2.24.0成功避坑 当你在老旧服务器上部署Hasura时,突然遭遇"CPU does not support x86-64-v2"的错误提示,这可能是最令人沮丧的时刻之一。这种情况通常发生在使用较老CPU架构的物…...

告别PS和蓝湖!用PxCook离线搞定前端切图与标注(附学成在线实战)

前端开发者的效率革命:PxCook离线工作流全解析 在快节奏的前端开发领域,效率工具的选择往往决定了项目交付的速度和质量。传统的工作流程中,设计师使用Photoshop完成设计稿后,前端开发者需要反复在PS中测量尺寸、提取颜色值、导出…...

Java SSRF漏洞深度解析:从URLConnection安全风险到多层防御实战

1. 项目概述:从两个看似简单的API说起在Java开发中,URLConnection和openStream()这两个方法几乎是每个开发者入门网络编程时最早接触的API。它们简单、直观,几行代码就能实现从网络获取数据的功能。然而,正是这种“简单易用”的特…...

java springboot-vue框架的社区残障人士服务平台的设计与实现

目录同行可拿货,招校园代理 ,本人源头供货商项目背景技术架构核心功能模块技术实现亮点社会价值项目技术支持源码获取详细视频演示 :同行可合作点击我获取源码->->进我个人主页-->获取博主联系方式同行可拿货,招校园代理 ,本人源头供货商 项目背景 社区残…...

别再死记硬背公式了!用Matlab Robotics Toolbox玩转机器人姿态(旋转矩阵/欧拉角/四元数互转)

用Matlab Robotics Toolbox解锁机器人姿态转换的实战密码 在机器人学和计算机视觉领域,姿态表示就像工程师的第二语言。但当我们面对旋转矩阵、欧拉角和四元数这三种"方言"时,很多人会陷入公式记忆的泥潭。实际上,理解它们之间的关…...