更新时间:2024-03-15 GMT+08:00

Linux系统迁移,如何拆分磁盘?

场景描述

源端Linux系统迁移,想要将源端一个磁盘内的分区迁移到目的端后拆分到多个磁盘。

如果想要减小某个分区或磁盘的大小,可以在迁移Agent启动后,在主机迁移控制台,设置目的端时调整分区和磁盘大小。

解决方案

通过在源端修改SMS-Agent的配置文件,即可实现将源端一个磁盘中的分区迁移到目的端多个磁盘。

  • 该方案对配置文件所做出的改动,仅涉及迁移后的目的端,不会对源端有影响。
  • 使用该功能可能会出现迁移进度条不准确的现象,请知晓。

分区级拆分

调整现有分区的磁盘映射关系,从而实现对于现有分区的拆分。

  1. 在源端服务器,执行如下命令,进入Agent安装目录下的config目录。

    cd SMS-Agent/agent/config

  2. 执行如下命令,打开并编辑config目录下的disk.cfg配置文件。

    vi disk.cfg

  3. 修改vol_disk_modify参数配置项。

    • vol_name:输入原分区名
    • new_vol_name:输入新分区名
    • disk_name:输入原分区所在磁盘
    • new_disk_name:输入拆分目标磁盘

    例如:将源端vda盘中的vda2分区和vda3分区,迁移到目的端后,拆分到vdb盘和vdc盘。

    [vol_disk_modify]
    vol_name=/dev/vda2;/dev/vda3
    new_vol_name=/dev/vdb2;/dev/vdc2
    disk_name=/dev/vda;/dev/vda
    new_disk_name=/dev/vdb;/dev/vdc
    • 多个磁盘/分区之间使用英文分号分开,每个参数的值要保证数量一致(即包含同样个数的分号)。
    • 分区大小应小于目标磁盘可用大小,若目标磁盘无剩余空间,可能会导致迁移失败。如需调整,请参考调整磁盘大小新增磁盘
    • 新分区的名称应该遵循磁盘名+序号(如:vdb4)的命名规则,且不可与已有分区重复。

  4. 执行如下命令,保存disk.cfg配置文件并重启迁移Agent,进行后续迁移操作。

    :wq

调整磁盘大小

可通过修改disk.cfg配置文件中的disk_size_modify参数配置项调整磁盘大小。

  • disk_name:输入目标磁盘
  • adjust_size:输入修改后磁盘大小
例如:修改目标磁盘vdb大小为40G。
[disk_size_modify]
disk_name=/dev/vdb
adjust_size=40G
  • 目标磁盘为系统盘时,大小应该限制在40G-1024G。
  • 目标磁盘为数据盘时,大小应该限制在10G-32768G。

新增磁盘

可通过修改disk.cfg配置文件中的disk_add参数配置项新增磁盘。

  • disk_name:输入新增磁盘名称
  • adjust_size:输入新增磁盘大小(G为单位)
例如:在目的端新增磁盘vdd,大小10 G。
[disk_add]
disk_name=/dev/vdd
disk_size=10G
  • 磁盘名称应该符合命名规则,且不可与已有磁盘重复。
  • 磁盘大小应该限制在10G-32768G。