除了配置叢集外,您必須建立合適的邏輯容體基本架構,以便從不同的節點存取資料。使用邏輯容體管理員
(Logical Volume Manager,LVM)、VERITAS 叢集容體管理員 (Cluster Volume
Manager,CVM),或 VERITAS 容體管理員 (VERITAS Volume Manager,VxVM)
即可完成此作業。LVM 與 VxVM 配置完成於叢集配置前,而 CVM 配置則完成於叢集配置之後。
本節將說明如何建立 LVM 容體群組,以使用 Oracle 資料的相關資訊。配置叢集之前,您必須建立合適的邏輯容體基本架構,以便從不同的節點存取資料。使用邏輯容體管理員即可完成此作業。程序如下:
事件監視服務「HA 磁碟監視程式」提供監視 LVM 磁碟狀況的能力。若要在您的鏡射磁碟使用此監視程式,您應在實體容體群組中配置該磁碟。若需相關資訊,請參閱《《Using
HA Monitors》》手冊。
在鏡射磁碟上建立 RAC 容體群組 |
 |
本節所述的程序使用實體容體群組 (physical volume
group) 鏡射獨立的磁碟,以確保每個邏輯容體均鏡射到不同
I/O 匯流排上的磁碟。這種安排稱為嚴格 PVG 鏡射 (PVG-strict
mirroring)。假設您的磁碟硬體已配置將作為鏡射複本的磁碟連接到不同匯流排上的每個節點,而不是連接到用於其他
(主要) 複本的匯流排。
若需使用 LVM 的相關資訊,請參閱 HP-UX《《管理系統與工作群組》》手冊。
若尚未設定容體群組,請利用下節中的程序。若已配置 LVM,請跳至「「安裝 Oracle
Real Application Cluster」」一節。
取得兩個節點的磁碟清單,並且辨識同一部磁碟在兩個節點上所使用的裝置檔。在各個節點上使用下列命令,列出各系統可使用的磁碟:
下列範例中,我們將使用 /dev/rdsk/c1t2d0 與 /dev/rdsk/c0t2d0,在 ftsys9 與 ftsys10 上,這兩個裝置名稱剛好代表相同的磁碟。若不同的節點使用不同的裝置檔名稱代表相同的磁碟時,必須特別小心裝置在不同節點之間的對應關係。
在配置節點上 (ftsys9),使用 pvcreate 命令定義作為實體容體的磁碟。您僅需在配置節點上進行這項作業。請使用下列命令為範例配置建立兩個實體容體:
# pvcreate -f /dev/rdsk/c1t2d0 # pvcreate -f /dev/rdsk/c0t2d0 |
依照下列步驟在配置節點 (ftsys9) 上建立容體群組。之後,於其他節點上建立相同的容體群組。
首先,為 vgops 設定群組目錄:
接著,在 /dev/vg_ops 目錄中建立名為 group 的控制檔,如下所示:
# mknod /dev/vg_ops/group c 64 0xhh0000 |
主要編號一定是 64,而次要編號為十六進位的格式,如下所示:
在您所建立的容體群組中,hh 必須是獨一無二的。配置好容體群組之後,可使用系統中可使用的下一個十六進位編號。請使用下列命令顯示現有容體群組的清單:
以下列命令建立容體群組並新增實體容體:
# vgcreate -g bus0 /dev/vg_ops /dev/dsk/c1t2d0 # vgextend -g bus1 /dev/vg_ops /dev/dsk/c0t2d0 |
第一個命令會建立容體群組,並在實體容體群組上增加一個實體容體,稱為 bus0。第二個命令會將第二個磁碟機加入容體群組,並放在一個名為 bus1 的不同實體容體群組上。實體容體群組允許使用磁碟的嚴格
PVG 鏡射和 PV 連結。
請對其他容體群組重複上述步驟。
以 LVM 命令為 RAC 建立鏡射的邏輯容體 |
 |
