17.3 添加磁盘

Originally contributed by David O'Brien.

  假设我们要给一台只有一个磁盘的机器增加一个新的 SCSI 磁盘。首先 需要关掉计算机,然后按操作规程来安装驱动器,控制器和驱动程序。由于 各厂家生产的产品各不相同,具体的安装细节不在此文档介绍之内。

  以 root 用户登录。安装完驱动后,检查一下 /var/run/dmesg.boot 有没有找到新的磁盘。在我们 的例子中新增加的磁盘就是 da1,我们从 /1 挂上它。 (如果您正添加 IDE 驱动器, 则设备名应该是 ad1)。

  因为 FreeBSD 运行在 IBM-PC 兼容机上,它必须遵循 PC BIOS 分区规范。 这与传统的 BSD 分区是不同的。一个 PC 的磁盘最高只能有四个 BIOS 主分区。如果磁盘只安装 FreeBSD 您可以使用 dedicated 模式。另外, FreeBSD 必须安装在 PC BIOS 支持的分区内。FreeBSD 把分区叫作 slices 这可能会把人搞糊涂。您也可以在只安装 FreeBSD 的磁盘上使用 slices,也可以在安装有其它操作系统的磁盘上使用 slices。这不会影响其它操作系统的 fdisk 分区工具。

  在 slice 方式表示下,驱动器被添加到 /dev/da1s1e。 可以读作:SCSI 磁盘,编号为 1 (第二个SCSI 磁盘), slice 1 (PC BIOS 分区 1), 的 BSD 分区 e 。在有些例子中,也可以简化为 /dev/da1e

  由于 bsdlabel(8) 使用 32-位 的整数来表示扇区号, 因此在多数情况下它的表现力限于每个磁盘 2^32-1 个扇区或 2TB。 fdisk(8) 格式允许的起始扇区号不能高于 2^32-1 而分区长度也不能大于 2^32-1, 通常情况下这限制了分区大小最大为 2TB 而磁盘大小则是 4TB。 sunlabel(8) 格式的限制是每个分区 2^32-1 个扇区, 但允许 8 个分区因此最大支持 16TB 的磁盘。 要使用更大的分区, 则应使用 gpt(8)

17.3.1 使用 sysinstall(8)

  1. 使用 Sysinstall

    您可以使用 sysinstall 命令的菜单来分区和标记一个新的磁盘。 这一操作需要有 root 权限, 您可以直接使用 root 账户登录或者使用 su 命令来切换到 root 用户。运行 sysinstall ,然后选择 Configure 菜单。在 FreeBSD Configuration Menu 下,上下滚动, 选择 Fdisk 条目。

  2. fdisk 分区编辑器

    进入 fdisk 分区编辑器后,选择 A ,FreeBSD 将使用全部的磁盘。当被告知 “remain cooperative with any future possible operating systems”时,回答 YES。使用 W 保存刚才的修改。现在使用 q 退出 FDISK 编辑器。下面会看到有关 “主引导区” 的信息。 现在您已经在运行的系统上添加了一个磁盘, 因此应该选择 None

  3. Disk Label 编辑器

    接下来,您应该退出 sysinstall 并且再次启动它,并按照上面的步骤直接进入 Label 选项。进入 磁盘标签编辑器。 这就是您要创建的 BSD 分区。一个磁盘最多可以有 8 个分区,标记为 a-h。有几个分区标签有特殊的用途。 a 分区被用来作为根分区(/)。 系统磁盘(例如:从那儿启动的分区)必须有一个 a 分区。b 分区被用作交换分区,可以用很多磁盘用作交 换分区。 c 分区代表整个硬盘,或在 FreeBSD slice 模式下代表整个 slice。其它分区作为一般分区来使用。

    sysinstall 的标签编辑器用 e 表示非 root 和非 swap 分区。在标签编辑器中,可以使用键入C 创建一个文件系统。当提示这是否是一个 FS(文件系统)或 swap 时,选择 FS,然后给出一个加载点(如: /mnt)。 当在 post-install 模式时添加一个磁盘, sysinstall 不会在 /etc/fstab 中创建记录,所以是否指定加载点并不重要。

    现在已经准备把新标签写到磁盘上,然后创建一个文件系统,可以按下 W。出现任何错误都会不能创建新的分区。可以退出标签编辑 器然后重新执行 sysinstall

  4. 完成

    下面一步就是编辑 /etc/fstab,为您的磁盘添加一个新 记录。

17.3.2 使用命令行工具

17.3.2.1 使用 Slices

  这步安装将允许磁盘与可能安装在您计算机上的其它操作系统一起 正确工作,而不会搞乱其它操作系统的分区。推荐使用这种方法来安装 新磁盘,除非您有更好的理由再使用 dedicated 模式!

# dd if=/dev/zero of=/dev/da1 bs=1k count=1
# fdisk -BI da1 #初始化新磁盘
# bsdlabel -B -w -r da1s1 auto #加上标签
# bsdlabel -e da1s1 # 现在编辑您刚才创建的磁盘分区
# mkdir -p /1
# newfs /dev/da1s1e # 为您创建的每个分区重复这个操作
# mount /dev/da1s1e /1 # 挂上分区
# vi /etc/fstab # 完成之后,添加合适的记录到您的 /etc/fstab文件。

  如果有一个 IDE 磁盘,记得要用 ad 替换前面的 da

17.3.2.2 专用模式

  如果您并没有安装其它的操作系统,可以使用 dedicated 模式。记住这种模式可能会弄乱 Microsoft 的操作系统,但不会对它进行破坏。 它不识别找到的 IBM OS/2® 的 “appropriate” 分区。

# dd if=/dev/zero of=/dev/da1 bs=1k count=1
# bsdlabel -Brw da1 auto
# bsdlabel -e da1               # 创建 `e' 分区
# newfs -d0 /dev/da1e
# mkdir -p /1
# vi /etc/fstab               # 为 /dev/da1e添加一个记录
# mount /1

  另一种方法:

# dd if=/dev/zero of=/dev/da1 count=2
# bsdlabel /dev/da1 | bsdlabel -BrR da1 /dev/stdin
# newfs /dev/da1e
# mkdir -p /1
# vi /etc/fstab                   # 为 /dev/da1e添加一个记录
# mount /1

本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<[email protected]>.
关于本文档的问题请发信联系 <[email protected]>.