これは少し言葉が多いので、ご容赦ください。 :)
3台のOracle11gR2サーバーのRACクラスターがあり、これらのサーバーがOracleDBのフラッシュキャッシュとして使用するためにFusionIO ioDrive2PCIxカードを購入しました。これらのサーバーは、本番データベースインスタンスと小規模な開発データベースの両方を実行します。これらのデバイスをフラッシュキャッシュとして使用するように両方のインスタンスを構成します。devdbのサイズははるかに小さくなります。
フラッシュキャッシュの宛先として構成できるデバイスは1つだけであると理解しています。
同時に、このioDrive2デバイスは、「仮想コントローラー」と呼ばれるものをサポートします。基本的に、このデバイスを2つに分割してIOPを2倍にします(合計帯域幅は同じままです)。
したがって、この全体像をまとめるには、dbインスタンスごとに1つずつ、合計2つのパーティションが必要です。 「仮想コントローラー」を使用すると、同じサイズのドライブが2つあります。
私が考えているのは、LVMを使用して2つの仮想コントローラーを1つに結合し、その1つの結合されたボリュームをデータベースごとにパーティション化することです。
LVMでどのくらいのパフォーマンスと管理のオーバーヘッドが発生しますか?このセットアップで知っておくべき警告はありますか?この状況に対するより良いアプローチはありますか?
私は別の製品と同じようなことをしていますが、あなたが探しているのは実際にはかなり低いオーバーヘッドです。私が使用しているデバイスは、PCIeカードごとに現在4つの「ドライブ」を備えており、MDRAIDを使用してそれをRAID0デバイスに変換し、その上でLVMをレイヤー化することが非常にうまく機能しています。メタデータでいくつかのブロックが失われますが、カーネルのI/Oコードパスはこれに最適化されています。
ここでの注意点は、その「RAID0」のことです。これらの仮想「ドライブ」の1つに障害が発生しましたが、実際にカード全体が失われました(OK、このサービスはノード全体の障害に耐えるように設計されています)。 Oracleのフラッシュキャッシュがわからないので、そのような障害に耐えられるかどうかはわかりません。
ここにいる誰も、あなたが経験するパフォーマンスのオーバーヘッドの量を教えてくれるとは思いません。それは本当にisa テストと観察状況です。それ以外の場合は、パフォーマンスが向上すると思います。
ホストシステムの仕様はありますか? FusionIOと、複数のFusionIODuoカード間でRAID1 + 0を(ソフトウェアで)実行する必要性を評価していたとき、CPU、RAM、およびホストサーバーのシステムボード機能)に注意を払いました。 。計画しているように見えるI/Oをプッシュしている場合、CPUに関して影響があります。
別の質問...これはどのような問題を解決しますか?本当にDBにストレージの別の層を追加しようとしているだけですか? RACクラスターの場合、データのワーキングセットは何ですか。例えばどのドライブ容量を使用していますか?
すでにすべてが整っていて購入しましたか?