© Hitachi Systems, Ltd. 2017. All rights reserved.
2017/11/17
大島 正樹
Oracle RAC on Docker
注意
1
本セッション内容は
実運用を想定したものではなく、
正確性、最新性、有用性など
その他一切の事項についていかなる
保証をするものではありません。
また、記載の内容は予告なく変更することがあります。
Oracleは、Oracle Corporationおよびその子会社、
関連会社の米国およびその他の国における登録商標です。
その他の製品名およびサービス名は、それぞれ各社の登録
商標または商標です。
© Hitachi Systems, Ltd. 2017. All rights reserved. 2
目次
1.自己紹介
2.Dockerとは
3.Oracle RACとは
4.Oracle RAC on Dockerの構築ポイント
5.その他はまりどころ
6.デモ
3© Hitachi Systems, Ltd. 2017. All rights reserved.
1.自己紹介
4© Hitachi Systems, Ltd. 2017. All rights reserved.
1.自己紹介
経歴
2003年入社、日立Oracleサポートセンタに配属
2017年現在、SIを担当
(Oracle/Windows/Linux/vertica/SAP BO)
取得資格
Oracle Certified Support Engineer (2004/10)
Oracle Master Platinum 10g (2007/08)
 11g (2011/02)
JPOUG(Japan Oracle User Group)ボードメンバ
5© Hitachi Systems, Ltd. 2017. All rights reserved.
2.Dockerとは
6© Hitachi Systems, Ltd. 2017. All rights reserved.
2.Dockerとは
Dockerとは、OSのコンテナ技術を使用したアプリケーション実行環境。
ゲストOSを必要とせず、OS上の1プロセスとして動作するため、他の
仮想化環境(VMware/VirtualBox等)に比べ、非常に軽く動作すると言
われている。
OS (Windows/Linux)
VirtualBox
アプリケーション
ゲストOS ゲストOS
アプリケーション
OS (Linux)
Docker エンジン
アプリケーション
(コンテナプロセス)
アプリケーション
(コンテナプロセス)
VirtualBoxの場合 Docker の場合
7© Hitachi Systems, Ltd. 2017. All rights reserved.
3.Oracle RACとは
8© Hitachi Systems, Ltd. 2017. All rights reserved.
3.Oracle RACとは
実IP 仮想IP実IP 仮想IP
Public LAN
Private LAN
(内部通信用)
共有ディスク
Oracle Real Application Clusters
(Oracle RAC)とは、
複数のサーバーで同一のデータを、
参照/更新するクラスタデータベース。
9© Hitachi Systems, Ltd. 2017. All rights reserved.
4.Oracle RAC on Dockerの構築ポイント
10© Hitachi Systems, Ltd. 2017. All rights reserved.
4.Oracle RAC on Dockerの構築ポイント
実IP 仮想IP実IP 仮想IP
Public LAN
Private LAN
(内部通信用)
共有ディスク
Dockerでは、IPアドレスは
Dockerエンジンを通して割り当てられるため、コン
テナから柔軟にIPアドレスを制御することは難しい。
= 仮想IPを扱えない。
~仮想IP~
11© Hitachi Systems, Ltd. 2017. All rights reserved.
4.Oracle RAC on Dockerの構築ポイント
実IP 仮想IP
共有ディスク
実IP 仮想IP
192.168.0.0/24
vxlan(vxlan0)
vxlan(vxlan1)
192.168.1.0/24
~仮想IP~ コンテナ間を仮想ネットワーク(vxlan)で接続するこ
とにより、仮想IPを扱うことが可能
12© Hitachi Systems, Ltd. 2017. All rights reserved.
4.Oracle RAC on Dockerの構築ポイント
vxlanとは、
RFC7348で規定されている論理的な
(仮想的な)L2ネットワークを構築するための規格。
Kernel 3.18(≒ Docker対応)以上であれば、
Linuxカーネルに標準で組み込まれており、
仮想NICを作成して使用することができる。
実ネットワーク
仮想ネットワーク
仮想NIC仮想NIC
13© Hitachi Systems, Ltd. 2017. All rights reserved.
4.Oracle RAC on Dockerの構築ポイント
実IP 仮想IP実IP 仮想IP
Public LAN
Private LAN
iSCSI
コンテナからiSCSIを扱うことはできない
~共有ディスク~
14© Hitachi Systems, Ltd. 2017. All rights reserved.
4.Oracle RAC on Dockerの構築ポイント
実IP 仮想IP実IP 仮想IP
Public LAN
Private LAN
NFS
NFSであれば、コンテナから直接扱うことが可能
~共有ディスク~
15© Hitachi Systems, Ltd. 2017. All rights reserved.
5.その他はまりどころ
16© Hitachi Systems, Ltd. 2017. All rights reserved.
5.その他はまりどころ
●Oracle RACはSystemd前提(Oracle Linux 7.x~)となっているが、Oracle
社提供のDockerイメージにはSystemdが含まれていない。
==>Systemd を有効化したDockerイメージを作成
●コンテナのデフォルト権限ではSystemdやvxlanインターフェースが起動で
きない
==>コンテナ起動オプションに「--priviledged」を追加
●デフォルトのRAMディスクサイズ(64MB)では、ASMインスタンスを起動で
きない。
==>コンテナ起動オプションに「--shm-size=1200m」を追加
17© Hitachi Systems, Ltd. 2017. All rights reserved.
6.デモ
18© Hitachi Systems, Ltd. 2017. All rights reserved.
6.デモ
環境構成
OS (ubuntu 16.04 )
Docker 17.06-ce
コンテナ(NFS) コンテナ(DB1) コンテナ(DB2) コンテナ(DB3)
Docker image Oracle Enterprise Linux 7.3
DB version Oracle Database 12.2.0.1
19
ご清聴、ありがとうございました。
人とITのチカラで、驚きと感動のサービスを。
Oracle RAC on Docker
Oracle RAC on Docker