建立容體群組並定義在其中使用的實體容體後,您可以為資料、日誌及控制檔案定義鏡射的邏輯容體。建議您使用
shell 命令集下達以下數節將說明的命令。建立邏輯容體的命令,需視為
RAC redo (重新執行) 日誌檔建立邏輯容體,或為使用 Oracle 資料建立邏輯容體而有些微差異。
系統毀損後,需重新同步化鏡射的邏輯容體,稱為「resilvering」。
如果 Oracle 未執行鏡射邏輯容體之 RAC 資料檔案的「resilvering」,請選擇「NOMWC」的鏡射一致性規則
(mirror consistency policy)。停用鏡射寫入快取並啟用鏡射一致性回復即可完成此作業。採用「NOMWC」,SLVM
即可執行重新同步化。
請利用與下例相同的選項,建立邏輯容體以做為 Oracle 資料檔使用:
# lvcreate -m 1 -M n -c y -s g -n system.dbf -L 28 /dev/vg_ops |
-m 1 選項指定單一的鏡射;-M n 選項可確保鏡射寫入快取回復設為關閉;
-c y 表示鏡射一致性回復為啟用狀態;-s g 表示鏡射為嚴格 PVG 鏡射,即發生在不同的實體容體群組間;-n system.dbf 選項讓您可指定邏輯容體的名稱,而 -L 28 選項則配置 28 MB。
Oracle 若執行鏡射邏輯容體之 RAC 資料檔案的 resilvering,請選擇「NONE」的鏡射一致性規則,以停用鏡射寫入快取和鏡射一致性回復。採用「NONE」,則 SLVM 不會執行重新同步化。
 |
 |  |
 |
 | 附註: 請聯絡 Oracle 以判定您的 Oracle
RAC 版本是否允許「resilvering」,並適當地配置邏輯容體的鏡射一致性回復規則。 |
 |
 |  |
 |
請利用與下例相同的選項,建立邏輯容體以做為 Oracle 資料檔使用:
# lvcreate -m 1 -M n -c n -s g -n system.dbf -L 28 /dev/vg_ops |
-m 1 選項指定單一的鏡射;-M n 選項可確保鏡射寫入快取回復設為關閉;
-c n 表示鏡射一致性回復為停用狀態;-s g 表示鏡射為嚴格 PVG 鏡射,即發生在不同的實體容體群組間;-n system.dbf 選項讓您可指定邏輯容體的名稱,而 -L 28 選項則配置 28 MB。
若命令成功,系統將會顯示如下的訊息:
Logical volume “/dev/vg_ops/system.dbf” has been successfully created with character device “/dev/vg_ops/rsystem.dbf” Logical volume “/dev/vg_ops/system.dbf” has been successfully extended |
請注意,字元裝置檔案名稱 (亦稱為原始邏輯容體名稱)
是 Oracle DBA 在建立 OPS 資料庫時所使用的。
在磁碟陣列上建立 RAC 容體群組 |
 |
