收起左侧

系统迁移,大盘换小盘

2
回复
994
查看
[ 复制链接 ]

2

主题

5

回帖

0

牛值

江湖小虾

2025-3-20 14:26:00 显示全部楼层 阅读模式
# 迁移存储空间的简要步骤
1. 在新硬盘划出分区用于存储
2. 在新分区上创建PV
3. 将新的PV纳入VG
4. 迁移LV到新的PV
5. VG删除旧PV

## 概念说明
NAME                                               SIZE FSTYPE            MOUNTPOINT
sda                                                 80G
**─sda1                                              94M
**─sda2                                            63.9G ext4              /
**─sda3                                               3G linux_raid_member
  **─md0                                             16G LVM2_member
    **─trim_0e72302c_83fd_4f5d_a22e_71bfa1e66a4c-0   16G btrfs
sdb                                                200G
**─sdb1                                              94M
**─sdb2                                            63.9G
**─sdb3                                               3G
上面内容是硬盘分布结构,可以通过lsblk命令查看
sudo lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID

sda/sdb是物理硬盘, sda1/sda2/sda3是物理硬盘的分区, md0是物理卷(PV), trim_0e72302c_83fd_4f5d_a22e_71bfa1e66a4c是卷组(VG), trim_0e72302c_83fd_4f5d_a22e_71bfa1e66a4c-0是逻辑卷(LV)。
trim_0e72302c_83fd_4f5d_a22e_71bfa1e66a4c-0是VG-LV的组合, 代表一个存储空间,可实际存储可能会分布在多个PV上,这里只有一个PV。

PV是实际存储数据的空间,VG/LV是RAID的逻辑空间。
所以迁移数据是思路是先将LV迁移到新的PV上,然后删除旧的PV。

## 1. 给新硬盘划出分区
1. sudo parted /dev/sdb # 进入parted
2. print free # 查看空闲分区
3. mkpart # 新建分区, 依次输入分区名、文件系统、起始位置、结束位置,print free可以查看分区信息
4. quit # 退出parted保存分区信息

## 2. 创建PV
1. sudo pvcreate /dev/sdb3 # 创建PV, /dev/sdb3是新硬盘的分区
2. sudo pvs # 查看PV信息

## 3. 将新的PV纳入VG
1. sudo vgextend trim_0e72302c_83fd_4f5d_a22e_71bfa1e66a4c /dev/sdb3 # 将新的PV纳入VG
2. sudo vgs # 查看VG信息

## 4. 迁移LV到新的PV
### 先收缩原LV空间
1. sudo btrfs filesystem show /vol1 # 查看btrfs文件系统大小及使用情况
2. sudo btrfs filesystem resize -14G /vol1 # 收缩btrfs文件系统大小, 这里是收缩14G, 最终大小比使用空间稍大即可
3. sudo lvresize -L 1.5G /dev/trim_dd73d4df_319d_46a6_be24_7b999362d68d/0 # 收缩LV大小, 这里是收缩到1.5G(比btrfs稍大)

### 迁移LV
1. sudo pvmove /dev/md0 /dev/sdb3 # 迁移LV到新的PV
2. sudo pvs # 查看PV信息, 可以看到md0的空闲空间已经释放

## 5. VG删除旧PV
1. sudo vgreduce trim_dd73d4df_319d_46a6_be24_7b999362d68d /dev/md0 # 删除旧的PV

### 扩大目标分区
1. sudo parted /dev/sdb # 进入parted
2. print free # 查看空闲空闲
3. resizepart 3 # 调整分区大小, 输入结束位置
4. quit # 退出parted保存分区信息

### 扩大PV空间
1. sudo pvresize /dev/sdb3 # 扩大PV空间

### 扩大LV空间
1. sudo lvresize -L 136G /dev/trim_dd73d4df_319d_46a6_be24_7b999362d68d/0 # 扩大LV空间, 这里是扩大到136G(比PV略小)

### 扩大btrfs文件系统大小
1. sudo btrfs filesystem show /vol1 # 查看btrfs文件系统大小及使用情况
2. sudo btrfs filesystem resize +134G /vol1 # 扩大btrfs文件系统大小, 这里是扩大134G(最终比LV略小)

## 最后sda1(BIOS BOOT)与sda2(EXT4系统盘)可以用DG克隆分区进行迁移
收藏
送赞
分享

1

主题

41

回帖

0

牛值

江湖小虾

2025-3-26 13:58:15 显示全部楼层
大佬,我的系统盘上开了存储空间1,有办法把系统盘迁到一个新的硬盘上,存储空间迁到另一个新硬盘上么
解决了吗  详情 回复
2025-4-12 00:08

0

主题

10

回帖

0

牛值

江湖小虾

2025-4-12 00:08:38 显示全部楼层
漠邪x 发表于 2025-3-26 13:58
大佬,我的系统盘上开了存储空间1,有办法把系统盘迁到一个新的硬盘上,存储空间迁到另一个新硬盘上么 ...

解决了吗
i7-8700K
DDR4 16Gx4
HDD 4Tx12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则