FreeBSD磁盘快速起步

在阿里云的FreeBSD虚拟机添加了数据磁盘,但是发现和Linux平台有些不同,所以快速学习和实践一下:

磁盘

  • 首先找出磁盘,因为我发现没有 fdisk -l 这样的Linux命令,那么替代命令是 geom (universal control utility for GEOM classes):

使用 geom 列出磁盘
geom disk list
使用 geom 列出磁盘
Geom name: vtbd0
Providers:
1. Name: vtbd0
   Mediasize: 42949672960 (40G)
   Sectorsize: 512
   Mode: r1w1e3
   descr: (null)
   ident: uf62gd8cvqhltezkepcc
   rotationrate: unknown
   fwsectors: 63
   fwheads: 16

Geom name: vtbd1
Providers:
1. Name: vtbd1
   Mediasize: 805306368000 (750G)
   Sectorsize: 512
   Mode: r0w0e0
   descr: (null)
   ident: uf662ezm094bniimawel
   rotationrate: unknown
   fwsectors: 63
   fwheads: 16

这里可以看到我刚添加的虚拟磁盘 vtbd1 (750G)

知道磁盘名字之后,就可以再添加磁盘名字来显示信息:

检查 vtbd1 磁盘
geom disk list vtdb1

分区

备注

这里按照传统方式,使用 UFS 文件系统,其实使用 ZFS 更为简单。不过,这里为了练习

  • gpart 命令可以创建分区,而且可以通过 -s 参数指定大小(如果没有指定大小则完全占用空闲空间);然后可以创建文件系统:

创建分区和文件系统
gpart create -s GPT vtbd1
# 提示信息
# vtbd1 created

gpart add -s 750G -t freebsd-ufs vtbd1
# 提示信息
# gpart: autofill: No space left on device
# 原因是指定分配大小超出了可分配空间

gpart add -t freebsd-ufs vtbd1
# 再次创建分区但是不指定大小则全部分配,提示信息如下
# vtbd1p1 added

gpart show vtbd1
# 检查分区,显示输出如下
#=>        40  1572863920  vtbd1  GPT  (750G)
#          40  1572863920      1  freebsd-ufs  (750G)

gpart delete -i 1 vtbd1
# 删除分区,这里 -i 1 表示分区索引1 ,提示信息如下
#vtbd1p1 deleted

gpart show vtbd1
# 再次检查分区就看到是空白了
#=>        40  1572863920  vtbd1  GPT  (750G)
#          40  1572863920         - free -  (750G)

gpart destroy vtbd1
# 警告: 这个命令摧毁分区表,也就是抹去磁盘
# 我实际没有执行

gpart add -t freebsd-ufs vtbd1
# 再次创建分区1

newfs /dev/vtbd1p1
# 创建文件系统

mkdir /data
echo "/dev/vtbd1p1  /data  ufs  rw  1 1" >> /etc/fstab
mount /data
# 挂载文件系统

备注

操作不难但也不很方便,感觉还是 ZFS 使用更为简便

参考