読者です 読者をやめる 読者になる 読者になる

NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Oracle Database on Acropolis Block Services。(Meetup #14)

iSCSI ABS Nutanix-meetup-Japan Oracle

Nutanix Meetup #14 にて、
Nutanix Acropolis Block Services (ABS) と Oracle Database の話をしてみました。

ABS は Oracle RAC の共有ディスクとしての使用も想定されているとのことで、.NEXT Conference では Keynote のデモで ABS での RAC が登場していました。そこで、私もためしにやってみました。ただし手順が長大になるので、今回は話は Linux から ABS の VG に iSCSI 接続して Oracle ASM で使用可能にするあたりのみです。

Nutanix の ABS とは

まず、ABS の様子についてはこちらをどうぞ。

今回のサーバ構成

ESXi 上の Nested Nutanix CE 環境です。Nutanix CE は 3 Node のクラスタ、Oracle RAC は 2 Node クラスタにしました。Oracle Database サーバの OS は Oracle Linux にしています。

f:id:gowatana:20161003021400p:plain

 Oracle RAC のサーバから Nutanix ABS の VG への iSCSI 接続は、RAC のサーバから見てストレージ用のネットワーク セグメントを使用しました。現状の Nutanix CE の ABS だと、Data Service IP は CVM と 同ネットワークに配置することになるようです。iSCSI Initiator からの接続は、vDisk ごとに別 CVM に分散されていて、障害時は別の CVM にリダイレクトされるようになります。

f:id:gowatana:20161003021411p:plain

簡単に、Oracle RAC に関連するファイルと格納場所(ローカルディスクか共有ストレージか)をまとめてみました。今回、共有ストレージに配置されるデータはすべて ABS にのせました。

f:id:gowatana:20161003021324p:plain

ASM (Oracle Automatic Storage Management)

ASM は、Oracle Database 専用のストレージ管理機能で、ボリュームマネージャ + ファイルシステム の役割を持ちます。

ASM は、従来の raw デバイス / 共有ファイルシステムのかわりとして Oracle Database のデータを格納します。ブロックレベルアクセスの共有ディスクは ORACLE は ASM がおすすめの様子。

Nutanix 環境で ASM を使用する場合は、データの冗長化は Nutanix DSF (ASM から見ると Nutanix は 2つ以上のデータ ミラーリングをする共有ストレージ装置)で担保できます。そのため ASM Disk Group での冗長性の指定は、ASM では冗長化しない「External Redundancy」がよいようです。冗長化は Nutanix DSF にまかせます。

f:id:gowatana:20161003021434p:plain

 ABS と Oracle ASM

Oracle RAC 構築は、おおまかには下記のような流れになります。

  1. OS インストール&事前設定
  2. iSCSI 接続(共有ディスク)→ ABSのVGに接続。
  3. Grid Infrastructure インストール~Clusterware + ASMの構成
  4. ASM Disk Group 作成 → ABSのVGをOracleで利用する。
  5. Oracle Database インストール
  6. Oracle RAC データベース作成

 手順的に、特に ABS が関係するのは、「iSCSI 接続」と「ASM Disk Group 作成」のところです。

ABS ⁺ Oracle RAC をやってみて気づいたこと

Linux OS で認識する、iSCSI のデバイス名について

Linux ゲストOS側の iSCSI Initiator で VG 接続すると、デバイス名がノードによって変わるので要注意です。ASM で使用するのであれば、たとえば ASM Disk ラベルをつけて、そのデバイス名を指定するとよいと思います。

VG / Volume (vDisk) の構成について

vDisk ごとにTarget作成されるので、vDisk ごとにことなる CVM 経由でのアクセスとなるように自動分散されていました。負荷分散のため VG にあえて複数 vDisk を作成する、という使い方ができそうです。

Nutanix 側で vDisk の Clone (Snapshot) ができるため、Oracle のバックアップ目的などで「begin backup → ストレージ装置側でスナップショット取得 → end backup」といった使い方もできそうです。クローンは VG 単位なので、この場合はデータ用の vDisk を独立した VG にしておくとよいと思います。

ネットワーク構成について

iSCSI でマルチパス構成とするときに 2つのネットワークセグメントを用意する(NIC を 2つ使用するが、それぞれ別経路とする)ことがありますが、ABS で設定できる Data Service IP は1つなので、CVM 側を複数セグメント構成にすることはできなそうです。そのため、接続する側の Linux と、接続される CVM(の 起動するハイパーバイザ) と、 ネットワーク接続の冗長化はどちらも NIC をチーミングしておく必要がありそうです。

Oracle の DB データを ABS 上で移動してみた話

Meetup#14 では内容を話しませんでしたが、ためしに ABS のボリュームクローンと Oracle TTS で簡易的なデータ移行らしきことをしてみました。

当日の様子

RAC Expert が語る・・・ただの iSCSI と ASM Disk Group 作成・・・ 

 

以上。