iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux 逻辑卷管理(LVM)使用方法总结
  • 158
分享到

Linux 逻辑卷管理(LVM)使用方法总结

Linux逻辑卷管理LinuxLVMLVM使用方法 2022-06-03 14:06:32 158人浏览 泡泡鱼
摘要

管理磁盘空间对系统管理员来说是一件重要的日常工作。一旦磁盘空间耗尽就需要进行一系列耗时而又复杂的任务,以提升磁盘分区中可用的磁盘空间。它也需要系统离线才能处理。通常这种任务会涉及到安装一个新的硬盘、引导至恢复模式或者

管理磁盘空间对系统管理员来说是一件重要的日常工作。一旦磁盘空间耗尽就需要进行一系列耗时而又复杂的任务,以提升磁盘分区中可用的磁盘空间。它也需要系统离线才能处理。通常这种任务会涉及到安装一个新的硬盘、引导至恢复模式或者单用户模式、在新硬盘上创建一个分区和一个文件系统、挂载到临时挂载点去从一个太小的文件系统中移动数据到较大的新位置、修改 /etc/fstab 文件的内容来反映出新分区的正确设备名、以及重新引导来重新挂载新的文件系统到正确的挂载点。

我想告诉你的是,当 LVM (逻辑卷管理)首次出现在 Fedora linux 中时,我是非常抗拒它的。我最初的反应是,我并不需要在我和我的设备之间有这种额外的抽象层。结果是我错了,逻辑卷管理是非常有用的。

LVM 让磁盘空间管理非常灵活。它提供的功能诸如在文件系统已挂载和活动时,很可靠地增加磁盘空间到一个逻辑卷和它的文件系统中,并且,它也允许你将多个物理磁盘和分区融合进一个可以分割成逻辑卷(LV)的单个卷组(VG)中。

卷管理也允许你去减少分配给一个逻辑卷的磁盘空间数量,但是,这里有两个要求,第一,卷必须是未挂载的。第二,在卷空间调整之前,文件系统本身的空间大小必须先被减少。

有一个重要的提示是,文件系统本身必须允许重新调整大小的操作。当重新提升文件系统大小的时候,EXT2、3 和 4 文件系统都允许离线(未挂载状态)或者在线(挂载状态)重新调整大小。你应该去认真了解你打算去调整的文件系统的详细情况,去验证它们是否可以完全调整大小,尤其是否可以在线调整大小。

即时扩展一个文件系统

在我安装一个新的发行版到我的生产用机器中之前,我总是喜欢在一个 VirtualBox 虚拟机中运行这个新的发行版一段时间,以确保它没有任何的致命的问题存在。在几年前的一个早晨,我在我的主要使用的工作站上的虚拟机中安装了一个新发行的 Fedora 版本。我认为我有足够的磁盘空间分配给安装虚拟机的主文件系统。但是,我错了,大约在安装到三分之一时,我耗尽了我的文件系统的空间。幸运的是,VirtualBox 检测到了磁盘空间不足的状态,并且暂停了虚拟机,然后显示了一个明确指出问题所在的错误信息。

请注意,这个问题并不是虚拟机磁盘太小造成的,而是由于宿主机上空间不足,导致虚拟机上的虚拟磁盘在宿主机上的逻辑卷中没有足够的空间去扩展。

因为许多现在的发行版都缺省使用了逻辑卷管理,并且在我的卷组中有一些可用的空余空间,我可以分配额外的磁盘空间到适当的逻辑卷,然后即时扩展宿主机的文件系统。这意味着我不需要去重新格式化整个硬盘,以及重新安装操作系统或者甚至是重启机器。我不过是分配了一些可用空间到适当的逻辑卷中,并且重新调整了文件系统的大小 —— 所有的这些操作都在文件系统在线并且运行着程序的状态下进行的,虚拟机也一直使用着宿主机文件系统。在调整完逻辑卷和文件系统的大小之后,我恢复了虚拟机的运行,并且继续进行安装过程,就像什么问题都没有发生过一样。

