回到網頁內容 臺灣-繁體中文
HP.com 首頁 產品資訊 支�#169;及驅動程式 解決方案 如何購買
» 聯絡 HP
進階選項
HP.com 首頁
使用ServiceGuard Extensionfor Real Application Cluster (RAC) > 第 2 章. Real Application Cluster的ServiceGuard配置

以LVM建立儲存設備基本架構

» 

技術文件

PDF 格式的完整書籍
» 回饋意見
內容©韟像B開©l

 » 目錄

 » 索引

除了配置叢集外,您必須建立合適的邏輯容體基本架構,以便從不同的節點存取資料。使用邏輯容體管理員(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容體群組

本節所述的程序使用實體容體群組鏡射獨立的磁碟,以確保每個邏輯容體均鏡射到不同I/O匯流排上的磁碟。這種安排稱為PVG-strict鏡射。假設您的磁碟硬體已配置將作為鏡射副本的磁碟連接到不同匯流排上的每個節點,而不是連接到用於其他(主要)副本的匯流排。

若需使用LVM的相關資訊,請參閱HP-UX《《Managing Systems and Workgroups》》手冊。

建立容體群組和邏輯容體

若尚未設定容體群組,請利用下節中的程序。

選取容體群組的磁碟

取得兩個節點的磁碟清單,並且辨識同一部磁碟在兩個節點上所使用的裝置檔。在各個節點上使用下列命令,列出各系統可使用的磁碟:

lssf /dev/dsk/*  

下列範例中,我們將使用/dev/rdsk/c1t2d0/dev/rdsk/c0t2d0,在ftsys9ftsys10上,這兩個裝置名稱剛好代表相同的磁碟。若不同的節點使用不同的裝置檔名稱代表相同的磁碟時,必須特別小心裝置在不同節點之間的對應關係。

建立實體容體

在配置節點上(ftsys9),使用pvcreate命令定義作為實體容體的磁碟。您僅需在配置節點上進行這項作業。請使用下列命令為範本配置建立兩個實體容體:

pvcreate -f /dev/rdsk/c1t2d0 
pvcreate -f /dev/rdsk/c0t2d0 
以PVG-Strict鏡射建立容體群組

依照下列步驟在配置節點(ftsys9)上建立容體群組。之後,於其他節點上建立相同的容體群組。

  1. 首先,為vgdatabase設定群組目錄:

    mkdir /dev/vgdatabase 
  2. 接著,在/dev/vgdatabase目錄中建立名為group的控制檔,如下所示:

    mknod /dev/vgdatabase/group c 64 0xhh0000 

    主要編號一定是64,而次要編號為十六進位的格式,如下所示:

    0xhh0000

    在您所建立的容體群組中,hh必須是獨一無二的。配置好容體群組之後,可使用系統中可使用的下一個十六進位編號。請使用下列命令顯示現有容體群組的清單:

    ls -l /dev/*/group 
  3. 以下列命令建立容體群組並新增實體容體:

    vgcreate -g bus0 /dev/vgdatabase /dev/dsk/c1t2d0 
    vgextend -g bus1 /dev/vgdatabase /dev/dsk/c0t2d0  

    第一個命令會建立容體群組,並在實體容體群組上增加一個實體容體,稱為bus0。第二個命令會將第二個磁碟機加入容體群組,並放在一個名為bus1的不同實體容體群組上。實體容體群組允許使用磁碟的PVG-strict鏡射和PV連結。

  4. 請對其他容體群組重複上述步驟。

以LVM命令為RAC建立鏡射的邏輯容體

建立容體群組並定義在其中使用的實體容體後,您可以為資料、日誌及控制檔案定義鏡射的邏輯容體。建議您使用shell命令集下達以下數節將說明的命令。建立邏輯容體的命令,需視為RAC redo日誌檔建立邏輯容體,或為使用Oracle資料建立邏輯容體而有些微差異。

為RAC Redo日誌及控制檔建立鏡射的邏輯容體

您可選取鏡射一致回復,建立邏輯容體供redo日誌及控制檔使用。請與下列範例使用相同的選項:

lvcreate -m 1 -M n -c y -s g -n redo1.log -L 4 /dev/vg_ops

-m 1選項指定單一的鏡射;-M n選項可確保鏡射寫入快取回復設為關閉;-c y表示鏡射一致回復為啟用狀態;-s g表示鏡射為PVG-strict,即發生在不同的實體容體群組間;-n redo1.log選項讓您可指定邏輯容體的名稱,而-L 4選項則配置4MB。

附註: redo日誌及控制檔均需使用-M n-c y選項。這些選項可讓redo日誌檔在系統發生問題後,於Oracle回復開始進行前由SLVM進行再同步。若未正確設定這些選項,則可能無法繼續進行資料庫回復。

若命令成功,系統將會顯示如下的訊息:

Logical volume “/dev/vg_ops/redo1.log” has been successfully created
with character device “/dev/vg_ops/rredo1.log”
Logical volume “/dev/vg_ops/redo1.log” has been successfully extended

請注意,字元裝置檔案名稱(亦稱為原始邏輯容體名稱)是Oracle DBA在建立RAC資料庫時所使用的。

為RAC資料檔建立鏡射的邏輯容體

lvcreate -m 1 -M n -c n -s g -n system.dbf -L 28 /dev/vg_ops

redo日誌或控制檔外的資料檔,請同時停用鏡射寫入快取及鏡射一致回復,選擇「none」的鏡射一致策略。請利用與下例相同的選項,建立邏輯容體以做為Oracle資料檔使用:

-m 1選項指定單一的鏡射;-M n選項可確保鏡射寫入快取回復設為關閉;-c n表示鏡射一致回復為停用狀態;-s g表示鏡射為PVG-strict,即發生在不同的實體容體群組間;-n system.dbf 選項讓您可指定邏輯容體的名稱,而-L 28選項則配置28MB。

若命令成功,系統將會顯示如下的訊息:

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

使用下列程序為此邏輯磁碟配置容體群組:

  1. 首先,為vg_ops設定群組目錄:

    mkdir /dev/vg_ops 
  2. 接著,在/dev/vg_ops目錄中建立名為group的控制檔,如下所示:

    mknod /dev/vg_ops/group c 64 0xhh0000 

    主要編號一定是64,而次要編號為十六進位的格式,如下所示:

    0xhh0000

    在您所建立的容體群組中,hh必須是獨一無二的。配置好容體群組之後,可使用系統中可使用的下一個十六進位編號。請使用下列命令顯示現有容體群組的清單:

    ls -l /dev/*/group 
  3. 在其中一個LUN相關的裝置檔上使用pvcreate命令,將LUN到LVM定義為實體容體。

    pvcreate -f /dev/rdsk/c0t15d0 

    僅需對其中一個LUN裝置檔名稱進行這項設定。只有在實體容體先前已經被其他容體群組使用時,才需要使用-f選項。

  4. 使用下列命令建立具備兩個連結的容體群組:

    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

32

/dev/vg_ops/ropsctl1.ctl

100

opsctl2.ctl

32/dev/vg_ops/ropsctl2.ctl

100

opsctl3.ctl

32

/dev/vg_ops/ropsctl3.ctl

100

system.dbf

80

/dev/vg_ops/rsystem.dbf400

ops1log1.log

10

/dev/vg_ops/rops1log1.log20
ops1log2.log

10

/dev/vg_ops/rops1log2.log

20

ops1log3.log

10

/dev/vg_ops/rops1log3.log20
system.dbf

15

/dev/vg_ops/rsystem1.dbf

400

temp.dbf

4

/dev/vg_ops/rtemp.dbf

100

users.dbf

4

/dev/vg_ops/rusers.dbf120
tools.dbf

25

/dev/vg_ops/rtools.dbf

15

opsdata1.dbf

15

/dev/vg_ops/ropsdata1.dbf

200

opsdata2.dbf

15

/dev/vg_ops/ropsdata2.dbf

200

opsdata3.dbf

15

/dev/vg_ops/ropsdata3.dbf

200

ops2log1

/dev/vg_ops/rops2log1.log

20

ops2log2

/dev/vg_ops/rops2log2.log

20

ops2log3

/dev/vg_ops/rops2log3.log

20

ops3log1 /dev/vg_ops/rops2log1.log20
ops3log2 /dev/vg_ops/rops2log2.log20
ops3log3 /dev/vg_ops/rops2log3.log

20

opsdata1

/dev/vg_ops/ropsdata1.dbf200
opsdata2

/dev/vg_ops/ropsdata2.dbf

200

opsdata3

/dev/vg_ops/ropsdata3.dbf200

 

*由於除了檔案實際存放資料的儲存空間外,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容體群組之前,必須先將其配置資料匯出至叢集中的其他節點。您可使用SAM或HP-UX命令完成這項作業,步驟如以下章節所述。

附註: 使用HP高可用性磁碟陣列的容體群組,不能指定為叢集鎖定容體群組。您必須使用其他內含獨立磁碟的容體群組作為叢集鎖定。

使用SAM匯出

在SAM中選擇Disks and File Systems,再選擇Volume Groups。開啟Actions功能表並選擇Distribute。依照對話方塊中的提示,選擇欲散佈到其他節點的容體群組。輸入接收容體群組的每一個節點名稱,然後選取Add。完成清單時,請按OK,SAM會自動配置容體群組供其他節點使用。

附註: 散佈容體群組時,SAM不會匯入其他節點上的PV連結。因此,欲完成散佈作業,您可以在所有節點上使用vgextend命令,將替代PV連結新增至您散佈的容體群組。使用vgdisplay命令在所有節點上驗證PV連結的群組是否正確。

使用LVM命令匯出

使用下列命令在其他叢集節點上設置相同的容體群組。在這個範例中,這些命令會在ftsys10系統上設置一個新的容體群組。此容體群組含有由配置節點ftsys9所建立的同一個實體容體。

若要在ftsys10 (及其他節點)上設置容體群組,請使用下列步驟:

  1. ftsys9上,將容體群組映射複製到指定的檔案。

    vgexport -s -p -m /tmp/vg_ops.map  /dev/vg_ops 
  2. 同樣在ftsys9上,將映射檔複製到ftsys10 (視需要複製到其他節點)。

    rcp /tmp/vg_ops.map ftsys10:/tmp/vg_ops.map 
  3. ftsys10上(視需要亦在其他節點上進行)建立容體群組目錄,以及名稱為group的控制檔:

    mkdir /dev/vg_ops 
    mknod /dev/vg_ops/group c 64 0xhh0000 

    group檔的主要編號一定是64,而次要編號為十六進位的格式,如下所示:

    0xhh0000

    在您所建立的容體群組中,hh必須是獨一無二的。可能的話,請使用ftsys9上的相同編號。請使用下列命令顯示現有容體群組的清單:

    ls -l /dev/*/group 
  4. 使用節點ftsys9的映射檔匯入容體群組資料。在節點ftsys10上(視需要亦在其他節點上進行)輸入:

    vgimport -s -m /tmp/vg_ops.map /dev/vg_ops \
      /dev/dsk/c3t12d0 /dev/dsk/c4t3d0

    小心: 匯入使用A3231A (機型10)與A3232A (機型20)磁碟陣列的PV連結容體群組時,必須特別注意。在這些陣列中,每一個磁碟裝置檔名稱均代表一個透過不同控制器連接磁碟的連結,而所有主要連結必須使用相同的控制器。即使不同的節點可能會出現不同的裝置檔名稱,但在vgimport命令中指定PV連結時,所有節點仍需維持在配置節點上建立容體群組時相同的控制器次序,未按照相同的順序設定PV連結,會導致系統執行效能不佳。
可列印版本
隱私權聲明 使用範圍與著作權聲明
© 2003 Hewlett-Packard Development Company, L.P.