本節提供了以下安裝與配置 Solstice DiskSuite 或 Solaris 容體管理程式軟體的資訊和程序﹕
以下範例有助於解釋用於確定要放置在每個磁碟組中的磁碟機數目之程序。在此範例中,使用了三個儲存裝置。現有應用程式透過 NFS (兩個檔案系統,每個為 5 GB) 與兩個 ORACLE 資料庫 (一個為 5 GB,另一個為 10 GB) 來執行。
下表說明用於確定配置範例中所需磁碟機數目的計算方式。在具有三個儲存裝置的配置中,您需要 28 個磁碟機,這些磁碟機將僅可能平均分配在三個儲存裝置之間。請注意,由於所需磁碟機數目進行捨入,因此為 5 GB 的檔案系統提供了額外 1 GB 的磁碟空間。
表 3–2 確定配置所需磁碟機數目
使用 |
資料 |
需要的磁碟儲存體 |
需要的磁碟機數 |
---|---|---|---|
nfs1 |
5 GB |
3x2.1 GB 磁碟 * 2 (鏡像) |
6 |
nfs2 |
5 GB |
3x2.1 GB 磁碟 * 2 (鏡像) |
6 |
SPARC:oracle1 |
5 GB |
3x2.1 GB 磁碟 * 2 (鏡像) |
6 |
SPARC:oracle2 |
10 GB |
5x2.1 GB 磁碟 * 2 (鏡像) |
10 |
下表說明兩個磁碟組和四種資料服務之間的磁碟機分配。
表 3–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。
沒有為任一磁碟組指定緊急備用磁碟。每個磁碟組的每個儲存裝置至少有一個緊急備用磁碟,才會使一個磁碟機具備緊急備用功能,從而復原完整的雙向鏡像。
在以下條件下,請勿執行此程序:
您已使用 SunPlex Installer 安裝 Solstice DiskSuite 軟體。
如果您計劃建立其他磁碟組,請移至如何設定元式裝置名稱或容體名稱與磁碟組的數目。
如果您計劃不建立其他磁碟組,請移至鏡像根磁碟。
您已安裝 Solaris 9 軟體。
Solaris 容體管理程式軟體自動隨 Solaris 9 軟體一起安裝。請改跳到如何設定元式裝置名稱或容體名稱與磁碟組的數目。
在叢集的每一個節點上執行此作業。
儲存磁碟機的對映。
下列完成的配置規劃工作表。請參閱 規劃容體管理,以取得規劃準則。
成為叢集節點的超級使用者。
如果您要從 CD-ROM 進行安裝,請將 Solaris 8 Software 2 片 CD-ROM 的第 2 片插入節點上的 CD-ROM 光碟機。
此步驟是假設「容體管理」常駐程式 vold(1M) 為執行狀態,且配置為可管理 CD-ROM 裝置。
依照下列範例中顯示的次序安裝 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 軟體修補程式,那麼在安裝 Solstice DiskSuite 軟體之後請不要重新開機。
所有 Solstice DiskSuite 安裝均需要 SUNWmdr 和 SUNWmdu 套件。64 位元的 Solstice DiskSuite 安裝同樣需要 SUNWmdx 套件。
請參閱 Solstice DiskSuite 安裝說明文件以取得關於選用軟體套件的資訊。
如果您是從 CD-ROM 安裝,請退出 CD-ROM。
安裝任何 Solstice DiskSuite 修補程式。
請參閱Sun Cluster 3.1 版次注意事項中的「修補程式與必需的韌體層次」,以找出修補程式和安裝指示的位置。
從叢集的某個節點上,手動總裝 Solstice DiskSuite 的整體裝置名稱空間。
# scgdevs |
Could not open /dev/rdsk/c0t6d0s2 to verify device id, Device busy |
如果列出的裝置為一個 CD-ROM 裝置,則可以安全地忽略此訊息。
設定此叢集所需元式裝置名稱與磁碟組數目。
如果您已使用 SunPlex Installer 安裝了 Solstice DiskSuite 軟體,請勿執行此程序。請改跳到鏡像根磁碟。
此程序說明如何確定配置所需 Solstice DiskSuite 元式裝置或 Solaris 容體管理程式容體名稱與磁碟組的數目。此程序同時描述如何修改 /kernel/drv/md.conf 檔案,以指定這些數字。
每個磁碟組的元式裝置或容體名稱的預設數目是 128,但許多配置需要的數目比預設數目大。實做某項配置之前,請將此數目調高,以節省未來花在管理上的時間。
同時,讓 nmd 欄位和 md_nsets 欄位的值越低越好。記憶體結構會針對如 nmd 和 md_nsets 所決定的所有可能裝置而存在,即使您尚未建立那些裝置。為了取得最佳效能,只讓 nmd 和 md_nsets 的值稍微比您計劃使用的元式裝置或容體數量高。
使磁碟裝置群組配置工作表可用。
確定預期叢集中所需磁碟組總數,然後再增加一個磁碟組以用於私有磁碟管理。
叢集最多可以具有 32 個磁碟組,其中 31 個磁碟組用於一般用途,另一個磁碟組則用於私有磁碟管理。預設磁碟組數目為 4。您可在步驟 4 中的 md_nsets 欄位中提供此值。
確定預期叢集中任一磁碟組所需的最大元式裝置或容體名稱數目。
每個磁碟組最多可以具有 8192 個元式裝置或容體名稱。您將在步驟 4 中為 nmd 欄位提供這個值。
確定預期每個磁碟組所需的元式裝置或容體名稱數量。
如果您使用本機元式裝置或容體,請確保叢集中的每個本機元式裝置或容體名稱均是唯一的,而且不使用與叢集中任何裝置 ID 相同的名稱。
請挑選一個範圍內的數字專門給裝置 ID 名稱使用,另外挑選一個數字範圍專門給每個節點的本機元式裝置或容體名稱使用。例如,裝置 ID 名稱可以使用 d1 至 d100 範圍之間的數字。節點 1 上的本機元式裝置或容體名稱可以使用 d100 至 d199 範圍之間的數字。而節點 2 上的本機元式裝置或容體名稱則可以使用 d200 至 d299 之間的數字。
確定預期任一磁碟組中使用的最大元式裝置或容體名稱數目。
元式裝置或容體名稱數量的設定是根據元式裝置或容體名稱的值決定,而不是取決於實際的數量。例如,如果您的元式裝置或容體名稱範圍從 d950 到 d1000,則 Solstice DiskSuite 或 Solaris 容體管理程式軟體需要您將值設定為 1000 個名稱,而非 50。
在每一個節點上,以超級使用者的身份登入並編輯 /kernel/drv/md.conf 檔案。
無論每個節點對應幾個磁碟組,所有叢集節點 (或叢集對拓樸中的叢集對) 均必須具有相同的 /kernel/drv/md.conf 檔案。未遵循此準則會導致嚴重的 Solstice DiskSuite 或 Solaris 容體管理程式錯誤並可能會有資料流失。
在每個節點上執行重新配置方式的重開機。
# touch /reconfigure # shutdown -g0 -y -i6 |
執行重新配置方式的重開機之後,對 /kernel/drv/md.conf 檔所做的變更即可作業。
建立本機狀態資料庫副本。
請至 如何建立狀態資料庫副本。
如果您已使用 SunPlex Installer 安裝了 Solstice DiskSuite 軟體,請勿執行此程序。請改跳到鏡像根磁碟。
在叢集的每一個節點上執行此程序。
成為叢集節點的超級使用者。
在每個叢集節點的一個或多個本機裝置上建立狀態資料庫副本。
請使用實體名稱 (cNtXdYsZ),而非裝置 ID 名稱 (dN),來指定要使用的片段。
# metadb -af slice-1 slice-2 slice-3 |
若要提供狀態資料的保護 (執行 Solstice DiskSuite 或 Solaris 容體管理程式軟體時所需),對每一個節點至少要建立三個副本。此外,您也可以將副本放置在多個裝置上,以便在其中一個裝置發生故障時能夠提供保護。
請參閱 metadb(1M) 線上援助頁以及您的 Solstice DiskSuite 或 Solaris 容體管理程式說明文件,以取得詳細資訊。
請確認副本。
# metadb |
metadb 指令會顯示副本清單。
若要鏡像根磁碟上的檔案系統,請移至鏡像根磁碟。
否則,請移至在叢集中建立磁碟組以建立 Solstice DiskSuite 或 Solaris 容體管理程式磁碟組。
以下範例顯示了三個 Solstice DiskSuite 狀態資料庫副本。每個副本均建立在不同的裝置上。至於 Solaris 容體管理程式,副本會較大。
# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7 # metadb flags first blk block count a u 16 1034 /dev/dsk/c0t0d0s7 a u 16 1034 /dev/dsk/c0t1d0s7 a u 16 1034 /dev/dsk/c1t0d0s7 |
鏡像根磁碟可防止叢集節點本身因為系統磁碟損壞而關機。根磁碟上可存在四種檔案系統類型。每一種檔案系統類型均透過不同的方法進行鏡像。
此鏡像程序中的某些步驟可能導致類似以下的錯誤訊息,該訊息不會造成危害,可以將其忽略。
metainit: dg-schost-1: d1s0: not a metadevice |
對於本機磁碟鏡像,當您指定磁碟名稱時,不要使用 /dev/global 作為路徑。除了在叢集檔案系統外,在其他情況下指定此路徑會讓系統無法啟動。
請使用此程序鏡像根 (/) 檔案系統。
成為節點上的超級使用者。
使用 metainit(1M) 指令將根片段放置於單一片段 (單向) 串接。
指定根磁碟片段的實體磁碟名稱 (cNtXdYsZ)。
# metainit -f submirror1 1 1 root-disk-slice |
建立第二個串接。
# metainit submirror2 1 1 submirror-disk-slice |
建立只含一個子鏡像的單向鏡像。
# metainit mirror -m submirror1 |
鏡像的元式裝置或容體名稱在叢集中必須是唯一的。
執行 metaroot(1M) 指令。
這個指令編輯 /etc/vfstab 和 /etc/system 檔,讓系統可以由元式裝置或容體上的 root (/) 檔案系統啟動。
# metaroot mirror |
執行 lockfs(1M) 指令。
這個指令會將記錄中的所有異動清除,並將異動寫入至所有已裝載 UFS 檔案系統的主檔案系統。
# lockfs -fa |
從此節點中移出所有資源群組或裝置群組。
# scswitch -S -h from-node |
移動所有資源群組和裝置群組
指定要移出資源或裝置群組的節點名稱
重新啟動節點。
這個指令會重新裝載新鏡像的 root (/) 檔案系統。
# shutdown -g0 -y -i6 |
使用 metattach(1M) 指令將第二個子鏡像附加到鏡像。
# metattach mirror submirror2 |
如果用於鏡像根磁碟的磁碟已實體連線至多個節點 (多重主機),則啟用 localonly 特性。
請執行以下步驟,為用於鏡像根磁碟的磁碟,啟用原始磁碟裝置群組的 localonly 特性。如果某個節點的開機裝置連接至多個節點,您必須啟用 localonly 特性,才可避免不小心將節點與其開機裝置隔離開。
必要時,使用 scdidadm(1M) -L 指令來顯示原始磁碟裝置群組的完整裝置 ID 路徑名稱。
在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是輸出第三欄 (完整裝置 ID 路徑名稱) 的一部分。
# scdidadm -L … 1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 |
檢視原始磁碟裝置群組的節點清單。
輸出結果如下所示:
# scconf -pvv | grep dsk/d2 Device group name: dsk/d2 … (dsk/d2) Device group node list: phys-schost-1, phys-schost-3 … |
如果節點清單包含多個節點名稱,則除了已鏡像其根磁碟的節點之外,從節點清單中移除所有節點。
原始磁碟裝置群組的節點清單中僅應保留已鏡像其根磁碟的節點。
# scconf -r -D name=dsk/dN,nodelist=node |
指定原始磁碟裝置群組的叢集唯一名稱
指定要從節點清單移除的節點名稱
使用 scconf(1M) 指令來啟用 localonly 特性。
啟用 localonly 特性後,原始磁碟裝置群組將由節點清單中的節點專用。當開機裝置連接到多個節點時,這樣做可避免不小心將節點與其開機裝置隔離開。
# scconf -c -D name=rawdisk-groupname,localonly=true |
指定原始磁碟裝置群組的名稱
關於 localonly 特性的詳細資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。
如果主要開機裝置失敗了,您就可以從這個開機裝置開機。請參閱Solstice DiskSuite 4.2.1 User's Guide的「Troubleshooting the System」或Solaris Volume Manager Administration Guide的「Mirroring root (/) Special Considerations」,以取得關於替代開機裝置的詳細資訊。
# ls -l /dev/rdsk/root-disk-slice |
確定鏡像的每個元式裝置或容體名稱在叢集中均是唯一的。
(選擇性的) 若要鏡像全域名稱空間 /global/.devices/node@nodeid,請移至如何鏡像全域名稱空間。
(選擇性的) 若要鏡像無法卸載的檔案系統,請移至如何鏡像無法卸載的 Root (/) 以外的檔案系統。
(選擇性的) 若要鏡像使用者定義的檔案系統,請移至如何鏡像無法卸載的檔案系統。
移至在叢集中建立磁碟組以建立磁碟組。
下列範例顯示在節點 phys-schost-1 上建立的鏡像 d0,是由分割區 c0t0d0s0 上的子鏡像 d10 和分割區 c2t2d0s0 上的子鏡像 d20 組成。裝置 c2t2d0 是多重主機磁碟,因此已啟用 localonly 特性。
(建立鏡像) # metainit -f d10 1 1 c0t0d0s0 d11: Concat/Stripe is setup # metainit d20 1 1 c2t2d0s0 d12: Concat/Stripe is setup # metainit d0 -m d10 d10: Mirror is setup # metaroot d0 # lockfs -fa (從 phys-schost-1 中移出資源群組和裝置群組) # scswitch -S -h phys-schost-1 (重新啟動節點) # shutdown -g0 -y -i6 (附加第二子鏡像) # metattach d0 d20 d0: Submirror d20 is attached (顯示裝置群組節點清單) # scconf -pvv | grep dsk/d2 Device group name: dsk/d2 … (dsk/d2) Device group node list: phys-schost-1, phys-schost-3 … (從節點清單中移除 phys-schost-3) # scconf -r -D name=dsk/d2,nodelist=phys-schost-3 (啟用 localonly 特性) # scconf -c -D name=dsk/d2,localonly=true (記錄替代啟動路徑) # 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/。
成為叢集上某個節點的超級使用者。
將全域名稱空間片段置於單一片段 (單向) 串接。
請使用磁碟片段的實體磁碟名稱 (cNtXdYsZ)。
# metainit -f submirror1 1 1 diskslice |
建立第二個串接。
# metainit submirror2 1 1 submirror-diskslice |
建立只含一個子鏡像的單向鏡像。
# metainit mirror -m submirror1 |
鏡像的元式裝置或容體名稱在叢集中必須是唯一的。
連接第二子鏡像至鏡像。
這個連接動作會啟動子鏡像的同步作業。
# metattach mirror submirror2 |
編輯 /etc/vfstab 檔案項目 (為 /global/.devices/node@nodeid 檔案系統的項目)。
將 device to mount 和 device to 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 特性。如果某個節點的開機裝置連接至多個節點,您必須啟用 localonly 特性,才可避免不小心將節點與其開機裝置隔離開。
必要時,使用 scdidadm(1M) 指令來顯示原始磁碟裝置群組的完整裝置 ID 路徑名稱。
在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是輸出第三欄 (完整裝置 ID 路徑名稱) 的一部分。
# scdidadm -L … 1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 |
檢視原始磁碟裝置群組的節點清單。
輸出結果如下所示:
# scconf -pvv | grep dsk/d2 Device group name: dsk/d2 … (dsk/d2) Device group node list: phys-schost-1, phys-schost-3 … |
如果節點清單包含多個節點名稱,則除了已鏡像其磁碟的節點之外,從節點清單中移除所有節點。
原始磁碟裝置群組的節點清單中應僅保留已鏡像其磁碟的節點。
# scconf -r -D name=dsk/dN,nodelist=node |
指定原始磁碟裝置群組的叢集唯一名稱
指定要從節點清單移除的節點名稱
使用 scconf(1M) 指令來啟用 localonly 特性。
啟用 localonly 特性後,原始磁碟裝置群組將由節點清單中的節點專用。當開機裝置連接到多個節點時,這樣做可避免不小心將節點與其開機裝置隔離開。
# scconf -c -D name=rawdisk-groupname,localonly=true |
指定原始磁碟裝置群組的名稱
關於 localonly 特性的詳細資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。
(選擇性的) 若要鏡像無法卸載的根 (/) 之外的檔案系統,請移至如何鏡像無法卸載的 Root (/) 以外的檔案系統。
(選擇性的) 若要鏡像使用者定義的檔案系統,請移至如何鏡像無法卸載的檔案系統。
移至在叢集中建立磁碟組以建立磁碟組。
下列範例顯示建立的 d101,是由分割區 c0t0d0s3 上的子鏡像 d111 和分割區 c2t2d0s3 上的子鏡像 d121所組成。/global/.devices/node@1 的 /etc/vfstab 檔案項目會更新為使用鏡像名稱 d101。裝置 c2t2d0 是多重主機磁碟,因此已啟用 localonly 特性。
(建立鏡像) # metainit -f d111 1 1 c0t0d0s3 d111: Concat/Stripe is setup # metainit 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 (編輯 /etc/vfstab 檔案) # 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 (檢視同步狀態) # metastat d101 d101: Mirror Submirror 0: d111 State: Okay Submirror 1: d121 State: Resyncing Resync in progress: 15 % done … (識別已鏡像磁碟的原始磁碟裝置群組之裝置 ID 名稱) # scdidadm -L … 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (顯示裝置群組節點清單) # scconf -pvv | grep dsk/d2 Device group name: dsk/d2 … (dsk/d2) Device group node list: phys-schost-1, phys-schost-3 … (從節點清單中移除 phys-schost-3) # scconf -r -D name=dsk/d2,nodelist=phys-schost-3 (啟用 localonly 特性) # scconf -c -D name=dsk/d2,localonly=true |
於一般系統使用期間,使用此程序鏡像無法卸載的 root (/) 以外的檔案系統,例如 /usr、/opt 或 swap。
成為叢集上某個節點的超級使用者。
將可卸載的檔案系統所在的片段放置於單一片段 (單向) 串接。
指定磁碟片段的實體磁碟名稱 (cNtXdYsZ)。
# metainit -f submirror1 1 1 diskslice |
建立第二個串接。
# metainit submirror2 1 1 submirror-diskslice |
建立只含一個子鏡像的單向鏡像。
# metainit mirror -m submirror1 |
此鏡像的元式裝置或容體名稱在叢集中不需要具有唯一性。
在每一個節點上,編輯您鏡像的所有可卸載檔案系統的 /etc/vfstab 檔案項目。
將 device to mount 和 device to 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 from-node |
移動所有資源群組和裝置群組
指定要移出資源或裝置群組的節點名稱
重新啟動節點。
# shutdown -g0 -y -i6 |
連接第二個子鏡像至每個鏡像。
這個連接動作會啟動子鏡像的同步作業。
# metattach mirror submirror2 |
等待步驟 9 中開始的鏡像同步作業完成。
使用 metastat(1M) 指令檢視鏡像狀態並確認鏡像同步作業已經完成。
# metastat mirror |
如果用於鏡像可卸載檔案系統的磁碟已實體連線至多個節點 (多重主機),則啟用 localonly 特性。
請執行以下步驟,為用於鏡像可卸載檔案系統的磁碟,啟用原始磁碟裝置群組的 localonly 特性。如果某個節點的開機裝置連接至多個節點,您必須啟用 localonly 特性,才可避免不小心將節點與其開機裝置隔離開。
必要時,使用 scdidadm -L 指令來顯示原始磁碟裝置群組的完整裝置 ID 路徑名稱。
在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是輸出第三欄 (完整裝置 ID 路徑名稱) 的一部分。
# scdidadm -L … 1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 |
檢視原始磁碟裝置群組的節點清單。
輸出結果如下所示:
# scconf -pvv | grep dsk/d2 Device group name: dsk/d2 … (dsk/d2) Device group node list: phys-schost-1, phys-schost-3 … |
如果節點清單包含多個節點名稱,則除了已鏡像其根磁碟的節點之外,從節點清單中移除所有節點。
原始磁碟裝置群組的節點清單中應僅保留已鏡像其根磁碟的節點。
# scconf -r -D name=dsk/dN,nodelist=node |
指定原始磁碟裝置群組的叢集唯一名稱
指定要從節點清單移除的節點名稱
使用 scconf(1M) 指令來啟用 localonly 特性。
啟用 localonly 特性後,原始磁碟裝置群組將由節點清單中的節點專用。當開機裝置連接到多個節點時,這樣做可避免不小心將節點與其開機裝置隔離開。
# scconf -c -D name=rawdisk-groupname,localonly=true |
指定原始磁碟裝置群組的名稱
關於 localonly 特性的詳細資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。
(選擇性的) 若要鏡像使用者定義的檔案系統,請移至如何鏡像無法卸載的檔案系統。
移至在叢集中建立磁碟組以建立磁碟組。
下列範例顯示在節點 d1 phys‐schost‐1 建立鏡映,以便鏡映 /usr,這是位於 c0t0d0s1 上。d1 鏡像包含分割區 c0t0d0s1 上的子鏡像 d11 和分割區 c2t2d0s1 上的 d21。/usr 的 /etc/vfstab 檔案項目會更新為使用鏡像名稱 d1。裝置 c2t2d0 是多重主機磁碟,因此已啟用 localonly 特性。
(建立鏡像) # metainit -f d11 1 1 c0t0d0s1 d11: Concat/Stripe is setup # metainit d21 1 1 c2t2d0s1 d21: Concat/Stripe is setup # metainit d1 -m d11 d1: Mirror is setup (編輯 /etc/vfstab 檔案) # 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 (移動 phys-schost-1 中的資源群組和裝置群組) # scswitch -S -h phys-schost-1 (重新啟動節點) # shutdown -g0 -y -i6 (附加第二子鏡像) # metattach d1 d21 d1: Submirror d21 is attached (檢視同步狀態) # metastat d1 d1: Mirror Submirror 0: d11 State: Okay Submirror 1: d21 State: Resyncing Resync in progress: 15 % done … (識別已鏡像磁碟的原始磁碟裝置群組之裝置 ID 名稱) # scdidadm -L … 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (顯示裝置群組節點清單) # scconf -pvv | grep dsk/d2 Device group name: dsk/d2 … (dsk/d2) Device group node list: phys-schost-1, phys-schost-3 … (從節點清單中移除 phys-schost-3) # scconf -r -D name=dsk/d2,nodelist=phys-schost-3 (啟用 localonly 特性) # scconf -c -D name=dsk/d2,localonly=true |
使用此程序來鏡像無法卸載的使用者定義檔案系統。在此程序中,節點不需要重新啟動。
成為叢集上某個節點的超級使用者。
卸載要鏡像的檔案系統。
確保該檔案系統上沒有執行任何程序。
# umount /mount-point |
請參閱 umount(1M) 線上援助頁和System Administration Guide: Basic Administration中的「Mounting and Unmounting File Systems」,以取得詳細資訊。
將可卸載之使用者定義檔案系統所在的片段放置於單一片段 (單向) 串接。
指定磁碟片段的實體磁碟名稱 (cNtXdYsZ)。
# metainit -f submirror1 1 1 diskslice |
建立第二個串接。
# metainit submirror2 1 1 submirror-diskslice |
建立只含一個子鏡像的單向鏡像。
# metainit mirror -m submirror1 |
此鏡像的元式裝置或容體名稱在叢集中不需要具有唯一性。
在每一個節點上,編輯您鏡像的每一個檔案系統的 /etc/vfstab 檔案項目。
將 device to mount 和 device to 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 |
等待步驟 8 中開始的鏡像同步作業完成。
使用 metastat(1M) 指令檢視鏡像狀態。
# metastat mirror |
如果用於鏡像使用者定義之檔案系統的磁碟已實體連線至多個節點 (多重主機),則啟用 localonly 特性。
請執行以下步驟,為用於鏡像使用者定義之檔案系統的磁碟,啟用原始磁碟裝置群組的 localonly 特性。如果某個節點的開機裝置連接至多個節點,您必須啟用 localonly 特性,才可避免不小心將節點與其開機裝置隔離開。
必要時,請使用 scdidadm -L 指令來顯示原始磁碟裝置群組的完整裝置 ID 路徑名稱。
在下列範例中,原始磁碟裝置群組名稱 dsk/d4 是輸出第三欄 (完整裝置 ID 路徑名稱) 的一部分。
# scdidadm -L … 1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 |
檢視原始磁碟裝置群組的節點清單。
輸出結果如下所示:
# scconf -pvv | grep dsk/d2 Device group name: dsk/d2 … (dsk/d2) Device group node list: phys-schost-1, phys-schost-3 … |
如果節點清單包含多個節點名稱,則除了已鏡像其根磁碟的節點之外,從節點清單中移除所有節點。
原始磁碟裝置群組的節點清單中僅應保留已鏡像其根磁碟的節點。
# scconf -r -D name=dsk/dN,nodelist=node |
指定原始磁碟裝置群組的叢集唯一名稱
指定要從節點清單移除的節點名稱
使用 scconf(1M) 指令來啟用 localonly 特性。
啟用 localonly 特性後,原始磁碟裝置群組將由節點清單中的節點專用。當開機裝置連接到多個節點時,這樣做可避免不小心將節點與其開機裝置隔離開。
# scconf -c -D name=rawdisk-groupname,localonly=true |
指定原始磁碟裝置群組的名稱
關於 localonly 特性的詳細資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。
裝載鏡像的檔案系統。
# mount /mount-point |
請參閱 mount(1M) 線上援助頁和System Administration Guide: Basic Administration中的「Mounting and Unmounting File Systems」,以取得詳細資訊。
建立磁碟組。
移至在叢集中建立磁碟組。
下列範例顯示 d4 的建立,以鏡像 /export,這是位於 c0t0d0s4。d4 鏡像是由分割區 c0t0d0s4 上的子鏡像 d14 和分割區 c2t2d0s4 上的子鏡像 d24 所組成。/export 的 /etc/vfstab 檔案項目會更新為使用鏡像名稱 d4。裝置 c2t2d0 是多重主機磁碟,因此已啟用 localonly 特性。
(卸載檔案系統) # umount /export (建立鏡像) # metainit -f d14 1 1 c0t0d0s4 d14: Concat/Stripe is setup # metainit d24 1 1 c2t2d0s4 d24: Concat/Stripe is setup # metainit d4 -m d14 d4: Mirror is setup (編輯 /etc/vfstab 檔案) # 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 /export ufs 2 no global (附加第二子鏡像) # metattach d4 d24 d4: Submirror d24 is attached (檢視同步狀態) # metastat d4 d4: Mirror Submirror 0: d14 State: Okay Submirror 1: d24 State: Resyncing Resync in progress: 15 % done … (識別已鏡像磁碟的原始磁碟裝置群組之裝置 ID 名稱) # scdidadm -L … 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (顯示裝置群組節點清單) # scconf -pvv | grep dsk/d2 Device group name: dsk/d2 … (dsk/d2) Device group node list: phys-schost-1, phys-schost-3 … (從節點清單中移除 phys-schost-3) # scconf -r -D name=dsk/d2,nodelist=phys-schost-3 (啟用 localonly 特性) # scconf -c -D name=dsk/d2,localonly=true (掛載檔案系統) # mount /export |