SVMとは(2) ~連載第8回~
連載目次へ
SVMについて
今回は、SVMの機能について詳細に説明させていただきます。
弊社ソリューションのご紹介から、機能ごとに解説いたします。
世代管理機能は、multiVIEW機能を利用して実現します。
第7回目で説明したPiTは、最大で32個作成できるので、32世代のバックアップを取得することが可能です。
バックアップ取得は、multiMirror機能で実現します。
multiMirror機能は、さらに同期ミラーと非同期ミラー機能に分かれますが、ここで使用するのは非同期ミラー機能になります。

バックアップ統合機能
アプリサーバ、DBサーバなど各種サーバを仮想ボリュームとして作成し、SVMで管理します。
そして、multiMirror機能を利用します。multiMirror機能は、以下の手順でバックアップ環境を構築します。
1.ソースボリュームを上書き禁止にし、PiTを作成します。
2.メインボリュームとは別のストレージ筺体にソースボリュームのバックアップ(複製)を作成します。
3.バックアップを取得する時間を決定します。
4.指定した時間になったら、メインボリュームに新しいPiTを作成し、それまで使用していたPiTを上書き禁止にし、バックアップを取得していたストレージに送信します。
5.PiTの数が上限に達したら、PiTの古い順にソースボリュームへマージします。
以前も解説したとおり、ストレージ仮想化技術はデータをブロック単位で扱います。
そのため、上記のバックアップ取得手順もソフトウエア構成に依存しないため、アプリサーバでもファイルサーバでもDBサーバでも同じタイミングでPiTを作成することでバックアップの一元管理ができます。
高信頼環境構築機能は、multiMirror機能で実現します。
multiMirror機能は、さらに同期ミラーと非同期ミラー機能に分かれますが、ここで使用するのは同期ミラー機能になります。

高信頼環境構築機能
同期ミラー機能は、SVMを介して、リアルタイムにボリュームの複製を行い、可用性を高める機能です。
上記の図のように、サーバで更新した内容が、別々のストレージに更新されます。
ストレージ1とストレージ2は別筺体、別コントローラ下でのストレージを指定することが可能です。
この場合、サーバで行われた更新内容は、ストレージ1、ストレージ2の両方に反映されて正常終了となるので、ストレージ1とストレージ2の処理速度に差がある場合、システムのレスポンスは遅いほうのストレージに準じます。
この構成にした場合、メインストレージに物理障害が発生しても、複製したほうのボリュームに自動的に運用が切り替わり、運用が継続されます。
RAID1と似た考え方ですが、RAIDはストレージ筺体内のディスク間で複製を作成していますがSVMの同期ミラーは前述のとおり、ストレージのコントローラ間で複製を作成することが可能です。
これまで、単一障害点になりやすかったコントローラその他のストレージ筺体に依存した装置が冗長化できます。
ディザスタリカバリ(DR/災害対策)機能は、バックアップ統合機能と同じ、miutiMirror機能を用いて構築します。

バックアップ統合機能は、ローカルサイト内にバックアップを取得していましたが、ディザスタリカバリ(DR/災害対策)機能では、遠隔地(リモートサイト)にバックアップデータを取得することができます。
遠隔地へのデータ送信は、SVMを経由して一般のインターネット回線(Bフレッツなど)で送信可能です。
高価なVPNとの契約は必要ありません。
また、バックアップ取得時の送信データは、PiT(前回バックアップ取得からの更新差分情報)のみです。
SVMはブロック単位でデータ管理を行うため、ここでいう更新差分情報もブロック単位での更新差分情報ですので、万が一盗聴されてもファイルシステムへの復元は不可能です。
暗号化以上に堅牢性の高い通信であるといえます。
尚、バックアップ環境構築の手順はバックアップ統合機能と同じです。
バックアップ環境構築時のソースボリューム複製時のみ、やや時間がかかることがあります。
ストレージ有効活用機能は、Dynamic Thin Provisioning 機能を用いて実現します。
シンプロビジョニングとは、サーバへマウントする容量を、実際の(物理)ストレージ容量より多くマウントできる機能です。
将来を見越して2TBの容量のドライブをマウントしたいが今は200GBでいい、順次拡張していきたい、という場合、まさしく理想通りの動きをする機能です。
サーバには2TBのドライブが作成され、ストレージは実際に使用している容量のみ使用し、拡張は自動で行われます。
もちろん、拡張時にシステム停止やリブートは不要です。
実際にストレージが割り当てられていない非データ領域(上記例では1.8TBの部分)にサーバからアクセスがあった場合は、応答として"0"が返されます。
通常の仮想ボリュームと同様、複数の物理ストレージにまたがったボリューム拡張も問題なく行えます。
ストレージ無停止リプレース機能は、multiMigrate 機能を用いて実現します。
ストレージの買い替えやリース切れ等の時に、システム無停止でストレージのリプレースを行う機能です。
データ移行作業が大幅に削減されます。
ストレージ無停止リプレース機能のご紹介ページでも掲載しましたが、もう少し技術的に詳細な解説をしたいと思います。
まず、FCスイッチに新規ストレージを接続、仮想化します。
その後、マイグレーション機能によりリプレースを行うわけですが、そこでは以下のような処理が行われています。
1.現行RAIDのアクティブな領域を上書き禁止にし、新しいPiT(以下、PiT①とします)を現行RAID内に作成します。
2.上書き禁止にした領域を、バックグラウンドで新規RAIDに複製します。
複製中の変更内容は、PiT①に保存されます。
3.新規RAIDへの複製が終わったら、現行RAID内のPiT①を上書き禁止にし、ボリューム名を入れ替えます。
また、同時に新規RAID内に新しいPiT(以下、PiT②とします)を作成し、これ以降の変更内容を新規RAID内のPiT②に保存します。
4.現行RAID内のPiT①を、新規RAIDのソースボリュームにマージします。
以上の手順で、システム無停止でのRAID移行が完了します。

スループット向上機能は、 Volume Manager 機能からストライピングボリュームを作成することで実現します。
ボリューム作成時に、複数のストレージにまたがるボリュームを作成し、負荷を分散させることでボトルネックになりがちなストレージI/Oの処理性能を向上させる機能です。
multimirror 機能の同期ミラーがRAID1と似た考え方であるのに対し、ストライピングボリュームはRAID0の考え方に似ています。
RAID0では、ディスクを複数に分けて、ディスク当たりのデータ量を少なくすることで処理性能を向上させますが、SVMのストライピングは、複数のストレージに分散させるため、ディスクだけでなく、ストレージのCPUやメモリまで強化できるため、より効果的なスループットの向上が見込めます。
開発/テスト環境構築機能は、multiCopy機能を用いて実現します。
稼働中のボリュームを空き容量にコピーします。
multiMirror環境とは違い、複製したボリュームと複製元のボリュームには、主従の関係が残らず、全く個別のボリュームとして認識されます。
通常であれば、ドライブの数はストレージのLUNの数に依存しますが、仮想ストレージであれば、容量が許すかぎりいくらでもドライブの作成ができます。
開発チームごとに環境を作成し、テストが終わればドライブを解放して元の仮想プールに戻すなど、運用方法次第では開発効率が大幅にアップします。
以上、今回は少し長くなりましたが、SVMの機能をご説明しました。
何か不明点等ある場合は遠慮なくお問い合わせください。
(つづく)