aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books/handbook/geom
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2007-04-23 06:33:32 +0000
committerXin LI <delphij@FreeBSD.org>2007-04-23 06:33:32 +0000
commitc5bd9bfd32104a1adec38a252fa78f2e5e9320f5 (patch)
tree1b1fca9e879e3ba564ffc90199a568e1614a2da0 /zh_CN.GB2312/books/handbook/geom
parent82df32a3dca276b04854f93487f255737bb8d781 (diff)
Notes
Diffstat (limited to 'zh_CN.GB2312/books/handbook/geom')
-rw-r--r--zh_CN.GB2312/books/handbook/geom/chapter.sgml72
1 files changed, 71 insertions, 1 deletions
diff --git a/zh_CN.GB2312/books/handbook/geom/chapter.sgml b/zh_CN.GB2312/books/handbook/geom/chapter.sgml
index 40088f9d3d..0f32ef00e0 100644
--- a/zh_CN.GB2312/books/handbook/geom/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/geom/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
- Original Revision: 1.26
+ Original Revision: 1.27
$FreeBSD$
-->
@@ -420,6 +420,76 @@ OK? <userinput>boot</userinput></screen>
就可以使用 &man.umount.8; 命令来安全地将其卸下了,
这一点和其他磁盘设备类似。</para>
</sect1>
+<!--
+ <sect1 id="geom-gjournal">
+ <title>通过 GEOM 实现 UFS 日志</title>
+
+ <indexterm>
+ <primary>GEOM</primary>
+ </indexterm>
+ <indexterm>
+ <primary>磁盘镜像</primary>
+ </indexterm>
+
+ <para>随着 &os;&nbsp;7.0 的发布, 实现了长期为人们所期待的
+ <acronym>UFS</acronym> 日志。 这个实现采用了
+ <acronym>GEOM</acronym> 子系统, 可以很容易地使用 &man.gjournal.8; 工具来进行配置。</para>
+
+ <para>日志是什么? 日志的作用是保存文件系统事务的记录, 换言之,
+ 完成一次完整的磁盘写入操作所需的变动, 这些记录会在元数据以及文件数据写盘之前,
+ 写入到磁盘中。 这种事务日志可以在随后用于重放并完成文件系统事务,
+ 以避免文件系统出现不一致的问题。</para>
+
+ <para>这种方法是另一种阻止文件系统丢失数据并发生不一致的方法。 与 Soft Updates
+ 追踪并确保元数据更新顺序这种方法不同, 它会实际地将日志保存到磁盘最后的扇区,
+ 或另外一块磁盘上。</para>
+
+ <para>与其他文件系统的日志实现不同,
+ <command>gjournal</command> 采用的是基于块, 而不是作为文件系统的一部分的方式 -
+ 它只是作为一种
+ <acronym>GEOM</acronym> 扩展实现。</para>
+
+ <para>如果希望启用 <command>gjournal</command>,
+ &os; 内核需要下列选项 - 这是 7.X 系统上的默认配置:</para>
+
+ <programlisting>options UFS_GJOURNAL</programlisting>
+
+ <para>现在, 可以为空闲的文件系统创建日志了。 对于新增的 <acronym>SCSI</acronym> 磁盘
+ <devicename>da4</devicename>, 具体的操作步骤为:</para>
+
+ <screen>&prompt.root; <userinput>gjournal label /dev/da4</userinput>
+ <userinput>gjournal load</userinput></screen>
+
+ <para>这样, 就会出现一个与
+ <devicename>/dev/da4</devicename> 设备节点对应的
+ <devicename>/dev/da4.journal</devicename> 设备节点。
+ 接下来, 可以在这个设备上简历文件系统:</para>
+
+ <screen>&prompt.root; <userinput>newfs -O 2 -J /dev/da4.journal</userinput></screen>
+
+ <para>这个命令将建立一个包含日志的
+ <acronym>UFS</acronym>2 文件系统。</para>
+
+ <para>然后就可以用 <command>mount</command> 命令来挂接设备了:</para>
+
+ <screen>&prompt.root <userinput>mount /dev/da4.journal /mnt</userinput></screen>
+
+ <note>
+ <para>当磁盘包含多个 slice 时, 每个 slice 上都会建立日志。
+ 例如, 如果有 ad4s1 和 ad4s2
+ 这两个 slice, 则 <command>gjournal</command> 会建立
+ ad4s1.journal 和 ad4s2.journal。 如果连续运行两次这个命令, 则会建立
+ <quote>多层日志</quote>。</para>
+ </note>
+
+ <para>在某些情况下, 可能会希望在其他磁盘上保存日志。 对于这些情形,
+ 日志提供者或存储设备, 应在启用日志的设备后给出。 在暨存的文件系统上,
+ 可以用 <command>tunefs</command> 来启用日志; 不过,
+ 在尝试修改文件系统之前, 您应对其进行备份。 多数情况下,
+ <command>gjournal</command> 会因为无法建立日志而失败, 在误用
+ <command>tunefs</command> 时, 这可能导致失败。</para>
+ </sect1>
+-->
</chapter>
<!--