aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/zh-cn/books/handbook/geom/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/zh-cn/books/handbook/geom/_index.adoc')
-rw-r--r--documentation/content/zh-cn/books/handbook/geom/_index.adoc78
1 files changed, 39 insertions, 39 deletions
diff --git a/documentation/content/zh-cn/books/handbook/geom/_index.adoc b/documentation/content/zh-cn/books/handbook/geom/_index.adoc
index f8f0c1bdae..7f48a3e3d7 100644
--- a/documentation/content/zh-cn/books/handbook/geom/_index.adoc
+++ b/documentation/content/zh-cn/books/handbook/geom/_index.adoc
@@ -84,21 +84,21 @@ image::striping.png[磁盘条带图]
. 加载 [.filename]#geom_stripe.ko# 模块:
+
-[source,bash]
+[source,shell]
....
# kldload geom_stripe
....
+
. 确信存在合适的挂接点 (mount point)。 如果这个卷将成为根分区, 那么暂时把它挂接到其他位置i, 如 [.filename]#/mnt#:
+
-[source,bash]
+[source,shell]
....
# mkdir /mnt
....
+
. 确定将被做成条带卷的磁盘的设备名, 并创建新的条带设备。 举例而言, 要将两个未用的、 尚未分区的 ATA 磁盘 [.filename]#/dev/ad2# 和 [.filename]#/dev/ad3# 做成一个条带设备:
+
-[source,bash]
+[source,shell]
....
# gstripe label -v st0 /dev/ad2 /dev/ad3
Metadata value stored on /dev/ad2.
@@ -108,14 +108,14 @@ Done.
+
. 接着需要写标准的 label, 也就是通常所说的分区表到新卷上, 并安装标准的引导代码:
+
-[source,bash]
+[source,shell]
....
# bsdlabel -wB /dev/stripe/st0
....
+
. 上述过程将在 [.filename]#/dev/stripe# 目录中的 [.filename]#st0# 设备基础上建立两个新设备。 这包括 [.filename]#st0a# 和 [.filename]#st0c#。 这时, 就可以在 [.filename]#st0a# 设备上用下述 `newfs` 命令来建立文件系统了:
+
-[source,bash]
+[source,shell]
....
# newfs -U /dev/stripe/st0a
....
@@ -125,14 +125,14 @@ Done.
要挂接刚创建的条带盘:
-[source,bash]
+[source,shell]
....
# mount /dev/stripe/st0a /mnt
....
要在启动过程中自动挂接这个条带上的文件系统, 需要把关于卷的信息放到 [.filename]#/etc/fstab# 文件中。为达到此目的, 需要创建一个叫 [.filename]#stripe# 的永久的挂载点:
-[source,bash]
+[source,shell]
....
# mkdir /stripe
# echo "/dev/stripe/st0a /stripe ufs rw 2 2" \
@@ -141,7 +141,7 @@ Done.
此外, [.filename]#geom_stripe.ko# 模块也必须通过在 [.filename]#/boot/loader.conf# 中增加下述设置, 以便在系统初始化过程中自动加载:
-[source,bash]
+[source,shell]
....
# echo 'geom_stripe_load="YES"' >> /boot/loader.conf
....
@@ -159,7 +159,7 @@ Done.
在开始构建镜像卷之前, 可以启用更多的调试信息, 并应开放对设备的完全访问。 这可以通过将 man:sysctl[8] 变量 `kern.geom.debugflags` 设置为下面的值来实现:
-[source,bash]
+[source,shell]
....
# sysctl kern.geom.debugflags=17
....
@@ -172,14 +172,14 @@ Done.
在引导用的设备基础上新建镜像时, 有可能会导致保存在磁盘上最后一个扇区的数据丢失。 在新安装 FreeBSD 之后立即创建镜像可以减低此风险。 下面的操作与默认的 FreeBSD 9._X_ 安装过程不兼容, 因为它采用了新的 GPT 分区格式。 GEOM 会覆盖 GPT 元数据, 这会导致数据丢失, 并有可能导致系统无法引导。
====
-[source,bash]
+[source,shell]
....
# gmirror label -vb round-robin gm0 /dev/da0
....
系统应给出下面的回应:
-[source,bash]
+[source,shell]
....
Metadata value stored on /dev/da0.
Done.
@@ -187,7 +187,7 @@ Done.
初始化 GEOM, 这步操作会加载内核模块 [.filename]#/boot/kernel/geom_mirror.ko#:
-[source,bash]
+[source,shell]
....
# gmirror load
....
@@ -199,7 +199,7 @@ Done.
配置在系统初始化过程中自动加载 [.filename]#geom_mirror.ko#:
-[source,bash]
+[source,shell]
....
# echo 'geom_mirror_load="YES"' >> /boot/loader.conf
....
@@ -210,7 +210,7 @@ Done.
====
如果 man:vi[1] 是你喜欢的编辑器, 以下则是完成此项任务的一个简便方法:
-[source,bash]
+[source,shell]
....
# vi /etc/fstab
....
@@ -234,14 +234,14 @@ Done.
重启系统:
-[source,bash]
+[source,shell]
....
# shutdown -r now
....
在系统初始化过程中, 新建的 [.filename]#gm0# 会代替 [.filename]#da0# 设备工作。 系统完成初始化之后, 可以通过检查 `mount` 命令的输出来查看效果:
-[source,bash]
+[source,shell]
....
# mount
Filesystem 1K-blocks Used Avail Capacity Mounted on
@@ -255,21 +255,21 @@ devfs 1 1 0 100% /var/named/dev
这个输出是正常的。 最后, 使用下面的命令将 [.filename]#da1# 磁盘加到镜像卷中, 以开始同步过程:
-[source,bash]
+[source,shell]
....
# gmirror insert gm0 /dev/da1
....
在构建镜像卷的过程中, 可以用下面的命令查看状态:
-[source,bash]
+[source,shell]
....
# gmirror status
....
一旦镜像卷的构建操作完成, 这个命令的输出就会变成这样:
-[source,bash]
+[source,shell]
....
Name Status Components
mirror/gm0 COMPLETE da0
@@ -293,7 +293,7 @@ mountroot>
这种情况应使用电源或复位按钮重启机器。 在引导菜单中, 选择第六 (6) 个选项。 这将让系统进入 man:loader[8] 提示符。 在此处手工加载内核模块:
-[source,bash]
+[source,shell]
....
OK? load geom_mirror
OK? boot
@@ -314,12 +314,12 @@ options GEOM_MIRROR
考虑前面的 RAID1 配置, 假设 [.filename]#da1# 出现了故障并需要替换, 要替换它, 首先确定哪个磁盘出现了故障, 并关闭系统。 此时, 可以用换上新的磁盘, 并重新启动系统。 这之后可以用下面的命令来完成磁盘的替换操作:
-[source,bash]
+[source,shell]
....
# gmirror forget gm0
....
-[source,bash]
+[source,shell]
....
# gmirror insert gm0 /dev/da1
....
@@ -347,28 +347,28 @@ RAID3 是一种将多个磁盘组成一个卷的技术, 在这个配置中包
. 首先, 在引导加载器中用下面的命令加载 [.filename]#geom_raid3.ko# 内核模块:
+
-[source,bash]
+[source,shell]
....
# graid3 load
....
+
此外, 也可以通过命令行手工加载 [.filename]#geom_raid3.ko# 模块:
+
-[source,bash]
+[source,shell]
....
# kldload geom_raid3.ko
....
+
. 创建用于挂载卷的挂点目录:
+
-[source,bash]
+[source,shell]
....
# mkdir /multimedia/
....
+
. 确定将要加入阵列的磁盘设备名, 并创建新的 RAID3 设备。 最终, 这个设备将代表整个阵列。 下面的例子使用三个未经分区的 ATA 磁盘: [.filename]#ada1# 和 [.filename]#ada2# 保存数据, 而 [.filename]#ada3# 用于校验。
+
-[source,bash]
+[source,shell]
....
# graid3 label -v gr0 /dev/ada1 /dev/ada2 /dev/ada3
Metadata value stored on /dev/ada1.
@@ -379,7 +379,7 @@ Done.
+
. 为新建的 [.filename]#gr0# 设备分区, 并在其上创建 UFS 文件系统:
+
-[source,bash]
+[source,shell]
....
# gpart create -s GPT /dev/raid3/gr0
# gpart add -t freebsd-ufs /dev/raid3/gr0
@@ -389,7 +389,7 @@ Done.
屏幕上会滚过许多数字, 这个过程需要一段时间才能完成。 此后, 您就完成了创建卷的全部操作, 可以挂载它了。
. 最后一步是挂载文件系统:
+
-[source,bash]
+[source,shell]
....
# mount /dev/raid3/gr0p1 /multimedia/
....
@@ -432,14 +432,14 @@ geom_raid3_load="YES"
要导出这个设备, 首先请确认它没有被挂接, 然后是启动 man:ggated[8] 服务:
-[source,bash]
+[source,shell]
....
# ggated
....
现在我们将在客户机上 `mount` 该设备, 使用下面的命令:
-[source,bash]
+[source,shell]
....
# ggatec create -o rw 192.168.1.1 /dev/da0s4d
ggate0
@@ -477,7 +477,7 @@ ggate0
要为一个 UFS2 文件系统创建永久性标签, 而不破坏其上的数据,可以使用下面的命令:
-[source,bash]
+[source,shell]
....
# tunefs -L home /dev/da3
....
@@ -502,7 +502,7 @@ ggate0
现在可以像平时一样挂接文件系统了:
-[source,bash]
+[source,shell]
....
# mount /home
....
@@ -513,7 +513,7 @@ ggate0
下列命令可以清除标签:
-[source,bash]
+[source,shell]
....
# glabel destroy home
....
@@ -527,7 +527,7 @@ ggate0
重启系统,在 man:loader[8] 提示符下键入 kbd:[4] 启动到单用户模式。 然后输入以下的命令:
-[source,bash]
+[source,shell]
....
# glabel label rootfs /dev/ad0s1a
GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs
@@ -556,7 +556,7 @@ GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap
现在可以重启系统了。 如果一切顺利的话, 系统可以正常启动并且 `mount` 命令显示:
-[source,bash]
+[source,shell]
....
# mount
/dev/label/rootfs on / (ufs, local)
@@ -570,7 +570,7 @@ devfs on /dev (devfs, local)
从 FreeBSD 7.2 开始, man:glabel[8] class 新增了一种用于 UFS 文件系统唯一标识符, `ufsid` 的标签支持。 这些标签可以在 [.filename]#/dev/ufsid# 目录中找到, 它们会在系统引导时自动创建。 在 [.filename]#/etc/fstab# 机制中, 也可以使用 `ufsid` 标签。 您可以使用 `glabel status` 命令来获得与文件系统对应的 `ufsid` 标签列表:
-[source,bash]
+[source,shell]
....
% glabel status
Name Status Components
@@ -622,7 +622,7 @@ options GEOM_JOURNAL
现在, 可以为空闲的文件系统创建日志了。 对于新增的 SCSI 磁盘 [.filename]#da4#, 具体的操作步骤为:
-[source,bash]
+[source,shell]
....
# gjournal load
# gjournal label /dev/da4
@@ -630,7 +630,7 @@ options GEOM_JOURNAL
这样, 就会出现一个与 [.filename]#/dev/da4# 设备节点对应的 [.filename]#/dev/da4.journal# 设备节点。 接下来, 可以在这个设备上建立文件系统:
-[source,bash]
+[source,shell]
....
# newfs -O 2 -J /dev/da4.journal
....
@@ -639,7 +639,7 @@ options GEOM_JOURNAL
然后就可以用 `mount` 命令来挂接设备了:
-[source,bash]
+[source,shell]
....
# mount /dev/da4.journal /mnt
....