12
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Oracle RAC on IBM Cloud

Last updated at Posted at 2019-05-29

IBM CloudのBMS(ベアメタルサーバ)に Oracle DBサーバーを導入し、RAC構成を構築してみた。

RAC構成によるHigh Availability構成
データ格納用の外部StorageはASM管理

▼ 必要な資源の調達

  • ベアメタル RHEL v7.4 x 2 -- Oracle RAC用
  • Endurance Storage 4IOPS/GB 100GB x 5 -- Oracle DBのASMで利用
  • Portable Private Subnet 8IP (Routed to VLAN) -- Oracle RAC用
  • 仮想サーバー CentOS v7.3 x 1 -- DNSサーバー用

▼ DB構成(ASM使用)

ベアメタル+RHEL v7.4でOracle RAC環境を構築

OS : RHEL 7.4 
DBMS : Oracle E.E. 11.2.0.4 
  ( 2ノード RAC構成 )
サーバ : racdb01.test.local と racdb02.test.local

データベース)
SID接頭辞   :  orcl
インスタンス : orcl1 と orcl2
グローバルデータベース名 : orcl.test.local 
管理者管理型

  racdb01      racdb02    (host名)
  +---------+  +---------+
  |  orcl1  |  |  orcl2  |  (インスタンス名)
  +---------+  +---------+   
       |           |
       +-----+-----+
             |
       +----------+
       |   orcl   |       (DB名)
       +----------+       (ASMを使用) 

▼ サーバーネットワーク

サーバー		NIC			host name					備考
------------	--------	-------------------------	-------------------------------
ベアメタル 1	  Private	  racdb01.test.local		  Portable IPを設定
				Private		bms01.test.local			Primary IPをAlias追加
				Public		(racdb01-priv.test.local)	HW FWでInbound遮断
														Securityを考慮して変更
														Oracle RACのInterconnectに利用
------------	--------	-------------------------	-------------------------------
ベアメタル 2	  Private	  racdb02.test.local		  Portable IPを設定	
				Private		bms02.test.local			Primary IPをAlias追加
				Public		(racdb01-priv.test.local)	HW FWでInbound遮断
														Securityを考慮して変更
														Oracle RACのInterconnectに利用
------------	--------	-------------------------	-------------------------------
Oracle VIP		Private		(racdb01-vip.test.local)	dnsには登録しない
				Private		(racdb02-vip.test.local)	dnsには登録しない
------------	--------	-------------------------	-------------------------------
Oracle RAC 		Private		cluster0-scan.test.local	dnsでroud robin応答する
 (SCAN)			Private		cluster0-scan.test.local	dnsでroud robin応答する
				Private		cluster0-scan.test.local	dnsでroud robin応答する
------------	--------	-------------------------	-------------------------------
仮想サーバー	   Private		test01.test.local		   dnsの問合せ受けのNIC
				Public		 N/A					    HW FWでInbound遮断

▼ ネットワーク構成

                   パブリックVLAN側(遮断)

                 ------+-------------+------ RACプライベートIP(インターコネクト)※1
                       |             |  
                   +---------+  +---------+
                   | racdb01 |  | racdb02 | 
                   +---------+  +---------+   
                       |             |  
                -------+-------------+------  RACパブリックIP ※2

                  ユーザ毎のプライベートVLAN側

※1 IBM Cloudは物理的に個別のSwitchを採用する事は出来ないため、VLANを利用して構築し、
アドレスはPublicNICのIPアドレスを付け替えて利用している。
IPアドレスを付け替えているので、インターネット側からの接続はされない。

※2 RACの仮想ネットワーク(VIP)で利用するIPアドレスについては、
IBM Cloudで提供されるPortable Private IPを採用し、
それらの名前解決の為には、別の仮想サーバーにDNSを作って対応している。
よって、SCAN(SCANリスナー、SCAN VIP)も利用している。

▼ ストレージ構成

                         racdb01      racdb02    (ホスト)
                       +---------+  +---------+
                       |  orcl1  |  |  orcl2  |  (インスタンス)
                       +---------+  +---------+   
 +-------------------+   |   |           |   |    +-------------------+
 |  Oracleモジュール  |---+   +-----+-----+   +----|  Oracleモジュール | 
 +-------------------+             |              +-------------------+ 
  (ローカルストレージ)         +----------+          (ローカルストレージ)  
                              |   orcl   | 
                              +----------+      
                          (クラスターデータベース)
                        (共有ストレージ:ASMを使用) 
                          → ASMによる多重化が可能

