什么是lvm逻辑卷?有哪些特点?

什么是lvm逻辑卷?有哪些特点?,第1张

LVM逻辑卷管理,是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组,形成一个存储池。管理员可以在卷组上随意创建逻辑卷组,并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。

一般来说,物理磁盘或分区之间是分隔的,数据无法跨盘或分区,而各磁盘或分区的大小固定,重新调整比较麻烦。LVM可以将这些底层的物理磁盘或分区整合起来,抽象成容量资源池,以划分成逻辑卷的方式供上层使用,其最主要的功能即是可以在无需关机无需重新格式化的情况下d性调整逻辑卷的大小。

LVM的优缺点

优点:

①文件系统可以跨多个磁盘,因此文件系统大小不会受物理磁盘的限制。

②可以在系统运行的状态下动态的扩展文件系统的大小。

③可以增加新的磁盘到LVM的存储池中。

④可以以镜像的方式冗余重要的数据到多个物理磁盘。

⑤可以方便的导出整个卷组到另外一台机器。

缺点:

①在从卷组中移除一个磁盘的时候必须使用reducevg命令。

②当卷组中的一个磁盘损坏时,整个卷组都会受到影响。

③因为加入了额外的 *** 作,存贮性能受到影响。

LVM(Logical Volume Manager)卷组管理器,通过对底层物理磁盘的封装,可以将多块物理磁盘组合成逻辑资源池,提供给上层应用使用(如文件系统). LVM的好处是,可以跨物理硬盘为文件系统提供容量,并且可以动态进行分区容量的调整,而不会损坏原有的文件系统.

物理磁盘 :物理存储介质,可以是整块物理存储或一个分区.

物理卷PV(physical volume) :LVM要使用物理磁盘,在物理磁盘的头部写入lvm标签头,就创建了一个PV,PV是组成VG的基本单元.

卷组VG(Volume Group) :VG相当于非LVM系统中的物理硬盘,一个卷组VG由一个或多个PV组成,形成一个存储资源池.

逻辑卷LV(logical volume) :LV相当于非LVM系统中的硬盘分区,LV建立在卷组VG之上,文件系统建立在LV之上.

物理块PE(physical Extent) :创建LV时可以分配的最小存储单元,大小可以指定,默认为4MB

如上是从物理磁盘到lvm逻辑卷的创建过程及映射关系,lv01、lv02被创建后,通过device-mapper映射为逻辑块设备(块设备路径/dev/vg01/lv01、/dev/vg01/lv02),供文件系统使用,通过mkfs.ext4 /dev/vg01/lv02可创建ext4文件系统.

元数据主要是两部分,PV header + metadata,位置一般是在PV的0~2048 sector中,从2048 sector开始是数据区域.

通过pvcreate创建pv时,会将pv header写入物理磁盘,位置一般是在磁盘的第二个sector(512B/sector),lvm扫描磁盘时,通过pv header来识别PV.

pv header主要信息包括,pv uuid、元数据位置和metadata位置.

pv header实例:

metadata记录的是vg和lv的配置信息,以ASCII码的方式写入metadata区域;vg和lv的每次配置变更,都会以追加的方式写入metadata区域,并打上时间戳,该区域写满后,新的变更记录会覆盖最早的一次记录. 进行vgscan时,猜测应该是通过读取最新一次的配置记录,进行激活.

vg配置信息,主要是包含的pv信息.

lv配置信息,主要是lv的起始位置和PE大小.

实例:

pvcreate /dev/vdb1

pvcreate /dev/vdb2

pvcreate /dev/vdb3

vgcreate /dev/vdb1 /dev/vdb2 /dev/vdb3

vgcreate wan /dev/vdb1 /dev/vdb2 /dev/vdb3

lvcreate -L 300M -n lv01 wan

将PV的前2048个sector通过dd拷贝出来,用cat查看如下.

假设我们有一块磁盘 /dev/sdb1 作为应用数据盘使用,以此为例创建lvm分区

先创建物理卷PV,命令: pvcreate /dev/sdb1

创建卷组VG,卷组命名为kylin,命令:vgcreate kylin /dev/sdb1

在VG中创建逻辑分区LV,命令:lvcreate -L 30G -n test kylin

创建逻辑分区后,进行格式化,然后便可以挂载使用.

mkfs.ext4 /dev/kylin/test

mount /dev/kylin/test /data

假设我们在上述基础上,又获得一块磁盘/dev/sdc1进行扩容,将磁盘容量增加到LV分区/dev/kylin/test中,具体 *** 作如下.

先创建物理卷PV,命令: pvcreate /dev/sdc1

将/dev/sdc1添加进VG kylin,命令:vgextend kylin /dev/sdc1

增加LV分区容量,命令:lvextend -L +30G /dev/kylin/test

lvm卷组配置备份

lvm的配置信息默认在/etc/lvm/backup、/etc/lvm/archive/两个目录存在备份,当lvm元数据损坏,lvm卷组读取异常时,可通过备份文件进行恢复.

/etc/lvm/backup: 保留了当前配置的备份

/etc/lvm/archive/:保留了每次配置更新前的备份

实例演示

逻辑卷/dev/wan/lv01

在/dev/wan/lv01上创建文件系统

挂载并创建文件

覆盖/dev/vdb1、/dev/vdb2的lvm元数据,并重启系统,vg已不能识别

通过pvcreate命令修复pv header 和metadata数据.

激活逻辑卷

挂载/dev/wan/lv01成功,说明成功修复

根据前面介绍的分区命令就可以创建分区了,不过需要注意,我们要为某些特定挂载点设置合适的分区大小。CentOS 7 (参考 Red Hat Ent erprise Linux 7 安装手册)至少需要为 /boot 、 / 、 /home 、 swap 这四个挂载点配置分区。下面是这四个挂载点分区大小建议:

下面是可选的挂载点分区:

为各挂载目录创建好分区之后,就可以为其创建文件系统了。

在 Windows 环境下,格式化的 *** 作相对简单。通常的 *** 作步骤是:先打开资源管理器,接着在希望被执行格式化的盘符图标上右击,然后选择“格式化”,再按照提示 *** 作即可。也可以选择“快速格式化”,但要求分区没有坏道。需要注意的是:对硬盘执行格式化 *** 作时,用户需要拥有系统管理员权限(仅限于 Windows Vista 以及此后推出的作业系统)。在 Windows 环境中,除了可以使用图形化的 *** 作界面执行格式化 *** 作之外,也可以在命令提示字符中使用 Diskpart 指令 (仅限于 Windows 2000 及以后的作业系统,包含 Windows PE)进行 *** 作。

在 Unix/Linux 环境下,通常使用命令工具执行格式化 *** 作。需要注意的是:对硬盘执行格式化 *** 作时,用户需要拥有超级用户权限。创建文件系统的常用命令如下:

并非所有文件系统的命令工具都已经默认安装了。要想知道某个文件系统的命令工具是否可用,可以使用 type 命令。

每个文件系统命令都有很多命令行选项,允许你定制如何在分区上创建文件系统。要查看所有可用的命令行选项,可用 man 命令来显示该文件系统命令的手册页面。所有的文件系统命令都允许通过不带选项的简单命令来创建一个默认的文件系统。

为分区创建了文件系统之后,下一步是将它挂载到虚拟目录下的某个挂载点,这样就可以将数据存储在新文件系统中了。你可以将新文件系统通过 mount 命令挂载到虚拟目录中需要额外空间的任何位置。

现在你可以在新分区中保存新文件和目录了! 这种挂载文件系统的方法只能临时挂载文件系统。当重启 Linux 系统时,文件系统并不会自动挂载。要强制 Linux 在启动时自动挂载新的文件系统,可以将其添加到 /etc/fstab 文件。

如果用标准分区在硬盘上创建了文件系统,为已有文件系统添加额外的空间多少是一种痛苦的体验。你只能在同一个物理硬盘的可用空间范围内调整分区大小。如果硬盘上没有地方了,你就必须弄一个更大的硬盘,然后手动将已有的文件系统移动到新的硬盘上。这时候就可以通过将另外一个硬盘上的分区加入已有文件系统,动态地添加存储空间。 Linux 逻辑卷管理器(logical volume manager, LVM)软件包正好可以用来做这个。它可以让你在无需重建整个文件系统的情况下,轻松地管理磁盘空间。

逻辑卷管理的核心在于如何处理安装在系统上的硬盘分区。在逻辑卷管理的世界里,硬盘称作 物理卷(physical volume, PV) 。每个物理卷都会映射到硬盘上特定的物理分区。多个物理卷集中在一起可以形成一个 卷组(volume group, VG) 。逻辑卷管理系统 将卷组视为一个物理硬盘 ,但事实上卷组可能是由分布在多个物理硬盘上的多个物理分区组成的。 卷组提供了一个创建逻辑分区的平台,而这些逻辑分区则包含了文件系统。 整个结构中的最后一层是逻辑卷(logical volume, LV) 逻辑卷为 Linux 提供了创建文件系统的分区环境,作用类似于到目前为止我们一直在探讨的 Linux 中的物理硬盘分区。Linux 系统将逻辑卷视为物理分区。 每个逻辑卷可以被格式化成某种文件系统,然后挂载到虚拟目录中某个特定位置 。逻辑卷由 PE (physical extents,即物理区段)组成,PE 为硬盘可供指派给逻辑卷的最小单位(通常为4MB)。

注意,上图中的第三个物理硬盘有一个未使用的分区。通过逻辑卷管理,你随后可以轻松地将这个未使用分区分配到已有卷组:要么用它创建一个新的逻辑卷,要么在需要更多空间时用它来扩展已有的逻辑卷。 类似地,如果你给系统添加了一块硬盘,逻辑卷管理系统允许你将它添加到已有卷组,为某个已有的卷组创建更多空间,或是创建一个可用来挂载的新逻辑卷。这种扩展文件系统的方法要好用得多!

优点

比起正常的硬盘分区管理,LVM 更富于d性:

这些优点使得 LVM 对服务器的管理非常有用,对于桌面系统管理的帮助则没有那么显著,你需要根据实际情况进行取舍。

缺点

Linux LVM 是由 Heinz Mauelshagen 开发的,于 1998年 发布到了 Linux 社区。它允许你在 Linux 上用简单的命令行命令管理一个完整的逻辑卷管理环境。 Linux LVM 有两个可用的版本。

大部分采用 2.6 或更高内核版本的现代 Linux 发行版都提供对 LVM2 的支持。除了标准的逻辑卷管理功能外, LVM2 还提供了另外一些好用的功能。

Linux LVM 包只提供了命令行程序来创建和管理逻辑卷管理系统中所有组件。有些 Linux 发行版则包含了命令行命令对应的图形化前端,但为了完全控制你的 LVM 环境,最好习惯直接使用这些命令。

此外,还可以使用以下命令来 *** 作逻辑卷:

在手动增加或减小逻辑卷的大小时,要特别小心。逻辑卷中的文件系统需要手动修整来处理大小上的改变。大多数文件系统都包含了能够重新格式化文件系统的命令行程序,比如用于 ext2、 ext3 和 ext4 文件系统的 resize2fs 程序。

第一种方法:直接增大5G,写“+5G”

第二种方法:原来是10G,增大5G就是“15G”

动态扩容示例:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8039125.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存