虽然这种问题你可能从来也没有遇到过,但是,许多人都遇到过重要程序在运行过程中发生磁盘空间不足的问题。而且,虽然许多程序,尤其是 windows 程序,并不像 VirtualBox 一样写的很好,且富有弹性,Linux 逻辑卷管理可以使它在不丢失数据的情况下去恢复,也不需要去进行耗时的安装过程。

LVM 结构

逻辑卷管理的磁盘环境结构如下面的图 1 所示。逻辑卷管理允许多个单独的硬盘和/或磁盘分区组合成一个单个的卷组(VG)。卷组然后可以再划分为逻辑卷(LV)或者被用于分配成一个大的单一的卷。普通的文件系统,如 EXT3 或者 EXT4,可以创建在一个逻辑卷上。

在图 1 中,两个完整的物理硬盘和一个第三块硬盘的一个分区组合成一个单个的卷组。在这个卷组中创建了两个逻辑卷和文件系统,比如,可以在每个逻辑卷上创建一个 EXT3 或者 EXT4 的文件系统。

图 1: LVM 允许组合分区和整个硬盘到卷组中

在一个主机上增加磁盘空间是非常简单的,在我的经历中,这种事情是很少的。下面列出了基本的步骤。你也可以创建一个完整的新卷组或者增加新的空间到一个已存在的逻辑卷中,或者创建一个新的逻辑卷。

增加一个新的逻辑卷

有时候需要在主机上增加一个新的逻辑卷。例如,在被提示包含我的 VirtualBox 虚拟机的虚拟磁盘的 /home 文件系统被填满时,我决定去创建一个新的逻辑卷,以存储包含虚拟磁盘在内的虚拟机数据。这将在我的 /home 文件系统中释放大量的空间,并且也允许我去独立地管理虚拟机的磁盘空间。

增加一个新的逻辑卷的基本步骤如下:

1 如有需要,安装一个新硬盘。

2 可选: 在硬盘上创建一个分区。

3 在硬盘上创建一个完整的物理卷(PV)或者一个分区。

4 分配新的物理卷到一个已存在的卷组(VG)中,或者创建一个新的卷组。

5 从卷空间中创建一个新的逻辑卷(LV)。

6 在新的逻辑卷中创建一个文件系统。

7 在 /etc/fstab 中增加适当的条目以挂载文件系统。

8 挂载文件系统。

为了更详细的介绍,接下来将使用一个示例作为一个实验去教授关于 Linux 文件系统的知识。

示例

这个示例展示了怎么用命令行去扩展一个已存在的卷组,并给它增加更多的空间,在那个空间上创建一个新的逻辑卷,然后在逻辑卷上创建一个文件系统。这个过程一直在运行着和已挂载的文件系统上执行。

警告:仅 EXT3 和 EXT4 文件系统可以在运行和挂载状态下调整大小。许多其它的文件系统,包括 BTRFS 和 ZFS 是不能这样做的。

安装硬盘

如果在系统中现有硬盘上的卷组中没有足够的空间可以增加,那么可能需要去增加一块新的硬盘,然后创建空间增加到逻辑卷中。首先,安装物理硬盘,然后,接着执行后面的步骤。

从硬盘上创建物理卷

首先需要去创建一个新的物理卷(PV)。使用下面的命令,它假设新硬盘已经分配为 /dev/hdd


pvcreate /dev/hdd

在新硬盘上创建一个任意分区并不是必需的。创建的物理卷将被逻辑卷管理器识别为一个新安装的未处理的磁盘或者一个类型为 83 的 Linux 分区。如果你想去使用整个硬盘,创建一个分区并没有什么特别的好处,而且元数据所用的磁盘空间也能用做 PV 的一部分使用。

扩展已存在的卷组

