aboutsummaryrefslogtreecommitdiff
path: root/zh_TW.Big5/books/handbook/geom/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'zh_TW.Big5/books/handbook/geom/chapter.xml')
-rw-r--r--zh_TW.Big5/books/handbook/geom/chapter.xml356
1 files changed, 0 insertions, 356 deletions
diff --git a/zh_TW.Big5/books/handbook/geom/chapter.xml b/zh_TW.Big5/books/handbook/geom/chapter.xml
deleted file mode 100644
index 0b031ea666..0000000000
--- a/zh_TW.Big5/books/handbook/geom/chapter.xml
+++ /dev/null
@@ -1,356 +0,0 @@
-<?xml version="1.0" encoding="big5"?>
-<!--
- The FreeBSD Documentation Project
- $FreeBSD$
- Original revision: 1.21
-
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="GEOM">
- <info><title>GEOM: Modular Disk Transformation Framework</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Written by </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect1 xml:id="GEOM-synopsis">
- <title>概述</title>
-
- <indexterm>
- <primary>GEOM</primary>
- </indexterm>
- <indexterm>
- <primary>GEOM Disk Framework</primary>
- <see>GEOM</see>
- </indexterm>
-
- <para>本章涵蓋如何在 &os; 的 GEOM 架構下使用磁碟,
- 包含用來設定幾種常用的 <acronym role="Redundant Array of Inexpensive Disks,磁碟陣列系統">RAID</acronym>
- 的控制工具。本章不會深入探討 GEOM 如何處理底層的 I/O,這類資訊請參考
- &man.geom.4; 及相關的 SEE ALSO 部份。本章也非 <acronym>RAID</acronym>
- 設定指南,在這裡只會討論目前 GEOM 支援的 <acronym>RAID</acronym> 模式。
- </para>
-
- <para>讀完這章,您將了解︰</para>
- <itemizedlist>
- <listitem>
- <para>透過 GEOM 可支援哪些模式的 <acronym>RAID</acronym>。</para>
- </listitem>
-
- <listitem>
- <para>如何使用基本工具來配置、操作、維護不同模式的
- <acronym>RAID</acronym>。</para>
- </listitem>
-
- <listitem>
- <para>如何透過 GEOM 來完成鏡射(mirror)、分散連結(stripe)、加密(encrypt)
- 、遠端連接磁碟等。</para>
- </listitem>
-
- <listitem>
- <para>當 GEOM 架構下的磁碟發生問題,如何排除。</para>
- </listitem>
-
- </itemizedlist>
-
- <para>在開始閱讀這章之前,您需要︰</para>
-
-
- <itemizedlist>
- <listitem>
- <para>了解 &os; 如何看待磁碟(<xref linkend="disks"/>) 。</para>
- </listitem>
-
- <listitem>
- <para>知道如何設定、安裝新的 &os; 核心
- (<xref linkend="kernelconfig"/>) 。</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="GEOM-intro">
- <title>GEOM 導論</title>
-
- <para>GEOM 透過 privoder(即 <filename>/dev/</filename>
- 下的特殊裝置檔案) 來操控 classes(如 Master Boot Records、
- <acronym>BSD</acronym> labels 等) 。GEOM 支援多種軟體
- <acronym>RAID</acronym> 配置,透過 GEOM 存取時,
- 作業系統和應用程式不會意識到 GEOM 存在。</para>
- </sect1>
-
- <sect1 xml:id="GEOM-striping">
- <info><title>RAID0 - 分散連結(striping)</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Written by </contrib></author>
- <author><personname><firstname>Murray</firstname><surname>Stokely</surname></personname></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm>
- <primary>GEOM</primary>
- </indexterm>
- <indexterm>
- <primary>分散連結(Striping)</primary>
- </indexterm>
-
- <para>分散連結(striping) 可用來連結多個磁碟成為一大塊空間。
- 很多時候硬體控制器可以完成這件事,不過 GEOM 也提供了軟體版本的
- <acronym>RAID</acronym>0,也就是分散連結(striping)。</para>
-
- <para>在 <acronym>RAID</acronym>0 裡,資料會被切分成很多塊,
- 再分散寫入全部的磁碟。例如要寫入 256k 的資料到單一磁碟,在
- 四個磁碟的 <acronym>RAID</acronym>0 中可同時寫入 64k 到四個磁碟裡,
- 因此可大幅提升 I/O 效能。如果使用更多的磁碟控制器,
- I/O 效能可再提升。</para>
-
- <para>由於讀或寫時會同步交錯對許多磁碟進行 I/O 處理,因此
- <acronym>RAID</acronym>0 的每個磁碟必須大小一樣。</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="geom/striping" align="center"/>
- </imageobject>
-
- <textobject>
- <phrase>Disk Striping Illustration</phrase>
- </textobject>
- </mediaobject>
-
- <procedure>
- <title>用未格式化的 ATA 磁碟來建立分散連結(striping)</title>
-
- <step><para>載入 <filename>geom_stripe</filename>
- kernel module:</para>
-
- <screen>&prompt.root; <userinput>kldload geom_stripe.ko</userinput></screen>
- </step>
-
- <step><para>確定掛載點(mount point)存在。
- 如果想用分散連結(striping)的空間做為根目錄(root partition,即 <filename>/</filename> ),
- 則先用個暫時的掛載點,如
- <filename>/mnt</filename>:</para>
-
- <screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
- </step>
-
-
-<step><para>確認要用來分散連結(striping)的裝置名稱,接著建立新的分散連結(striping)。
- 例如下面的指令會分散連結(striping)兩個未使用、尚未分割區的 <acronym>ATA</acronym>
- 磁碟(<filename>/dev/ad2</filename> 和
- <filename>/dev/ad3</filename>) :</para>
- <screen>&prompt.root; <userinput>
- gstripe label -v st0 /dev/ad2 /dev/ad3</userinput></screen>
-
- <screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput></screen>
-
-<!--
- <para>A message should be returned explaining that meta data has
- been stored on the devices.
-XXX: What message? Put it inside the screen output above.
--->
- </step>
-
- <step><para>用下面的指令來建立分割區表(partition table):</para>
-
- <screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>
-
- </step>
-
- <step><para>除了先前建立的 <filename>st0</filename> ,這個步驟還會在
- <filename>/dev/stripe</filename> 下新增兩個裝置:
- <filename>st0a</filename> 和 <filename>st0c</filename>。
- 利用 <command>newfs</command> 指令可以在
- <filename>st0a</filename> 建立檔案系統:</para>
-
- <screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen>
-
- <para>螢幕上會有一堆數字傾瀉而過,幾秒鐘後就會完成。此時空間已建立,
- 可用來掛載使用了。</para>
- </step>
- </procedure>
-
- <para>下面指令可用來手動掛載分散連結(striping)空間:</para>
-
- <screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>
-
- <para>如果要在開機時自動掛載,在 <filename>/etc/fstab</filename>
- 加入這塊空間的資訊:</para>
-
- <screen>&prompt.root; <userinput>echo "/dev/stripe/st0a /mnt ufs rw 2 2" \</userinput>
- <userinput>&gt;&gt; /etc/fstab</userinput></screen>
-
- <para>而 <filename>geom</filename> kernel module 必須在系統初始化時自動載入,
- 因此在 <filename>/boot/lodaer.conf</filename> 加入一行:</para>
-
- <screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
-
- </sect1>
-
- <sect1 xml:id="GEOM-mirror">
- <title>RAID1 - 鏡射(Mirroring)</title>
-
- <indexterm>
- <primary>GEOM</primary>
- </indexterm>
- <indexterm>
- <primary>磁碟鏡射(Disk Mirroring)</primary>
- </indexterm>
-
- <para>許多企業或個人用戶用鏡射(mirroring) 來不中斷系統進行備份。
- 鏡射簡單來說就是在 B 磁碟上重覆一份 A 磁碟的資料,
- 或者 C+D 磁碟重覆 A+B 磁碟的資料。不論設定如何,
- 最重要的是所有磁碟或分割區(partition) 上的資料都會被複製,
- 之後可在不中斷服務的情況下復原、備份資料,使儲存的資料更安全。</para>
-
- <para>開始之前,請先確定系統上有兩個容量相同的磁碟,
- 後面的範例假設這兩顆磁碟是 direct access(&man.da.4;)
- <acronym>SCSI</acronym> 磁碟。</para>
-
- <para>首先我們假設 &os; 安裝在第一個磁碟上,且只有兩個分割區(partition)。
- 其中一個是交換分割區(swap partition,大小為 <acronym>RAM</acronym>
- 的兩倍),而剩下的全用於根目錄(即 <filename>/</filename>,
- root file system)。當然要在不同掛載點(mount point) 切出更多分割區
- (partition) 也可以,不過難度會大幅提升,因為必須手動操作 &man.bsdlabel.8;
- 和 &man.fdisk.8; 工具。</para>
-
- <para>重開機並等到系統完全初始化完畢,用 <systemitem class="username">root</systemitem>
- 登入。</para>
-
- <para>建立 <filename>/dev/mirror/gm</filename> 裝置並以
- <filename>/dev/da1</filename> 連結:</para>
-
- <screen>&prompt.root; <userinput>gmirror label -vnb round-robin gm0 /dev/da1</userinput></screen>
-
- <para>這時系統應該會回應:</para>
- <screen>
-Metadata value stored on /dev/da1.
-Done.</screen>
-
- <para>初始化 GEOM,這動作會自動載入
- <filename>/boot/kernel/geom_mirror.ko</filename> kernel module:</para>
-
- <screen>&prompt.root; <userinput>gmirror load</userinput></screen>
-
- <note>
- <para>這動作應該會在 <filename>/dev/mirror</filename>
- 下建立 <filename>gm0</filename> 裝置結點(device node)。</para>
- </note>
-
- <para>在這個新建的 <filename>gm0</filename> 裝置上安置一般的
- <command>fdisk</command> label 和開機磁區:</para>
-
- <screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen>
-
- <para>接著安置 <command>bsdlabel</command> 資訊:</para>
-
- <screen>&prompt.root; <userinput>bsdlabel -wB /dev/mirror/gm0s1</userinput></screen>
-
- <note>
- <para>如果存在多個 slice 和分割區(partition),
- 記得修改上兩指令的參數,且另一個磁碟上的 slice 和分割區(partition)
- 大小必須相同。</para>
- </note>
-
- <para>用 &man.newfs.8; 工具在 <filename>gm0s1a</filename>
- 裝置結點建立預設的檔案系統:</para>
-
- <screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen>
-
- <para>系統會印出許多資訊和一大堆數字,這是正常的。
- 確認是否有認何錯誤,接著就可以將這個裝置掛載到
- <filename>/mnt</filename> 掛載點(mount mount):</para>
-
- <screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>
-
- <para>接著將原本開機磁碟的資料搬移到新的檔案系統
- (<filename>/mnt</filename>)。範例是用
- &man.dump.8; 和 &man.restore.8; ,不過用 &man.dd.1; 也可以。</para>
-
- <screen>&prompt.root; <userinput>dump -L -0 -f- / |(cd /mnt &amp;&amp; restore -r -v -f-)</userinput></screen>
-
- <para>執行上述指令時,只要將恰當的檔案系統掛在正確的位置,應該就能成功。
- </para>
-
- <para>接著編輯 <filename>/mnt/etc/fstab</filename>
- 檔將 swap file 那行移除或註解起來。
- <footnote>
- <para>請注意,將 <filename>fstab</filename> 的 swap file
- 那行註解起來,通常表示:您得用別的方法來重建 swap。詳情請參考
- <xref linkend="adding-swap-space"/>。</para>
- </footnote>請參考下面範例,並根據新磁碟修改其它的檔案系統資訊:</para>
-
- <programlisting># Device Mountpoint FStype Options Dump Pass#
-#/dev/da0s2b none swap sw 0 0
-/dev/mirror/gm0s1a / ufs rw 1 1</programlisting>
-
- <para>在目前的根目錄及新的根目錄建立 <filename>boot.conf</filename> 檔案,
- 這個檔案可以『幫助』系統 <acronym>BIOS</acronym> 開機:</para>
-
- <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /boot.config</userinput></screen>
-
- <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /mnt/boot.config</userinput></screen>
-
- <note>
- <para>在兩個根目錄上都新增檔案是為了安全起見,
- 如果因為某些原因新的根目錄無法開機,至少還可用原本的根目錄。</para>
- </note>
-
- <para>接著在 <filename>/boot/loader.conf</filename> 新增兩行:</para>
-
- <screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /mnt/boot/loader.conf</userinput></screen>
-
- <para>這會指示 &man.loader.8; 在開機時載入
- <filename>geom_mirror.ko</filename> kernel module。</para>
-
- <para>重開機:</para>
-
- <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
-
- <para>如果一切順利,系統應該會從 <filename>gm0s1a</filename> 裝置開機,
- 接下來出現 <command>login</command> 提示畫面。如果出錯了,
- 請參閱下面 Troubleshooting 那一節。 現在可以將
- <filename>da0</filename> 磁碟加入 <filename>gm0</filename>
- 裝置:</para>
-
- <screen>&prompt.root; <userinput>gmirror configure -a gm0</userinput>
-&prompt.root; <userinput>gmirror insert gm0 /dev/da0</userinput></screen>
-
- <para>其中 <option>-a</option> 旗標告訴 &man.gmirror.8;
- 使用「自動同步(automatic synchronization)」,例如自動同步寫入磁碟的動作。
- manual 說明了如何重建、取代磁碟等,不過 manual 裡的範例是用
- <filename>data</filename> 而不是 <filename>gm0</filename>。</para>
-
- <sect2>
- <title>Troubleshooting</title>
-
- <sect3>
- <title>系統無法開機</title>
-
- <para>如果開機提示類似這樣:</para>
-
- <programlisting>ffs_mountroot: can't find rootvp
-Root mount failed: 6
-mountroot&gt;</programlisting>
-
- <para>請用機器面板上的 Power 按鈕或 reset 按鈕來重開機,並在開機選單選 (6),
- 這樣子,系統就會進入 &man.loader.8;
- 交談模式。這時候,請照下面指令來手動載入所需的 kernel module
- ,也就是 <filename>geom_mirror.ko</filename>:</para>
-
- <screen>OK? <userinput>load geom_mirror.ko</userinput>
-OK? <userinput>boot</userinput></screen>
-
- <para>如果這樣成功了的話,表示因為某些原因無法自動載入 kernel module。
- 請將:</para>
-
- <programlisting>options GEOM_MIRROR</programlisting>
-
- <para>加入到核心設定檔(kernel configuration file),重編並安裝核心。
- 這應該能解決這個問題。</para>
- </sect3>
- </sect2>
- </sect1>
-</chapter>