怎样在 FreeBSD 中调整磁盘大小

FreeBSD 操作系统使用 UFS(Unix 文件系统)作为其根分区的文件系统; 也称为 freebsd-ufs

在升级磁盘大小的情况下,我们将说明怎样扩展此文件系统。

先决条件

1) 要遵循本教程,请部署以下其中一项:

或者

我们利用以下计划开始部署:

CPU:        1 vCore
RAM:        1024 MB
Storage:    25 GB SSD

2) 在升级您的实例之前,请确认其当前的磁盘分配和分区表:

# df -h  
Filesystem         Size    Used   Avail Capacity  Mounted on
/dev/ufs/rootfs     24G    924M     21G     4%    /
devfs              1.0K    1.0K      0B   100%    /dev

# gpart show
=>      40  52428720  vtbd0  GPT  (25G)
        40      1024      1  freebsd-boot  (512K)
      1064  52427696      2  freebsd-ufs  (25G)

3) 升级您的实例计划:

  1. 访问您的 Vultr 管理页面
  2. 选择您要升级的实例。
  3. 选择页面顶部附近的“设置”链接。
  4. 单击侧面的“更改计划”链接以显示可用升级选项的下拉菜单。

在这种情况下,我们将计划升级为以下内容:

CPU:        1 vCore
RAM:        2048 MB
Storage:    40 GB SSD

1.确认新磁盘空间

虽然磁盘分配一开始看起来是一样的, gpart 说明了一个变化::

# df -h
Filesystem         Size    Used   Avail Capacity  Mounted on
/dev/ufs/rootfs     24G    924M     21G     4%    /
devfs              1.0K    1.0K      0B   100%    /dev

# gpart show
=>      40  52428720  vtbd0  GPT  (40G) [CORRUPT]
        40      1024      1  freebsd-boot  (512K)
      1064  52427696      2  freebsd-ufs  (25G)

2. 恢复损坏的分区

# gpart recover vtbd0
vtbd0 recovered

# gpart show
=>      40  83886000  vtbd0  GPT  (40G)
        40      1024      1  freebsd-boot  (512K)
      1064  52427696      2  freebsd-ufs  (25G)
  52428760  31457280         - free -  (15G)

3.调整大小 freebsd-ufs 划分

警告!!!

FreeBSD 手册

修改挂载的文件系统的分区表时存在数据丢失的风险。 从 live CD-ROM 或 USB 设备运行时,最好在未挂载的文件系统上执行以下步骤。

由于这是最近部署的实例,因此没有需要备份的敏感数据; 但是,如果升级当前生产中的实例,最佳做法是在对分区表进行任何更改之前执行异地备份。

准备好继续后,请执行以下操作:

# gpart resize -i 2 vtbd0
vtbd0p2 resized

# gpart show
=>      40  83886000  vtbd0  GPT  (40G)
        40      1024      1  freebsd-boot  (512K)
      1064  83884976      2  freebsd-ufs  (40G)

4. 扩展 UFS 文件系统

为了扩大 freebsd-ufs 或者 /dev/vtbd0p2 分区,启动 growfs 服务:

# service growfs onestart
Growing root partition to fill device
vtbd0 recovering is not needed
vtbd0p2 resized
super-block backups (for fsck_ffs -b #) at:
 53224896, 54248448, 55272000, 56295552, 57319104, 58342656, 59366208, 60389760, 61413312,
 62436864, 63460416, 64483968, 65507520, 66531072, 67554624, 68578176, 69601728, 70625280,
 71648832, 72672384, 73695936, 74719488, 75743040, 76766592, 77790144, 78813696, 79837248,
 80860800, 81884352, 82907904

或者,您可以运行以下命令。

growfs /dev/ufs/rootfs

5. 确认更改

# gpart show
=>      40  83886000  vtbd0  GPT  (40G)
        40      1024      1  freebsd-boot  (512K)
      1064  83884976      2  freebsd-ufs  (40G)

# df -h
Filesystem         Size    Used   Avail Capacity  Mounted on
/dev/ufs/rootfs     39G    924M     35G     3%    /
devfs              1.0K    1.0K      0B   100%    /dev

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com