在这个示例中,我将扩展一个已存在的卷组,而不是创建一个新的;你可以选择其它的方式。在物理磁盘已经创建之后,扩展已存在的卷组(VG)去包含新 PV 的空间。在这个示例中,已存在的卷组命名为:MyVG01。


vgextend /dev/MyVG01 /dev/hdd

创建一个逻辑卷

首先,在卷组中从已存在的空余空间中创建逻辑卷。下面的命令创建了一个 50 GB 大小的 LV。这个卷组的名字为 MyVG01,然后,逻辑卷的名字为 Stuff。


lvcreate -L +50G --name Stuff MyVG01

创建文件系统

创建逻辑卷并不会创建文件系统。这个任务必须被单独执行。下面的命令在新创建的逻辑卷中创建了一个 EXT4 文件系统。


mkfs -t ext4 /dev/MyVG01/Stuff

增加一个文件系统卷标

增加一个文件系统卷标,更易于在文件系统以后出现问题时识别它。


e2label /dev/MyVG01/Stuff Stuff

挂载文件系统

在这个时候,你可以创建一个挂载点,并在 /etc/fstab 文件系统中添加合适的条目,以挂载文件系统。

你也可以去检查并校验创建的卷是否正确。你可以使用 dflvs vgs 命令去做这些工作。

在 LVM 文件系统中调整逻辑卷大小

从 Unix 的第一个版本开始,对文件系统的扩展需求就一直伴随,Linux 也不例外。随着有了逻辑卷管理(LVM),现在更加容易了。

1 如有需要,安装一个新硬盘。

2 可选: 在硬盘上创建一个分区。

3 在硬盘上创建一个完整的物理卷(PV)或者一个分区。

4 分配新的物理卷到一个已存在的卷组(VG)中,或者创建一个新的卷组。

5 从卷空间中创建一个新的逻辑卷(LV),或者用卷组中部分或全部空间扩展已有的逻辑卷。

6 如果创建了新的逻辑卷,那么在上面创建一个文件系统。如果对已有的逻辑卷增加空间,使用 resize2fs 命令来增大文件系统来填满逻辑卷。

7 在 /etc/fstab 中增加适当的条目以挂载文件系统。

8 挂载文件系统。

示例

这个示例展示了怎么用命令行去扩展一个已存在的卷组。它会给 /Staff 文件系统增加大约 50GB 的空间。这将生成一个可用于挂载的文件系统,在 Linux 2.6 内核(及更高)上可即时使用 EXT3 和 EXT4 文件系统。我不推荐你用于任何关键系统,但是这是可行的,我已经成功了好多次;即使是在根(/)文件系统上。是否使用自己把握风险。

警告:仅 EXT3 和 EXT4 文件系统可以在运行和挂载状态下调整大小。许多其它的文件系统,包括 BTRFS 和 ZFS 是不能这样做的。

安装硬盘

如果在系统中现有硬盘上的卷组中没有足够的空间可以增加,那么可能需要去增加一块新的硬盘,然后创建空间增加到逻辑卷中。首先,安装物理硬盘,然后,接着执行后面的步骤。

从硬盘上创建物理卷

首先需要去创建一个新的物理卷(PV)。使用下面的命令,它假设新硬盘已经分配为 /dev/hdd


pvcreate /dev/hdd

在新硬盘上创建一个任意分区并不是必需的。创建的物理卷将被逻辑卷管理器识别为一个新安装的未处理的磁盘或者一个类型为 83 的 Linux 分区。如果你想去使用整个硬盘,创建一个分区并没有什么特别的好处,而且元数据所用的磁盘空间也能用做 PV 的一部分使用。

增加物理卷到已存在的卷组

在这个示例中,我将使用一个新的物理卷来扩展一个已存在的卷组。在物理卷已经创建之后,扩展已存在的卷组(VG)去包含新 PV 的空间。在这个示例中,已存在的卷组命名为:MyVG01。


vgextend /dev/MyVG01 /dev/hdd

扩展逻辑卷

