本文主要讨论在系统磁盘分区空间不足时,如何使用gpart命令在线对磁盘分区进行调整和扩容。主要包括以下几个步骤:
- 备份文件系统
- 删除不用的分区
- 对目标分区进行扩容
- 调整目标文件系统
- 划分剩余磁盘空间
本文使用的软件版本:
- FreeBSD 13.2-RELEASE
- gpart 系统自带磁盘工具
一直以来,对磁盘进行分区都是一个技术活。分几个区,每个区分多少空间大概是每个人拿到一个新电脑以后首先要考虑的问题。然而,即使在最开始时规划得再精细,用上几年之后总会有几个磁盘让人感觉捉襟见肘。这时,如果不打算换硬盘,那么使用工具对磁盘分区进行调整可能就是接下来必须要考虑的问题了。
Windows操作系统自带的“磁盘管理器”可以查看和管理磁盘分区,也可以对磁盘分区进行扩展和压缩等操作;Linux操作系统中有一个GParted磁盘分区工具,以图形化的方式对磁盘进行管理操作;gpart是FreeBSD操作系统提供的针对磁盘分区GEOM类的控制实用程序,可用于对磁盘分区进行创建、删除、调整、修改、备份、恢复、显示、查看等操作。
0 磁盘分区与文件系统现状
在一个8G的USB磁盘上安装操作系统时,对空间使用量估计不足,分出一个4G的分区作为根分区,正常情况下使用率大概在60%左右,基本算是够用了。昨天在系统中安装tomcat 10时,依赖安装了openjdk 11和llvm(Low Level Virtual Machine) 15,磁盘一下子就不够用了,可用空间为负数,使用率也飙升到了105%,看来得想点办法给这个分区扩一下容了。
使用gpart查看磁盘信息如下:
# gpart list da0
Geom name: da0
modified: false
state: OK
fwheads: 255
fwsectors: 63
last: 15630335
first: 0
entries: 8
scheme: BSD
Providers:
1. Name: da0a
Mediasize: 4294967296 (4.0G)
Sectorsize: 512
Mode: r1w1e2
rawtype: 7
length: 4294967296
offset: 0
type: freebsd-ufs
index: 1
end: 8388607
start: 0
2. Name: da0b
Mediasize: 536870912 (512M)
Sectorsize: 512
Stripesize: 0
Stripeoffset: 4294967296
Mode: r0w0e0
rawtype: 1
length: 536870912
offset: 4294967296
type: freebsd-swap
index: 2
end: 9437183
start: 8388608
3. Name: da0d
Mediasize: 3170893824 (3.0G)
Sectorsize: 512
Stripesize: 0
Stripeoffset: 4831838208
Mode: r1w1e2
rawtype: 7
length: 3170893824
offset: 4831838208
type: freebsd-ufs
index: 4
end: 15630335
start: 9437184
Consumers:
1. Name: da0
Mediasize: 8002732032 (7.5G)
Sectorsize: 512
Mode: r2w2e6