如何扩容FreeBSD云服务器的硬盘?

  • 发布时间:2021-09-28 08:55:15
  • 阅读次数:2622

FreeBSD使用UFS(Unix File System)作为操作系统的文件系统,也被称为freebsd-ufs。当我们变更云服务器的硬盘到更大容量后,系统不会自动扩容磁盘大小,需要执行这些步骤完成扩容。该帮助适用于FreeBSD各版本操作系统。

扩容系统盘

1、查看硬盘分区

首先远程登录到Linux云服务器,用df命令和gpart shows命令查看硬盘分区情况。如下所示,可以看到这台服务器只有一块25G的系统盘。

# 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)

变更硬盘容量到40G后,我们再次用以上命令查看新的硬盘分区情况。如下所示,可以看到vtbd0分区的大小已变更为40G,并且标记为CORRUPT(损坏)状态。

# 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分区。

# 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分区

根据FreeBSD官方手册,在修改挂载状态的文件系统分区表时,存在数据丢失的风险。因此如果需要扩容的分区上有重要数据,建议做一次异地备份后再执行扩容。准备完毕后,用gpart resize命令扩容分区。

# gpart resize -i 2 vtbd0
vtbd0p2 resized

# growfs /dev/ufs/rootfs

4、确认扩容成功

用gpart show命令和df命令查看硬盘分区情况,确认是否扩容成功。可以看到系统盘已成功扩容到40G。

# 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

创建数据盘

创建一块新的数据盘后,需要进行分区初始化并且挂载到操作系统上。在下面的示例中,我们将创建一块50G的数据盘作为整个分区,并命名为vtbd1。

1、创建分区

我们使用gpart create命令来创建,并采用GPT分区模式。

# gpart create -s GPT vtbd1
vtbd1 created

# gpart add -t freebsd-ufs -l vultr\_block\_storage vtbd1
vtbd1p1 added

2、初始化分区

使用UFS文件系统初始化分区。

# newfs -U vtbd1p1
/dev/vtbd1p1: 51200.0MB (104857528 sectors) block size 32768, fragment size 4096
    using 82 cylinder groups of 626.09MB, 20035 blks, 80256 inodes.
    with soft updates
super-block backups (for fsck_ffs -b #) at:
 192, 1282432, 2564672, 3846912, 5129152, 6411392, 7693632, 8975872, 10258112, 11540352, 12822592, 14104832, 15387072, 16669312, 17951552, 19233792, 20516032, 21798272, 23080512, 24362752, 25644992, 26927232, 28209472, 29491712,
 30773952, 32056192, 33338432, 34620672, 35902912, 37185152, 38467392, 39749632, 41031872, 42314112, 43596352, 44878592, 46160832, 47443072, 48725312, 50007552, 51289792, 52572032, 53854272, 55136512, 56418752, 57700992, 58983232,
 60265472, 61547712, 62829952, 64112192, 65394432, 66676672, 67958912, 69241152, 70523392, 71805632, 73087872, 74370112, 75652352, 76934592, 78216832, 79499072, 80781312, 82063552, 83345792, 84628032, 85910272, 87192512, 88474752,
 89756992, 91039232, 92321472, 93603712, 94885952, 96168192, 97450432, 98732672, 100014912, 101297152, 102579392, 103861632
Now you're ready to mount the new device for use!

3、挂载分区

在这个例子中,我们创建的挂载目录为/mnt/blockstorage,也可以根据需要进行调整。

# mkdir /mnt/blockstorage
# echo /dev/vtbd1p1 /mnt/blockstorage ufs rw,noatime 0 2 >> /etc/fstab 
# mount /mnt/blockstorage

4、确认创建成功

用df命令查看硬盘分区情况,确认是否创建成功。

# df -h /mnt/blockstorage/
Filesystem      Size    Used   Avail Capacity  Mounted on
/dev/vtbd1p1     48G    8.0K     45G     0%    /mnt/blockstorage

【全文完】

< 上一篇:如何初始化和扩容Linux云服务器的硬盘? 下一篇:云服务器按小时付费说明(试用说明) >