Linux逻辑卷管理(LVM)

2023-10-27

一、逻辑卷(LV)、卷组(VG)、物理卷(PV)关系
逻辑卷(LV)是卷组(VG)的一部分,可以在卷组大小内动态增加,每个卷组可分为多个逻辑卷。
卷组由多个物理卷(PV)组成。每个物理卷是一个块设备(磁盘分区等)。

二、LVM存储
1.准备物理设备
可以是磁盘分区,也可以是整个磁盘、RAID阵列或SAN磁盘。
2.创建PV

sudo pvcreate /dev/设备名1 /dev/设备名2

3.创建VG

sudo vgcreate vg名 /dev/设备名1 /dev/设备名2

设备必须已被创建为PV。
4.创建LV

sudo lvcreate -n lv名 -L 大小 vg名

这一步的选项有:
-L后接以K、M、G为单位的大小
-l后接整数,整数值代表物理区块(PE)的个数,PE为物理卷的最小存储的整块数据,LV中的逻辑区块(LE)对应PE,默认情况一个LE映射到一个PE,备份情况下一个LE对应两个PE。
5.添加文件系统

sudo mkfs -t 文件系统类型 /dev/卷组名/逻辑卷名 

6.永久挂载到文件系统
fstab文件中第一个字段指定设备,填写/dev/卷组名/逻辑卷名 。

三、删除逻辑卷
删除前可发出以下命令查看LV、VG、PV信息

sudo pvdisplay         # 可带参数指定具体设备名
sudo vgdisplay         # 可带参数指定具体卷组名
sudo lvdisplay         # 可带参数指定具体逻辑卷名

1.取消LV的挂载
删除/etc/fstab中相应条目并手动取消挂载:

sudo umount 挂载点

2.删除LV

sudo lvremove /dev/卷组名/逻辑卷名(或/dev/mapper/卷组名-逻辑卷名)

3.删除VG

sudo vgremove 卷组名

4.删除PV

sudo pvremove /dev/设备名

四、扩展和缩减卷组
1.扩展卷组
首先创建一个物理卷,之后发出以下命令:

sudo vgextend vg名 /dev/已被创建为物理卷的设备名

2.缩减卷组
首先将要缩减的物理卷中的内容转移到同vg的空闲PE中,转移前最好备份:

sudo pvmove /dev/设备名

之后从VG中删除PV:

sudo vgreduce vg名 /dev/设备名

五、扩展逻辑卷
1.使用vgdisplay查看vg中的剩余空间。
2.sudo lvextend -r -L +xxxG /dev/卷组名/LV名
选项如下:
-L后加以K、M、G为单位的大小,有+时代表扩大xxx大小,没+时代表扩大为xxx大小。
-l后加PE个数,有+时代表扩大xxx大小,没+时代表扩大为xxx大小。也可写+xx%free代表把vg中当前剩余空间的xx%添加到LV中。
-r代表扩展当前文件系统类型到新加的空间。

