RHCE--linux上的逻辑卷管理(LVM)

本文详细介绍了Linux的逻辑卷管理(LVM)机制,包括LVM的基本术语如物理存储介质、物理卷、卷组、逻辑卷等。通过实例展示了如何创建、扩展和管理LVM,包括创建分区、转换为物理卷、创建卷组、扩展逻辑卷、调整卷组大小以及处理磁盘故障和删除逻辑卷。此外,还探讨了在swap分区不足时如何利用磁盘剩余空间或分区扩展swap。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

LVM

概念

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
在这里插入图片描述

LVM基本术语

1、物理存储介质(PhysicalStorageMedia)

指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。

2、物理卷(Physical Volume,PV)

指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

3、卷组(Volume Group,VG)

类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。

4、逻辑卷(Logical Volume,LV)

类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。

5、物理块(Physical Extent,PE)

每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。

6、逻辑块(Logical Extent,LE)

逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

7、线性逻辑卷 (Linear Volumes)

一个线性逻辑卷聚合多个物理卷成为一个逻辑卷.比如,如果你有两个60GB硬盘,你能生成120GB的逻辑卷.

8、条块化的逻辑卷(Striped Logical Volumes)

当你写数据到此逻辑卷中时,文件系统能将数据放置到多个物理卷中.对于大量连接读写操作,他能改善数据I/O效率.

9、映像的逻辑卷(Mirrored Logical Volumes)

映像在不同的设备上保存一致的数据.数据同时被写入原设备及映像设备.他提供设备之间的容错。

10、快照卷(Snapshot Volumes)

快照卷提供在特定瞬间的一个设备虚拟映像,当快照开始时,他复制一份对当前数据区域的改动,由于他优先执行这些改动,所以他能重构当前设备的状态。

和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中相同,逻辑卷及卷组相关的元数据也是保存在位于物理卷起始处的VGDA(卷组描述符区域)中。VGDA包括以下内容: PV描述符、VG描述符、LV描述符、和一些PE描述符 。系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。

安装LVM

首先确定系统中是否安装了LVM工具:
在这里插入图片描述
如果出现以上信息,说明系统已经安装了LVM管理工具;如果未安装使用命令:yum install lvm -y进行安装

创建和管理LVM

要创建一个LVM系统,一般需要经过以下步骤:

[root@loaclhost ~]# uname -r    查看系统版本号信息
3.10.0-327.el7.x86_64
[root@loaclhost ~]# cat /etc/redhat-release   查看红帽系统版本
Red Hat Enterprise Linux Server release 7.2 (Maipo)
[root@loaclhost ~]# df -h  查看磁盘使用信息
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda2        20G  3.6G   16G   19% /
devtmpfs        979M     0  979M    0% /dev
tmpfs           993M   88K  993M    1% /dev/shm
tmpfs           993M  9.0M  984M    1% /run
tmpfs           993M     0  993M    0% /sys/fs/cgroup
/dev/sda1       197M  123M   74M   63% /boot
tmpfs           199M   16K  199M    1% /run/user/0
/dev/sr0        3.8G  3.8G     0  100% /mnt
[root@loaclhost ~]# fdisk -l   查看磁盘有几个分区

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00079ee8

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    41371647    20480000   83  Linux
/dev/sda3        41371648    45467647     2048000   82  Linux swap / Solaris
三个分区是虚拟机创建的时候添加的那三个/、boot、swap

1、创建分区

首先从磁盘上创建三个分区,磁盘大小都为5G.因为磁盘只剩下18.3G的扩展分区可以使用(从后面可以看见)。使用命令fdisk /dev/sda添加分区,注意扩展分区是不能直接使用的,我们应该在扩展分区中建立新的分区才能使用。
[root@loaclhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e
已选择分区 4
起始 扇区 (45467648-83886079,默认为 45467648):
将使用默认值 45467648
Last 扇区, +扇区 or +size{K,M,G} (45467648-83886079,默认为 83886079):
将使用默认值 83886079
分区 4 已设置为 Extended 类型,大小设为 18.3 GiB

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (45469696-83886079,默认为 45469696):
将使用默认值 45469696
Last 扇区, +扇区 or +size{K,M,G} (45469696-83886079,默认为 83886079):+5G
分区 5 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 6
起始 扇区 (55957504-83886079,默认为 55957504):
将使用默认值 55957504
Last 扇区, +扇区 or +size{K,M,G} (55957504-83886079,默认为 83886079):+5G
分区 6 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 7
起始 扇区 (66445312-83886079,默认为 66445312):
将使用默认值 66445312
Last 扇区, +扇区 or +size{K,M,G} (66445312-83886079,默认为 83886079):+5G
分区 7 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00079ee8

设备 Boot      Start         End      Blocks        Id  System
                                                 分区类型
/dev/sda1   *        2048      411647      204800   83  Linux
												  标准分区
/dev/sda2          411648    41371647    20480000   83  Linux
/dev/sda3        41371648    45467647     2048000   82  Linux swap / Solaris
												 交换分区
/dev/sda4        45467648    83886079    19209216    5  Extended
												  扩展分区
/dev/sda5        45469696    55955455     5242880   83  Linux
/dev/sda6        55957504    66443263     5242880   83  Linux
/dev/sda7        66445312    76931071     5242880   83  Linux

下面三个分区是新建的LVM分区,所以要改ID,分区类型,LVM的ID为8e

命令(输入 m 获取帮助):m 获取一下帮助
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types 打印当前分区类型
m print this menu
n add a new partition

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值