在 Oracle Enterprise Linux 和 iSCSI 上構建您自己的 Oracle RAC 叢集(1)
在 Oracle Enterprise Linux 和 iSCSI 上構建您自己的 Oracle RAC 叢集(1)
(2007-10-16 15:37:29)
轉載
var $tag=''; var $tag_code='9a278380bc05bb85a0b45c884ae14459'; var $r_quote_bligid='4cbd76e501000b30'; var $worldcup='0'; var $worldcupball='0'; | 分類: oracle_rac |
目錄
|
1. 簡介
熟悉 Oracle 真正應用叢集 (RAC) 10g 技術的最有效方法之一是訪問一個實際的 Oracle RAC 10g 叢集。沒有什麼方法比直接體驗它們能夠更好地理解其優勢了,包括容錯、安全性、負載均衡和可伸縮性。
遺憾的是,對於很多商家而言,典型的生產級 RAC 配置所需的硬體投入使它們無法實現這一目標。一個小型的兩節點叢集可能需要 10,000 美元到 20,000 美元以上。該價格還不包括生產級 RAC 環境的核心(通常是一個儲存區域網),其起價為 10,000 美元。
對於那些沒有大筆現金但希望熟悉 Oracle RAC 10g 的人而言,本指南提供了一種配置 Oracle RAC 10g 第 2 版系統的低成本替代方法,它使用現成的商用元件和可下載的軟體,估計成本在 2,200 美元到 2,600 美元之間。該系統包括一個雙節點叢集(每個節點配置一個處理器),這兩個節點均執行 Oracle Enterprise Linux(Release 4 Update 5)、Oracle10g 第 2 版、OCFS2 和 ASMLib 2.0。Oracle RAC 的所有共享磁碟儲存將基於使用網路儲存伺服器(即 Openfiler 2.2 版)的 。
本文應與 Red Hat Enterprise Linux 一同使用。 如果 Red Hat Enterprise Linux 不穩定,Oracle 的 Enterprise Linux (免費提供)可以實現這一目標,它包括 OCFS2 和 ASMLib 軟體包(不包括 ASMLib 使用者空間庫,它需要單獨下載)。
由 驅動的 是一個基於瀏覽器的免費網路儲存管理實用程式,在單一框架中提供基於檔案的網路連線儲存 (NAS) 和基於塊的儲存區域網 (SAN)。Openfiler 支援 CIFS、NFS、HTTP/DAV 和 FTP,但是,我們僅使用它的 iSCSI 功能為 Oracle10g RAC 需要的共享儲存元件實現低成本的 SAN。我們透過它的 USB 2.0 介面將一個 500GB 的外接硬碟驅動器連線到網路儲存伺服器(在本文中,有時稱為 Openfiler 伺服器)。Openfiler 伺服器將配置為使用該磁碟進行基於 iSCSI 的儲存,並且將在 Oracle10g RAC 配置中用於儲存 Oracle 叢集件所需的共享檔案以及所有 Oracle ASM 卷。
注意:本文僅供教學使用,因此設定很簡單,僅用於演示想法和概念。例如,僅在一個物理磁碟上設定了磁碟映象,而實際上,至少應該在兩個物理驅動器上設定磁碟映象。
這不是構建低成本 Oracle RAC 10g 系統的唯一方法。我曾使用過其他基於 SCIS 部署共享儲存部件的解決方案。在某些情況下,SCSI 的成本會高於本文所描述的實現的成本,低成本 SCSI 配置將包括:
SCSI 控制器:兩個 SCSI 控制器,單價從 20 美元 (Adaptec AHA-2940UW) 到 220 美元 (Adaptec 39320A-R)
內含 SCSI:70 美元 - (包含 1 個 Bay 3.5英寸 U320 SCSI 驅動器盒)
SCSI 硬碟驅動器:140 美元 - (36GB 15K 68p U320 SCSI 硬碟驅動器)
SCSI 電纜:兩根 SCSI 電纜,每根 20 美元(3英尺外接 HD68 到 HD68 U320 線纜)
注意,某些主機板可能已包含內建的 SCSI 控制器。
以前的 Oracle9i 和 Oracle 10g 第 1 版指南使用原始分割槽在共享的儲存裝置上儲存檔案,但此處我們將利用 Oracle 叢集檔案系統第 2 版 (OCFS2) 和 Oracle 自動儲存管理 (ASM) 特性。兩個 Oracle RAC 節點配置如下:
Oracle 資料庫檔案 | ||||
RAC 節點名 | 例項名 | 資料庫名 | $ORACLE_BASE | 用於儲存 DB 檔案的檔案系統/卷管理器 |
linux1 | orcl1 | orcl | /u01/app/oracle | ASM |
linux2 | orcl2 | orcl | /u01/app/oracle | ASM |
Oracle 叢集件共享檔案 | ||||
檔案型別 | 檔名 | iSCSI 卷名 | 掛載點 | 檔案系統 |
Oracle Cluster Registry | /u02/oradata/orcl/OCRFile | crs | /u02/oradata/orcl | OCFS2 |
CRS 表決磁碟 | /u02/oradata/orcl/CSSFile | crs | /u02/oradata/orcl | OCFS2 |
注意,在 Oracle 資料庫 10g 第 2 版 (10.2) 中,叢集就緒服務(即 CRS)現在稱作 Oracle 叢集件。
自 Oracle 資料庫 10g 第 2 版 (10.2) 開始,Oracle 叢集件應安裝在不針對版本的 Oracle 叢集件主目錄中。這是對最佳靈活體系結構 (OFA) 規則所作的更改。不要將 Oracle 叢集件安裝到針對版本的 Oracle 主目錄掛載點(如 /u01/app/oracle/product/10.2.0/...),因為 Oracle 叢集件的後續版本將覆蓋同一路徑中的 Oracle 叢集件安裝程式。此外,如果 Oracle 叢集件 10g 第 2 版 (10.2) 檢測到現有的 Oracle 叢集就緒服務安裝,它將覆蓋同一路徑中的現有安裝。
Oracle 叢集件軟體將安裝到構成該 RAC 叢集的兩個節點的 /u01/app/oracle/product/crs 目錄中。但是,叢集件軟體要求與叢集中的兩個節點共享它的兩個檔案:即“Oracle 叢集登錄檔 (OCR)”檔案和“表決磁碟”(Voting Disk) 檔案。這兩個檔案將安裝到使用 Oracle 叢集檔案系統第 2 版 (OCFS2) 的共享儲存裝置中。使用者可以(但 Oracle 不建議)使用裸裝置儲存這些檔案,但不能使用 ASM 儲存這兩個叢集件檔案。
Oracle 10g 第 2 版資料庫軟體將安裝到構成該 RAC 叢集的兩個節點的單獨 Oracle 主目錄中,該目錄名為 /u01/app/oracle/product/10.2.0/db_1。所有 Oracle 物理資料庫檔案(資料、聯機重做日誌、控制檔案、歸檔重做日誌)將安裝到由自動儲存管理 (ASM) 管理的共享捲上。(使用者可以將 Oracle 資料庫檔案輕鬆地儲存到 OCFS2。而使用 ASM 使本文可以更有趣!)
注意:本文僅作為絕對不可替代的文件。此處唯一的例外是供應商硬體的選擇(即:計算機、網路裝置和外接硬碟驅動器)。確保您從供應商處購買的硬體在 Red Hat Linux 4 上受支援。
如果您要尋找一個使用 FireWire 的帶 RHEL 4 的 Oracle RAC 10g 第 2 版示例,請。
如果您要尋找一個帶 RHEL 3 上的 Oracle RAC 10g 第 1 版示例,請。
要獲得以前釋出的本指南的 Oracle9i RAC 版本,。
2. Oracle RAC 10g 概述
隨 Oracle9i 一同推出的 Oracle RAC 是 Oracle 並行伺服器 (OPS) 的後續版本。RAC 允許多個例項同時訪問同一資料庫(儲存)。透過允許系統進行擴充套件,RAC 提供容錯、負載均衡和效能優勢。同時,由於所有節點都訪問同一資料庫,因此一個例項出現故障不會導致無法訪問資料庫。
Oracle10g RAC 的核心是共享磁碟子系統。叢集中的所有節點必須能夠訪問叢集中所有節點的所有資料、重做日誌檔案、控制檔案和引數檔案。為了使所有節點都能夠訪問資料庫,資料磁碟必須全域性可用。每個節點都擁有自己的重做日誌檔案和 UNDO 表空間,而其他節點必須能夠訪問這些檔案(和共享的控制檔案),以便在系統故障時恢復該節點。
Oracle RAC 與 OPS 之間的最大區別在於增加了快取記憶體融合。使用 OPS 時,從一個節點到另一個節點的資料請求需要首先將資料寫到磁碟,然後請求節點才能讀取該資料。而使用快取記憶體融合,資料沿著使用複雜鎖定演算法的高速互連鏈路傳遞。
不是所有的叢集解決方案都使用共享儲存。一些廠商使用一種稱為聯合叢集 的方法。使用這種方法時,資料分佈在多臺計算機中,而不是由所有計算機共享。但是,在使用 Oracle10g RAC 時,多個節點將使用一組磁碟來儲存資料。利用 Oracle10g RAC,資料檔案、重做日誌檔案、控制檔案和歸檔日誌檔案都儲存在原始磁碟裝置的共享儲存、NAS、ASM 或叢集檔案系統中。Oracle 的叢集方法利用了叢集中所有節點的集體處理能力,同時提供了故障切換安全性。
Dell、IBM 和 HP 等廠商提供了預先配置的面向生產環境的 Oracle10g RAC 解決方案。但是,本文將集中討論如何使用 Linux 伺服器和低成本的共享磁碟解決方案 iSCSI 來整合自己的 Oracle10g RAC 環境進行開發和測試。
有關 Oracle RAC 的更多背景知識,請訪問 OTN 上的 。
3. 共享儲存概述
現在,光纖通道是最流行的共享儲存解決方案之一。前面曾提到過,光纖通道是一種高速序列傳輸介面,用於在點到點 (FC-P2P)、仲裁環路 (FC-AL) 或交換式拓撲結構 (FC-SW) 中連線系統與儲存裝置。光纖通道支援的協議包括 SCSI 和 IP。光纖通道配置最多可以支援 127 個節點,每個方向上最高可以實現 2.12 GB 的吞吐量,預期可達到 4.25 GB。
但是,光纖通道的價格很昂貴。單是光纖通道交換機的起價就可能需要約 1,000 美元。這還不包括光纖通道儲存陣列和高階驅動器,一個 36GB 驅動器的價格可高達約 300 美元。典型的光纖通道安裝包括用於伺服器的光纖通道卡。基本安裝的費用為大約 10,000 美元,還不包括構成叢集的伺服器的成本。
光纖通道的一種較為便宜的替代方法是 SCSI。SCSI 技術提供了可接受的共享儲存效能。對於那些習慣了基於 GPL 的 Linux 價格的管理員和開發人員來說,即使是 SCSI(一個雙節點叢集的價格在 2,000 美元到 5,000 美元左右)也可能超出預算。
另一種流行的解決方案是基於 NAS 的 Sun NFS(網路檔案系統)。只有在您使用網路裝置或類似的裝置時,它才可以用於共享儲存。具體來說就是,您需要擁有能夠保證在 NFS 上進行直接 I/O、將 TCP 作為傳輸協議並且讀/寫塊大小為 32K 的伺服器。
本文將使用的共享儲存基於使用網路儲存伺服器(隨 Openfiler 安裝)的 iSCSI 技術。該解決方案提供了一個低成本的光纖通道替代方案,只用於測試和教學目的。考慮到方案中使用低端硬體,因此它不適用於生產環境。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9606200/viewspace-745636/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在 Oracle Enterprise Linux 和 iSCSI 上構建您自己的 Oracle RAC 叢集OracleLinux
- 在Oracle Enterprise Linux 和 iSCSI 上構建您自己的 Oracle RAC 叢集OracleLinux
- 在 Oracle Enterprise Linux 和 iSCSI 上構建您自己的 Oracle RAC 叢集(6)OracleLinux
- 在 Oracle Enterprise Linux 和 iSCSI 上構建您自己的 Oracle RAC 叢集(7)OracleLinux
- 在 Oracle Enterprise Linux 和 iSCSI 上構建您自己的 Oracle RAC 叢集(8)OracleLinux
- 在 Oracle Enterprise Linux 和 iSCSI 上構建您自己的 Oracle RAC 叢集(10)OracleLinux
- 在 Oracle Enterprise Linux 和 iSCSI 上構建您自己的 Oracle RAC 叢集(11)OracleLinux
- 在 Oracle Enterprise Linux 和 iSCSI 上構建您自己的 Oracle RAC 11g 叢集OracleLinux
- 【轉】基於iSCSI與Openfiler構建自己的Oracle RACOracle
- 基於iSCSI與Openfiler構建自己的Oracle RAC(二)Oracle
- Oracle系列:Oracle RAC叢集體系結構Oracle
- 使用 VMware 在 Oracle Enterprise Linux 上安裝 Oracle RAC 10gOracleLinux
- 使用 VMware 在 Oracle Enterprise Linux 上安裝 Oracle RAC 10g (2)OracleLinux
- 3 安裝配置oracle叢集和RACOracle
- zt: 在linux上單機模擬Oracle 10g RAC叢集(OCFS+ASM)LinuxOracle 10gASM
- Oracle叢集(RAC)時間同步(ntp和CTSS)Oracle
- 【RAC】Oracle RAC叢集環境下日誌檔案結構Oracle
- 使用Go和HCL構建您自己的DSLGo
- 如何檢視Oracle RAC叢集的叢集名稱(CLUSTER NAME)Oracle
- 【RAC】使用crsctl工具控制Oracle RAC叢集的啟停Oracle
- Oracle Linux 6.7中 Oracle 11.2.0.4 RAC叢集CRS異常處理OracleLinux
- 使用 VMware Server 在 Oracle Enterprise Linux 上安裝 Oracle RAC 10g 的失敗經驗總結ServerOracleLinux
- Oracle10g RAC -- Linux 叢集檔案系統OracleLinux
- 在oracle linux 5.6上安裝oracle 11g RACOracleLinux
- oracle RAC 診斷叢集狀態命令Oracle
- oracle 11g rac 叢集操作命令Oracle
- Oracle RAC叢集、程式、日誌簡介Oracle
- 在windows2003上安裝Oracle 10.2.0.1 RAC,使用ISCSI盤陣WindowsOracle
- Oracle RAC 10g叢集節點增加Oracle
- Oracle10g RAC叢集基本命令Oracle
- Oracle RAC(Cluster)的重構(整理)(1)Oracle
- Oracle11gR2 RAC在Linux上的安裝OracleLinux
- redis 叢集構建Redis
- oracle rac 10.2 的在 linux 上的儲存選項OracleLinux
- 向基於 Linux 的 Oracle RAC 10g 叢集新增新節點LinuxOracle
- 關於redhat上iscsi的安裝:iSCSI target HowTo on Enterprise Linux (RHEL4)RedhatLinux
- 叢集例項:配置ISCSI客戶端(LINUX)客戶端Linux
- ORACLE RAC叢集配置管理工具-SRVCTLOracle