From cd18914b7172b8665fcd818269a10e300a96e955 Mon Sep 17 00:00:00 2001 From: Xin LI Date: Sun, 28 Aug 2005 17:07:51 +0000 Subject: Simplified Chinese Translation of the latest geom/ and audit/. Submitted by: delphij Obtained from: The FreeBSD Simplified Chinese Project --- zh_CN.GB2312/books/handbook/geom/Makefile | 16 ++ zh_CN.GB2312/books/handbook/geom/chapter.sgml | 393 ++++++++++++++++++++++++++ 2 files changed, 409 insertions(+) create mode 100644 zh_CN.GB2312/books/handbook/geom/Makefile create mode 100644 zh_CN.GB2312/books/handbook/geom/chapter.sgml (limited to 'zh_CN.GB2312/books/handbook/geom') diff --git a/zh_CN.GB2312/books/handbook/geom/Makefile b/zh_CN.GB2312/books/handbook/geom/Makefile new file mode 100644 index 0000000000..05079dcc5b --- /dev/null +++ b/zh_CN.GB2312/books/handbook/geom/Makefile @@ -0,0 +1,16 @@ +# +# Build the Handbook with just the content from this chapter. +# +# Original Revision: 1.1 +# $FreeBSD$ +# + +CHAPTERS= geom/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/zh_CN.GB2312/books/handbook/geom/chapter.sgml b/zh_CN.GB2312/books/handbook/geom/chapter.sgml new file mode 100644 index 0000000000..89974b51ef --- /dev/null +++ b/zh_CN.GB2312/books/handbook/geom/chapter.sgml @@ -0,0 +1,393 @@ + + + + + + + Tom + Rhodes + 原作 + + + + + GEOM: 模块化磁盘变换框架 + + + 概述 + + + GEOM + + + GEOM 磁盘框架 + GEOM + + + 本章将介绍以 &os; 新的 GEOM 框架来使用磁盘。 + 这包括了使用这一框架来配置的主要的 RAID + 控制工具。 这一仗不会深入讨论 GEOM + 如何处理或控制 I/O、 其下层的子系统或代码。 + 您可以从 &man.geom.4; 联机手册及其众多 SEE ALSO 参考文献中得到这些信息。 + 这一章也不是对 RAID 配置的权威介绍, + 它只介绍由 GEOM 支持的 RAID + 级别。 + + 读完这章, 您将了解: + + + + 通过 GEOM 支持的 RAID 类型。 + + + + 如何使用基本工具来配置和管理不同的 RAID + 级别。 + + + + 如何通过 GEOM 使用镜像、 条带、 加密和挂接在远程的磁盘设备。 + + + + 如何排除挂接在 GEOM 框架上的磁盘设备的问题。 + + + + 阅读这章之前, 您应: + + + + 理解 &os; 如何处理磁盘设备 + ()。 + + 了解如何配置和安装新的 &os; 内核 + ()。 + + + + + + GEOM 介绍 + + GEOM 允许访问和控制类 (classes) — 主引导记录、 + BSD 标签 (label), 等等 — 通过使用 + provider, 或在 + /dev 中的特殊文件。 + 它支持许多软件 RAID 配置, GEOM 能够向操作系统, + 以及在其上运行的工具提供透明的访问方式。 + + + + + + + Tom + Rhodes + 原作 + + + Murray + Stokely + + + + + RAID0 - 条带 + + + GEOM + + + 条带 + + + 条带是一种将多个磁盘驱动器合并为一个卷的方法。 + 许多情况下, 这是通过硬件控制器来完成的。 GEOM + 磁盘子系统提供了 RAID0 的软件支持, + 它也成为磁盘条带。 + + RAID0 系统中, 数据被分为多个块, + 这些块将分别写入阵列的所有磁盘。 与先前需要等待系统将 256k + 数据写到一块磁盘上不同, RAID0 系统, + 能够同时分别将打碎的 64k 写到四块磁盘上, 从而提供更好的 I/O + 性能。 这一性能提升还能够通过使用多个磁盘控制器来进一步改进。 + + RAID0 条带中的每一个盘的尺寸必须一样, + 因为 I/O 请求是分散到多个盘上的, 以便让这些盘上的读写并行完成。 + + + + + + + + 磁盘条带图 + + + + + 在未格式化的 ATA 磁盘上建立条带 + + 加载 geom_stripe + 模块: + + &prompt.root; kldload geom_stripe.ko + + + 确信存在合适的挂接点 (mount point)。 如果这个卷将成为根分区, + 那么暂时把它挂接到其他位置i, 如 /mnt + + &prompt.root; mkdir /mnt + + + 确定将被做成条带卷的磁盘的设备名, + 并创建新的条带设备。 举例而言, + 下面的命令可以把两个未用的、 尚未分区的 ATA 磁盘: + /dev/ad2 和 + /dev/ad3 标记为条带卷成员。 + + &prompt.root; gstripe label -v st0 /dev/ad2 /dev/ad3 + + + + + 如果卷将被用于作为根设备来启动系统, + 还必须在创建文件系统之前执行下面的命令: + + &prompt.root; fdisk -vBI /dev/stripe/st0 + + + 此外还需要用下面的命令在新卷上创建分区表: + + &prompt.root; bsdlabel -wB /dev/stripe/st0 + + + + 上述过程将在 + /dev/stripe + 目录中的 st0 设备基础上建立两个新设备。 + 这包括 st0a 和 + st0c。 现在需要在 + st0a 设备上用下述 + newfs 命令建立文件系统: + + &prompt.root; newfs -U /dev/stripe/st0a + + 在屏幕上将滚过一些数字, 整个操作应该能在数秒内完成。 + 现在可以挂接刚刚做好的卷了: + + + + 下列命令可以用来手工挂接新创建的条带盘。 + + &prompt.root; mount /dev/stripe/st0a /mnt + + 要在启动过程中自动挂接这个条带上的文件系统, + 需要把关于卷的信息放到 + /etc/fstab 文件中: + + &prompt.root; echo "/dev/stripe/st0a /mnt ufs rw 2 2" \ + >> /etc/fstab + + 此外, geom 模块也必须在系统初始化过程中自动加载, + 这可以通过在 + /boot/loader.conf 中进行适当的设置来达到。 + + &prompt.root; echo 'geom_stripe_load="YES"' >> /boot/loader.conf + + + + + RAID1 - 镜像 + + + GEOM + + + 磁盘镜像 + + + 镜像是一种许多公司和家庭用户使用的不需中断的备份技术。 + 当存在镜像时, 它的意思是说 磁盘B 简单地复制 磁盘A。 + 或者, 也可能是 磁盘C+D + 复制 磁盘A+B。 无论磁盘如何配置, 共同的特征, + 都是磁盘或卷的信息会被复制。 随后, 这些信息可以很容易地恢复原样、 + 备份, 而不需要造成服务或访问的停顿, 甚至其他更安全的地方。 + + 要开始做这件事, 首先要确保系统中有两个同样大的磁盘驱动器, + 下面的例子假定使用直接访问方式 (Direct Access, &man.da.4;) + SCSI 的磁盘。 + + 首先需要把 &os; 安装到第一块磁盘上, 并建立两个分区。 + 第一个分区将成为交换区, 其尺寸应该是两倍的 + RAM 尺寸, 而余下的空间, + 则作为根 (/ 文件系统来使用。 + 当然, 也可以为其他挂接点划分不同的分区; + 但是, 这将使难度提高一个量级, + 因为您将不得不手工修改 &man.bsdlabel.8; 和 &man.fdisk.8; + 的设置。 + + 重新启动系统, 并等待其完全初始化完。 + 当这个过程完成之后, 以 root + 用户的身份登录。 + + 创建 /dev/mirror/gm 设备, + 并将其连接到 /dev/da1 + + &prompt.root; gmirror label -vnb round-robin gm0 /dev/da1 + + + 这个命令将在 + /dev/mirror + 目录中创建 gm0gm0s1、 + gm0s1a, 以及 gm0s1c + 设备节点。 + + + 初始化 GEOM, 这将加载 + /boot/kernel/geom_mirror.ko 内核模块: + + &prompt.root; geom load + + 安装通用的 fdisk 标签和引导区代码到刚刚创建的 + gm0 设备上: + + &prompt.root; fdisk -vBI /dev/mirror/gm0 + + 接下来安装通用的 bsdlabel + 信息: + + &prompt.root; bsdlabel -wB /dev/mirror/gm0s1 + + + 如果存在多个区段 (slice) 或分区 (partition), + 则需要修改一部分上面命令的参数。 + 它们必须与另一个盘上对应的区段和分区匹配。 + + + 使用 &man.newfs.8; 工具来创建默认的文件系统到 + gm0s1a 设备节点上: + + &prompt.root; newfs -U /dev/mirror/gm0s1a + + 这将让系统输出很多信息和一系列数字。 不必为此担心, + 只需看看是否有错误提示就可以了, 如果没问题, 接下来把它挂到 + /mnt 挂接点上面: + + &prompt.root mount /dev/mirror/gm0s1a /mnt + + 现在需要把酥藕有引导盘上的数据迁移到新的文件系统上了。 + 下面的例子使用了 &man.dump.8; 和 &man.restore.8; + 这两个命令; 不过, 用 &man.dd.1; 在这里也可以达到完全一样的目的。 + 我们并不使用 &man.tar.1; 因为它并不覆盖引导区的代码, + 而那样一定会造成出错的。 + + &prompt.root; dump -L -0 -f- / |(cd /mnt && restore -r -v -f-) + + 这个操作必须在所有文件系统上都作一遍。 您可以将前述命令中的文件系统, + 改为所希望的文件系统的位置。 + + 接下来应该编辑复制出来的 /mnt/etc/fstab + 文件, 并删去或注释掉交换分区。 此外应该修改文件系统信息, + 以便让它们使用新盘。 参考下面的例子: + + # Device Mountpoint FStype Options Dump Pass# +#/dev/da0s2b none swap sw 0 0 +/dev/mirror/gm0sa1 / ufs rw 1 1 + + 接下来需要建一个 boot.conf 文件, + 在当前和新盘的根分区上各放一份。 这个文件将 + 帮助 系统的 BIOS + 从正确的驱动器上引导: + + &prompt.root; echo "1:da(1,a)/boot/loader" > /boot.config + + &prompt.root; echo "1:da(1,a)/boot/loader" > /mnt/boot.config + + + 在所有的分区上都放这些是为了保证系统能够正确引导。 + 如果由于某种原因系统无法从新的根分区读数据, + 则还有一根救命稻草。 + + + 然后再到 + /boot/loader.conf: 中加入一些设置: + + &prompt.root; echo 'geom_mirror_load="YES"' >> /boot/loader.conf + + 这将让 &man.loader.8; 在系统初始化过程中自动加载 + geom_mirror.ko + + 最后重新启动系统: + + &prompt.root; shutdown -r now + + 如果一切顺利, 系统将从 + gm0s1a 设备启动, 并给出 login + 提示等待用户登录。 如果发生错误, 请查阅接下来的故障排除环节。 我们继续将 + da0 磁盘加入 gm0 + 设备: + + &prompt.root; gmirror configure -a gm0 +&prompt.root; gmirror insert gm0 /dev/da0 + + 此处 告诉 &man.gmirror.8; 采用自动同步, + 或换言之: 自动地将磁盘的写操作做镜像处理。 联机手册中详细解释了如何重建, + 以及替换磁盘, 只不过它用 data + 表示这里的 gm0 + + + 故障排除 + + + 系统拒绝引导 + + 如果系统引导时出现类似下面的提示: + + ffs_mountroot: can't find rootvp +Root mount failed: 6 +mountroot> + + 这种情况应使用电源或复位按钮重启机器。 + 在引导菜单中, 选择第六 (6) 个选项。 + 这将让系统进入 &man.loader.8; 提示符。 + 在此处手工加载内核模块: + + OK? load geom_mirror.ko +OK? boot + + 如果这样做能解决问题, 则说明由于某种原因模块没有被正确加载。 + 可以通过在内核配置文件中加入: + + options GEOM_MIRROR + + 然后重新编译和安装内核来解决这个问题。 + + + + + + -- cgit v1.2.3