Oracle RAC on Docker

  • 1.
    © Hitachi Systems,Ltd. 2017. All rights reserved. 2017/11/17 大島 正樹 Oracle RAC on Docker
  • 2.
  • 3.
    © Hitachi Systems,Ltd. 2017. All rights reserved. 2 目次 1.自己紹介 2.Dockerとは 3.Oracle RACとは 4.Oracle RAC on Dockerの構築ポイント 5.その他はまりどころ 6.デモ
  • 4.
    3© Hitachi Systems,Ltd. 2017. All rights reserved. 1.自己紹介
  • 5.
    4© Hitachi Systems,Ltd. 2017. All rights reserved. 1.自己紹介 経歴 2003年入社、日立Oracleサポートセンタに配属 2017年現在、SIを担当 (Oracle/Windows/Linux/vertica/SAP BO) 取得資格 Oracle Certified Support Engineer (2004/10) Oracle Master Platinum 10g (2007/08)  11g (2011/02) JPOUG(Japan Oracle User Group)ボードメンバ
  • 6.
    5© Hitachi Systems,Ltd. 2017. All rights reserved. 2.Dockerとは
  • 7.
    6© Hitachi Systems,Ltd. 2017. All rights reserved. 2.Dockerとは Dockerとは、OSのコンテナ技術を使用したアプリケーション実行環境。 ゲストOSを必要とせず、OS上の1プロセスとして動作するため、他の 仮想化環境(VMware/VirtualBox等)に比べ、非常に軽く動作すると言 われている。 OS (Windows/Linux) VirtualBox アプリケーション ゲストOS ゲストOS アプリケーション OS (Linux) Docker エンジン アプリケーション (コンテナプロセス) アプリケーション (コンテナプロセス) VirtualBoxの場合 Docker の場合
  • 8.
    7© Hitachi Systems,Ltd. 2017. All rights reserved. 3.Oracle RACとは
  • 9.
    8© Hitachi Systems,Ltd. 2017. All rights reserved. 3.Oracle RACとは 実IP 仮想IP実IP 仮想IP Public LAN Private LAN (内部通信用) 共有ディスク Oracle Real Application Clusters (Oracle RAC)とは、 複数のサーバーで同一のデータを、 参照/更新するクラスタデータベース。
  • 10.
    9© Hitachi Systems,Ltd. 2017. All rights reserved. 4.Oracle RAC on Dockerの構築ポイント
  • 11.
    10© Hitachi Systems,Ltd. 2017. All rights reserved. 4.Oracle RAC on Dockerの構築ポイント 実IP 仮想IP実IP 仮想IP Public LAN Private LAN (内部通信用) 共有ディスク Dockerでは、IPアドレスは Dockerエンジンを通して割り当てられるため、コン テナから柔軟にIPアドレスを制御することは難しい。 = 仮想IPを扱えない。 ~仮想IP~
  • 12.
    11© Hitachi Systems,Ltd. 2017. All rights reserved. 4.Oracle RAC on Dockerの構築ポイント 実IP 仮想IP 共有ディスク 実IP 仮想IP 192.168.0.0/24 vxlan(vxlan0) vxlan(vxlan1) 192.168.1.0/24 ~仮想IP~ コンテナ間を仮想ネットワーク(vxlan)で接続するこ とにより、仮想IPを扱うことが可能
  • 13.
    12© Hitachi Systems,Ltd. 2017. All rights reserved. 4.Oracle RAC on Dockerの構築ポイント vxlanとは、 RFC7348で規定されている論理的な (仮想的な)L2ネットワークを構築するための規格。 Kernel 3.18(≒ Docker対応)以上であれば、 Linuxカーネルに標準で組み込まれており、 仮想NICを作成して使用することができる。 実ネットワーク 仮想ネットワーク 仮想NIC仮想NIC
  • 14.
    13© Hitachi Systems,Ltd. 2017. All rights reserved. 4.Oracle RAC on Dockerの構築ポイント 実IP 仮想IP実IP 仮想IP Public LAN Private LAN iSCSI コンテナからiSCSIを扱うことはできない ~共有ディスク~
  • 15.
    14© Hitachi Systems,Ltd. 2017. All rights reserved. 4.Oracle RAC on Dockerの構築ポイント 実IP 仮想IP実IP 仮想IP Public LAN Private LAN NFS NFSであれば、コンテナから直接扱うことが可能 ~共有ディスク~
  • 16.
    15© Hitachi Systems,Ltd. 2017. All rights reserved. 5.その他はまりどころ
  • 17.
    16© Hitachi Systems,Ltd. 2017. All rights reserved. 5.その他はまりどころ ●Oracle RACはSystemd前提(Oracle Linux 7.x~)となっているが、Oracle 社提供のDockerイメージにはSystemdが含まれていない。 ==>Systemd を有効化したDockerイメージを作成 ●コンテナのデフォルト権限ではSystemdやvxlanインターフェースが起動で きない ==>コンテナ起動オプションに「--priviledged」を追加 ●デフォルトのRAMディスクサイズ(64MB)では、ASMインスタンスを起動で きない。 ==>コンテナ起動オプションに「--shm-size=1200m」を追加
  • 18.
    17© Hitachi Systems,Ltd. 2017. All rights reserved. 6.デモ
  • 19.
    18© Hitachi Systems,Ltd. 2017. All rights reserved. 6.デモ 環境構成 OS (ubuntu 16.04 ) Docker 17.06-ce コンテナ(NFS) コンテナ(DB1) コンテナ(DB2) コンテナ(DB3) Docker image Oracle Enterprise Linux 7.3 DB version Oracle Database 12.2.0.1
  • 20.
  • 21.