aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books/handbook/geom
diff options
context:
space:
mode:
authorFukang Chen <loader@FreeBSD.org>2007-08-09 15:40:40 +0000
committerFukang Chen <loader@FreeBSD.org>2007-08-09 15:40:40 +0000
commit9ff15e34ef9aeacbcf009cd1003b218ab2c324fa (patch)
treeac88e44d52170a777deb2e429e45dbb47e7d9660 /zh_CN.GB2312/books/handbook/geom
parent4b9675c0a4771694619f680fad0e5220aba12134 (diff)
Notes
Diffstat (limited to 'zh_CN.GB2312/books/handbook/geom')
-rw-r--r--zh_CN.GB2312/books/handbook/geom/chapter.sgml119
1 files changed, 112 insertions, 7 deletions
diff --git a/zh_CN.GB2312/books/handbook/geom/chapter.sgml b/zh_CN.GB2312/books/handbook/geom/chapter.sgml
index 0f32ef00e0..a6adfd1616 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.27
+ Original Revision: 1.30
$FreeBSD$
-->
@@ -312,8 +312,7 @@ Done.</screen>
#/dev/da0s2b none swap sw 0 0
/dev/mirror/gm0s1a / ufs rw 1 1</programlisting>
- <para>接下来需要建一个 <filename>boot.conf</filename> 文件,
- 在当前和新盘的根分区上各放一份。 这个文件将
+ <para>接下来应在当前和新 root 分区中分别建立一个 <filename>boot.config</filename> 文件。 它会
<quote>帮助</quote> 系统的 <acronym>BIOS</acronym>
从正确的驱动器上引导:</para>
@@ -404,9 +403,9 @@ OK? <userinput>boot</userinput></screen>
<para>现在我们将在客户机上 <command>mount</command> 该设备,
使用下面的命令:</para>
- <screen>&prompt.root; <userinput>ggatec create -o rw 192.168.1.1 /dev/da0s4d</userinput></screen>
- <screen>ggate0</screen>
- <screen>&prompt.root; <userinput>mount /dev/ggate0 /mnt</userinput></screen>
+ <screen>&prompt.root; <userinput>ggatec create -o rw 192.168.1.1 /dev/da0s4d</userinput>
+ggate0
+&prompt.root; <userinput>mount /dev/ggate0 /mnt</userinput></screen>
<para>到此为止, 设备应该已经可以通过挂接点
<filename role="directory">/mnt</filename> 访问了。</para>
@@ -420,6 +419,112 @@ OK? <userinput>boot</userinput></screen>
就可以使用 &man.umount.8; 命令来安全地将其卸下了,
这一点和其他磁盘设备类似。</para>
</sect1>
+
+ <sect1 id="geom-glabel">
+ <title>为磁盘设备添加卷标</title>
+
+ <indexterm>
+ <primary>GEOM</primary>
+ </indexterm>
+ <indexterm>
+ <primary>磁盘卷标</primary>
+ </indexterm>
+
+ <para>在系统初始化的过程中, &os; 内核会为检测到的设备创建设备节点。
+ 这种检测方式存在一些问题, 例如,
+ 在通过 <acronym>USB</acronym> 添加设备时应如何处理?
+ 很可能有闪存盘设备最初被识别为
+ <devicename>da0</devicename> 而在这之后, 则由
+ <devicename>da0</devicename> 变成了
+ <devicename>da1</devicename>。 而这则会在挂接
+ <filename>/etc/fstab</filename> 中的文件系统时造成问题,
+ 这些问题, 还可能在系统引导时导致无法正常启动。</para>
+
+ <para>解决这个问题的一个方法是以连接拓扑方式链式地进行
+ <acronym>SCSI</acronym> 设备命名, 这样,
+ 当在 <acronym>SCSI</acronym> 卡上增加新设备时, 这些设备将使用一个未用的编号。
+ 但如果 <acronym>USB</acronym> 设备取代了主 <acronym>SCSI</acronym> 磁盘的位置呢?
+ 由于 <acronym>USB</acronym> 通常会在 <acronym>SCSI</acronym> 卡之前检测到,
+ 因此很可能出现这种现象。 当然, 可以通过在系统引导之后再插入这些设备来绕过这个问题。
+ 另一种绕过这个问题的方法, 则是只使用
+ <acronym>ATA</acronym> 驱动器, 并避免在
+ <filename>/etc/fstab</filename> 中列出
+ <acronym>SCSI</acronym> 设备。</para>
+
+ <para>还有一种更好的解决方法。 通过使用
+ <command>glabel</command> 工具, 管理员或用户可以为磁盘设备打上标签, 并在
+ <filename>/etc/fstab</filename> 中使用这些标签。 由于
+ <command>glabel</command> 会将标签保存在对应 provider 的最后一个扇区,
+ 在系统重启之后, 它仍会持续存在。 因此, 通过将具体的设备替换为使用标签表示,
+ 无论设备节点变成什么, 文件系统都能够顺利地完成挂接。</para>
+
+ <note>
+ <para>这并不是说标签一定是永久性的。
+ <command>glabel</command> 工具既可以创建永久性标签, 也可以创建临时性标签。
+ 在重启时, 只有永久性标签会保持。 请参见联机手册 &man.glabel.8;
+ 以了解两者之间的差异。</para>
+ </note>
+
+ <sect2>
+ <title>标签类型和使用示范</title>
+
+ <para>有两种类型的标签, 一种是普通标签, 另一种是文件系统标签。
+ 两者的差异体现在是否能够自动检测, 以及是否在重启后保持。 这些标签会放到
+ <filename class="directory">/dev</filename> 中的特殊目录中,
+ 这些目录的名字取决于文件系统类型。 例如,
+ <acronym>UFS</acronym>2 文件系统的标签会创建到
+ <filename class="directory">/dev/ufs2</filename>
+ 目录中。</para>
+
+ <para>普通标签在系统下次重启时会消失, 这些标签会创建到
+ <filename class="directory">/dev/label</filename> 目录中,
+ 很适合测试之用。</para>
+
+<!-- XXXTR: How do you create a file system label without running newfs
+ or when there is no newfs (e.g.: cd9660)? -->
+
+ <para>永久性标签可以使用
+ <command>tunefs</command> 或 <command>newfs</command>
+ 工具来创建。 要为
+ <acronym>UFS</acronym>2 文件系统创建标签, 而不破坏其上的数据,
+ 可以使用下面的命令:</para>
+
+ <screen>&prompt.root; <userinput>tunefs -L <replaceable>home</replaceable> <replaceable>/dev/da3</replaceable></userinput></screen>
+
+ <warning>
+ <para>如果文件系统满了, 这可能会导致数据损坏; 不过, 如果文件系统快满了,
+ 此时应首先删除一些无用的文件, 而不是增加标签。</para>
+ </warning>
+
+ <para>现在, 您应可以在
+ <filename class="directory">/dev/ufs2</filename> 目录中看到标签,
+ 并将其加入 <filename>/etc/fstab</filename>:</para>
+
+ <programlisting>/dev/ufs2/home /home ufs rw 2 2</programlisting>
+
+ <note>
+ <para>当运行 <command>tunefs</command> 时, 应首先卸下文件系统。</para>
+ </note>
+
+ <para>现在可以像平时一样挂接文件系统了:</para>
+
+ <screen>&prompt.root; <userinput>mount /home</userinput></screen>
+
+ <para>下列命令可以清除标签:</para>
+
+ <screen>&prompt.root; <userinput>glabel destroy home</userinput></screen>
+
+ <para>现在, 只要在系统引导时通过 <filename>/boot/loader.conf</filename> 配置加载了内核模块
+ <filename>geom_label.ko</filename>, 或在联编内核时指定了
+ <literal>GEOM_LABEL</literal> 选项,
+ 设备节点由于增删设备而顺序发生变化时, 就不会影响文件系统的挂接了。</para>
+
+ <para>通过使用 <command>newfs</command> 命令的
+ <option>-L</option> 参数, 可以在创建文件系统时为其添加默认的标签。
+ 请参见联机手册 &man.newfs.8; 以了解进一步的详情。</para>
+ </sect2>
+ </sect1>
+
<!--
<sect1 id="geom-gjournal">
<title>通过 GEOM 实现 UFS 日志</title>
@@ -428,7 +533,7 @@ OK? <userinput>boot</userinput></screen>
<primary>GEOM</primary>
</indexterm>
<indexterm>
- <primary>磁盘镜像</primary>
+ <primary>日志</primary>
</indexterm>
<para>随着 &os;&nbsp;7.0 的发布, 实现了长期为人们所期待的