裏ワザ"SAN BOOT" ~連載第5回~
連載目次へ
裏ワザ"SAN BOOT"
前回はストレージの仮想化とはどういったものか、ストレージ仮想化ではどのようなメリットが享受できるかをご紹介しました。
しかし、ストレージ仮想化とはサーバの仮想化とは本質的に異なるものなので技術的に同じことが実現できるわけではないのですが、同じことが実現できるように構成することも可能です。
それが、今回ご紹介する "SAN BOOT" です。
SAN BOOT とは
SAN BOOTとは、平たく言うと「サーバのシステムディスクをストレージ上に持たせる技術」です。
サーバはローカルディスクに一切のデータを保持せず、システムもファイルなどのデータもすべてストレージに持たせます。

各サーバは、ストレージ内に保存したボリュームを指定してシステムを起動させます。
右図では、"サーバ1"は、"サーバ1用OS"を、"サーバ2"は"サーバ2用OS"を、"サーバ3"は"サーバ3用OS"を格納したディスクを起動ディスクに指定しています。
さて、上記2つの状態で、それぞれサーバ1が故障したらどうなるでしょうか?
① SANBOOTなしの場合、以下のような手順が必要になります。
1.新しいハードの準備
2.OSのインストール
3.その他システム詳細設定
4.ストレージボリュームのマウント
5.動作確認
簡単に書きましたが、実際の作業時間は想像に難くありません。
特に、「3.その他システム詳細設定」 は、システムの規模にもよりますが、半日以上かかる場合も。
「5.確認作業」も、ほぼすべての機能を確認する必要があります。
まあ、通常はバックアップを取得している場合がほとんどだと思われますので、実際は以下のようになるでしょうか。
1.新しいハードの準備
2.バックアップからの復元
3.ストレージボリュームのマウント
4.動作確認
項目としては1手順減っただけですが、動作確認の作業は大幅に減ることになるでしょう。
ただし、特にテープライブラリ等にバックアップを取得していた場合、「2.バックアップからの復元」にかなりの時間を要します。
やはり、半日以上かかるでしょうか。
② SANBOOTありの場合、以下のような手順が必要になります。
1.新しいハードの準備
2.新しいハードの起動ディスクをサーバ1用OSに指定
3.サーバ起動
これだけです。
多少の動作確認は必要かもしれませんが、時間はほとんどかかりません。
基本的に、SANBOOTという技術はストレージ仮想化とは関係ありません。
FC-SAN環境があればSANBOOT環境は構築可能です。
では、なぜここで紹介させていただいたかというと。
SANBOOTとストレージ仮想化は非常に相性がいいのです。
上記の設問で、SANBOOTありの場合(以下、②の場合)の方が、SANBOOTなしの場合(以下、①の場合)より優れているような紹介をしましたが、これには少しトリックがあります。
起動ディスクをストレージに持たせたのだから、サーバが壊れたらどうなる、という質問は内蔵ディスクから起動する①の場合より②の場合が有利なのは自明です。
(ストレージのほうがサーバより耐障害性にすぐれているという事実はあります)
では、ストレージが故障したらどうなるでしょうか?
当然、上記の構成では、OSのインストールから始める必要があるでしょう。
①の場合と②の場合の優位性がほぼそのまま入れ替わります。
そのため、当然、ストレージのバックアップを取得する必要が出てきます。
ここで、ストレージ仮想化技術が威力を発揮します。
サーバ仮想化やソフトウエアバックアップでは、ディスクをイメージ化してファイルとして保存しますが、ストレージ仮想化はデータをブロック単位で扱います。
バックアップ取得も、ブロックの情報を上書き禁止にすることで行います。
バックアップ取得中にデータ更新されると整合性がとれなくなるという従来の悩みも、ストレージ仮想化にはありません。
バックアップ対象データのハードディスク上での範囲を確定させ(この操作は瞬時に終了します)、そのあとでバックアップデータの転送を行うため、バックアップ取得のためのシステム停止がありません。
取得したバックアップ情報を復元するとき、ファイルレベルのバックアップは読み込みが必要になりますが、ブロック単位のバックアップは、読み込み時間が必要なく、上書き禁止にしたブロックの状態をすぐに復元でき、その分、再起動も早く行えます。
また、サーバ仮想化において、システムストップなしで仮想サーバが物理サーバ間を移動できるマイグレーションという機能があるように、ストレージ仮想化にも、システムダウンなしでデータを移行できるマイグレーション機能を有します。
(このあたりの技術的な説明は次回以降に行います。)

同じゴールにたどり着くにもルートは様々
ストレージ仮想化とサーバ仮想化は根本的に違う技術です。
しかし、やりたいこと、やれることはストレージ仮想化でも実現できることが多数あります。
サーバ仮想化はソフトのアーキテクチャを大幅に変えてしまうので技術的に不安がある、という方も多々いますが、ストレージ仮想化は基本的に、ストレージのアドレス変換を軸としている技術です。
アーキテクチャの大幅な変更はないため、技術的な障壁がサーバ仮想化に比べて低いのも特徴です。
では、ストレージ仮想化技術を導入しようか、と思い立って情報収集を始めると、また新たに導入障壁が現れます。
それは…
(つづく)