3


準備使用 DR

要成功執行 DR,您必須了解本章以及第一章和第二章所包含的資訊和部份程序。



caution icon

注意 - 不適當的執行 DR 作業會導致 DR 錯誤,在某些情況下,會損壞系統元件。



本章涵蓋以下主題:


cfgadm(1M) 指令

cfgadm(1M) 指令可在網域執行 DR 作業。DR 作業會傳至 libcfgadm(3LIB) 程式庫介面,動態載入指定硬體程式庫的外掛程式來實際執行 DR 作業。



備註 - 如果 cfgadm(1M) 指令在 DR 作業時執行失敗,板不會回復其原來的狀態。如果錯誤可以修復,您可以重新執行該指令。如果錯誤無法修復,您必須重新啟動網域才能使用板。



sbd.so.1 指定硬體外掛程式提供以下的 DR 功能:對系統板進行連線、配置、取消配置和中斷連線,可讓您不必重新啟動系統,而從執行中的系統連線或中斷連線系統板。

駐在 /usr/sbin 目錄的 cfgadm(1M) 指令。(請參閱 cfgadm(1M) 線上手冊以取得更多資訊。)

每一個板插槽都是裝置樹上的單一附接點。您可以使用 cfgadm(1M) 指令以及其 -a 選項,檢視每個元件的類型、狀態和情況以及每個板插槽的狀態和情況。

以下的選項和運算元可用來支援其所標明的功能其中 ap_id 是指系統板或元件的附接點。


表 3-1 cfgadm 選項

選項與運算元

說明

-c connect ap_id

變更插頭狀態為已連線。

-c disconnect ap_id

變更插頭狀態為中斷連線。

-c configure ap_id

變更佔取狀態為已配置。

-c unconfigure ap_id

變更佔取狀態為取消配置。

-x assign ap_id

變更佔取狀態為已指定。

-x unassign ap_id

變更佔取狀態為未指定。

-x poweron ap_id

變更佔取狀態為電源啟動。

-x poweroff ap_id

變更佔取狀態為電源關閉。

-l ap_id

顯示系統板和元件的狀態、狀況和情況。

-h [ap_id]

列印說明訊息文字。如果已指定 ap_id,引數所指明的附接點將呼叫指定硬體程式庫中的說明常式。

-v

以詳細模式執行。

-n

自動以「No」回應所有提示而且不顯示。

-y

自動以「Yes」回應所有提示而且不顯示。

-s listing_options

附接點的狀態 根據 listing_options 顯示。為 -l) 旗標提供清單選項。listing_options 引數與 getsubopt(3C) 線上手冊的語法慣例相符,且指定:

  • 附接點選取標準 (例如:select=select_string)
  • 相符之類型 (例如:match=match_type)
  • 排列順序 (例如:sort=field_spec)
  • 資料顯示 (例如:cols=field_speccols2=field_spec)
  • 欄位分隔符 (例如:delim=string)
  • 欄位標題壓縮 (例如:noheadings)。

-o hardware_options

為主要指令選項提供指定硬體的選項。hardware_options 字串的格式和內容完全以硬體指定,該字串符合 getsubopt(3C) 線上手冊之語法慣例。

-t ap_id

執行一個或多個附接點之測試。測試功能可用在重新評估附接點的情況。沒有 hardware_options 中之測試層級的指定元,可使用能最快測試硬體錯誤的方式。


 


rcfgadm(1M) 指令 (僅適用於高階)

SMS 指令 rcfgadm(1M) 在 SC 上執行,並且使用與 cfgadm(1M) 一樣的選項和運算元,不過通常需要再增加一個 -d domain_id 選項。請參閱 rcfgadm(1M) 指令


檢查裝置類型、狀態和情況

在嘗試於網域的系統板或元件上執行任何 DR 作業前,您必須確認其狀態和情況。


procedure icon  顯示狀態、類型和情況

single-step bullet使用 cfgadm(1M) 指令,配合 -la 選項。


# cfgadm -la

 

procedure icon  顯示有關板插槽和元件的資訊

single-step bullet使用 prtdiag(1M) 指令。


# prtdiag 

 

prtdiag(1M) 指令顯示板號碼。


準備在網域裡使用 DR

若這是網域啟動之後,您第一次執行 DR 作業,請在執行前確定網域的板可用。


procedure icon  顯示網域裡可用的板

single-step bullet使用 cfgadm(1M) 指令,配合其 -l 選項。


# cfgadm -l

 

高階系統的每一個網域皆維護一份可用元件清單。中階系統的網域則是維護存取控取清單。兩種清單皆指為 ACL

在以下任何一種板上嘗試執行 DR 作業,都會出現錯誤:

上述任一情形,板均不適用於網域。 如需更多關於在高階系統上如何檢視可用元件清單的資訊,請參閱「系統管理服務 (SMS) 使用者指南」。如需更多關於中階系統的 ACL 之資訊,請參閱「Sun Fire 中階系統平台管理者手冊」


顯示系統板狀況


procedure icon  顯示系統板狀況

single-step bullet使用 cfgadm(1M) 指令。


# cfgadm -a -s "select=class(sbd)"

 