首先,在卷组中从已存在的空余空间中创建逻辑卷。下面的命令创建了一个 50 GB 大小的 LV。这个卷组的名字为 MyVG01,然后,逻辑卷的名字为 Stuff。


lvcreate -L +50G --name Stuff MyVG01

扩展文件系统

如果你使用了 -r 选项,扩展逻辑卷也将扩展器文件系统。如果你不使用 -r 选项,该操作不行单独执行。下面的命令在新调整大小的逻辑卷中调整了文件系统大小。


resize2fs /dev/MyVG01/Stuff

你也可以去检查并校验调整大小的卷是否正确。你可以使用 df、lvs 和 vgs 命令去做这些工作。

提示

过去几年来,我学习了怎么去做让逻辑卷管理更加容易的一些知识,希望这些提示对你有价值。

1 除非你有一个明确的原因去使用其它的文件系统外,推荐使用可扩展的文件系统。除了 EXT2、3、和 4 外,并不是所有的文件系统都支持调整大小。EXT 文件系统不但速度快,而且它很高效。在任何情况下,如果默认的参数不能满足你的需要,它们(指的是文件系统参数)可以通过一位知识丰富的系统管理员来调优它。

2 使用有意义的卷和卷组名字。

3 使用 EXT 文件系统标签

我知道,像我一样,大多数的系统管理员都抗拒逻辑卷管理。我希望这篇文章能够鼓励你至少去尝试一个 LVM。如果你能那样做,我很高兴;因为,自从我使用它之后,我的硬盘管理任务变得如此的简单。

关于作者

David Both 是一位 Linux 和开源软件的倡导者,住在 Raleigh, North Carolina。他在 IT 行业工作了 40 多年,在 IBM 工作了 20 多年。在 IBM 期间,他在 1981 年为最初的 IBM PC 编写了第一个培训课程。他曾教授红帽的 RHCE 课程,并在 MCI Worldcom、Cisco和 North Carolina 工作。他已经使用 Linux 和开源软件工作了将近 20 年。

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

以上就是Linux 逻辑卷管理(LVM)使用方法总结的详细内容,更多关于linux lvm使用方法的资料请关注编程网其它相关文章!

--结束END--

本文标题: Linux 逻辑卷管理(LVM)使用方法总结

