LVM逻辑卷与条带卷管理

2023-11-18

逻辑卷管理器LVM(Logical Volume Manager)在硬盘分区和文件系统之间添加了一个逻辑层,提供了一个抽象的卷组,允许多块硬盘进行卷组合并,不必关注物理硬盘设备的底层架构和布局,实现对硬盘资源的动态调整。

条带化逻辑卷在物理卷上平均写入数据,当数据写入条带化逻辑卷时,数据将条带化到所有磁盘上,从而提高IO性能

1. 创建物理卷

lsblk	#查看添加好的物理硬盘
pvcreate /dev/sd[a-d]	#创建物理卷
pvs	#查看物理卷信息
pvdisplay	#查看详细信息

2.创建卷组

vgcreate vg_data /dev/sd[a-d]	#创建卷组
vgs	#查看卷组信息
vgdisplay	#查看详细信息

3.创建逻辑卷/条带卷

lvcreate -L 20G -n lv_data vg_data	#创建逻辑卷(20G大小,命名为lv_data)
lvcreate -L 20G -i 4 -I 128k -n lv_data vg_data /dev/sd[a-d]	#创建条带卷(20G大小,4个条带数量,128k单个条带大小)
lvdisplay	#查看详细信息
lvdisplay /dev/vg_data/lv_data -m	#查看条带卷信息

4.验证条带卷使用的磁盘

dmsetup deps /dev/vg_data/lv_data	#列出磁盘中的major和minor号对照磁盘是否一致

5.格式化并挂载条带卷

mkdir /data
mkfs.xfs -f /dev/vg_data/lv_data	#格式化条带卷(设备映射文件/dev/卷组名称/逻辑卷名称)
mount /dev/vg_data/lv_data /data/	#挂载条带卷

XFS文件系统自身可使用xfs_growfs命令进行磁盘扩容,但推荐使用ext4,XFS与LVM兼容性不是很好。

6.扩容以及缩容逻辑卷

umount /data	#提前卸载设备
lvextend -L 20G /dev/vg_data/lv_data	#扩容20G
e2fsck -f /dev/vg_data/lv_data	#核对系统完整性(支持ext4/ext3/ext2格式)
resize2fs /dev/vg_data/lv_data	#手动同步到系统内核(支持ext4/ext3/ext2格式)
mount -a	#重新挂载

e2fsck -f /dev/vg_data/lv_data	#提前核对系统完整性
resize2fs /dev/vg_data/lv_data	#提前通知系统缩容
lvreduce -L 20G /dev/vg_data/lv_data	#缩容20G
mount -a	#重新挂载

7.卸载并还原磁盘

umount /data	#卸载条带卷
lvremove /dev/vg_data/lv_data	移除条带卷
vgremove /dev/vg_data	#移除卷组
pvremove /dev/sd[a-d]	#移除物理卷

8.快照功能

先确保卷组有存储空间,然后卸载设备(一般操作都需要提前umount)

