Linux resize 命令实战示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将探索 Linux 的 resize 命令,并学习如何调整分区和逻辑卷的大小。resize 命令是管理 Linux 系统存储空间的强大工具。我们将从理解 resize 命令的基本语法和用法开始,然后通过实际示例来调整分区以及 LVM(逻辑卷管理)卷组和逻辑卷的大小。

本实验涵盖以下步骤:

  1. 理解 resize 命令
  2. 使用 resize 命令调整分区大小
  3. 调整 LVM 卷组和逻辑卷的大小

请记住,resize 命令应谨慎使用,因为如果操作不当,调整分区或逻辑卷的大小可能会导致数据丢失。在执行任何调整大小操作之前,请确保已备份数据。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/SystemInformationandMonitoringGroup -.-> linux/df("Disk Space Reporting") linux/SystemInformationandMonitoringGroup -.-> linux/du("File Space Estimating") subgraph Lab Skills linux/df -.-> lab-422888{{"Linux resize 命令实战示例"}} linux/du -.-> lab-422888{{"Linux resize 命令实战示例"}} end

理解 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 命令调整新创建的分区大小。

Linux 命令速查表