正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史记录

版本 1 当前 »

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

1、首先查看一下当前分区状态,明确需求

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、停用欲扩容分区业务,卸载欲扩容分区:

umount /dev/sda1
umount /dev/sda2

3、使用 parted 进入磁盘操作模式:

parted /dev/sda

此时应有返回:

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、查看当前分区表:


(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号分区:


(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、重建分区:

(parted) mkpart                                                           
# 输入上面记下的1号分区的Name值,如果输出的时候就没有就直接回车
Partition name?  []?                                                      
# 输入上面记下的1号分区的分区格式值
File system type?  [ext2]? ext4                                           
# 输入上面记下的起始点
Start? 1049KB                                                             
# 输入终点,注意,这个值只能比上面记下的End值大
End? 240GB

7、退出 parted,命令是 quit

8、resize 一下扩容的分区

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号分区的过程。)

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、测试扩容成功,且业务运行正常,流程结束。

  • 无标签