收起左侧

小容量硬盘 克隆数据 到 大硬盘 实现无损扩容操作记录

5
回复
1699
查看
[ 复制链接 ]

0

主题

0

回帖

5

牛值

初出茅庐

2025-1-15 16:12:40 显示全部楼层 阅读模式

[i=s] 本帖最后由 进驻x 于 2025-1-15 16:13 编辑 [/i]<br /> <br />

使用场景

从 50G 旧硬盘通过 dd 命令,将所有数据克隆到 300G 新硬盘

实现文件无损迁移,扩容可用空间

本贴是个人操作记录留存,可能会有错漏

Image1.png

硬盘为 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

最后扩容成功

经过一大轮操作后,硬盘容量才真正完成扩容

Image2.png

# 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 扩容的步骤

收藏
送赞 6
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

6

主题

48

回帖

255

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2025-1-15 17:23:35 显示全部楼层
文章不错

45

主题

110

回帖

250

牛值

社区共建团

社区共建团荣誉勋章飞牛百度网盘玩家

2025-1-15 17:24:56 显示全部楼层
文章写的很好啊,挺实用的
一位爱好折腾nas的初二学生~

3

主题

38

回帖

0

牛值

江湖小虾

2025-1-16 17:11:02 显示全部楼层
收藏一下点个赞

2

主题

2

回帖

0

牛值

江湖小虾

2025-1-17 10:01:37 显示全部楼层
非常实用

0

主题

5

回帖

0

牛值

fnOS系统内测组

2025-1-21 22:56:17 显示全部楼层
学习了,等盘到了再实操一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则