使用本附錄中的程序以及 第 1章, 規劃 Sun Cluster 配置 中的資訊,來配置 Solstice DiskSuite 軟體。請參照您的 Solstice DiskSuite 文件以取得其它詳細資訊。
本附錄中有以下的程序。
下表列出配置 Sun Cluster 的 Solstice DiskSuite 軟體時所需要執行的作業。
表 A-1 工作對應:配置 Sun Cluster 配置的 Solstice DiskSuite
工作 |
參閱說明,請至 ... |
---|---|
規劃安排您 Solstice DiskSuite 的配置。 | |
計算您配置所需要的 metadevice 名稱和磁碟組的數目,以及修改 /kernel/drv/md.conf 檔案。 | |
在本機磁碟上建立 metadevice 狀態資料庫抄本。 | |
可選用的。鏡映根磁碟上的檔案系統。 | |
使用 metaset 指令建立磁碟組。 | |
在磁碟組新增磁碟機。 | |
重新分割磁碟組中的磁碟機以配置空間給片段 1 到 6。 | |
列出裝置 ID 虛擬驅動程式 對應和定義在 /etc/lvm/md.tab 檔中的 metadevice。 | |
起始設定md.tab檔案。 | |
對於雙串連配置,請配置仲裁者主機,檢查仲裁者資料的狀態,如有需要請修正錯誤的仲裁者資料。 | |
建立和裝設叢集檔案系統。 |
本程序說明如何計算您配置所需要的 metadevice 名稱數量,以及如何修改 /kernel/drv/md.conf檔案。
預設的 metadevic 數目是 128。許多配置需要的數目比預設值大。實施配置之前先加大此數值可以節省 稍後的管理作業時間。
判斷每一個磁碟組中要使用的最大 metadevice 名稱,來計算需要的 的 metadevice 數量。
這個需求是根據 metadevice 名稱的值而不是依 實際數量而決定的。例如,如果您的 metadevice 名稱範圍是從 d950到 d1000, Solstice DiskSuite則軟體需要 1000 個名稱,而不是 50 個。
每一個磁碟組的叢集,最大可以有 8192 個 metadevice 名稱。
計算叢集中預期的磁碟組總數,然後再加 1 個作為私有磁碟管理用。
叢集最多可以有 32 個磁碟組。
編輯/kernel/drv/md.conf檔案。
不管每一個節點對應幾個磁碟組,所有叢集節點(或叢集配對拓樸中的叢集配對)的 /kernel/drv/md.conf 檔必須相同。未遵循此準則會導致嚴重的 Solstice DiskSuite 錯誤和可能的資料流失。
如果計算得到的 metadevice 名稱數量超過 128,請將 nmd 的欄位設定為:磁碟組使用的最大 metadevice 名稱。
將 md_nsets 欄位設定為:在 步驟 2 中計算所得的數量。
Changes to the /kernel/drv/md.conf file become operative after a reconfiguration reboot is performed.
若要建立本機抄本,請至"如何建立 Metadevice 狀態資料庫抄本"。
在叢集的每一個節點上執行此程序。
成為叢集節點的高階使用者。
使用 metadb 指令,在一 或多個本機磁碟上,對每一個叢集節點建立抄本。
請參照 metadb(1M) 線上援助頁和 Solstice DiskSuite 文件以取得詳細資訊。
若要提供 metadevice 狀態資料的保護(執行 Solstice DiskSuite 軟體時所需),對每一個節點至少要建立三個抄本。而且,要將抄本分置於一個以上的磁碟,以便在其中一個磁碟損壞時能夠提供保護。
請確認 replicas.
# metadb |
下列範例顯示三個 metadevice 狀態資料庫抄本,每一個抄本建立於不同的磁碟上。
# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7 # metadb flags first blk block count a u 16 1034 /dev/dsk/c0t0d0s7 a u 1050 1034 /dev/dsk/c0t1d0s7 a u 2084 1034 /dev/dsk/c1t0d0s7 |
如果您要鏡映根磁碟上的檔案系統,請至 "鏡映根磁碟"。 若要建立 Solstice DiskSuite 請至 "如何建立磁碟組"。
鏡映根磁碟可防止叢集節點本身因為系統磁碟損壞而關機。根 磁碟上可以存在四種檔案系統類型。每一種檔案系統類型使用不同方法進行鏡映。
鏡映程序的某些步驟會造成類似下列的錯誤訊息,這些錯誤訊息不會有不良影響,可以忽略。
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 |
建立一個具有子鏡映的單向鏡映。
鏡映的 metadevice 名稱,在叢集中必須是唯一的。
# metainit mirror -m submirror1 |
執行 metaroot(1M) 指令。
這個令編輯 /etc/vfstab和 /etc/system檔案, 使得系統可以由 metadevice 上的根 (/) 檔案系統啟動。
# metaroot mirror |
執行 lockfs(1M) 指令。
這個指令將記錄中的所有異動,沖寫至所有已裝載 UFS 檔案系統的主檔案系統。
# lockfs -fa |
從節點撤出所有的資源群組或裝置群組。
# scswitch -S -h node |
撤出全部的資源群組和裝置群組
指定要撤出資源或裝置群組的節點名稱
重新啟動節點。
# shutdown -g 0 -y -i 6 |
使用 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 |
確定鏡映的每個 metadevice 名稱,在叢集中均是唯一的。
下列範例顯示在節點 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 -g 0 -y -i 6 (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,請至 "如何鏡映全域名稱空間"。
使用此程序可以鏡映全域名稱空間,/global/.devices/node@nodeid。
成為叢集中某個節點的高階使用者。
將全域名稱空間片段置於單片段 (單向) 接合。
# metainit -f submirror1 1 1 disk-slice |
建立第二接合。
# metainit -f submirror2 1 1 submirror-disk-slice |
建立一個具有子鏡映的單向鏡映。
鏡映的 metadevice 名稱,在叢集中 must 是唯一的。
# metainit mirror -m submirror1 |
連接鏡映及第二子鏡映。
此連接會啟動子鏡映的同步作業。
# metattach mirror submirror2 |
編輯 /global/.devices/node@nodeid 檔案系統的 /etc/vfstab 檔案登錄。
以鏡映名稱取代 device 到 mount 中的名稱和 device 到 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 |
確定鏡映的每個 metadevice 名稱,在叢集中均是唯一的。
等待鏡映的同步作業(在 步驟 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 |
指定原始磁碟裝置群組的名稱
下列範例顯示在 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 type 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,請至 "若檔案系統無法卸載時,要如何鏡映"。 若要鏡映使用者定義的檔案系統,請至 "如何鏡映使用者定義的檔案系統"。
若要建立磁碟組,請至 "如何建立磁碟組"。
使用此程序可以鏡映無法在正常系統使用期間卸載的檔案系統,如 /usr、/opt 或 swap。
成為叢集中某個節點的高階使用者。
將不可卸載的檔案系統所在的片段,放置於單片段(單向)接合。
# metainit -f submirror1 1 1 disk-slice |
建立第二接合。
# metainit -f submirror2 1 1 submirror-disk-slice |
建立一個具有子鏡映的單向鏡映。
鏡映的 metadevice 名稱在叢集中 not 需要是唯一的。
# metainit mirror -m submirror1 |
在每一個節點上,編輯您鏡映的所有無法卸載的檔案系統 /etc/vfstab 的檔案登錄。
以鏡映名稱取代 device 到 mount 中的名稱和 device 到 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 /file-system ufs 2 no global |
從節點撤出所有的資源群組或裝置群組。
# scswitch -S -h node |
撤出全部的資源群組和裝置群組
指定要撤出資源或裝置群組的節點名稱
重新啟動節點。
# shutdown -g 0 -y -i 6 |
連接鏡映及第二個子鏡映。
此連接會啟動子鏡映的同步作業。
# 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/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 |
指定原始磁碟裝置群組的名稱
下列範例顯示在節點 d1 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 mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/d1 /dev/md/rdsk/d1 /usr ufs 2 no global (Reboot the node:) # scswitch -S -h phys-schost-1 # shutdown -g 0 -y -i 6 (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 disk-slice |
建立第二接合。
# metainit -f submirror2 1 1 submirror-disk-slice |
建立一個具有子鏡映的單向鏡映。
鏡映的 metadevice 名稱在叢集中 not 需要是唯一的。
# metainit mirror -m submirror1 |
在每一個節點上,編輯您鏡映的所有使用者定義檔案系統的 /etc/vfstab 檔案登錄。
以鏡映名稱取代 device 到 mount 中的名稱和 device 到 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 /file-system 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 |
指定原始磁碟裝置群組的名稱
下列範例顯示在 c0t0d0s4 建立鏡映 d4 以鏡映 /home。鏡映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 (啟用鏡映磁碟的原始磁碟裝置群組的 localonly 屬性:) # scconf -c -D name=dsk/d2,localonly=true |
若要建立磁碟組,請至 "如何建立磁碟組"。
對叢集的每一個磁碟組執行此程序。
如果配置正好是兩個磁碟串聯,磁碟組必須連接至 兩個節點,使用兩個仲裁者主機,而且必須與磁碟組使用的兩個主機相同。請參照 "仲裁者概觀" 以取得設定仲裁者的詳細資訊。
如果配置兩個以上的磁碟串聯,請確定 任何兩個磁碟串聯 S1 和 S2 串聯的磁碟數目總和,要超過第三串聯 S3 的磁碟數。 以數學式表示則為 count(S1) + count(S2) > count(S3)。
如果 /.rhosts 檔案沒有列示叢集節點名稱,請確定 root 是群組 14 的成員。
# vi /etc/group ... sysadmin::14:root ... |
確定本機 metadevice 狀態資料庫的抄本已存在。
必要時,請參照程序 "如何建立 Metadevice 狀態資料庫抄本"。
成為叢集節點的高階使用者來主控磁碟組。
建立磁碟組。
這個指令也會將磁碟組註冊為 Sun Cluster 磁碟裝置群組。
# metaset -s setname -a -h nodename1 nodename2 |
指定磁碟組名稱
新增 (建立) 磁碟組
指定主控磁碟組的主要節點名稱
指定主控磁碟組次要節點的名稱
確認新磁碟組的狀態。
# 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 會以下方式重新分割,使得磁碟組的 metadevice 狀態資料庫可以放在磁碟機上。
每一個磁碟在片段 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 虛擬驅動程式名稱。
在磁碟組新增磁碟機時,不要使用低階裝置名稱 (cNtXdY)。 因為低階裝置名稱是本機名稱,在叢集中並非唯一,使用此名稱會使 metaset 無法切換。
# metaset -s setname -a DIDname |
在磁碟組新增磁碟機
確認新磁碟組的狀態。
# metaset -s setname |
此項 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 |
若要重新分割磁碟機在 metadevice 中使用,請至 "如何重新分割磁碟組中的磁碟機"。
metaset(1M)指令會重新分割磁碟組中 的磁碟機,讓每個磁碟機在片段 7 保留一小部份供 Solstice DiskSuite 軟體使用。每個磁碟的剩餘空間會放置在片段 0。 為了更有效率地使用磁碟,請使用此程序來修改磁碟佈局。配置片段 1 到 6 的空間,在設定 metadevice 時,即可使用這些片段。
成為叢集節點的高階使用者。
使用 format(1M) 指令來變更磁碟組中每一個磁碟的磁碟分割區。
在您重新分割磁碟時,必須符合下列條件以防止 metaset(1M) 指令重新分割磁碟。
從磁柱 0 開始,建立分割區 7 並且空間要足夠容納狀態資料庫抄本 (大約 2 MB)。
設定片段 7 中的 Flag 欄位 為 V_UNMT(不可裝載)並且不要設成唯讀。
不要讓片段 7 與磁碟其它片段重疊。
請參照 format(1M) 線上援助頁以取得詳細資訊。
若要使用 md.tab 檔來定義 metadevice,請至 "如何建立 md.tab 檔"。
在叢集的每一個節點建立 /etc/lvm/md.tab 檔。
使用 Solstice DiskSuite 軟體時,請確定本機 metadevice 的名稱與 形成磁碟組裝置的 ID (DID) 名稱不同。例如,如果磁碟組中使用 DID 名稱 /dev/did/dsk/d3, 則不要在配置本機 metadevice 時使用該名稱 /dev/md/dsk/d3。
成為叢集節點的高階使用者。
建立 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 檔案的詳細資訊。
下列 md.tab 的檔案範例,在名稱為 dg-schost-1 的磁碟組中,對 metadevice 加以定義。在 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 |
第一行定義 trans metadevice d0 包含主控者 (UFS) metadevice d1 和記錄裝置 d4。此 -t 表示這是一個 trans metadevice。主控者和記錄裝置是由 -t 旗號之後的位置所指定。
dg-schost-1/d0 -t dg-schost-1/d1 dg-schost-1/d4 |
第二行將主控者裝置定義為 metadevice 的鏡映。此定義中的 -m 表示一個鏡映裝置,以及其中一個子鏡映,d2,與鏡映裝置關聯,d1。
dg-schost-1/d1 -m dg-schost-1/d2 |
同樣地,第五行將記錄裝置,d4,定義為 metadevice 的鏡映。
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)。在此範例中,建立了每一個子鏡映簡單的 metadevice。
dg-schost-1/d5 1 1 /dev/did/rdsk/d3s5 dg-schost-1/d6 1 1 /dev/did/rdsk/d57s5 |
如果您要使用儲存在子鏡映磁碟的資料,您必須先備份資料再設定 metadevice,然後再復原至鏡映上。
若要啟動在 md.tab 檔案中定義的 metadevice,請至 "如何啟動 Metadevices"。
請確定您已符合下列需求。
對於執行指令的節點上的磁碟組,您擁有所有權。
此 md.tab 檔案位於 /etc/lvm 目錄中。
成為叢集節點的高階使用者。
取得磁碟組的所有權。
# metaset -s setname -t |
指定磁碟組名稱
取得磁碟組的所有權
啟動在 md.tab 檔中所定義磁碟組的 metadevice。
# metainit -s setname -a |
啟動 md.tab 檔案中的所有的 metadevice
為每個主控者和記錄裝置,連接第二個子鏡映 (submirror2)。
當 md.tab 檔案中的 metadevice 啟動時,只有主控者和記錄裝置的 第一子鏡映 (submirror1) 是連接的,所以 submirror2 必須手動連接。
# metattach mirror submirror2 |
必要時,請從連接磁碟的另一個節點來執行 metainit(1M) 指令。 對叢集配對拓樸而言,此步驟是必要的,但並非全部節點均可在拓樸上的磁碟存取資料。
確認新磁碟組的狀態。
# metastat -s setname |
在下列範例中,磁碟組dg-schost-1在 dg-schost-1 檔案中 中定義的所有 metadevice 會被啟動。然後,主控者裝置 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-schost-1 與 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 |
指定磁碟組名稱
如果 Status 欄位的值是 Bad,請依照 "如何修復錯誤的仲裁者資料" 程序 修復受影響的仲裁者主機。
請參閱 medstat(1M) 線上援助頁以取得其他資訊。
如果其中一個仲裁者主機的仲裁者資料錯誤,請至 "如何修復錯誤的仲裁者資料" 來修復問題。 若要建立叢集檔案系統,請至 "如何新增叢集檔案系統"。
執行此程序來修復錯誤的仲裁者資料。若要判斷仲裁者資料的狀態,請遵循程序 "如何檢查仲裁者資料的狀態"。
成為擁有受影響磁碟群組之節點上的高階使用者。
從所有受影響磁碟組中移除錯誤仲裁者資料的仲裁者主機。
# 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。
沒有為任何磁碟組指定任何緊急備件。每個磁碟組每個儲存裝置至少有一個緊急備件, 可以讓一個磁碟機具備緊急備件功能(復原完整雙向鏡映)。