逻辑卷与分区大小调整

您所在的位置:网站首页 增大lvm逻辑卷data1的大小 逻辑卷与分区大小调整

逻辑卷与分区大小调整

2023-11-13 02:38| 来源: 网络整理| 查看: 265

如何从 LVM 的卷组中删除物理卷?多块弹性云硬盘构建 LVM 逻辑卷—腾讯云centos7根目录扩容(根目录在sda3 vgdisplay为空)—【简单有效】resize2fs 详解和 LVM 逻辑卷缩减Linux分区调整(LVM和非LVM环境中扩容和缩小)—【详细】 构建 LVM 逻辑卷

逻辑卷管理(Logical Volume Manager,LVM)通过在硬盘和分区之上建立一个逻辑层,将磁盘或分区划分为相同大小的 PE(Physical Extents)单元,不同的磁盘或分区可以划归到同一个卷组(VG,Volume Group),在 VG 上可以创建逻辑卷(LV,Logical Volume),在 LV 上可以创建文件系统。 相较于直接使用磁盘分区的方式,LVM 的优势在于弹性调整文件系统的容量:

文件系统不再受限于物理磁盘的大小,可以分布在多个磁盘中。 例如,您可以购买3块4TB的弹性云硬盘并使用 LVM 创建一个将近12TB的超大文件系统。可以动态调整逻辑卷大小,不需要对磁盘重新分区。 当 LVM 卷组的空间无法满足您的需求时,您可以单独购买弹性云硬盘并挂载到相应的云服务器上,然后将其添加到 LVM 卷组中进行扩容操作。

0️⃣:准备工作:

两个空分区(没有创建文件系统),假设有 /dev/sda4 和 /dev/sdb 两个分区已使用 root 用户登录服务器

1️⃣:创建物理卷 PV

$ pvcreate /dev/sda4 /dev/vdd /dev/sdb

创建成功,如图所示(因为sdb 分区之前创建了文件系统,所以要擦除)

image-20220502232349117

通过以下命令,查看现在系统中的物理卷

$ lvmdiskscan | grep LVM # 或者 $ pvdisplay

image-20220502232931798

2️⃣:创建卷组 VG

创建一个名为 lvm_demo 的卷组

$ vgcreate lvm_demo /dev/sda4 /dev/sdb

创建成功则如图所示

image-20220502233130004

可以通过以下命令,向卷组中添加新的物理卷

# vgextend 卷组名 新物理卷路径 # 假设有一个物理卷为 sda5 $ vgextend lvm_demo /dev/sda5

通过 vgs、vgdisplay 等命令可以查看当前系统中的卷组信息

image-20220502233558388

3️⃣:创建逻辑卷 LV

创建大小是500MB,名为 lv_demo 的逻辑卷

$ lvcreate -L 500MB -n lv_demo lvm_demo

创建成功后,如图所示,物理卷 /dev/sda4 被使用了 500MB 的空间

image-20220502234004687

4️⃣:创建并挂载文件系统

$ mkfs.ext4 /dev/lvm_demo/lv_demo

创建成功后,如图所示

image-20220502234158114

挂载至目录 /tmp/test 下

$ mkdir /tmp/test $ mount /dev/lvm_demo/lv_demo /tmp/test/

说明:

​ 通过 fdisk -l 可以看到逻辑卷 /dev/lvm_demo/lv_demo 的信息

可以通过 df -TH 命令查看是否挂载成功

image-20220502234654141

5️⃣:动态扩展逻辑卷及文件系统大小

扩展前提:

​ 仅当卷组 VG 容量有剩余时,LV 容量可动态扩展。扩展 LV 容量后,需一并扩展创建在该 LV 上的文件系统的大小。

扩展逻辑卷大小,增加 500MB

# lvextend [-L +/- ] $ lvextend -L +500MB /dev/lvm_demo/lv_demo

image-20220502235332821

说明:如图所示 两个物理卷被使用了 1000MB 的空间

image-20220502235913830

此时逻辑卷虽然变为 1000MB,但是文件系统并没有变大,还需要执行以下命令

$ resize2fs /dev/lvm_demo/lv_demo

image-20220502235507641

