简介
在本实验中,我们将探索 Linux 的 resize 命令,并学习如何调整分区和逻辑卷的大小。resize 命令是管理 Linux 系统存储空间的强大工具。我们将从理解 resize 命令的基本语法和用法开始,然后通过实际示例来调整分区以及 LVM(逻辑卷管理)卷组和逻辑卷的大小。
本实验涵盖以下步骤:
- 理解
resize命令 - 使用
resize命令调整分区大小 - 调整 LVM 卷组和逻辑卷的大小
请记住,resize 命令应谨慎使用,因为如果操作不当,调整分区或逻辑卷的大小可能会导致数据丢失。在执行任何调整大小操作之前,请确保已备份数据。
理解 resize 命令
在这一步中,我们将探索 Linux 的 resize 命令,该命令用于调整分区和逻辑卷的大小。resize 命令是管理 Linux 系统存储空间的强大工具。
首先,让我们了解 resize 命令的基本语法:
resize [options] size device
其中,size 是你希望为分区或逻辑卷设置的新大小,而 device 是你希望调整大小的分区或逻辑卷的名称。
resize 命令的一些常见选项包括:
-f:强制调整大小操作,即使文件系统未卸载。-p:在调整大小操作后打印分区或逻辑卷的新大小。-v:详细模式,提供更详细的输出。
现在,让我们看一些使用 resize 命令的示例:
## 将分区调整为 20GB
sudo resize 20G /dev/sda1
示例输出:
resize: /dev/sda1 resized
在这个示例中,我们使用 resize 命令将 /dev/sda1 分区调整为 20GB。
## 将 LVM 逻辑卷调整为 50GB
sudo resize 50G /dev/vg0/lv0
示例输出:
resize: /dev/vg0/lv0 resized
在这个示例中,我们使用 resize 命令将逻辑卷 /dev/vg0/lv0 调整为 50GB。
请记住,resize 命令是一个强大的工具,但应谨慎使用,因为如果操作不当,调整分区或逻辑卷的大小可能会导致数据丢失。在执行任何调整大小操作之前,请确保已备份数据。
使用 resize 命令调整分区大小
在这一步中,我们将学习如何使用 resize 命令调整分区大小。
首先,让我们在 Docker 容器的虚拟磁盘上创建一个新分区:
sudo fdisk /dev/sdb
## 创建一个新分区,例如 /dev/sdb1
示例输出:
欢迎使用 fdisk(util-linux 2.37.2)。
更改将仅保存在内存中,直到你决定写入它们。
在使用写入命令之前请小心。
命令(输入 m 获取帮助):n
分区类型
p 主分区(0 个主分区,0 个扩展分区,4 个空闲)
e 扩展分区(用于逻辑分区)
选择(默认 p):p
分区号(1-4,默认 1):1
起始扇区(2048-20971519,默认 2048):
最后一个扇区,+/-扇区或 +/-大小{K,M,G,T,P}(2048-20971519,默认 20971519):+10G
已创建类型为 'Linux' 且大小为 10 GiB 的新分区 1。
命令(输入 m 获取帮助):w
分区表已更改。
调用 ioctl() 重新读取分区表。
同步磁盘。
现在,让我们将新创建的分区 /dev/sdb1 调整为 15GB:
sudo resize 15G /dev/sdb1
示例输出:
resize: /dev/sdb1 resized
为了验证分区的新大小,我们可以使用 fdisk 命令:
sudo fdisk -l /dev/sdb
示例输出:
磁盘 /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:Virtual disk
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x78b0c0b9
设备 启动 起始 结束 扇区 大小 Id 类型
/dev/sdb1 2048 31457279 31455232 15G 83 Linux
如你所见,/dev/sdb1 分区的大小已成功调整为 15GB。
调整 LVM 卷组和逻辑卷的大小
在这一步中,我们将学习如何使用 resize 命令调整 LVM(逻辑卷管理)卷组和逻辑卷的大小。
首先,让我们创建一个 LVM 卷组和一个逻辑卷:
## 创建一个物理卷
sudo pvcreate /dev/sdc
## 创建一个卷组
sudo vgcreate vg0 /dev/sdc
## 创建一个逻辑卷
sudo lvcreate -L 5G -n lv0 vg0
示例输出:
物理卷 "/dev/sdc" 成功创建。
卷组 "vg0" 成功创建。
逻辑卷 "lv0" 已创建。
现在,让我们将逻辑卷 lv0 调整为 10GB:
## 调整逻辑卷大小
sudo lvresize -L 10G /dev/vg0/lv0
示例输出:
逻辑卷 vg0/lv0 的大小从 5.00 GiB 更改为 10.00 GiB。
逻辑卷 vg0/lv0 成功调整大小。
为了验证逻辑卷的新大小,我们可以使用 lvdisplay 命令:
sudo lvdisplay /dev/vg0/lv0
示例输出:
--- 逻辑卷 ---
LV 路径 /dev/vg0/lv0
LV 名称 lv0
VG 名称 vg0
LV UUID zVBxkH-Tn7d-1234-abcd-1234-1234-1234abcd
LV 写入权限 读/写
LV 创建主机, 时间 labex-ubuntu, 2023-04-18 12:34:56 +0000
LV 状态 可用
## 打开 0
LV 大小 10.00 GiB
当前 LE 2560
段数 1
分配 继承
预读扇区 自动
- 当前设置为 8192
块设备 253:0
如你所见,逻辑卷 lv0 的大小已成功调整为 10GB。
总结
在本实验中,我们首先探索了 Linux 的 resize 命令,该命令用于调整分区和逻辑卷的大小。我们学习了 resize 命令的基本语法和一些常见选项,例如 -f 用于强制调整大小操作,-p 用于打印新大小,以及 -v 用于详细输出。随后,我们看到了使用 resize 命令将分区调整为 20GB 和将 LVM 逻辑卷调整为 50GB 的示例。
接下来,我们使用 fdisk 命令在 Docker 容器的虚拟磁盘上创建了一个新分区。这为下一步奠定了基础,我们将在下一步中学习如何使用 resize 命令调整新创建的分区大小。