以上的/dev/卷组名/逻辑卷名在有些机器上为/dev/mapper/VG名-LV名。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux逻辑卷管理(LVM) 的相关文章

  • PyPI 上的轮子平台约束有什么限制吗?

    是否有任何地方 PEP 或其他地方 声明关于 Linux 轮子上传范围的限制 PyPI http pypi io 应该有 具体来说 上传是否被认为是可接受的做法linux x86 64轮子到 PyPI 而不是manylinux1 x86 6
  • 使用 inotify 的正确方法是什么?

    我想使用inotifyLinux 上的机制 我希望我的应用程序知道文件何时aaa被改变了 您能给我提供一个如何做到这一点的示例吗 文档 来自监视文件系统活动 inotify https developer ibm com tutorials
  • 如何将后台作业的输出分配给 bash 变量?

    我想在 bash 中运行后台作业并将其结果分配给一个变量 我不喜欢使用临时文件 并且希望同时运行多个类似的后台任务 root root var echo hello world root root echo var hello world
  • linux下写入后崩溃

    如果我使用 write 将一些数据写入磁盘上的文件会发生什么 但我的应用程序在刷新之前崩溃了 如果没有系统故障 是否可以保证我的数据最终会刷新到磁盘 如果您正在使用write 并不是fwrite or std ostream write 那
  • 在 Linux 上访问 main 之外的主要参数

    是否可以访问参数main在外面main 即在共享库构造函数中 在 Linux 上除了通过解析之外 proc self cmdline 您可以通过将构造函数放入 init array部分 功能在 init array 不像 init 使用相同
  • Linux“屏幕”的 Windows 等效项还是其他替代方案?

    我正在寻找一种在 Windows 环境中控制程序的方法 我希望它与 Linux 软件有点相似 screen 我搜索的原因是我需要使用标识符启动一个程序 在 Windows 上 这样我以后就能够关闭该特定程序 而无需关闭其他任何程序 即使实际
  • 如何从 Linux 内核模块获取使用计数?

    我对正在开发的内核模块的使用计数有疑问 我想打印它以进行调试 如何从模块代码中获取它 有问题的内核版本 Linux 2 6 32 module refcount http lxr linux no linux v2 6 34 1 inclu
  • 将node.js +expressjs应用程序的NODE_ENV设置为ubuntu下的守护进程

    我按照这些说明让守护进程正常工作 http kevin vanzonneveld net techblog article run nodejs as a service on ubuntu karmic http kevin vanzon
  • 使用 ProcessBuilder 运行 shell 脚本

    我正在尝试使用 Java 和 ProcessBuilder 运行脚本 当我尝试运行时 我收到以下消息 error 2 没有这样的文件或目录 我不知道我做错了什么 但这是我的代码 ps 我尝试只执行不带参数的脚本 错误是相同的 String
  • 在 Linux 控制台中返回一行?

    我知道我可以返回该行并用以下内容覆盖其内容 r 现在我怎样才能进入上一行来改变它呢 或者有没有办法打印到控制台窗口中的特定光标位置 我的目标是使用 PHP 创建一些自刷新的多行控制台应用程序 Use ANSI 转义码 http en wik
  • 为什么docker容器提示“权限被拒绝”?

    我使用以下命令来运行 docker 容器 并从主机映射目录 root database 到容器 tmp install database docker run it name oracle install v root database t
  • 如何在文件夹中的 xml 文件中 grep 一个单词

    我知道我可以使用 grep 在这样的文件夹中的所有文件中查找单词 grep rn core 但我当前的目录有很多子目录 我只想搜索当前目录及其所有子目录中存在的所有 xml 文件 我怎样才能做到这一点 我试过这个 grep rn core
  • 如何将 elf 解释器(ld-linux.so.2/ld-2.17.so)构建为静态库?

    如果我的问题不准确 我深表歉意 因为我没有太多 Linux 相关经验 我目前正在构建一个 Linux 从头开始 主要遵循 linuxfromscratch org 版本的指南 7 3 我遇到了以下问题 当我构建可执行文件时 获取一个称为 E
  • 为什么默认情况下不启用 arp 忽略/通告 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一个需要经验才能回答的具体问题 为什么 arp ignore arp announce 在 Linux 安装 例如 debian 上默认不启用 有
  • 运行 shell 命令并将输出发送到文件?

    我需要能够通过 php 脚本修改我的 openvpn 身份验证文件 我已将我的 http 用户设置为免通 sudoer 因为这台机器仅在我的家庭网络中可用 我目前有以下命令 echo shell exec sudo echo usernam
  • pthread_self() 返回的线程 ID 与调用 gettid(2) 返回的内核线程 ID 不同

    这句话来自于pthread self 的手册页 http linux die net man 3 pthread self 那么 我应该根据什么来决定是否应该使用pthread self or gettid确定哪个线程正在运行该函数 两者都
  • 如何在linux中使用iptables将http和https流量转发到透明代理[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题似乎不是关于主要由程序员使用的特定编程问题 软件算法或软件工具 help on topic 如果您认为该问题与主题相关另一个 St
  • 为什么 call_usermodehelper 大多数时候都会失败?

    从内核模块中 我尝试使用 call usermodehelper 函数来执行可执行文件 sha1 该可执行文件将文件作为参数并将文件的 SHA1 哈希和写入另一个文件 名为输出 可执行文件完美运行 int result 1 name hom
  • 如何通过不同的接口路由 TCP/IP 响应?

    我有两台机器 每台机器都有两个有效的网络接口 一个以太网接口eth0和 tun tap 接口gr0 目标是使用接口在机器 A 上启动 TCP 连接gr0但然后让机器 B 的响应 ACK 等 通过以太网接口返回 eth0 因此 机器 A 发出
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset

随机推荐

  • Android组件化方案

    1为什么要项目组件化 2如何组件化 3组件化实施流程 1组件模式和集成模式的转换 2组件之间AndroidManifest合并问题 3全局Context的获取及组件数据初始化 4library依赖问题 5组件之间调用和通信 6组件之间资源名
  • socket编程出现errno:【10061】

    出现Errno10061 是因为目标主机主动拒绝 连接不能建立 这通常是因为试图连接到一个远程主机上不活动的服务 如没有服务器应用程序处于执行状态 解决方法 1 你先启动server 看是否可以正常启动 2 因为是基于TCP的 所以你试试t
  • VS2022解决Protobuf compiler version 23.4 doesn‘t match library version 4.23.4

    在使用Visual Studio 2022 MinGW CMake作为开发环境时 如果项目中使用了Protobuf 则在CMake运行时 可能会出现Protobuf compiler version 23 4 doesn t match l
  • 黑苹果系统完全移植新硬盘

    1 新硬盘格式化 1 1将新硬盘连接电脑 打开黑苹果系统下的磁盘工具 1 2选择新硬盘 点击抹掉 名称自己起 mac OS 文件格式 APFS 1 3点击确认 2 安装Carbon Copy Cloner软件 2 1 软件链接链接 http
  • Java实现简单的图形绘制程序(多种图形,多种颜色)

    今天我用GUI图形绘制组件 做了一个图形绘制工具 实现了连续划线 划线效果 图形方面支持直线 圆 椭圆 正方形 长方形的绘制 颜色选择方面支持红色 橙色 黄色 绿色 白色 蓝色 粉色 效果预览 文件树 文件准备 这几张图片被存放在了src
  • POISX线程信号量的实现原理

    sem结构体 struct semaphore raw spinlock t lock unsigned int count struct list head wait list struct semaphore waiter struct
  • 导出pdf,自动分页

    要将导出的 PDF 固定为 A4 纸大小并在超出 A4 长度时进行分页 你需要进行一些修改 以下是修改后的代码
  • perl:verilog dummy module

    https code csdn net snippets 1903886 git 样板工程 usr bin perl description not support parameter WIDTH 1 not support bigendi
  • pytorch/torch安装简明教程

    LINUX上安装 0 进入官网https pytorch org 按照你的系统以及配置 获取安装命令 1 安装gpu版本的torch cuda包 用于torch调用gpu加速库 pip install torch 1 5 0 cu101 t
  • redis运维之数据迁移

    1 导出redis的aof和rdb文件 在Redis中 可以使用BGSAVE命令导出AOF日志 而使用SAVE命令导出RDB文件 2 AOF和RDB日志的导出位置 打开redis conf文件 找到如下配置 dir path to your
  • promise中的回调函数、async和await的执行顺序

    一 几个关键问题 1 宏队列 用来保存待执行的宏任务 回调 比如 定时器回调 DOM事件回调 ajax回调 2 微队列 用来保存待执行的微任务 回调 比如 promise的回调 MutationObserver的回调 3 JS执行时 必须先
  • USB物理层

    USB总线接口具有向外提供电源的能力 并且是5V的电压 非常的适合TTL信号系统 使用这个电源可以再一定程度上为设备供电 减少了USB电源设计 简化了USB系统结构 USB 电缆有四根导线 电源线 红色Vbus 地线 黑色GND D 绿色
  • tkFileDialog.py

    def askopenfilename options Ask for a filename to open return Open options show def asksaveasfilename options Ask for a
  • Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: The last packet successfully.....

    最近将之前的项目部署到了服务器之后 发现在长时间不访问网站后 再次打开页面会出现白屏现象 除非重新刷新页面 否则无法正常加载数据 使用F12查看请求返回的JSON数据发现提示内部错误 由此可知问题在服务端 服务器相关信息 OS CentOS
  • Spring cloud Alibaba 之 分布式链路追踪 sleuth

    什么是链路追踪 微服务之间相互调用 每一个请求过来可能调用多个服务 比如 一个请求调用A 服务 A 又依赖B 服务 B又依赖C 服务 这样形成一个调用链 当我们查询日志的时候都需要知道一个请求的完整路径 这个时候链路追踪就产生作用 A 调用
  • 学python心得体会800字-浅谈我对python的学习感受

    python是一门非常有潜力的高级语言 历经多年的发展 其在编程上发挥着越来越大的作用 在这学期中 通过选修python课上的基础知识学习 我对python也有了一定的认识 而且 在字符串上的处理 python相对于c语言也是给程序员极大的
  • k8s 部署 jenkins

    一 前提条件 1 安装helm 二 安装harbor 1 添加harbor helm仓库 helm repo add jenkins https charts jenkins io 2 更新仓库 helm repo update
  • 什么是UE像素流送,像素流推流是什么原理?

    游戏开发者通常在运行游戏逻辑时会将游戏渲染到屏幕的同一台设备上来运行虚幻引擎应用 多人联网游戏可能会在应用程序的多个实例之间分发部分游戏逻辑 但每个单独的实例仍然会为自己的玩家在本地渲染游戏 即使是使用 HTML5 部署选项创建可以在 We
  • 【C/C++】读取字符串的多种方式(带空格)

    获取字符 字符串对象 字符串行的多种方式 Created By Liu Xianmeng On 2022 12 10 include
  • Linux逻辑卷管理(LVM)

    一 逻辑卷 LV 卷组 VG 物理卷 PV 关系 逻辑卷 LV 是卷组 VG 的一部分 可以在卷组大小内动态增加 每个卷组可分为多个逻辑卷 卷组由多个物理卷 PV 组成 每个物理卷是一个块设备 磁盘分区等 二 LVM存储 1 准备物理设备