[i=s] 本帖最后由 进驻x 于 2025-1-15 16:13 编辑 [/i]<br />
<br />
使用场景
从 50G 旧硬盘通过 dd 命令,将所有数据克隆到 300G 新硬盘
实现文件无损迁移,扩容可用空间
本贴是个人操作记录留存,可能会有错漏

硬盘为 Basic 存储模式
查看硬盘列表
dd 后查看硬盘信息
可以看到 vdb 新盘容量 298.09GB
但是存储空间可用空间只有 50G
# fdisk -u -l
Disk /dev/vda: 50 GiB, 53687091200 bytes, 104857600 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
Disklabel type: gpt
Disk identifier: 2545FC1E-4916-4A2C-BA7B-EE2955C7FFB6
Device Start End Sectors Size Type
/dev/vda1 2048 194559 192512 94M EFI System
/dev/vda2 194560 104855551 104660992 49.9G Linux filesystem
GPT PMBR size mismatch (104857599 != 625142447) will be corrected by write.
The backup GPT table is not on the end of the device.
Disk /dev/vdb: 298.09 GiB, 320072933376 bytes, 625142448 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
Disklabel type: gpt
Disk identifier: DC35C3E9-9589-4CC5-B6CB-C0C01C8DEBD2
Device Start End Sectors Size Type
/dev/vdb1 2048 104855551 104853504 50G Linux RAID
Disk /dev/md0: 49.97 GiB, 53650391040 bytes, 104785920 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 /dev/mapper/trim_bac384ff_3688_4a01_89e9_5d21e85c0e8a-0: 49.96 GiB, 53649342464 bytes, 104783872 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
查看文件系统结构
# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
vda
**─vda1 vfat FAT32 66CD-8BE4 88.5M 4% /boot/efi
**─vda2 ext4 1.0 78f31aba-0467-4261-a5f9-71a75ca744ed 37.2G 19% /
vdb
**─vdb1 linux_raid_member 1.2 fnTEST:0 78441887-abbb-fed2-2bcb-b18bae1629fa
**─md0 LVM2_member LVM2 001 XSAyRa-OUXM-pDmm-tnPI-GyMD-oRXf-LmGVlH
**─trim_bac384ff_3688_4a01_89e9_5d21e85c0e8a-0 btrfs ab66060e-69c9-4a7e-af6c-0a8525b5d68b 22.2G 55% /vol1
300G 硬盘分区套了一层 Linux RAID 挂载在 md0,然后底下是 逻辑卷管理LVM
1)扩容 Linux RAID 阵列
# mdadm --grow /dev/md0 -z max
运行完不会有信息输出
查看 LVM物理卷状态
# pvdisplay
--- Physical volume ---
PV Name /dev/md0
VG Name trim_bac384ff_3688_4a01_89e9_5d21e85c0e8a
PV Size <49.97 GiB / not usable 0
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 12791
Free PE 0
Allocated PE 12791
PV UUID XSAyRa-OUXM-pDmm-tnPI-GyMD-oRXf-LmGVlH
此时还是 50G,需要扩容
2)扩容 LVM物理卷
# pvresize -v /dev/md0
Resizing volume "/dev/md0" to 625072128 sectors.
Resizing physical volume /dev/md0 from 12791 to 76302 extents.
Updating physical volume "/dev/md0"
Archiving volume group "trim_bac384ff_3688_4a01_89e9_5d21e85c0e8a" metadata (seqno 2).
Physical volume "/dev/md0" changed
Creating volume group backup "/etc/lvm/backup/trim_bac384ff_3688_4a01_89e9_5d21e85c0e8a" (seqno 3).
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
查看 LVM逻辑卷状态
# lvdisplay
--- Logical volume ---
LV Path /dev/trim_bac384ff_3688_4a01_89e9_5d21e85c0e8a/0
LV Name 0
VG Name trim_bac384ff_3688_4a01_89e9_5d21e85c0e8a
LV UUID s2wSMV-51t9-PX7n-q0mU-FnOR-tHgs-5JNICf
LV Write Access read/write
LV Creation host, time fnTEST, 2024-08-27 16:29:51 +0800
LV Status available
# open 1
LV Size 49.96 GiB
Current LE 12791
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
此时还是 50G,需要扩容
3)扩容 LVM逻辑卷
# lvextend -l +100%FREE /dev/mapper/trim_bac384ff_3688_4a01_89e9_5d21e85c0e8a-0
Size of logical volume trim_bac384ff_3688_4a01_89e9_5d21e85c0e8a/0 changed from 49.96 GiB (12791 extents) to 298.05 GiB (76302 extents).
Logical volume trim_bac384ff_3688_4a01_89e9_5d21e85c0e8a/0 successfully resized.
4)刷新 LVM逻辑卷 所在文件系统的容量
# btrfs filesystem resize max /vol1
Resize device id 1 (/dev/mapper/trim_bac384ff_3688_4a01_89e9_5d21e85c0e8a-0) from 49.96GiB to max
最后扩容成功
经过一大轮操作后,硬盘容量才真正完成扩容

# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
vda
**─vda1 vfat FAT32 66CD-8BE4 88.5M 4% /boot/efi
**─vda2 ext4 1.0 78f31aba-0467-4261-a5f9-71a75ca744ed 37.2G 19% /
vdb
**─vdb1 linux_raid_member 1.2 fnTEST:0 78441887-abbb-fed2-2bcb-b18bae1629fa
**─md0 LVM2_member LVM2 001 XSAyRa-OUXM-pDmm-tnPI-GyMD-oRXf-LmGVlH
**─trim_bac384ff_3688_4a01_89e9_5d21e85c0e8a-0 btrfs ab66060e-69c9-4a7e-af6c-0a8525b5d68b 270.3G 9% /vol1
最后
论坛以前有人写过相关教学:[虚拟机磁盘大小扩容后调整存储空间
](https://club.fnnas.com/forum.php?mod=viewthread&tid=4513)
不过他是 Linear 模式的磁盘,不需要执行 mdadm 扩容的步骤