cfgadm(1M) 指令顯示關於已指定至網域的板,或是出現在 ACL 卻未被指定至其他網域的板之資訊。-a 選項要求指令列出所有已知的附接點,包括板插槽、SCSI 匯流排和 PCI 插槽。

下列顯示中階系統網域的典型輸出。


表 3-2 系統板狀況範例圖示

Ap_Id

類型

插座

插卡

狀況

N0.IB6
PCI_I/O_Boa
connected
configured
ok
N0.IB7
PCI_I/O_Boa
connected
configured
ok
N0.IB8
PCI_I/O_Boa
connected
configured
ok
N0.IB9
PCI_I/O_Boa
disconnected
unconfigured
unknown
N0.SB0
CPU_Board
connected
configured
unknown
N0.SB1
CPU_Board
disconnected
unconfigured
failed
N0.SB2
CPU_Board
connected
configured
ok
N0.SB3
unknown
empty
configured
unknown
N0.SB4
unknown
empty
configured
unknown
N0.SB5
unknown
empty
configured
unknown

 

若要顯示更多詳細的資訊,可增加 -v 選項至 cfgadm(1M)。


測試板


procedure icon  測試系統板

single-step bullet使用 cfgadm(1M) 指令以及其 -t 選項。


# cfgadm -t ap_id

 

其中 ap_id 是附接點識別碼。

single-step bullet使用 cfgadm(1M) 指令以及其 -t-o 選項來進行指定診斷等級之測試 (僅適用於中階系統)。


# cfgadm -o platform=diag=<level> -t ap_id

 

其中 level 是指診斷程式等級,而 ap_id 是指附接點識別碼。

若您不指定中階系統之等級,setupdomain 指令將設定預設的診斷等級,如「Sun Fire 中階系統平台管理手冊」「Sun Fire 中階系統控制器指令參考手冊」所述。各個診斷程式等級如下所示:


表 3-3 診斷程式等級

診斷程式等級

說明

初級

執行但不測試系統板初始化代碼,以快速通過開機自我測試 (POST)。

快速

測試所有系統板元件,但測試內容及測試模式較少。

預設或最大

以所有測試內容及測試模式來測試所有系統板元件,記憶體和 Ecache 模組除外。

mem1

在預設的等級執行所有的測試,加上更完整的 DRAM 與 SRAM 測試演算法。針對記憶體與 Ecache 模組,皆會以多重測試模式測試所有的位置。此等級不會執行更詳細的、更耗時的演算法。

mem2

執行 mem1 等級的所有測試,加上一項 DRAM 測試以進行 DRAM 資料的精確比較。


 

procedure icon  測試 I/O 板 (僅適用於中階系統)



備註 - 您不可以使用 DR 連接和配置作業將 I/O 板增加至配有一個或多個 UltraSPARC IV+ 系統板之單一分割區中階系統的上的網域。此限制是由於可測試的 I/O 板上其第二個網域不存在。但是,您可以在此說明系統的 I/O 板上使用 DR 取消配置及中斷連線指令。詳情請參閱韌體版本說明 5.19.0 的「Sun Fire 中階系統平台管理手冊」



在此程序中,網域 A 是目前作用中的網域,而網域 B 是備用網域。

1. 進入備用網域 (B) 的網域 shell。

2. 同時按住「CTRL」鍵與「 ] 」鍵叫出 telnet> 提示符號。

3. 在 telnet> 提示符號下,鍵入 send break 以顯示系統控制器的網域 shell。

4. 在備用網域 (B) 的shell之下,新增 I/O 組件至網域。


schostname:B> addboard IBx

 

其中 x 為 6、7、8 或 9。

5. 請將備用網域中的虛擬主開關設定為開啟。


schostname:B> setkeyswitch on
.
.
{x} ok

 

其中 x 代表 CPU。當您將虛擬主開關設定為開啟時,網域上會執行開機自我測試 (POST)。若您看見 ok 提示,I/O 板或 I/O 組件均已正確運作。

6. 將模式設定為待命。


schostname:B> setkeyswitch standby

 

7. 刪除板。


schostname:B> deleteboard ibx

 

8. 新增板至作用的網域 (A)。


# cfgadm -c configure N0.IBx

 

procedure icon  為 DR 準備一張 I/O 板 (僅適用於高階系統)

在您嘗試在高階系統網域的 I/O 板上執行 DR 作業以前,請確認以下條件均正確:

請參閱 pbind(1M) 線上手冊以了解更多的必要程序。

當您使用 DR 將 I/O 板配置至網域 (或用 cfgadm(1M) 指令及其 -t 選項來測試 I/O 板) 的時候,被選取來測試板的 CPU 將是同網域裡的已插在系統板上之 CPU。接下來,該 CPU 不能有必要執行的程序,至少要有一個額外 CPU 在本網域留用。若無可用 CPU 以執行測試,將會顯示一項訊息,如下所示:


WARNING: No CPU available for I/O cage test

 

將 CPU 從網域取消配置,並已測試 I/O 板。完成測試之後,CPU 又會再配置至網域。重新配置 CPU 之後,用 psrinfo(1M) 指令所顯示的時間戳記,與網域裡的其他 CPU 不相同。