本節說明的步驟假設您採用 RAID 保護的磁碟陣列,以及 LVM 實體容體連結 (PV
連結),以定義叢集中各個節點連結到陣列上各個邏輯單元的備援資料路徑。
在您的磁碟陣列上,應利用各個節點上備援的 I/O 通道,將它們連接到陣列上各自獨立的控制器,之後就可以定義連接到您在陣列上定義的
LUN 或邏輯磁碟的替代連結。若使用 SAM,請選擇欲配置的磁碟陣列種類,並遵循功能表定義替代連結;若使用
LVM 命令,請於命令行指定連結。
以下範例將說明使用 LVM 命令配置替代連結的方法。範例中假設下列磁碟配置:
8/0.15.0 /dev/dsk/c0t15d0 /* I/O Channel 0 (8/0) SCSI address 15 LUN 0 */ 8/0.15.1 /dev/dsk/c0t15d1 /* I/O Channel 0 (8/0) SCSI address 15 LUN 1 */ 8/0.15.2 /dev/dsk/c0t15d2 /* I/O Channel 0 (8/0) SCSI address 15 LUN 2 */ 8/0.15.3 /dev/dsk/c0t15d3 /* I/O Channel 0 (8/0) SCSI address 15 LUN 3 */ 8/0.15.4 /dev/dsk/c0t15d4 /* I/O Channel 0 (8/0) SCSI address 15 LUN 4 */ 8/0.15.5 /dev/dsk/c0t15d5 /* I/O Channel 0 (8/0) SCSI address 15 LUN 5 */ 10/0.3.0 /dev/dsk/c1t3d0 /* I/O Channel 1 (10/0) SCSI address 3 LUN 0 */ 10/0.3.1 /dev/dsk/c1t3d1 /* I/O Channel 1 (10/0) SCSI address 3 LUN 1 */ 10/0.3.2 /dev/dsk/c1t3d2 /* I/O Channel 1 (10/0) SCSI address 3 LUN 2 */ 10/0.3.3 /dev/dsk/c1t3d3 /* I/O Channel 1 (10/0) SCSI address 3 LUN 3 */ 10/0.3.4 /dev/dsk/c1t3d4 /* I/O Channel 1 (10/0) SCSI address 3 LUN 4 */ 10/0.3.5 /dev/dsk/c1t3d5 /* I/O Channel 1 (10/0) SCSI address 3 LUN 5 */
|
假定磁碟陣列已經完成配置,並且當您執行 ioscan 命令時,以下兩個裝置檔均代表同一部 LUN (邏輯磁碟):
/dev/dsk/c0t15d0 /dev/dsk/c1t3d0 |
使用下列程序為此邏輯磁碟配置容體群組:
首先,為 vg_ops 設定群組目錄:
接著,在 /dev/vg_ops 目錄中建立名為 group 的控制檔,如下所示:
# mknod /dev/vg_ops/group c 64 0xhh0000 |
主要編號一定是 64,而次要編號為十六進位的格式,如下所示:
在您所建立的容體群組中,hh 必須是獨一無二的。配置好容體群組之後,可使用系統中可使用的下一個十六進位編號。請使用下列命令顯示現有容體群組的清單:
在其中一個 LUN 相關的裝置檔上使用 pvcreate 命令,將 LUN 到 LVM 定義為實體容體。
# pvcreate -f /dev/rdsk/c0t15d0 |
僅需對其中一個 LUN 裝置檔名稱進行這項設定。只有在實體容體先前已經被其他容體群組使用時,才需要使用 -f 選項。
使用下列命令建立具備兩個連結的容體群組:
# vgcreate /dev/vg_ops /dev/dsk/c0t15d0 /dev/dsk/c1t3d0 |
此時 LVM 會將 /dev/dsk/c0t15d0 代表的 I/O 通道識別為連接磁碟的主要連結;如果主要連結失效,LVM
會自動切換到 /dev/dsk/c1t3d0 所代表的替代 I/O 通道。利用 vgextend 命令為容體群組新增磁碟,為每一個 PV 連結指定適當的實體容體名稱。
重複上述完整步驟建立您需要的個別容體群組。為了簡化系統管理的工作,您可以利用不同的容體群組,分別存放資料與控制檔的日誌。
 |
 |  |
 |
 | 附註: HP-UX 預設的最大容體群組數量為 10。若要建立 10 個以上的容體群組,就必須增加 maxvgs 系統參數的設定值,再重新建立 HP-UX 核心程式。使用
SAM 並選擇 Kernel Configuration 區域,然後選擇 Configurable Parameters。清單上會顯示
Maxvgs。 |
 |
 |  |
 |
在磁碟陣列上建立 RAC 的邏輯容體 |
 |
建立容體群組並新增連接容體群組的 PV 連結後,可定義資料、日誌及控制檔案的邏輯容體。請參考下列範例:
# lvcreate -n ops1log1.log -L 4 /dev/vg_ops # lvcreate -n opsctl1.ctl -L 4 /dev/vg_ops # lvcreate -n system.dbf -L 28 /dev/vg_ops # lvcreate -n opsdata1.dbf -L 1000 /dev/vg_ops |
Oracle 示範資料庫檔 |
 |