本文链接: https://www.lsjlt.com/news/11455.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux下LVM逻辑卷管理
    分区[root@db01 ~]# fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes255 heads, 63 sectors/track, 1305 cylindersUnits...
    99+
    2023-06-05
  • Linux逻辑卷管理LVM详解
    转载自:http://blog.csdn.net/ikikik2002/article/details/5187276 一、 前言LVM是逻辑卷管理(Logical Volume Manager)的简称,他是建立在物理存储设备之上的一个抽象...
    99+
    2023-06-06
  • LVM逻辑卷管理的知识总结和操作说明
    lvm的步骤1:把磁盘或磁盘分区创建为pv物理卷2:创建卷组vg,把pv加入已有卷组vg或把pv加入刚创建的卷组3:在卷组vg中创建lv并分配空间,或对vg中现有lv扩展空间:4:新建的lv必须格式化才能挂载路径使用,如果是已有lv并且已经...
    99+
    2023-06-04
  • 什么是LVM逻辑卷管理
    什么是LVM逻辑卷管理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  Linux因其开放性而受到许多企业和开发者的喜爱,it互联网市场相应的也增加了对Linu...
    99+
    2023-06-05
  • Linux中如何创建逻辑卷管理LVM
    Linux中如何创建逻辑卷管理LVM,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  LVM讲解:  图像大纲:  1)LVM是什么,作用:  LVM称为逻辑卷管理,作用是提高...
    99+
    2023-06-13
  • Linux中怎么创建及管理LVM逻辑卷
    本篇内容主要讲解“Linux中怎么创建及管理LVM逻辑卷”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中怎么创建及管理LVM逻辑卷”吧!概述LVM是Linux系统中对磁盘分区管理的一种...
    99+
    2023-06-28
  • 如何创建并使用LVM逻辑卷
    小编给大家分享一下如何创建并使用LVM逻辑卷,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1 创建PV添加一个sdb磁盘,创建4个分区[root@xuegod63 ~]# fdisk /dev/sdb #创建4个主分区,每...
    99+
    2023-06-06
  • redhat Linux逻辑卷管理器怎么用
    redhat Linux逻辑卷管理器怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。应用Linux操作系统,Linux操作系统有很多值得学习的地方,这里我们...
    99+
    2023-06-16
  • Linux中怎么创建和管理逻辑卷
    Linux中怎么创建和管理逻辑卷,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先我们准备两块SCSI硬盘,两块硬盘都通过fdisk 命令进行分区并全部使用其空间,操作如下:对...
    99+
    2023-06-13
  • Centos7怎么使用SSM管理LVM卷
    本篇内容主要讲解“Centos7怎么使用SSM管理LVM卷”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Centos7怎么使用SSM管理LVM卷”吧!ssm全称Spring+SpringMVC+...
    99+
    2023-06-27
  • Centos7如何使用SSM管理LVM卷
    本篇文章为大家展示了Centos7如何使用SSM管理LVM卷,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。系统存储管理器(SSM)提供了一个命令行接口来管理各种技术中的存储。通过使用DM、LVM和M...
    99+
    2023-06-05
  • Linux系统逻辑命令的使用方法
    本篇内容主要讲解“Linux系统逻辑命令的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统逻辑命令的使用方法”吧!1.判断一个命令的结果使用test,其返回0,或一个整数。返...
    99+
    2023-06-13
  • php逻辑运算符的使用方法
    小编给大家分享一下php逻辑运算符的使用方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要...
    99+
    2023-06-14
  • Linux常用系统管理命令总结
    这篇文章主要介绍“Linux常用系统管理命令总结”,在日常操作中,相信很多人在Linux常用系统管理命令总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux常用系统管理命令总结”的疑惑有所帮助!接下来...
    99+
    2023-06-13
  • 逻辑运算符的使用方法有哪些
    逻辑运算符通常用于布尔类型的值之间进行比较和操作,常见的逻辑运算符有以下几种:1. 与运算符(&&):当且仅当两个操作数都为真时,结...
    99+
    2023-06-14
    逻辑运算符
  • Linux管理文件的常用命令总结
    本篇内容主要讲解“Linux管理文件的常用命令总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux管理文件的常用命令总结”吧!1.Linux cat命令cat 命令用于连接文件并打印到标...
    99+
    2023-06-16
  • Android Notification使用方法总结
    Android Notification使用方法总结一. 基本使用1.构造notification NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(a...
    99+
    2023-05-30
    android notification roi
  • Linux磁盘管理之LVM磁盘操作命令怎么使用
    这篇文章主要讲解了“Linux磁盘管理之LVM磁盘操作命令怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux磁盘管理之LVM磁盘操作命令怎么使用”吧!LVM,Logical V...
    99+
    2023-07-05
  • win7创建逻辑分区的方法(diskpart命令使用方法)
    win7创建逻辑分区 许多用户在安装Win7时都遇,安装程序创建的都是主分区,并没有创建逻辑分区的任何选项,这样的情况导致创建4个主分区后剩余的空间无法继续分配的情况,这使得许多用户情何以堪。很多用户都向小编反映该问题,...
    99+
    2023-06-04
    win7分区 diskpart 方法 分区 逻辑 命令
  • Android onCreateOptionsMenu的使用方法总结
    Android onCreateOptionsMenu的使用方法总结任何一款软件都少不了对“菜单”的使用。在Android下,每一个activity都捆绑了一个Menu,要想定义和使用菜单,都必须在Activity下进行操作,复写onCre...
    99+
    2023-05-30
    android oncreateoptionsmenu roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作