當必須重新格式化或替換故障的磁碟時,您可以從故障的磁碟機中回復資料。
小心: 在您重新格式化或更換磁碟機之前,請從發生故障的磁碟中移除對未鏡映檔案系統的所有參照,並從磁區群組與系統配置中移除該磁碟。如果您沒有這麼做,則會在 ODM(物件資料管理程式)及系統配置資料庫中造成問題。這些必要步驟的指示包含在下列程序中,位於
替換或重新格式化已故障或即將故障的磁碟之前下方。
下列程序使用一個實務範例,其中稱為 myvg 的磁區群組包含三個磁碟機,它們叫做 hdisk2、hdisk3 及 hdisk4。在此實務範例中,hdisk3 發生故障。hdisk2 上包含非鏡映的邏輯磁區 lv01 及 mylv 邏輯磁區的副本。mylv 邏輯磁區是鏡映且有三個副本,每一個副本在其磁碟中都佔用兩個實體分割區。發生故障的 hdisk3 包含 mylv 的另一個副本,以及稱為 lv00 的非鏡映邏輯磁區。最後,hdisk4 包含 mylv 的第三個副本,以及稱為 lv02 的邏輯磁區。下圖顯示此範例情節。
此程序分為下列幾個主要部分:
- 在更換或重新格式化故障的磁碟之前為保護資料而執行的作業
- 要重新格式化或更換磁碟時所遵循的程序
- 在重新格式化或更換磁碟之後為回復資料而執行的作業
更換或重新格式化已故障或即將故障的磁碟之前:
- 以 root 權限登入。
- 如果您不熟悉故障磁碟機上的邏輯磁區,請使用作業磁碟來檢視故障磁碟的內容。
例如,若要使用
hdisk4 來查看
hdisk3,請在指令行上鍵入下列指令:
lspv -M -n hdisk4 hdisk3
lspv
指令會顯示磁區群組間的實體磁區相關資訊。輸出如下:
hdisk3:1 mylv:1
hdisk3:2 mylv:2
hdisk3:3 lv00:1
hdisk3:4-50
第一個直欄顯示實體分割區,第二個直欄顯示邏輯分割區。分割區 4 到 50 是可用的。
- 如果可能,請備份故障裝置上所有單一副本邏輯磁區。如需指示,請參閱備份使用者檔案或檔案系統。
- 如果您具有單一副本檔案系統,請將它們從磁碟中卸載。
(您可以從
lspv 指令的輸出來識別單一副本檔案系統。單一副本檔案系統的邏輯分割區數目與輸出中的實體分割區數目相同。)鏡映檔案系統不必卸載。
在該範例情節中,故障磁碟
hdisk3
上的
lv00
是單一副本檔案系統。若要卸載它,請鍵入下列指令:
unmount /dev/lv00
假設
/etc/filesystems 檔案不只是位於故障的磁碟上,如果您不知道檔案系統的名稱,請在指令行上鍵入
mount,以列出所有已裝載的檔案系統,並尋找與邏輯磁區相關聯的名稱。您也可以針對
/etc/filesystems
檔案使用
grep 指令,僅列出與邏輯磁區相關的檔案系統名稱(如果有的話)。例如:
grep lv00 /etc/filesystems
輸出類似下列範例:
dev = /dev/lv00
log = /dev/loglv00
附註:
- 如果您嘗試卸載的檔案系統正在使用中,則 unmount 指令會失敗。唯有當沒有開啟檔案系統的任何檔案且該裝置上沒有使用者的現行目錄時,才會執行 unmount 指令。
- unmount 指令的另一個名稱是 umount。這兩個名稱是可交換的。
- 鍵入 rmfs 指令,
從故障的實體磁區中移除所有單一副本檔案系統:
- 移除故障磁碟上所有鏡映的邏輯磁區。
註: 您不可以對 rootvg 磁區群組的實體磁區中的 hd5
和 hd7
邏輯磁區使用rmlvcopy。系統不允許您移除這些邏輯磁區,因為這些是唯一副本。
rmlvcopy 指令會從每一個邏輯分割區中移除副本。例如,請鍵入:
rmlvcopy mylv 2 hdisk3
移除
hdisk3 上的副本,就可以將屬於
mylv 邏輯磁區的每一個邏輯分割區的副本數從三個減成兩個(一個在
hdisk4 上,另一個在
hdisk2 上)。
- 如果故障磁碟是 root 磁區群組的一部分,而且包含邏輯磁區
hd7
,請在指令行上鍵入下列指令,來移除主要傾出裝置 (hd7
): sysdumpdev -P -p /dev/sysdumpnull
sysdumpdev
指令會變更執行系統的主要或次要傾出裝置位置。當您重新開機時,傾出裝置會返回它原來的位置。
註: 您可以選擇傾出到 DVD 裝置。如需如何將 DVD 配置成傾出裝置的相關資訊,請參閱
sysdumpdev。
- 使用下列指令來移除磁碟上的任何分頁空間:
其中
PSname 是要移除之分頁空間的名稱,它實際上是分頁空間所在之邏輯磁區的名稱。
如果 rmps 指令未順利完成,則在繼續此程序之前,必須使用 smit chps 捷徑來取消啟動主要分頁空間,並重新開機。如果有分頁空間處於作用中,則步驟 10
中的 reducevg 指令可能失敗。
- 使用 rmlv 指令,從磁區群組中移除任何其他的邏輯磁區(例如,不包含檔案系統的邏輯磁區)。
- 使用 reducevg 指令,從磁區群組中移除故障的磁碟。
例如,請鍵入:
reducevg -df myvg hdisk3
如果您無法執行
reducevg 指令,或該指令未順利完成,在您重新格式化或更換磁碟之後,可利用步驟
13 中的程序來協助清除 VGDA/ODM 資訊。
替換或重新格式化已故障或即將故障的磁碟:
- 下一個步驟取決於您是否要重新格式化或更換磁碟,以及您所使用的硬體類型:
- 如果您要重新格式化磁碟機,請使用下列程序:
- 以 root 權限,在指令行上鍵入下列 SMIT 捷徑:
smit diag
- 選取現行 shell 診斷,以進入「AIX® 診斷」工具。
- 在您閱讀診斷作業指示畫面之後,請按 Enter 鍵。
- 選取作業選項。
- 向下捲動作業清單,以尋找並選取格式化媒體。
- 選取您要重新格式化的磁碟。確認要重新格式化磁碟之後,將會消除磁碟上的所有內容。
重新格式化磁碟之後,請繼續步驟 12。
- 如果您的系統支援熱交換磁碟,請使用在系統仍可用時從磁碟故障中回復中的程序,
然後繼續步驟 13。
- 如果系統不支援熱抽換磁碟,請執行下列步驟:
- 使用 SMIT 捷徑 smit rmvdsk 來關閉舊磁碟機的電源。將資料庫欄位中的 KEEP 定義變更為
No
。
- 請洽詢下一層次的系統支援來更換磁碟機。
更換或重新格式化已故障或即將故障的磁碟之後:
- 請遵循配置磁碟及使可用磁碟成為實體磁區中的指示。
- 如果在磁碟格式化之前,您無法對舊磁區群組中的磁碟使用 reducevg 指令(步驟 10),則下列程序可協助清除 VGDA/ODM 資訊。
- 如果磁區群組只含有一個已重新格式化的磁碟,請鍵入:
exportvg VGName
其中 VGName 是磁區群組名稱。
- 如果磁區群組是由多個磁碟所組成,請在指令行上鍵入下列指令:
varyonvg VGName
系統會顯示遺失或無法使用磁碟的相關訊息,並且會列出新(或重新格式化)的磁碟。請記下新磁碟的實體磁區 ID (PVID),它是列在 varyonvg 訊息中。它是在遺漏的磁碟名稱與標籤 PVNOTFND 之間 16 個字元的字串。例如: hdisk3 00083772caa7896e PVNOTFND
請鍵入: varyonvg -f VGName
遺漏的磁碟現在已顯示 PVREMOVED 標籤。例如:hdisk3 00083772caa7896e PVREMOVED
然後,鍵入指令:
reducevg -df VGName PVID
其中 PVID 是實體磁區 ID(在此範例情節中是 00083772caa7896e)。
- 若要將新磁碟機新增到磁區群組中,請使用 extendvg 指令。
例如,請鍵入:
extendvg myvg hdisk3
- 若要在新(或重新格式化)的磁碟機上重建單一副本邏輯磁區,請使用 mklv 指令。
例如,請鍵入:
mklv -y lv00 myvg 1 hdisk3
此範例會在 hdisk3 磁碟機上重建 lv00 邏輯磁區。1
表示此邏輯磁區未鏡映。
- 若要在邏輯磁區上重建檔案系統,請使用 crfs 指令。
例如,請鍵入:
crfs -v jfs -d lv00 -m /dev/lv00
- 若要從備份媒體中還原單一副本檔案系統資料,請參閱從備份映像檔中還原使用者檔案。
- 若要重建邏輯磁區的鏡映副本,請使用 mklvcopy 指令。
例如,請鍵入:
mklvcopy mylv 3 hdisk3
此範例會在 hdisk3 上建立 mylv 邏輯磁區之鏡映的第三個分割區。
- 若要使新的鏡映與其他鏡映上的資料同步化(在此範例中,為 hdisk2 和 hdisk4),請使用 syncvg 指令。
因此,所有鏡映的檔案系統都必須還原且保持最新。如果您可以備份單一副本檔案系統,則它們也已備妥可供使用。您必須能夠繼續進行系統的正常使用。