lvcreate -L 20M -s -n snapshot /dev/vg_data/lv_data	#创建snapshot快照
lvconvert --merge /dev/vg_data/snapshot	#回复快照(成功后自动删除)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LVM逻辑卷与条带卷管理 的相关文章

  • Linux命令列出所有可用命令和别名

    是否有一个 Linux 命令可以列出该终端会话的所有可用命令和别名 就好像您输入 a 并按下 Tab 键一样 但针对的是字母表中的每个字母 或者运行 别名 但也返回命令 为什么 我想运行以下命令并查看命令是否可用 ListAllComman
  • 进程名称长度的最大允许限制是多少?

    进程名称允许的最大长度是多少 我正在读取进程名称 proc pid stat文件 我想知道我需要的最大缓冲区 我很确定有一个可配置的限制 但就是找不到它在哪里 根据man 2 prctl http man7 org linux man pa
  • 如何通过代理将套接字连接到http服务器?

    最近 我使用 C 语言编写了一个程序 用于连接到本地运行的 HTTP 服务器 从而向该服务器发出请求 这对我来说效果很好 之后 我尝试使用相同的代码连接到网络上的另一台服务器 例如 www google com 但我无法连接并从网络中的代理
  • 确保 config.h 包含一次

    我有一个库项目 正在使用 Linux 中的 autotools 套件移植到该项目 我对自动工具很陌生 本周 我已经了解了其操作的基础知识 我有一个关于如何保留内容的问题config h免遭重新定义 我惊讶地发现生成的config h文件也没
  • 如何在 Linux 主机上的 docker 容器中挂载目录 [重复]

    这个问题在这里已经有答案了 我想将一个目录从 docker 容器挂载到本地文件系统 该目录是网站根目录 我需要能够使用任何编辑器在本地计算机上编辑它 我知道我可以跑docker run v local path container path
  • 无法仅在控制台中启动 androidstudio

    你好 我的问题是下一个 我下载了Android Studio如果我去 路径 android studio bin 我执行studio sh 我收到以下错误 No JDK found Please validate either STUDIO
  • touch命令在一个目录下创建多个文件(不同名称)

    我想制作一个在 bash 中创建目录和文件结构的脚本 我尝试过这样的事情 mkdir p 1 2 touch 1 2 a b c a b c 应该是在一个命令或其他命令中创建的文件 但由于某种原因 结构是这样的 current folder
  • 操作系统什么时候清除进程的内存

    进程在某些操作系统上成功或异常终止 操作系统何时决定擦除分配给该进程的内存 数据 代码等 在退出时或当它想为新进程分配内存时 这个清除内存分配过程在所有操作系统 winXP Win7 linux Mac 上都相同吗 据我了解 页表具有该进程
  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将
  • Linux shell 脚本:十六进制数字到二进制字符串

    我正在 shell 脚本中寻找一些简单的方法来将十六进制数字转换为 0 和 1 字符的序列 Example 5F gt 01011111 是否有任何命令或简单的方法来完成它 或者我应该为其编写一些开关 echo ibase 16 obase
  • 如何让“grep”从文件中读取模式?

    假设有一个很大的文本文件 我只想打印与某些模式不匹配的行 显然 我可以使用egrep v patter1 pattern2 pattern3 现在 如果所有这些模式都在一个文本文件中怎么办 最好的制作方法是什么egrep从文件中读取模式 g
  • 适用于 KDE 和 Gnome 的 Gui [重复]

    这个问题在这里已经有答案了 我想为一个现在是 CLI 的应用程序编写一个 gui 它需要在 KDE 和 Gnome DE 中 看起来不错 充分利用用户的外观设置 如果我选择 Qt 或 GTK 我能够做到这一点吗 它们与两个 DE 集成良好吗
  • 从多线程程序中调用 system()

    我们正在开发一个用 C 编写的多线程内存消耗应用程序 我们必须执行大量的 shellscript linux 命令 并获取返回码 读完之后article http www linuxprogrammingblog com threads a
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构
  • Linux shell 脚本中的 while 循环超时

    这工作正常 无限循环 while TRUE do printf done 我在尝试着timeout this while loop与timeout命令 所有这些都不起作用 timeout 5 while TRUE do printf don
  • 没有可用的符号表信息

    我正在测试第三方的库 它崩溃了 当我想查看崩溃的原因时 我的 gdb 告诉我没有可用的调试符号 Program received signal SIGSEGV Segmentation fault Switching to Thread 0
  • arm-linux-gnueabi 编译器选项

    我在用 ARM Linux gnueabi gcc在 Linux 中为 ARM 处理器编译 C 程序 但是 我不确定它编译的默认 ARM 模式是什么 例如 对于 C 代码 test c unsigned int main return 0x
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • 嵌入式Linux poll()不断返回

    我有一个特别的问题 当我知道没有什么可读时 民意调查不断返回 因此设置如下 我有 2 个文件描述符 它们构成fd设置民意调查监视 一种用于引脚从高到低的变化 GPIO 另一个用于代理输入 代理输入出现问题 处理的顺序是 启动main函数 然