ホストは、ベアメタルを採用
共有ストレージは、ブロックストレージをオーダーしiSCSIでASMを構成。Endurance Storage(4IOPS/GB 100GB x 10)を採用。
ローカルストレージは、ベアメタルにHDDを追加して、そこにファイルシステムを作成。
共有ストレージのiSCSIネットワークは、RACパブリックIPネットワークと共有している。

▼ IBM Cloud環境での考慮事項

  • Oracle RACに必要なInterconnectには、ベアメタルのPublic NICを利用し、Public Primary IPアドレスを変更する
  • Oracle RACに必要なサービスIPアドレスには、Portable Private Subnetを利用し、Private Primary IPアドレスを変更する
  • Oracle製品(GIソフトウエアとDBソフトウエア共に)は、共有できる外部ストレージには導入しない

▼ 実施内容

- 設定、導入

  • ベアメタルのRHEL v7.4の設定
  • ベアメタルにOracle DB 11.2.0.4を導入
    • RAC環境導入のためのシステム調整
    • Grid Infrastructure のインストール
    • データベースソフトウエア のインストール
    • RACデータベースの作成

- Oracle RACの稼動確認

db、vip、scanリソース等の状況

[grid@racdb01 ~]$ crsctl status resource -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
              ONLINE  ONLINE       racdb01
              ONLINE  ONLINE       racdb02
ora.LISTENER.lsnr
              ONLINE  ONLINE       racdb01
              ONLINE  ONLINE       racdb02
ora.asm
              ONLINE  ONLINE       racdb01                  Started
              ONLINE  ONLINE       racdb02                  Started
ora.gsd
              OFFLINE OFFLINE      racdb01
              OFFLINE OFFLINE      racdb02
ora.net1.network
              ONLINE  ONLINE       racdb01
              ONLINE  ONLINE       racdb02
ora.ons
              ONLINE  ONLINE       racdb01
              ONLINE  ONLINE       racdb02
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
     1        ONLINE  ONLINE       racdb02
ora.LISTENER_SCAN2.lsnr
     1        ONLINE  ONLINE       racdb01
ora.LISTENER_SCAN3.lsnr
     1        ONLINE  ONLINE       racdb01
ora.cvu
     1        ONLINE  ONLINE       racdb01
ora.mrcl.db
     1        OFFLINE OFFLINE                               Instance Shutdown
     2        OFFLINE OFFLINE                               Instance Shutdown
ora.oc4j
     1        ONLINE  ONLINE       racdb01
ora.orcl.db
     1        ONLINE  ONLINE       racdb01                  Open
     2        ONLINE  ONLINE       racdb02                  Open
ora.racdb01.vip
     1        ONLINE  ONLINE       racdb01
ora.racdb02.vip
     1        ONLINE  ONLINE       racdb02
ora.scan1.vip
     1        ONLINE  ONLINE       racdb02
ora.scan2.vip
     1        ONLINE  ONLINE       racdb01
ora.scan3.vip
     1        ONLINE  ONLINE       racdb01
[grid@racdb01 ~]$

- Oracle RACのパフォーマンステスト

*TBL2表にPL/SQLを使用して100万行をINSERTする時間を測定

データサイズは、16,384blocks x 8KB/block = 131MB

SEGMENT_NA SEGMENT_TYPE       TABLESPACE_NAME       EXTENTS       BLOCKS
---------- ------------------ ------------------ ---------- ------------
TBL2       TABLE              TBS_BIG                    87       16,384

-- 約21秒で完了

SQL> begin
  2  for i in 1..1000000 loop
  3       insert into TBL2 values(i, rpad(to_char(i),100,'A'));
  4     end loop;
  5     commit;
  6  end;
  7  /

PL/SQLプロシージャが正常に完了しました。

経過: 00:00:21.35

Endurance Storage 4IOPS/GB という最速ではないストレージを使用したが十分な速度が出たので、
機会があれば、Endurance Storage 10IOPS/GB などのより速いストレージを使用してテストしてみたくなった。

2020/10追記)
IBM Cloudデータセンターでは、Oracle DB及びOracleアプリケーションの全世界共通の標準運⽤サービス(ベストプラクティス)を提供するManaged Oracleサービスも提供しています。
Oracle DB及びOracleアプリケーションの専⽤ “運⽤付きPaaSサービス”です。

特徴としては、

  • 仮想化ソフトウェア(ハイパーバイザー)に Oracle VM が利⽤可能
    • VM上で稼働するOracle製品のライセンス費⽤を最適化
  • Oracle RACをサポート(最大4ノードまでサポート)
  • 仮想サーバーとベアメタルサーバーを提供。
  • Oracleサーバーと⾮Oracleサーバーを全てManaged Oracleの契約で⼀括提供可能

以上

12
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?