使用本附錄中的程序以及 "規劃容體管理" 中的資訊,來為 Solstice DiskSuite 軟體安裝並配置您的本機和多重主機磁碟。請參閱 Solstice DiskSuite 文件,以取得詳細資訊。
本附錄中有下述程序。
儲存磁碟機的對應。
Sun Cluster 3.0 版次注意事項中,已完成下列配置規劃表。請參閱 "規劃容體管理",以取得規劃準則。
"本機檔案系統佈局工作表"
"磁碟裝置群組配置工作表"
"容體管理者配置工作表"
"複合裝置工作表 (Solstice DiskSuite)"
下表列出為 Sun Cluster 配置安裝和配置 Solstice DiskSuite 軟體時所需要執行的作業。
如果您使用了 SunPlex Manager 來安裝 Solstice DiskSuite 軟體,則程序 "如何安裝 Solstice DiskSuite 軟體" 到 "如何建立複合裝置狀態資料庫複本" 已經完成。
作業 |
相關資訊,請參閱 ... |
---|---|
規劃安排您的 Solstice DiskSuite 配置。 | |
安裝 Solstice DiskSuite 軟體。 | |
計算您配置所需的複合裝置名稱和磁碟組的數目,並修改 /kernel/drv/md.conf 檔案。 | |
在本機磁碟上建立複合裝置狀態資料庫複本。 | |
(選擇性的) 鏡像根磁碟上的檔案系統。 | |
使用 metaset 指令建立磁碟組。 | |
在磁碟組新增磁碟機。 | |
重新分割磁碟組中的磁碟機,以配置空間給片段 1 到 6。 | |
列出裝置 ID 虛擬驅動程式對應並定義 /etc/lvm/md.tab 檔案中的複合裝置。 | |
初始化 md.tab 檔案。 | |
對於雙串連配置,請配置仲裁者主機,檢查仲裁者資料的狀態,如有需要請修正錯誤的仲裁者資料。 | |
配置叢集。 |
如果你已經使用 SunPlex Manager 安裝 Solstice DiskSuite 軟體,請勿執行此程序,請改為直接跳到 "鏡像根磁碟"。
在叢集的每一個節點上執行此作業。
成為叢集節點的超級使用者。
如果您從 CD-ROM 光碟機安裝,請將 Solaris 8 軟體 2 片光碟的第 2 片插入節點的 CD-ROM 光碟機。
此步驟是假設「容體管理」常駐程式 vold(1M) 為執行狀態,而且配置為可管理 CD-ROM 裝置。
安裝 Solstice DiskSuite 軟體套件。
如果您要安裝 Solstice DiskSuite 軟體修補程式,請於安裝 Solstice DiskSuite 軟體之後不要重新開機。
依照下列範例所顯示的順序安裝軟體套件。
# cd /cdrom/sol_8_sparc_2/Solaris_8/EA/products/DiskSuite_4.2.1/sparc/Packages # pkgadd -d . SUNWmdr SUNWmdu [SUNWmdx] optional-pkgs |
所有的 Solstice DiskSuite 安裝均需要 SUNWmdr 和 SUNWmdu 套件。64 位元 Solstice DiskSuite 的安裝還需要 SUNWmdx 套件。
請參照您的 Solstice DiskSuite 安裝文件,以取得關於選用軟體套件的資訊。
如果您是從 CD-ROM 光碟機安裝,請退出 CD-ROM。
安裝任何 Solstice DiskSuite 修補程式。
請參閱 Sun Cluster 3.0 U1 版次注意事項,以取得修補程式和安裝指示的位置。
在叢集的某個節點上,手動總裝 Solstice DiskSuite.
# scgdevs 的整體裝置名稱空間。 |
設定此叢集預定的複合裝置名稱與磁碟組數量。
如果你已經使用 SunPlex Manager 安裝 Solstice DiskSuite 軟體,請勿執行此程序,請改為直接跳到 "鏡像根磁碟"。
本程序說明如何計算您配置所需的複合裝置名稱數量,以及如何修改 /kernel/drv/md.conf 檔案。
每個磁碟組的預設複合裝置名稱的數目是 128,但許多配置需要的數目比預設值大。實做某項配置之前,請將此數目調高,以節省未來花在管理上的時間。
計算出叢集中任何磁碟組所需的複合裝置名稱個數上限。
每個磁碟組最多可擁有 8192 個複合裝置名稱。您要在 nmd 欄位內輸入此估計值。
計算每個磁碟組所需的複合裝置名稱個數。
如果使用本機複合裝置,請確保整個叢集中的每個本機複合裝置名稱均是唯一,而且不使用與叢集中任何裝置 ID (DID) 相同的名稱。
請挑選一個範圍內的數字專門給 DID 名稱使用,另外也挑選一個數字範圍專門給每個節點的本機複合裝置名稱使用。例如,將 d1 到 d1000 的名稱配給 DID 使用,節點 1 上的本機複合裝置使用 d1100 到 d1199 範圍的名稱,節點 2 上的本機複合裝置使用 d1200 到 d1299 範圍的名稱,依此類推。
決定任何磁碟組中所使用的最大複合裝置名稱個數。
複合裝置名稱數量的設定是根據複合裝置名稱的值決定,而不是取決於實際的數量。例如,如果您的複合裝置名稱範圍是從 <d950 到 d1000,則 Solstice DiskSuite 軟體需要 1000 個名稱,而不是 50 個。
計算叢集中預期的磁碟組總數,然後再加 1 個作為私有磁碟管理用。
叢集最多可以有 32 個磁碟組。磁碟組的預設個數為 4,請在 md_nsets 欄位內輸入此估計值。
在每個節點上,編輯 /kernel/drv/md.conf 檔案。
不管每一個節點對應幾個磁碟組,所有叢集節點 (或叢集配對拓樸中的叢集配對) 的 /kernel/drv/md.conf 檔必須相同。未遵循此準則會導致嚴重的 Solstice DiskSuite 錯誤和可能的資料流失。
在每個節點上執行重新配置重開機,
# touch /reconfigure # shutdown -g0 -y -i6 |
執行重新配置開機之後,對 /kernel/drv/md.conf 檔所做的變更即可作業。
建立本機複製。
如果你已經使用 SunPlex Manager 安裝 Solstice DiskSuite 軟體,請勿執行此程序,請改為直接跳到 "鏡像根磁碟"。
在叢集的每一個節點上執行此程序。
成為叢集節點的超級使用者。
使用 metadb 指令,在一或多個本機磁碟上,對每一個叢集節點建立複本。
請參照 metadb(1M) 線上援助頁和 Solstice DiskSuite 文件,以取得詳細資訊。
若要提供複合裝置狀態資料的保護 (執行 Solstice DiskSuite 軟體時所需),對每一個節點至少要建立三個複本。而且,要將複本分置於一個以上的磁碟,以便在其中一個磁碟損壞時能夠提供保護。
請確認複本。
# metadb |
確定要對根磁碟做檔案系統鏡像?
以下範例顯示三個複合裝置狀態資料庫的複本,各建立在不同的磁碟上。
# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7 # metadb flags first blk block count a u 16 1034 / dev/dsk/c0t0d0s7 a u 1050 1034 /dev/dsk/c0 t1d0s7 a u 2084 1034 /dev/dsk/c1 t0d0s7 |
鏡像根磁碟可防止叢集節點本身因為系統磁碟損壞而關機。根磁碟上可存在四種檔案系統類型。每一種檔案系統類型使用不同方法進行鏡像。
這些鏡像程序的某些步驟會造成類似下列的錯誤訊息,這些錯誤訊息並不會有不良影響,可以忽略。
metainit: dg-schost-1: d1s0: not a metadevice |
對於本機磁碟鏡像,在指定磁碟名稱時請勿使用 /dev/global 作為路徑。除了在叢集檔案系統外,在其他情況下指定此路徑會讓系統無法啟動。
使用此程序可以鏡像根 (/) 檔案系統。
成為叢集上某個節點的超級使用者。
使用 metainit(1M) 指令,將根片段置於單一片段 (單向) 串接。
# metainit -f submirror1 1 1 root-disk-slice |
建立第二個串接。
# metainit -f submirror2 1 1 submirror-disk-slice |
建立只含一個次鏡像的單向鏡像。
# metainit mirror -m submirror1 |
鏡像的複合裝置名稱,在叢集中必須是唯一的。
執行 metaroot(1M) 指令。
這個指令編輯 /etc/vfstab 和 /etc/system 檔案,使得系統可以由複合裝置上的根 ( /) 檔案系統啟動。
# metaroot mirror |
執行 lockfs(1M) 指令。
這個指令會將記錄中的所有異動清除,並將異動寫入至所有已裝載 UFS 檔案系統的主檔案系統。
# lockfs -fa |
撤出此節點的所有資源群組或裝置群組。
# scswitch -S -h node |
撤出全部的資源群組和裝置群組
指定要撤出資源或裝置群組的節點名稱
重開此節點。
# shutdown -g0 -y -i6 |
使用 metattach(1M) 指令,連接第二個子鏡像至鏡像。
# metattach mirror submirror2 |
如果用來鏡像根磁碟的磁碟,實際連接至一個以上的節點 (多埠連接),請啟用用來鏡像根磁碟的原始磁碟裝置群組的 localonly 屬性。
您必須啟用 localonly 屬性,在啟動裝置連接多個節點時,可以避免在無意中將節點與其啟動裝置隔離。
必要時,請使用 scdidadm -L 指令顯示原始磁碟裝置群組的完整裝置 ID (DID) 虛擬驅動程式名稱。
在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是輸出第三欄位 (完整 DID 虛擬驅動程式名稱) 的一部份。
# scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 # scconf -c -D name=dsk/d2,localonly=true |
有關 localonly 屬性的詳細資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。
使用 scconf(1M) 指令啟用 localonly 屬性。
# scconf -c -D name=rawdisk-groupname,localonly=true |
指定原始磁碟裝置群組的名稱
記錄另一個開機路徑,以備不時之需。
# ls -l /dev/rdsk/root-disk-slice |
確定鏡像的每個複合裝置名稱,在叢集中均是唯一的。
您要鏡像全域名稱空間,/global/.devices/node@nodeid 嗎?
如果是的話,請至 "如何鏡像全域名稱空間"。
如果不是,請至 步驟 14。
確定要對無法卸載的檔案系統進行鏡像?
如果是的話,請至 "若檔案系統無法卸載時,要如何鏡像"。
如果不是,請至 步驟 15。
確定要對使用者定義的檔案系統進行鏡像?
如果是的話,請至 "如何鏡像使用者定義的檔案系統"。
如果不做,請跳到 "如何建立磁碟組" 以建立磁碟組。
下列範例顯示在節點 phys-schost-1 上建立的鏡像 d0,是由分割區 c0t0d0s0 上的子鏡像d10 和分割區c2t2d0s0 上的子鏡像d20 所組成。磁碟 c2t2d0 是一個多埠連接的磁碟,因此其 localonly 屬性已經啟用。
(Create the mirror) # metainit -f d10 1 1 c0t0d0s0 d11: Concat/Stripe is setup # metainit -f d20 1 1 c2t2d0s0 d12: Concat/Stripe is setup # metainit d0 -m d10 d10: Mirror is setup # metaroot d0 # lockfs -fa (Reboot the node) # scswitch -S -h phys-schost-1 # shutdown -g0 -y -i6 (Attach the second submirror) # metattach d0 d20 d0: Submirror d20 is attached (Enable the localonly property of the mirrored disk's raw disk device group) # scconf -c -D name=dsk/d2,localonly=true (Record the alternate boot path) # ls -l /dev/rdsk/c2t2d0s0 lrwxrwxrwx 1 root root 57 Apr 25 20:11 /dev/rdsk/c2t2d0s0 -> ../../devices/node@1/pci@1f,0/pci@1/scsi@3,1/disk@2,0:a,raw |
使用此程序可以鏡像全域名稱空間,/global/.devices/node@nodeid。
成為叢集上某個節點的超級使用者。
將全域名稱空間片段置於單一片段 (單向) 串接。
# metainit -f submirror1 1 1 diskslice |
建立第二個串接。
# metainit -f submirror2 1 1 submirror-diskslice |
建立只含一個次鏡像的單向鏡像。
# metainit mirror -m submirror1 |
鏡像的複合裝置名稱,在叢集中必須是唯一的。
連接第二子鏡像至鏡像。
這個附加鏡像便會開始與子鏡像進行同步。
# metattach mirror submirror2 |
編輯/global/.devices/node@nodeid 檔案系統的/etc/vfstab 檔案項目。
將要 裝載的裝置 與要進行 fsck 的 裝置 名稱兩欄換成鏡像名稱。
# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/mirror /dev/md/rdsk/mirror /global/.devices/node@nodeid ufs 2 no global |
確定鏡像的每個複合裝置名稱,在叢集中均是唯一的。
等待鏡像同步作業 (始自 步驟 5) 完成。
使用 metastat(1M) 指令檢視鏡像狀態。
# metastat mirror |
如果用來鏡像全域名稱空間的磁碟,實際連接至一個以上的節點 (多埠連接),請啟用用來鏡像全域名稱空間之磁碟的原始磁碟裝置群組的 localonly 屬性。
您必須啟用 localonly 屬性,在啟動裝置連接多個節點時,可以避免在無意中將節點與其啟動裝置隔離。
必要時,請使用 scdidadm -L 指令顯示原始磁碟裝置群組的完整裝置 ID (DID) 虛擬驅動程式名稱。
在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是輸出第三欄位 (完整 DID 虛擬驅動程式名稱) 的一部份。
# scdidadm -L ...1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 # scconf -c -D name=dsk/d2,localonly=true |
有關 localonly 屬性的詳細資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。
使用 scconf(1M) 指令啟用 localonly 屬性。
# scconf -c -D name=rawdisk-groupname,localonly=true |
指定原始磁碟裝置群組的名稱
確定要對無法卸載的檔案系統進行鏡像?
如果是的話,請至 "若檔案系統無法卸載時,要如何鏡像"。
如果不是,請至 步驟 11。
確定要對使用者定義的檔案系統進行鏡像?
如果是的話,請至 "如何鏡像使用者定義的檔案系統"。
如果不做,請跳到 "如何建立磁碟組" 以建立磁碟組。
下列範例顯示建立的 d101 鏡像,是由分割區 c0t0d0s3 上的子鏡像 d111 和分割區 c2t2d0s3 上的子鏡像 d121 所組成。/global/.devices/node@1 的 /etc/vfstab 檔案項目會更新為使用鏡像名稱 d101。磁碟 c2t2d0 是多埠連接的磁碟,所以啟用 localonly 屬性。
(Create the mirror) # metainit -f d111 1 1 c0t0d0s3 d111:Concat/Stripe is setup # metainit -f d121 1 1 c2t2d0s3 d121:Concat/Stripe is setup # metainit d101 -m d111 d101:Mirror is setup # metattach d101 d121 d101:Submirror d121 is attached (Edit the /etc/vfstab file) # vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point t ype pass at boot options # /dev/md/dsk/d101 /dev/md/rdsk/ d101 /global/.devices/node@1 ufs 2 no global (View the sync status) # metastat d101 d101:Mirror Submirror 0:d111 State:Okay Submirror 1:d121 State:Resyncing Resync in progress:15 % done ... (Identify the DID name of the mirrored disk's raw disk device group) # scdidadm -L ...1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (Enable the localonly property of the mirrored disk's raw disk device group) # scconf -c -D name=dsk/d2,localonly=true |
使用此程序可以鏡像那些無法在系統正常使用期間卸載的檔案系統,如 /usr、 /opt 或 swap。
成為叢集上某個節點的超級使用者。
將無法卸載檔案系統所在的磁碟片段置於單一片段 (單向) 串接。
# metainit -f submirror1 1 1 diskslice |
建立第二個串接。
# metainit -f submirror2 1 1 submirror-diskslice |
建立只含一個次鏡像的單向鏡像。
# metainit mirror -m submirror1 |
鏡像的複合裝置名稱在叢集中不需要是唯一的。
在每一個節點上,編輯您鏡像的所有無法卸載檔案系統的 /etc/vfstab 檔案項目。
將要 裝載的裝置 與要進行 fsck 的 裝置 名稱兩欄換成鏡像名稱。
# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/mirror /dev/md/rdsk/mirror /filesystem ufs 2 no global |
撤出此節點的所有資源群組或裝置群組。
# scswitch -S -h node |
撤出全部的資源群組和裝置群組
指定要撤出資源或裝置群組的節點名稱
重開此節點。
# shutdown -g0 -y -i6 |
連接第二個子鏡像至每個鏡像。
這個附加鏡像便會開始與子鏡像進行同步。
# metattach mirror submirror2 |
等待鏡像同步作業 (始自 步驟 9) 完成。
使用 metastat(1M) 指令檢視鏡像狀態。
# metastat mirror |
如果用來鏡像無法卸載檔案系統的磁碟,實際連接至一個以上的節點 (多埠連接),請啟用用來鏡像無法卸載檔案系統之磁碟的原始磁碟裝置群組的 localonly 屬性。
您必須啟用 localonly 屬性,在啟動裝置連接多個節點時,可以避免在無意中將節點與其啟動裝置隔離。
必要時,請使用 scdidadm -L 指令顯示原始磁碟裝置群組的完整裝置 ID (DID) 虛擬驅動程式名稱。
在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是輸出第三欄位 (完整 DID 虛擬驅動程式名稱) 的一部份。
# scdidadm -L ...1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/r dsk/d2 # scconf -c -D name=dsk/d2,localonly=true |
有關 localonly 屬性的詳細資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。
使用 scconf(1M) 指令啟用 localonly 屬性。
# scconf -c -D name=rawdisk-groupname,localonly=true |
指定原始磁碟裝置群組的名稱
確定要對使用者定義的檔案系統進行鏡像?
如果是的話,請至 "如何鏡像使用者定義的檔案系統"。
如果不做,請跳到 "如何建立磁碟組" 以建立磁碟組。
下列範例顯示在節點 phys-schost-1 上建立鏡像,以便鏡像 /usr,這是位於 c0t0d0s1 上。鏡像 d1 包含分割區 c0t0d0s1 上的子鏡像 d11 和分割區 c2t2d0s1 上的子鏡像 d21。/usr 的 /etc/vfstab 檔案項目會更新為使用鏡像名稱 d1。磁碟 c2t2d0 是多埠連接的磁碟,所以啟用 localonly 屬性。
(Create the mirror) # metainit -f d11 1 1 c0t0d0s1 d11:Concat/Stripe is setup # metainit -f d21 1 1 c2t2d0s1 d21:Concat/Stripe is setup # metainit d1 -m d11 d1:Mirror is setup (Edit the /etc/vfstab file) # vi /etc/vfstab #device device mount FS fsck m ount mount #to mount to fsck point type pass a t boot options # /dev/md/dsk/d1 /dev/md/rdsk/d1 /usr ufs 2 n o global (Reboot the node) # scswitch -S -h phys-schost-1 # shutdown -g0 -y -i6 (Attach the second submirror) # metattach d1 d21 d1:Submirror d21 is attached (View the sync status) # metastat d1 d1:Mirror Submirror 0:d11 State:Okay Submirror 1:d21 State:Resyncing Resync in progress:15 % done ... (Identify the DID name of the mirrored disk's raw disk device group) # scdidadm -L ...1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (Enable the localonly property of the mirrored disk's raw disk device group) # scconf -c -D name=dsk/d2,localonly=true |
使用此程序可以鏡像使用者定義的檔案系統。在此程序中,節點不需要重新啟動。
成為叢集上某個節點的超級使用者。
將使用者定義的檔案系統所在的片段置於單一片段 (單向) 串接。
# metainit -f submirror1 1 1 diskslice |
建立第二個串接。
# metainit -f submirror2 1 1 submirror-diskslice |
建立只含一個次鏡像的單向鏡像。
# metainit mirror -m submirror1 |
鏡像的複合裝置名稱在叢集中不需要是唯一的。
在每一個節點上,編輯您鏡像的所有使用者定義檔案系統的 /etc/vfstab 檔案項目。
將要 裝載的裝置 與要進行 fsck 的 裝置 名稱兩欄換成鏡像名稱。
# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/mirror /dev/md/rdsk/mirror /filesystem ufs 2 no global |
連接第二子鏡像至鏡像。
這個附加鏡像便會開始與子鏡像進行同步。
# metattach mirror submirror2 |
等待鏡像同步作業 (始自 步驟 7) 完成。
使用 metastat(1M) 指令檢視鏡像狀態。
# metastat mirror |
如果用來鏡像使用者定義的檔案系統的磁碟,實際連接至一個以上的節點 (多埠連接),請啟用用來鏡像使用者定義檔案系統之磁碟的原始磁碟裝置群組的 localonly 屬性。
您必須啟用 localonly 屬性,在啟動裝置連接多個節點時,可以避免在無意中將節點與其啟動裝置隔離。
必要時,請使用 scdidadm -L 指令顯示原始磁碟裝置群組的完整裝置 ID (DID) 虛擬驅動程式名稱。
在下列範例中,原始磁碟裝置群組名稱 dsk/d4 是輸出第三欄位 (完整 DID 虛擬驅動程式名稱) 的一部份。
# scdidadm -L ...1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 # scconf -c -D name=dsk/d2,localonly=true |
有關 localonly 屬性的詳細資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。
使用 scconf(1M) 指令啟用 localonly 屬性。
# scconf -c -D name=rawdisk-groupname,localonly=true |
指定原始磁碟裝置群組的名稱
建立磁碟組。
請至 "如何建立磁碟組"。
下列範例顯示鏡像 d4 的建立,以鏡像 /home,這是位於 c0t0d0s4。鏡像 d4 是由分割區 c0t0d0s4 上的子鏡像 d14 和分割區 c2t2d0s4 上的子鏡像 d24 所組成。/home 的 /etc/vfstab 檔案項目會更新為使用鏡像名稱 d4。磁碟 c2t2d0 是多埠連接的磁碟,所以啟用 localonly 屬性。
(Create the mirror) # metainit -f d14 1 1 c0t0d0s4 d14: Concat/Stripe is setup # metainit -f d24 1 1 c2t2d0s4 d24: Concat/Stripe is setup # metainit d4 -m d14 d4: Mirror is setup (Edit the /etc/vfstab file) # vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/d4 /dev/md/rdsk/d4 /home ufs 2 no global (Attach the second submirror) # metattach d4 d24 d4: Submirror d24 is attached (View the sync status) # metastat d4 d4: Mirror Submirror 0: d14 State: Okay Submirror 1: d24 State: Resyncing Resync in progress: 15 % done ... (Identify the DID name of the mirrored disk's raw disk device group) # scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (Enable the localonly property of the mirrored disk's raw disk device group) # scconf -c -D name=dsk/d2,localonly=true |
對您建立的每個磁碟組執行此程序。
如果您使用了 SunPlex Manager 安裝 Solstice DiskSuite,系統上可能已經有一個到三個磁碟組。請參閱 "使用SunPlex Manager 安裝 Sun Cluster 軟體",以取得有關 SunPlex Manager 所建立的 metaset 的詳細資訊。
確保您要建立的磁碟組符合以下任何一項條件。
如果配置正好是兩個磁碟串聯,磁碟組必須連接至兩個節點,並且使用兩個仲裁者主機,而這兩個主機必須與磁碟組使用的兩個主機相同。請參閱 "仲裁者概觀",以取得有關如何設定仲裁者的詳細資訊。
如果配置兩個以上的磁碟串聯,請確定任何兩個磁碟串聯 S1 和 S2 串聯的磁碟數目總和,要超過第三串聯 S3 的磁碟數。以數學式表示則為 count(S1) + count(S2) > count(S3)。
確定 root 是群組 14 的成員。
# vi /etc/group ... sysadmin::14:root ... |
確定本機複合裝置狀態資料庫的複本已存在。
相關說明,請參閱 "如何建立複合裝置狀態資料庫複本"。
成為叢集節點上的超級使用者來主控磁碟組。
建立磁碟組。
這個指令也會將磁碟組註冊為Sun Cluster磁碟裝置群組。
# metaset -s setname -a -h node1 node2 |
指定磁碟組名稱
新增 (建立) 磁碟組
指定主控磁碟組的主要節點名稱
指定主控磁碟組的次要節點名稱
確認新磁碟組的狀態。
# metaset -s setname |
在磁碟組新增磁碟機。
請至 "在磁碟組新增磁碟機"。
以下指令會建立兩個磁碟組,dg-schost-1 與 dg-schost-2,節點 phys-schost-1 與 phys-schost-2 被指定為潛在主控者。
# metaset -s dg-schost-1 -a -h phys-schost-1 phys-schost-2 # metaset -s dg-schost-2 -a -h phys-schost-1 phys-schost-2 |
在磁碟組新增磁碟機時,Solstice DiskSuite 會以下述方式重新分割,使得磁碟組的複合裝置狀態資料庫可以放在磁碟機上。
每一個磁碟機在片段 7 保留一小部份讓 Solstice DiskSuite 軟體使用。每個磁碟機的剩餘空間會放置於片段 0。
只有當片段 7 未正確設定的情況下,在磁碟組新增磁碟機時才會重新分割該磁碟機。
重新分割時會使磁碟上現存的資料遺失。
如果片段 7 是從磁柱 0 開始,且磁碟足以容納狀態資料庫複本,則磁碟就不會重新分割。
成為節點上的超級使用者。
確定磁碟組已建立。
相關說明,請參閱 "如何建立磁碟組"。
列出裝置 ID (DID) 對應。
# scdidadm -L |
選擇主控或潛在主控磁碟組的叢集節點所共用的磁碟機。
在磁碟組新增磁碟機時,使用完整的 DID 虛擬驅動程式名稱。
輸出的第一欄是 DID 實例號碼,第二欄是完整路徑 (實體路徑),第三欄是完整 DID 虛擬驅動程式名稱 (虛擬路徑)。共用磁碟機有一個以上相同 DID 實例號碼的項目。
在下列範例中,DID 實例號碼 2 的項目,指出磁碟機是由 phys-schost-1 和 phys-schost-2 所共用,完整的 DID 名稱是 /dev/did/rdsk/d2。
1 phys-schost-1:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1 2 phys-schost-1:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 2 phys-schost-2:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 3 phys-schost-1:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3 3 phys-schost-2:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3 ... |
取得磁碟組所有權。
# metaset -s setname -t |
指定磁碟組名稱
取得磁碟組的所有權
在磁碟組新增磁碟機。
使用完整的 DID 虛擬驅動程式名稱。
# metaset -s setname -a DIDname |
在磁碟組新增磁碟機
共用磁碟的裝置 ID (DID) 名稱
在磁碟組新增磁碟機時,請勿使用低階裝置名稱 (cNtXdY)。因為低階裝置名稱是本機名稱,在叢集中並非唯一,使用此名稱會使 metaset 無法切換。
確認磁碟組與磁碟機的狀態。
# metaset -s setname |
確定要將磁碟機重新分割以便在複合裝置中使用?
如果是的話,請至 "如何重新分割磁碟組中的磁碟"。
如果不做,請跳到 "如何建立 md.tab 檔",使用 md.tab 檔案定義複合裝置。
指令 metaset 會將磁碟機 /dev/did/dsk/d1 與 /dev/did/dsk/d2 新增至磁碟組 dg-schost-1。
# metaset -s dg-schost-1 -a /dev/did/dsk/d1 /dev/did/dsk/d2 |
metaset(1M) 指令會重新分割磁碟組中的磁碟,讓每個磁碟在片段 7 保留一小部份供 Solstice DiskSuite 軟體使用。每個磁碟的剩餘空間會放置在片段 0。為了更有效率地使用磁碟,請使用此程序來修改磁碟佈局。如果配置空間給片段 1 到片段 6,以後設定複合裝置時便可使用這些片段。
成為叢集節點的超級使用者。
使用 format(1M) 指令來變更磁碟組中每一個磁碟機的磁碟分割區。
在您重新分割磁碟時,必須符合下列條件以防止 metaset(1M) 指令重新分割磁碟。
建立分割區 7,從磁柱 0 開始,其空間足以容納一個狀態資料庫複本 (約 2 。
設定片段 7 中的 Flag 欄位為 V_UNMT (無法卸載),並且不要設成唯讀。
不要讓片段 7 與磁碟其他片段重疊。
請參閱 format(1M) 線上援助頁,以取得詳細資訊。
使用 md.tab 檔案定義複合裝置。
請至 "如何建立 md.tab 檔"。
在叢集的每一個節點上建立 /etc/lvm/md.tab 檔。使用 md.tab 檔定義您建立的磁碟組複合裝置。
如果是使用本機複合裝置,請確定本機複合裝置的名稱與形成磁碟組的裝置 ID (DID) 名稱不同。例如,如果磁碟組中使用 DID 名稱 /dev/did/dsk/d3,則不要在本機複合裝置上使用該名稱 /dev/md/dsk/d3。此條件不適用於共用複合裝置,因為共用複合裝置採用的命名慣例為 /dev/md/setname/{r}dsk/d#。
為了避免叢集環境中區域複合裝置太多導致混淆,挑選的命名規則應該要讓整個叢集中沒有兩個複合裝置的名稱會相同。例如,節點 1 使用 d100-d199 的名稱,節點 2 則使用 d200-d299 的名稱,依此類推。
成為叢集節點的超級使用者。
建立 md.tab 檔時,請列出 DID 對應以作為參考。
在 md.tab 檔案中,使用完整的 DID 虛擬驅動程式名稱,而不使用低階裝置名稱 (cNtXdY)。
# scdidadm -L |
在下列範例中,輸出的第一欄是 DID 實例號碼,第二欄是完整路徑 (實體路徑),第三欄則是完整的 DID 虛擬驅動程式名稱 (虛擬路徑)。
1 phys-schost-1:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1 2 phys-schost-1:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 2 phys-schost-2:/dev/ rdsk/c1t1d0 /dev/did/rdsk/d2 3 phys-schost-1:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3 3 phys-schost-2:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3 ... |
建立 /etc/lvm/md.tab 檔,並使用您偏好的文字編輯程式手動編輯此檔案。
請參閱 Solstice DiskSuite 文件以及 md.tab(4) 線上援助頁,以取得關於如何建立 md.tab 檔案的詳細資訊。
如果您要使用儲存在子鏡像磁碟上的資料,您必須先備份資料再設定複合裝置,然後將其復原至鏡像上。
啟動 md.tab 檔案中定義的複合裝置。
請至 "如何啟動複合裝置"。
下列 md.tab 的檔案範例,在名為 dg-schost-1 的磁碟組中,對複合裝置加以定義。md.tab 檔案中各行的順序沒有任何關係。
dg-schost-1/d0 -t dg-schost-1/d1 dg-schost-1/d4 dg-schost-1/d1 -m dg-schost-1/d2 dg-schost-1/d2 1 1 /dev/did/rdsk/d1s4 dg-schost-1/d3 1 1 /dev/did/rdsk/d55s4 dg-schost-1/d4 -m dg-schost-1/d5 dg-schost-1/d5 1 1 /dev/did/rdsk/d3s5 dg-schost-1/d6 1 1 /dev/did/rdsk/d57s5 |
此 md.tab 檔案範例建構如下。
第一行定義異動複合裝置 d0,包含主控者 (UFS) 複合裝置 d1 和記錄裝置 d4。此 -t 表示這是一個異動複合裝置。主控裝置與記錄裝置均以 -t 旗標指定其位置。
dg-schost-1/d0 -t dg-schost-1/d1 dg-schost-1/d4 |
第二行將主控裝置定義為複合裝置的鏡像。此定義中的 -m 表示一個鏡像裝置,以及其中一個子鏡像 d2,該子鏡像與鏡像裝置 d1 關聯。
dg-schost-1/d1 -m dg-schost-1/d2 |
同樣地,第五行也定義了記錄裝置 d4 當作複合裝置的鏡像。
dg-schost-1/d4 -m dg-schost-1/d5 |
第三行將主控裝置的第一個子鏡像 d2 定義成單向磁條。
dg-schost-1/d2 1 1 /dev/did/rdsk/d1s4 |
第四行定義主控裝置的第二個子鏡像 d3。
dg-schost-1/d3 1 1 /dev/did/rdsk/d55s4 |
最後,定義記錄裝置的子鏡像 (d5 和 d6)。此範例為每個子鏡像建立了簡單的複合裝置。
dg-schost-1/d5 1 1 /dev/did/rdsk/d3s5 dg-schost-1/d6 1 1 /dev/did/rdsk/d57s5 |
執行此程序以啟動 md.tab 檔案中定義的複合裝置。
成為叢集節點的超級使用者。
確定 md.tab 檔案位於 /etc/lvm 目錄中。
確定對於執行指令的節點上的磁碟組,您擁有所有權。
取得磁碟組的所有權。
# metaset -s setname -t |
指定磁碟組名稱
取得磁碟組的所有權
啟動在 md.tab 檔中所定義磁碟組的複合裝置。
# metainit -s setname -a |
啟動 md.tab 檔案中的所有的複合裝置
為每個主控裝置和記錄裝置,連接第二個子鏡像 (submirror2)。
當 md.tab 檔案中的複合裝置啟動時,只有主控裝置和記錄裝置的第一子鏡像 (submirror1) 是連接的,所以 submirror2 必須以手動方式連接。
# metattach mirror submirror2 |
必要時,請從連接磁碟的另一個節點來執行 metainit(1M) 指令。對叢集配對拓樸而言,此步驟是必要的,但並非全部節點均可在拓樸上的磁碟存取資料。
檢查複合裝置的狀態。
# metastat -s setname |
請參閱 medstat(1M) 線上援助頁,以取得詳細資訊。
叢集內是否有任何磁碟組設定成只有兩個磁碟機殼與兩個節點?
如果是的話,這些磁碟組就需要仲裁者。請跳到 "仲裁者概觀" 增加仲裁者主機。
如果不是,請跳到 "如何新增叢集檔案系統" 建立叢集檔案系統。
在下列範例中,磁碟組 dg-schost-1 在 md.tab 檔案中定義的所有複合裝置均會被啟動。接著主控裝置 dg-schost-1/d1 與記錄裝置 dg-schost-1/d4 的第二個子鏡像也會啟動。
# metainit -s dg-schost-1 -a # metattach dg-schost-1/d1 dg-schost-1/d3 # metattach dg-schost-1/d4 dg-schost-1/d6 |
仲裁者 (或仲裁者主機) 是儲存仲裁者資料的叢集節點。仲裁者資料提供有關其他仲裁者位置的資訊,並包含確定計數,此計數與儲存於資料庫複本中的確定計數相同。此確定計數是用來確認仲裁者資料與資料庫複本中的資料是否同步。
如果 Solstice DiskSuite 磁碟組的配置正好是兩個磁碟串聯和兩個叢集節點,那麼就需要仲裁者。磁碟串聯是由磁碟機殼、其實體磁碟、外殼與節點的電纜以及介面配接卡所組成。使用仲裁者,可在雙串聯配置中單一串聯故障時,使 Sun Cluster 軟體確定保有最新的資料。下列規則適用於使用仲裁者的雙串聯配置。
磁碟組必須正好配置兩個仲裁者主機,而且這兩個仲裁者主機必須是用於磁碟組的相同的兩個叢集節點。
磁碟組不能有超過兩個的仲裁者主機。
對於不是兩個串聯和兩個主機的磁碟組,不能配置仲裁者。
在此,整個叢集並不一定要剛好是兩個節點。但有兩個磁碟串聯的磁碟組,必須正好連接至兩個節點。在此規則下,允許 N+1 叢集和許多其他拓樸架構。
如果您的配置需要仲裁者,請執行此程序。
成為目前主控新增仲裁者主機之磁碟組節點的超級使用者。
執行 metaset(1M) 指令來新增每一個節點與磁碟組的連接,以成為該磁碟組的仲裁者主機。
# metaset -s setname -a -m mediator-host-list |
指定磁碟組名稱
新增至磁碟組
指定要新增成為磁碟組仲裁者主機的節點名稱
請參閱 mediator(7) 線上援助頁,以取得有關 metaset 指令的仲裁者特定選項的詳細資訊。
檢查仲裁者資料的狀態。
請至 "如何檢查仲裁者資料的狀態"。
下列範例新增節點 phys-schost1 與 phys-schost-2 作為磁碟組 dg-schost-1 的仲裁者主機。兩個指令都是在節點 phys-schost-1 上執行。
# metaset -s dg-schost-1 -a -m phys-schost-1 # metaset -s dg-schost-1 -a -m phys-schost-2 |
依照 "如何新增仲裁者主機" 中描述的方式新增仲裁者主機。
執行 medstat 指令。
# medstat -s setname |
指定磁碟組名稱
請參閱 medstat(1M) 線上援助頁,以取得詳細資訊。
狀態欄中的值是不是 Bad?
如果是的話,請跳到 "如何修復錯誤的仲裁者資料" 修復受影響的仲裁者主機。
如果不是,請跳到 "如何新增叢集檔案系統" 建立叢集檔案系統。
執行此程序來修復錯誤的仲裁者資料。
依照 "如何檢查仲裁者資料的狀態" 中描述的程序,找出含有錯誤仲裁者資料的仲裁者主機。
成為擁有受影響磁碟群組之節點的超級使用者。
將所有受影響磁碟組中含有錯誤仲裁者資料的仲裁者主機全部移除。
# metaset -s setname -d -m mediator-host-list |
指定磁碟組名稱
從磁碟組刪除
指定要移除為磁碟組仲裁者主機的節點名稱
回復仲裁者主機。
# metaset -s setname -a -m mediator-host-list |
新增至磁碟組
指定要新增成為磁碟組仲裁者主機的節點名稱
請參閱 mediator(7) 線上援助頁,以取得有關 metaset 指令的仲裁者特定選項的詳細資訊。
建立叢集檔案系統
請至 "如何新增叢集檔案系統"。
在使用 Solstice DiskSuite 軟體時,下列範例可輔助說明每個磁碟組中要放置的磁碟數目的程序。此範例中,總共使用三個儲存裝置,現有的應用程式透過 NFS (兩個檔案系統各自均有 5 GB) 與兩個 Oracle 資料庫 (一個 5 GB,另一個 10 GB) 來執行。
下表顯示用來決定配置範例中需要的磁碟機數目的計算方式。如果您有三個儲存裝置,則需要 28 個磁碟機,並盡量平分給三個儲存裝置。請注意,5 GB 的檔案系統會額外需要的 1 GB 的磁碟空間,因為需要的磁碟數會採用四捨五入。
表 A-2 決定配置所需的磁碟機
使用 |
資料 |
需要的磁碟儲存 |
需要的磁碟機 |
---|---|---|---|
nfs1 |
5 GB |
3x2.1 GB 磁碟 * 2 (鏡像) |
6 |
nfs2 |
5 GB |
3x2.1 GB 磁碟 * 2 (鏡像) |
6 |
oracle1 |
5 GB |
3x2.1 GB 磁碟 * 2 (鏡像) |
6 |
oracle2 |
10 GB |
5x2.1 GB 磁碟 * 2 (鏡像) |
10 |
下表顯示兩個磁碟組和四個資料服務之間的磁碟機配置。
表 A-3 磁碟組的分割
磁碟組 |
資料服務 |
磁碟 |
儲存裝置 1 |
儲存裝置 2 |
儲存裝置 3 |
---|---|---|---|---|---|
dg-schost-1 |
nfs1/oracle1 |
12 |
4 |
4 |
4 |
dg-schost-2 |
nfs2/oracle2 |
16 |
5 |
6 |
5 |
初始時,會將每一個儲存裝置上的四個磁碟 (總共 12 個磁碟) 指定給 dg-schost-1,並將每一個儲存裝置 (總共 16 個) 上的五或六個磁碟指定給 dg-schost-2。
沒有指定任何緊急備用磁碟給任何磁碟組。每個磁碟組的每個儲存裝置至少有一個緊急備用磁碟,可以讓一個磁碟機具備緊急備用功能 (回復完整的雙向鏡像)。