最后可以通过 df -h 命令,查看容量是否变为 1000MB

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OiOL2q2F-1652022822997)(E:/%E7%AC%94%E8%AE%B0/pic/image-20220502235714069.png)]

压缩逻辑卷

​ 假设 /tmp/test 文件夹需要的最大容量是 500MB,现在想要压缩逻辑卷 lvm_demo_lv_demo,由 1000MB 变为 500MB,并且将分区 /dev/sdb 移出卷组 lv_demo,用作其他用途。

❗️ 注意:压缩逻辑卷前,要保证逻辑卷的总容量大于逻辑卷所有文件的总容量。

1️⃣:对 LVM 强制执行文件系统检测

$ e2fsck -f /dev/mapper/lvm_demo-lv_demo

image-20220503150518372

2️⃣:调整文件系统大小

压缩为文件系统大小为 500M (其中文件总共小于500M)

# 大小单位可以为 'K', 'M', 'G', 'T',大小写均可 $ resize2fs /dev/lvm_demo/lv_demo 500M

image-20220503150937640

注意:resize2fs 的大小参数不支持小数。

如:

$ resize2fs /dev/lvm_demo/lv_demo 0.5G # 报错 resize2fs 1.42.9 (28-Dec-2013) resize2fs: 无效的新大小(Invalid new size):500MB

3️⃣:压缩逻辑卷大小

# 压缩逻辑卷至 500MB $ lvreduce -L 500M /dev/lvm_demo/lv_demo

image-20220503152749462

通过 pvs 可以看到 /dev/sdb 完全空闲,可以将其移出 image-20220503153230353

4️⃣:将物理卷 /dev/sdb 移出卷组 lvm_demo

$ vgreduce lvm_demo /dev/sdb

image-20220503153151385

通过 vgs 可以看到 卷组的情况

image-20220503153554887

5️⃣:擦除物理卷 /dev/sdb

$ pvremove /dev/sdb

image-20220503153647412

之后就可以将 /dev/sdb 用作其他用途了

非 LVM 分区调整分区大小

总的来说调整分区大小步骤就是:

1、卸载分区 —> 2、扩容或缩小分区和文件系统 —> 3、重新挂载分区

但是在非 LVM 分区,可以在线扩容,但是不可以在线缩小分区(在线即挂载了目录)。

​ 如图所示,不能够在线调整文件系统(ext4)的大小,必需要先卸载分区(umount)才能调整大小。但是根目录( / )在系统运行状态是不能卸载的。

image-20220508210814926

​ 不同的文件系统格式下可以做的操作有所不同,这里只以 ext4 为例。

​ ext4支持扩容和缩小,home分区(你的私人分区)扩容或缩小均可以在root用户登录做卸载后调整,其他分区必须进救援模式进行扩容或缩小。

扩容分区

扩容分区可以通过将待扩容分区的相邻分区,划分到一起进行扩容。 ===> 参考

或者构建逻辑卷进行扩容,这里不再赘述。

缩小分区

​ 现有一个分区 /dev/sdb1,大小为 500MB,但是平常最多只会使用 250MB,所以计划缩小分区为 250MB

​ 通过 df -TH 查看挂载分区的使用情况 (以下图片仅供参考)

image-20220508213437396

1️⃣:卸载待修改分区(/dev/sdb1)

umount /dev/sdb1

2️⃣:检查该分区,并且缩小文件系统的大小

# 先检查格式系统 $ e2fsck –f /dev/sdb1 #开启journal,在系统事故,或者掉电的情况下, journal 可以帮助文件系统找回丢失的文件。 (可选) $ tune2fs -o has_journal /dev/sdb1 # 缩小文件系统大小,缩小为 250M resize2fs -f /dev/sdb1 250M

3️⃣:缩小分区大小

$ fdisk /dev/sdb1 # 1.删除原分区 /dev/sdb1 # 2.创建新分区 /dev/sdb1 ===> 容量只有一半(根据Unit大小和扇区起始位置计算即可) # 3.创建新分区 /dev/sdb2 (可选) ===> 默认即可

4️⃣:调整文件系统,并挂载

# 让文件系统自动适应分区 resize2fs -f /dev/sdb1 # 重新挂载到文件夹 mount /dev/sdb1 /tmp/test


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3