使用 fdisk 实用程序扩展分区“/dev/sda1”
- 为了扩展物理设备分区信息,我们先删除旧分区,再新建一个。
请注意,我们首先打印出当前分区信息,以便我们准确地知道分区开始的位置。
我们必须从与旧分区相同的块开始覆盖新的更大的分区。
# fdisk /dev/sdc Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x085579f4 Device Boot Start End Blocks Id System /dev/sdc1 2048 411647 204800 83 Linux Command (m for help): d Selected partition 1 Partition 1 is deleted Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-41943039, default 2048): ### we will press ENTER here to select default first sector 2048 Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +400M Partition 1 of type Linux and of size 400 MiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
在使用“w”命令写出更改的分区表之前,可以随时中止此步骤。
在此之前,只会更改分区表的内存副本。
关于更改分区表:物理设备上所有 LUN 的分区信息都保存在一个分区表中。
fdisk 命令只操作这个分区表。
磁盘的其余部分始终保持不变。
这意味着可以更改分区表信息,但永远不会触及分区的内容,始终保持不变。
这篇文章讨论了如何通过使用 fdisk 扩展物理磁盘分区来扩展 LVM 卷中的可用空间。
此示例显示如何将物理卷 /dev/sdc1 从 200MB 调整为 400MB。
潜在数据丢失警告:此步骤将删除现有分区结构并在其位置创建一个新分区。
必须在与已删除分区完全相同的来源处创建新分区,否则将发生严重的数据损坏和丢失。
更多: zhilu jiaocheng
将新分区表加载到内核
当前运行的内核不知道新的分区信息,因为 fdisk 通过直接写入设备来更改分区表。
通常,内核仅在系统启动时或者在发生热插拔事件(例如插入 USB 设备)时读取分区信息。
但是,我们可以通过让内核重新读取其分区信息,然后更新其 LVM 信息来避免不必要的重启。
# partprobe
现在内核知道更新的分区表,通知 LVM 子系统有关物理设备的更改。
默认情况下,调整大小将使用从分区表中获得的整个分区大小:
# pvresize /dev/sdc1 Physical volume "/dev/sdc1" changed 1 physical volume(s) resized / 0 physical volume(s) not resized
# pvdisplay /dev/sdc1 --- Physical volume -- PV Name /dev/sdc1 VG Name testvg PV Size 399.00 MiB / not usable 3.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 99 Free PE 74 Allocated PE 25 PV UUID EkD95A-wb04-5GHn-OH7N-suVt-vak2-AKSsyv
调整逻辑卷大小(可选)
- 我们现在还可以扩展逻辑卷,因为我们现在在底层物理卷中有更多空间。
使用以下命令调整 LV 的大小。
# lvresize -L +200M /dev/testvg/testlv Size of logical volume testvg/testlv changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents). Logical volume testvg/testlv successfully resized.
- 验证逻辑卷的新大小。
# lvscan ACTIVE '/dev/testvg/testlv' [300.00 MiB] inherit
检查当前配置
- 检查磁盘上物理卷的当前大小。
# pvdisplay /dev/sdc1 "/dev/sdc1" is a new physical volume of "200.00 MiB" --- NEW Physical volume -- PV Name /dev/sdc1 VG Name PV Size 200.00 MiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID EkD95A-wb04-5GHn-OH7N-suVt-vak2-AKSsyv
- 获取有关当前 LVM 设置的信息。
我们要扩展的逻辑卷是“testlv”。
# lvscan ACTIVE '/dev/testvg/testlv' [100.00 MiB] inherit
停用现有的逻辑卷
- 在我们进行实际的 PV 和 LV 扩展之前,我们必须先停用逻辑卷。
使用以下命令停用 LV。
# lvchange -a n /dev/testvg/testlv
- 验证卷是否已停用。
# lvscan inactive '/dev/testvg/testlv' [100.00 MiB] inherit
现在我们知道 LVM 没有被使用,所以我们可以开始对它的扩展过程。
激活现有的逻辑卷
最后一步是使修改后的 LVM 重新上线。
一如既往,我们首先检查我们的工作:
# lvscan ACTIVE '/dev/testvg/testlv' [100.00 MiB] inherit
从上面的输出可以看出,逻辑卷处于非活动状态。
所以让我们先激活它。
# lvchange -a y /dev/testvg/testlv
# /usr/sbin/lvscan ACTIVE '/dev/vgtest/lvtest' [100.00 MB] inherit
日期:2020-09-17 00:12:15 来源:oir作者:oir