使用Parted工具对磁盘分区进行无损扩容(即保留数据扩容分区)。
数据无价,请操作前规划好需求和操作流程,测试并备份数据。
- 首先查看一下当前分区状态,明确需求在本次示例中,由于
1
2
3
4
5
6
7
8
9
10
11
12
13root@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/0dev/sda1
分区容量较小;而/dev/sda2
业务较为不重要,因此想将/dev/sda2
的容量转移到/dev/sda1
中。 - 停用欲扩容分区业务,卸载欲扩容分区:
1
2umount /dev/sda1
umount /dev/sda2 - 使用parted进入磁盘操作模式:此时应有返回:
1
parted /dev/sda
1
2
3
4
5root@armbian:~# parted /dev/sda
GNU Parted 3.4
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) - 查看当前分区表:记下当前输出的所有信息,后面会用到,最好是复制出来到另外的地方。
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 - 删除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 - 重建分区:
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 - 退出parted,命令是
quit
- resize一下扩容的分区
1
2
3
4root@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. - 扩容完成后进行挂载,查看文件是否存在、扩容是否成功,重启业务查看业务运行是否正常
(此处省略了新建2号分区的过程。)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15root@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 - 我这里测试扩容成功,且业务运行正常,流程结束。