ストレージでバックアップできるのはわかった。ところでASMを使うときの注意点をもう少し教えてくれないか?と聞かれることがあります。今回は、前回「Oracleデータベースのストレージベースバックアップ:基礎」の続きで、ASMについて書きたいと思います。

 

ASMBLOCKストレージ、およびNFSの両方で利用できますが、ここではまず BLOCKを前提に書きたいと思います。私が日本で会う顧客のほとんどは、BLOCKストレージでASMを利用しています。NFSASMを利用している顧客は1社しか知りません。皆さんの扱っているシステムではどうでしょう?

 

ASM DGのコピーを業務サーバにマウントする時は、ASM DG rename してください

 以前のOracle DBでは、ひとつのDBサーバに複数のASMインスタンスを起動できました。これを利用して、ASM DGコピーを業務サーバにマウントするときに、新たにASMインスタンスを起動することにより、同じ名前のASM DGを使用することが可能でした。しかし、新しいバージョンのOracle、たとえばOracle11gR2 では、ひとつのサーバにひとつのASMインスタンスしか起動できなくなっています。このため、コピーしたASM DGを業務サーバにマウントするときには、ASM DG Rename する必要があります。 EMC Replication Manager を用いることにより、このRenameの処理を自動化することができます。


ASM DGの中では整合性を保つこと

 ASMの一つのDGが複数のLUNから構成されている場合でも、そのDGを複製する際には、DG内で整合性を保つ必要があります。ASMでは、DGに関するメタ情報も同じDG内に保持しているようです。このため、例えばリバランシングが発生するような状況を考えると、たとえ hot backup mode を使用していたとしても、少なくともASM DGの単位では書き込み順を崩さないことが必要です。EMCのストレージでは、複数のLUNを論理的にグルーピングすることにより、そのグループ内で整合性を保つことができます。これは、ハイエンドは当然ですが、ミッドレンジストレージ、あるいはRecoverPointを用いても同じことが可能です。

 

ASMの障害グループ(Failure Groups を使う時は注意が必要

 ASMを使用して、ストレージ筐体の間でデータをミラーリングしたい、という要望をもらうことがあります。この場合、ASMの障害グループ(Failure Groups)を用いて、ストレージ間でデータを分散することになります。図では、ひとつのASM-DG#1が、2つの障害グループ に分散している様子を描いています。


ASMFailureGroups.png

 障害グループを用いたASMミラーリングの構成自体は、ストレージの特別な機能を利用するものではありません。

さて、この構成で、ASM-DG#1 をストレージで複製したいとき、どうしたらよいでしょうか?

実は、オラクル社がサポートするのは、ASM-DG#1全体について、整合性を持った複製を取得している場合だけになります。

つまり一方の障害グループの複製をとっただけでは不十分、ということになります。


障害のシナリオについて考えてみます:


1)障害グループのうち1つが破損した

この場合、生き残った障害グループから、ASMが破損したグループを復旧します。つまり、せっかくストレージで取得した複製は利用することがありません


2)障害グループ2つのうち、2つとも破損した

(ほとんどそんなことは起こらないと思いますが)ストレージの機能で1つの障害グループをリストアしたとしても、Oracle DBが復旧できるかどうかを、オラクル社は正式には保証していません。オラクル社は、すべての障害グループ(図の中では、2つの障害グループ)をきちんとリストアした時のみ、Oracle DBが復旧できることを保証しています。図の中で言うと、Replicas#1 Replicas#2 の両方の複製を日々取得している必要があります。ただし、その場合でも、Replicas#1 Replicas#2 が同じタイミングで整合性をもって取得されている必要があります。障害グループが別なストレージに配置される場合においては、これを行うのは非常に難しくなります。

 

一言で言うと、複数ある障害グループのうち、一つだけを複製してもだめ、と言えます。これは、災害対策を行う際のリモートレプリケーションでも同じことが言えます。

 

お客様が障害グループを使いたいという背景には、実はストレージの筐体自体を冗長化して、より可用性を高めたいという要望があることが多いと感じます。この場合には、ストレージの機能で筐体間ミラーを行う、あるいは、現在であれば、VPLEXを用いるとよりスマートな構成ができるように思います

 

 今回は、ASMの扱いについて少し細かく書いてみました。

今後も、日々お客様との会話の中で気づいたことをBLOGとして書いていきたいと思います。