Oracle 示範資料庫必須使用下列檔案,您可以在安裝過程中建立示範資料庫。
表 2-1 示範資料庫所需的 Oracle 檔案名稱
邏輯容體名稱 | LV 大小 (MB) | 原始邏輯容體路徑名稱 | Oracle 檔案大小 (MB)* |
|---|
| opsctl1.ctl | 108 | /dev/vg_ops/ropsctl1.ctl | 100 |
opsctl2.ctl | 108 | /dev/vg_ops/ropsctl2.ctl | 100 |
opsctl3.ctl | 108 | /dev/vg_ops/ropsctl3.ctl | 100 |
| system.dbf | 408 | /dev/vg_ops/rsystem.dbf | 400 |
ops1log1.log | 28 | /dev/vg_ops/rops1log1.log | 20 |
| ops1log2.log | 28 | /dev/vg_ops/rops1log2.log | 20 |
| ops1log3.log | 28 | /dev/vg_ops/rops1log3.log | 20 |
| system.dbf | 408 | /dev/vg_ops/rsystem1.dbf | 400 |
| temp.dbf | 108 | /dev/vg_ops/rtemp.dbf | 100 |
| users.dbf | 128 | /dev/vg_ops/rusers.dbf | 120 |
| tools.dbf | 24 | /dev/vg_ops/rtools.dbf | 15 |
| opsdata1.dbf | 208 | /dev/vg_ops/ropsdata1.dbf | 200 |
| opsdata2.dbf | 208 | /dev/vg_ops/ropsdata2.dbf | 200 |
| opsdata3.dbf | 208 | /dev/vg_ops/ropsdata3.dbf | 200 |
| ops2log1 | 28 | /dev/vg_ops/rops2log1.log | 20 |
| ops2log2 | 28 | /dev/vg_ops/rops2log2.log | 20 |
| ops2log3 | 28 | /dev/vg_ops/rops2log3.log | 20 |
| ops3log1 | 28 | /dev/vg_ops/rops2log1.log | 20 |
| ops3log2 | 28 | /dev/vg_ops/rops2log2.log | 20 |
| ops3log3 | 28 | /dev/vg_ops/rops2log3.log | 20 |
| opsdata1 | 208 | /dev/vg_ops/ropsdata1.dbf | 200 |
| opsdata2 | 208 | /dev/vg_ops/ropsdata2.dbf | 200 |
| opsdata3 | 208 | /dev/vg_ops/ropsdata3.dbf | 200 |
*由於除了檔案實際存放資料的儲存空間外,Oracle
還需要額外的空間配置給標頭檔,所以邏輯容體的容量會大於 Oracle 的檔案容量。
若您想建立示範資料庫,請先建立這些檔案。本表底部的三個邏輯容體以其他資料檔案的形式納入
(您可以視需要建立),可提供適當的大小。若您的命名慣例需要,您可以納入
Oracle SID 和 (或) 資料庫名稱,以辨識不同應用例或不同資料庫的檔案。若要使用 ORACLE_BASE 目錄結構,請建立符號連結,從正確的目錄連至 ORACLE_BASE 檔。範例:
# ln -s /dev/vg_ops/ropsctl1.ctl /u01/ORACLE/db001/ctrl01_1.ctl |
若需 Oracle 目錄的相關資訊,請參閱《Oracle Server for HP 9000 Installation and Configuration Guide》。若需最大資料檔案大小的相關資訊,請參閱
Oracle 8i 《《Reference》》(Oracle 手冊編號 A76961-01)
的第四章「Database Limits」。
產生這些檔案以後,將檔案的所有者設為 oracle,群組設為 dba,檔案模式為
660。主要節點現在可使用邏輯容體,而 Oracle DBA 現在可使用原始邏輯容體名稱。
顯示邏輯容體基本架構 |
 |
若要顯示容體群組,請使用 vgdisplay 命令:
# vgdisplay -v /dev/vg_ops |
匯出邏輯容體基本架構 |
 |
共用 Oracle 容體群組之前,必須先將其配置資料匯出至叢集中的其他節點。您可使用
Serviceguard 管理員或 HP-UX 命令完成這項作業,步驟如以下章節所述。
使用下列命令在其他叢集節點上設置相同的容體群組。在這個範例中,這些命令會在 ftsys10 系統上設置一個新的容體群組。此容體群組含有由配置節點 ftsys9 所建立的同一個實體容體。
若要在 ftsys10 (及其他節點) 上設置容體群組,請使用下列步驟:
在 ftsys9 上,將容體群組映射複製到指定的檔案。
# vgexport -s -p -m /tmp/vg_ops.map /dev/vg_ops |
同樣在 ftsys9 上,將映射檔複製到 ftsys10 (視需要複製到其他節點)。
# rcp /tmp/vg_ops.map ftsys10:/tmp/vg_ops.map |
在 ftsys10 上 (視需要亦在其他節點上進行)
建立容體群組目錄,以及名稱為 group 的控制檔:
# mkdir /dev/vg_ops # mknod /dev/vg_ops/group c 64 0xhh0000 |
group 檔的主要編號一定是 64,而次要編號為十六進位的格式,如下所示:
在您所建立的容體群組中,hh 必須是獨一無二的。可能的話,請使用 ftsys9 上的相同編號。請使用下列命令顯示現有容體群組的清單:
使用節點 ftsys9 的鏡射檔匯入容體群組資料。在節點 ftsys10 上
(視需要亦在其他節點上進行) 輸入:
# vgimport -s -m /tmp/vg_ops.map /dev/vg_ops \ /dev/dsk/c3t12d0 /dev/dsk/c4t3d0 |