IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Parted 无损扩容磁盘分区

    泠泫凝发表于 2024-02-21 06:21:42
    love 0

    使用Parted工具对磁盘分区进行无损扩容(即保留数据扩容分区)。

    数据无价,请操作前规划好需求和操作流程,测试并备份数据。

    1. 首先查看一下当前分区状态,明确需求
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      root@localserver:~# df -Th
      Filesystem Type Size Used Avail Use% Mounted on
      udev devtmpfs 1.8G 0 1.8G 0% /dev
      tmpfs tmpfs 394M 6.6M 387M 2% /run
      /dev/mmcblk0p2 ext4 59G 20G 40G 33% /
      tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
      tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
      tmpfs tmpfs 2.0G 20K 2.0G 1% /tmp
      /dev/mmcblk1p1 ext4 223M 79M 140M 37% /boot
      /dev/sda1 ext4 125G 82G 37G 69% /root/wxedge
      /dev/sda2 ext4 343G 28K 325G 1% /root/userdata0
      /dev/zram1 ext4 49M 24M 22M 53% /var/log
      tmpfs tmpfs 394M 8.0K 394M 1% /run/user/0
      在本次示例中,由于dev/sda1分区容量较小;而/dev/sda2业务较为不重要,因此想将/dev/sda2的容量转移到/dev/sda1中。
    2. 停用欲扩容分区业务,卸载欲扩容分区:
      1
      2
      umount /dev/sda1
      umount /dev/sda2
    3. 使用parted进入磁盘操作模式:
      1
      parted /dev/sda
      此时应有返回:
      1
      2
      3
      4
      5
      root@armbian:~# parted /dev/sda
      GNU Parted 3.4
      Using /dev/sda
      Welcome to GNU Parted! Type 'help' to view a list of commands.
      (parted)
    4. 查看当前分区表:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      (parted) p                                                                
      Model: NVME USB 3.2 (scsi)
      Disk /dev/sda: 512GB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt
      Disk Flags:

      Number Start End Size File system Name Flags
      1 1049kB 137GB 137GB ext4
      2 137GB 512GB 375GB ext4
      记下当前输出的所有信息,后面会用到,最好是复制出来到另外的地方。
    5. 删除2号分区和1号分区:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      (parted) rm 2
      (parted) rm 1
      (parted) p
      Model: NVME USB 3.2 (scsi)
      Disk /dev/sda: 512GB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt
      Disk Flags:

      Number Start End Size File system Name Flags
    6. 重建分区:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      (parted) mkpart                                                           
      # 输入上面记下的1号分区的Name值,如果输出的时候就没有就直接回车
      Partition name? []?
      # 输入上面记下的1号分区的分区格式值
      File system type? [ext2]? ext4
      # 输入上面记下的起始点
      Start? 1049KB
      # 输入终点,注意,这个值只能比上面记下的End值大
      End? 240GB
    7. 退出parted,命令是quit
    8. resize一下扩容的分区
      1
      2
      3
      4
      root@localserver:~# resize2fs -f /dev/sda1                                    
      resize2fs 1.46.2 (28-Feb-2021)
      Resizing the filesystem on /dev/sda1 to 58593536 (4k) blocks.
      The filesystem on /dev/sda1 is now 58593536 (4k) blocks long.
    9. 扩容完成后进行挂载,查看文件是否存在、扩容是否成功,重启业务查看业务运行是否正常
      (此处省略了新建2号分区的过程。)
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      root@localserver:~# mount /dev/sda1 wxedge/
      root@localserver:~# mount /dev/sda2 userdata0/
      root@localserver:~# df -Th
      Filesystem Type Size Used Avail Use% Mounted on
      udev devtmpfs 1.8G 0 1.8G 0% /dev
      tmpfs tmpfs 394M 6.5M 387M 2% /run
      /dev/mmcblk0p2 ext4 59G 20G 40G 33% /
      tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
      tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
      tmpfs tmpfs 2.0G 20K 2.0G 1% /tmp
      /dev/mmcblk1p1 ext4 223M 79M 140M 37% /boot
      /dev/zram1 ext4 49M 24M 22M 53% /var/log
      tmpfs tmpfs 394M 8.0K 394M 1% /run/user/0
      /dev/sda1 ext4 219G 82G 127G 40% /root/wxedge
      /dev/sda2 ext4 249G 28K 236G 1% /root/userdata0
    10. 我这里测试扩容成功,且业务运行正常,流程结束。


沪ICP备19023445号-2号
友情链接