随机推荐

  • 靶机练习 No.23 Vulnhub靶机DarkHole 2 .git信息泄露 .bash_history历史命令提权

    靶机练习 No 23 Vulnhub靶机DarkHole 2 0x00 环境准备 0x01 信息收集 步骤一 ip 探测 步骤二 端口扫描 0x02 漏洞挖掘 思路一 web漏洞挖掘 git信息收集 思路二 22ssh 爆破 步骤一 git
  • CentOS7 运维 - 系统基础优化大全

    CentOS7 运维 系统基础优化大全 一 更换Yum源 国内源地址 备份CentOS官方源 使用阿里yum源 使用本地yum源 使用清华yum源 推荐 二 防火墙 临时关闭防火墙 永久关闭防火墙 关闭SELinux 临时关闭 永久关闭 三
  • Linux下SVN操作常用命令

    1 检出 svn co http 路径 目录或文件的全路径 本地目录全路径 username 用户名 password 密码 svn co svn 路径 目录或文件的全路径 本地目录全路径 username 用户名 password 密码
  • FLUKE DSX-5000 CH线缆测试仪怎么升级到新国标

    FLUKE DSX 5000 CH线缆测试仪怎么升级新标准GB T50312 2016 下面山东朗坤小编带给您FLUKE DSX 5000 CH线缆测试仪升级带有新标准软件的整体步骤 一起来学习吧 升级到5 1之后必须使用Linkware9
  • 全网最全总结,有源码,期望、有效值、方差、相关系数、自相关函、互相关函数,还分不清吗

    原文来自公众号 工程师看海 1 期望 期望也就是平均值 是一个数值 反应的是随机变量平均取值的情况 期望也叫做加权平均 在信号中代表直流分量 当随机变量X满足均匀分布时 对一段长度为N的离散序列X x n n 0 1 2 N 1 其期望E
  • 深度学习-1.1卷积

    卷积是一种数学运算 教科书上一般定义 首先有两个函数函数 f g 然后这两个函数的卷积 f g 如下 连续形式 离散形式 1 先将函数g t 延y轴翻转为g t 这是 卷 的由来 2 其中n是卷积的参数 将g t 平移n个长度 变为g n
  • Lua调用C的动态库步骤及接口分析

    Lua调用C的动态库 C语言可以完成一些lua不好实现的功能 当程序主体使用lua完成时 便需要掌握该技巧调用C来帮助我们达到目的 通过调用C的动态库简化操作流程 大致流程如下 使用C语言编写方法提供给lua调用 将C文件打包成动态库 lu
  • excel中怎样将数据合并到一个单元格用逗号隔开

    打开需要操作的Excel表格 将数据合并在一个单元格 并用逗号隔开 如图所示 excel中怎样将数据合并到一个单元格用逗号隔开 选中B1单元格 并输入分隔符号逗号 excel中怎样将数据合并到一个单元格用逗号隔开 单击B1单元格 向下拖动B
  • 使用 ChatGPT 辅助学习——为自己找一个老师

    我们每个人都有许多标签 例如高中生 成绩中等 文科 根据这些标签我和其他拥有相同标签的人分配了相同的教程 班级和老师 这可以带来效率上的提升 因为同一份教程 老师就可以服务几十上百人 而无须为每个人定制 但也正是这样造成了忽略个性的问题 而
  • STM32F103野火之中断

    顾名思义STM32中中断分为内核中断和外部中断 内核中断称为 异常 外部中断称为 中断 IPR寄存器STM只使用了高四位低四位没有使用所以共有2 4种情况 EXTI的功能框图分为两个部分 红色轨迹 模式为中断控制 有中断控制寄存器位决定 绿
  • Hyperledger Fabric 示例启动流程(二)

    test network启动流程 1 启动测试网络 此命令创建一个由两个对等节点和一个排序节点组成的Fabric网络 network sh up createOrgs 使用cryptogen工具或者Fabric CA来创建Org1 Org2
  • 嵌入式linux如何下载程序,Linux平台的下载程序-嵌入式系统-与非网

    有许多网络文件下载工具可以在Windows平台下很好地工作 如NetAnts 网际快车 TelePro等 还有像WebZip那样功能强大的离线浏览器 这些工具使我们可以在Windows环境下很轻松地下载网站上的文件 目录 网站的一部分 甚至
  • 大数据抗疫的“洪荒之力”:多地政府借力大数据技术,多家企业上马大数据产品...

    来源 数据猿 ID datayuancn 当心 几十万 3M口罩 全是假货 可能会携带病毒细菌 世上有两样东西不能直视 一是太阳 二是人心 生死之间 利益之前 最不可低估的就是人性的恶 目录精要 武汉火神山医院利用天翼云大数据检测疫情 潍坊
  • vscode运行cpp文件:检测到 #include 错误。请更新 includePath。已为此翻译单元(E:\C++ Code\test1\test1\test1.cpp)禁用波形曲线。

    刚为vscode配置好C 编译环境准备刷leetcode 结果写cpp文件时发现 include头文件总是报错 我就很迷惑了 include
  • Debian10常用命令

    文章目录 1 常用文件路径 2 用户和组管理 3 网络配置 4 主机名修改 5 vim编辑器 6 文件的操作 7 关机命令 1 常用文件路径 网卡配置文件 etc network interfaces dns配置文件 etc resolv
  • IP多播概念和实现

    目录 基本概念 硬件多播 IGMP和多播路由选择协议 基本概念 IP多播 曾译为组播 的目的是更好地支持一对多通信 即一个源点发送到多个终点 例如实时信息的交付 新闻 股市行情 软件更新 交互式会议及其他多媒体通信 下图中的多播组有90个成
  • SQL基础 读书笔记 第一章

    SQL基础教程 笔记 第一章 表格的新建 修改和删除 1 DDL DML DCL DDL 数据定义语言 CREATE DROP ALTER ALTER 修改数据库和表等对象的结构 比如增加 修改约束条件 比如 修改字段属性 INT 改为CH
  • 以OpenGL/ES视角介绍gfx-hal(Vulkan) Shader/Program接口使用

    文档列表见 Rust 移动端跨平台复杂图形渲染项目开发系列总结 目录 背景 The right way to tackle this in Vulkan is to use resource descriptors A descriptor
  • java关于通用分页参数的传递方式

    1 第一种 通过一个基础类 基础类中是所有类共有的属性 把pageSize和pageNum都放在基础类中 其他类全部继承基础类 如下 QuestionActivitiQueryReq类继承BasePage类 BasePage类就是专门用来放
  • LVM逻辑卷与条带卷管理

    逻辑卷管理器LVM Logical Volume Manager 在硬盘分区和文件系统之间添加了一个逻辑层 提供了一个抽象的卷组 允许多块硬盘进行卷组合并 不必关注物理硬盘设备的底层架构和布局 实现对硬盘资源的动态调整 条带化逻辑卷在物理卷