現在様々なサーバがプロジェクトで必要になってきたことからストレージの仮想化がメジャーな技術となってきました。
ストレージサーバをはじめとしたたくさんの物理サーバがサーバルームに陳列している従来から、いくつかのサーバがあるだけの簡素なサーバルームへと変化してきているのです。
今回は、ストレージの仮想化とは一体どんな技術なのか、そしてメリットやデメリットなどもご紹介していきますので、もしストレージを仮想化していない場合は検討材料に役立ててください。
現状のプロジェクトを進めるにあたり、ストレージを物理サーバとして保有し、運用していくには限界があることも、今回の内容を読めば理解できます。
ストレージ仮想化の一歩を踏み出し、管理しやすい環境構築にして効率を上げていきましょう。
![Nao Yanagisawa](https://xs691486.xsrv.jp/wp-content/themes/JITERA/images/director-nao-1.png)
2014年 大学在学中にソフトウェア開発企業を設立
2016年 新卒でリクルートに入社 SUUMOの開発担当
2017年 開発会社Jiteraを設立
開発AIエージェント「JITERA」を開発
2024年 「Forbes 30 Under 30 Asia 2024」に選出
ストレージの仮想化とは?
しかし、物理的なストレージは場所を取るだけではなく、運用や管理、リプレイスなどにも手間がかかるので管理部署のストレージを占領しているという問題もあります。
もちろん物理的なストレージにもメリットがありますが、全てを物理的ストレージにしておくことには疑問が残ります。
自社の環境と照らし合わせて、ストレージを仮想化することも選択肢の一つとしておくと、より良い環境構築ができるかもしれません。
そもそも仮想化とは
ストレージに限らずとも、現在はネットワークの仮想化やサーバの仮想化など、様々な機器が仮想環境へ移行しています。
これらの技術は主に、本来ある物理的な機器を仮想的に分割したり、逆に複数の物理的な機器を一つにする技術のことを指します。
従来であれば必要な数だけサーバやネットワーク機器を導入し、不要になったり耐用年数が来ると破棄する繰り返しでした。
しかし現在では、現状に合わせて仮想的なサーバやネットワーク機器を構築することができ、さらにはリソースも分配することが可能となっているのです。
そのため、プロジェクトの規模の変化や新規プロジェクトの立ち上げ、プロジェクトの終了などが起こった際にも、時間をかけずに即座に対応できることが可能になったことも、仮想化が登場したおかげだということです。
ストレージ仮想化とは具体的に
物理的なストレージと言えば、例えばサーバだったり外付けHDD、さらにはUSBメモリなどがあります。
ストレージの役割はデータを保存するための機器ではありますが、これを仮想化するということです。
一つの大きなサーバを設置しそれを分割することにより、あたかも複数のサーバのように四王することを言います。
実際に仮想ストレージにアクセスしてみると権限によって見えるストレージが変わって見え、従来複数の物理ストレージを設置しているのと同じ使い方ができます。
システムでどのアカウントにどのストレージへアクセスするかのアクセス権限も付与することができるため、物理ストレージと同様の使い方はできるがサーバルームにはストレージ用のサーバは1つであるという、非常に効率的な仕組みが実現できるのです。
ストレージ仮想化の仕組み
技術的な面での仕組みはストレージの仮想化の種類によっても様々分かれるので今回は割愛しますが、大規模のストレージを小分けにしたり、大きなデータを取り扱うときに1つのストレージにしたりして仮想化を実現させています。
多くの場合は仮想サーバを実装する際に使用するハイパーバイザにストレージを仮想化する機能が備わっており、それによってストレージ仮想化を行います。
そのため、仮想的なストレージにも限界があることから、あくまでも仮想ストレージに分けられる容量は元のストレージに余力があるときのみです。
とはいえ、もしバックアップ取得のためのストレージサーバがいっぱいになったものの、容量が大きなサーバと交換となった際には新たなサーバを設置し、仮想化によって一つのサーバにすることも可能なので使い方次第ではコスト、リソースの削減になります。
ストレージ仮想化が必要となった背景
過去には物理ストレージが主流でしたが、ストレージを仮想化するようになった背景には現代の業務内容が大きく関わってきます。
まずはリモートワークを行うことで加速してきたシンクライアントパソコンの使用です。
家にパソコンを持ち帰るということはそれだけ紛失のリスクが伴いますが、シンクライアントパソコンは手元のパソコンでサーバにアクセスし、仮想的なデスクトップ上で作業する技術です。
このことでパソコンの紛失による情報漏洩のリスクは無くなりましたが、その反面ストレージを分ける必要が出てきました。
そのためにストレージの仮想化が進んだのです。
また、近年はファイル量が多くなったり、プロジェクトが巨大化してきているのは業務で実感しているはずです。
そんなとき、毎回容量が足りないからと言ってバックアップサーバを入れ替えていてはコストがかかりすぎます。
そんなとき、複数サーバを一つにできればコストカットにつながります。
これらの理由により、ストレージ仮想化が必要となってきたのです。
ストレージ仮想化を導入するメリット・デメリットは?
ストレージを仮想化した場合のメリット・デメリットをご紹介していきます。
メリットを自社に当てはめ、現在の環境でどれほどの利点があるのかを確認することと、デメリットを理解してメリットと天秤にかけてみてください。
全てのシステムにおいてメリット、デメリットは存在します。
時代の流れに乗るだけではなく、デメリットをうまく乗り越えてメリットを最大限に活かすことで、最高のシステム活用が見えてきます。
ストレージ仮想化を導入するメリット
ストレージ仮想化を導入するメリットを一言で言えば、今までできなかった痒いところにも手が届くようになることです。
コストカットにもつながることから、非常に便利であることは間違いありません。
自社のシステムで導入した場合、どの程度の恩恵が受けられるのかを考察していくとそのメリットの大きさが見えてくるはずです。
メリットを理解し、実際に想像してみましょう。
記憶領域を効率的に利用
プロジェクトフォルダや個人フォルダによっては、必要となるストレージに差があります。
従来の物理ストレージであれば、不足したプロジェクトや個人のストレージは機器を大容量なものに交換しなければ根本的な解決にはなりませんでした。
しかし仮想ストレージであれば、片方には100GB、片方には200GBといった余っているストレージを必要なところに分けることができるのです。
従来は余っていたストレージを自由に割り振ることができることから、領域を有効活用することができるのは大きな利点となります。
今までは全て同じストレージしか割り振ることができず、使用していない部分はずっと使えませんでしたが、仮想化を行えば無駄がなくなるということです。
物理ディスクの追加(ストレージ領域の拡張)が容易
物理ディスクを追加する際に、従来の物理ストレージであれば総取り替えを行わなければ行けませんでした。
しかし仮想ストレージでは物理ディスクを設置し、仮想的に一つに見せることでユーザにはあたかも一つのストレージ容量が増加したように見えるようになるのです。
データを保存している先は2つに分かれていますが、利用者が意識する必要はありません。
サーバルームにサーバは増えてしまいますが、バックアップ同様に例え片方の物理サーバが故障してしまっても片方のサーバにある分のデータは残ることから、完全とは言えないまでもトラブルの対策としても有効になります。
もちろん他にバックアップサーバを設置することは必要ですが、復旧の時間が短縮できるメリットもあります。
運用管理や導入コストを抑制
コスト削減に関しては、仮想化がもたらす恩恵は大きいです。
物理サーバの購入には従来から大きなコストがかかっており負担となっていたはずですが、仮想化がコストカットを実現してくれます。
1つ1つの物理サーバを管理するのは運用を行うにしてもかなりの負担となることで、管理部署のリソースを大幅に割いていました。
しかし、大きなサーバ一台で従来のストレージ環境を実装できることから、運用管理についても非常に楽になります。
導入コストが抑制できることはもちろんですが、人件費についてもコストが抑制できることから仮想ストレージ導入は急務です。
もし複数の物理ストレージで運用しているのであれば、一度ストレージ管理の時間を換算してみると、どの程度コストをカットできるのかが見えてくるはずです。
データの記憶状況や空き状況の管理を簡素化
物理ストレージの確認を行う場合、各サーバにアクセスして空き状況を確認しなければなりませんでした。
しかし、仮想ストレージでは一覧で空き容量を確認することが可能です。
これは仮想サーバの管理画面でも行うことが可能であり、毎月ストレージ情報を記録している場合にはその作業自体の時間短縮につながります。
クリック数やログイン数を考えてみると、圧倒的に業務にかかる手間と時間が省かれますので、その分のリソースで他の業務を行うことが可能となります。
もし物理サーバを使用しており、これらの記録を取得するのに時間がかかって手をつけなかった現状がある場合、突然ストレージの空きがなくなりプロジェクトが停止してしまうこともあるため、せめて月例でも確認すべきです。
ストレージ仮想化を導入するデメリット
では次に、ストレージを仮想化した際のデメリットをご紹介していきます。
デメリットというよりもはリスクというほうが適当かもしれません。
リスクマネジメントという言葉を耳にすることがあるかと思いますが、リスクをどれだけ小さくできるか、なくせるかというのが運用最大の課題となります。
そのため、ストレージ仮想化について検討している方については、どのようにリスクを軽減できるかに注目してデメリットを抑えてください。
小規模な環境ではコストが割高
従業員数やプロジェクト数、またはその規模によってはコストが割高になる可能性があります。
仮想化する際には、仮想化を行うためのハイパーバイザが必要になることと、ある程度の大きなサーバが必要になります。
そのため、いくらストレージの仮想化が便利だからと言っても、コストが割高になってしまう可能性があります。
また、仮想ストレージでは運用・保守を行うための技術者が必要になります。
現在の人員で賄えるのであれば問題はありませんが、新たに人員を確保するとなると人件費と求人コストが発生してしまいます。
できるだけ明確にストレージ仮想化の際のコストを計算し、実際に導入するとどれくらいかかるのかと利便性を天秤にかけてみましょう。
ネットワークやサーバーに障害が起きると利用できなくなる
基本的に仮想ストレージへアクセスする際には、ネットワークを介して接続します。
しかしそこでネットワークに障害が起こってしまうと接続ができなくなってしまい業務が停止してしまう可能性があります。
ただし、こちらは物理ストレージでも直接接続している場合のみこのリスクを回避できるので、物理ストレージでもネットワークを介して接続する場合は同じリスクを背負います。
また、仮想ストレージは元々一つの物理サーバで構成されているため、サーバにトラブルがあった際にも全体が使用できなくなります。
これらを回避するためには、ネットワークの冗長化を行ったり、バックアップシステムを充実化させスタンバイするサーバを準備することによって回避することができます。
ストレージ仮想化の種類
ではストレージのを仮想化する際の種類についてご紹介していきます。
ストレージの仮想化には大きく分けると2つに分けることができ、「ブロックストレージの仮想化」と「ファイルストレージの仮想化」があります。
これらを正確に理解することで、自社でのストレージ仮想化が具体的に見えてくるはずです。
まずはどのストレージを仮想化したいかということをしっかりと定めることが重要で、その後どのようなメリットがあるのかも考察していくと見えてくるはずです。
ブロックストレージ仮想化
まずはブロックストレージの仮想化からご紹介していきます。
ストレージには様々なデータが格納されていますが、これらをブロックごとに分割して保存したものをブロックストレージと呼びます。
利点としては、各ブロックに識別子がつけられているため、呼び出しが高速にできるという利点があります。
また、ユーザ環境から切り離して複数の環境に分散して保存することも可能なので、利便性に関しても優れていると言えます。
通常ストレージを使用する際には意識することも少ないかもしれませんが、ストレージを仮想化しようと考えた際には認識することが必要となります。
また、ブロックストレージの仮想化には「ブロックストレージ仮想化アプライアンス」と「スケールアウト型ブロックストレージ」に分けることができます。
ブロックストレージ仮想化アプライアンス
ブロックストレージ仮想化アプライアンスとは、ネットワーク上に配置されるストレージ装置のレベルでブロック仮想化を行う仕組みのことです。
ストレージデバイスとホストの間に位置し、通信を中継しつつブロックの仮想化を行うという働き者です。
ストレージデバイスから独立しているということは、2つのストレージのデータ移行にもブロックストレージ仮想アプライアンスを使用することが可能です。
ストレージの橋渡し的な役割ができるという点では、非常に大きな点なのです。
また、ホストから独立しているという部分が特徴的であり、複数ホストにも対応できる点がメリットと言えます。
通常どのようにストレージを使用しているかと照らし合わせてみるのが良いですね。
スケールアウト型ブロックストレージ
スケールアウト型ブロックストレージは、ブロックストレージ仮想化アプライアンスがホストとストレージデバイスの中間にあったこととは違い、ストレージデバイス内にあります。
複数ストレージを稼働した際、各ストレージは独立していますが、スケールアウト型ブロックストレージによってあたかも一つのストレージが稼働しているように見せるのがこの技術です。
そのため、処理は各ストレージで行われていることでブロックストレージ仮想化アプライアンスとしても分散されるため、構成が大規模になったり扱うデータ処理のリソースが上がった際にも、リソースに余裕を持つことができます。
拡張性に優れていることもあるので、プロジェクトが大きくなった際にも対応が可能なのです。
ファイルストレージの仮想化
ファイルストレージとは、皆さんが日頃パソコンで保存している形式がファイルストレージとなります。
データを保存する際に、ファイルごとに保存していることでイメージがつきやすいかと思います。
ファイルが破損していてデータが読み込めないという警告が出たこともあるかと思いますが、基本的にファイルストレージにはファイルごとにデータが格納されていることから、破損したファイルを開くことができない仕組みになっています。
また、全てのファイルが一覧で出てきた場合、目当てのファイルを探すことが困難となるため、現在採用されているのがフォルダです。
フォルダもファイルストレージ独特のものであり、フォルダで階層を作ることで利便性を高めているのです。
ファイルストレージ仮想化アプライアンス
アプライアンス型のファイルストレージ仮想化も、基本的にはブロックストレージと同様です。
しかし、ファイルストレージに関してはアプライアンスを使用する際には注意が必要です。
仮想ストレージを利用する人数にもよりますが、一気に処理が集中してしまうとアプライアンスは処理を一箇所で行っていることから、追いつかなくなることがあります。
これによって業務が遅くなることも考えられることから、しっかりとした対策をしておく必要があるということです。
しかし、逆にアクセスする人数が少なかったり、バックアップサーバとして使用する場合においては、そこまで処理速とが上がらないことから使用するケースもあります。
スケールアウト型ファイルストレージ
こちらもブロックストレージと同様です。
多くの場合、プロジェクトで使用するファイルストレージを仮想化するのであればスケールアウト型を選択するケースが多いです。
その理由は、処理速度が速くなるという理由が一番です。
ファイルの出し入れに時間を裂かれてしまうと、直接業務に響くことからその心配のないスケールアウト型が選択されます。
各サーバで処理を行ってくれているので、もしあるサーバがダウンしても他のサーバはそのまま作業を進めてくれるというメリットもあることから、サーバダウンの際のリスク軽減にもつながります。
実際にどの程度日中にストレージからファイルを出し入れてしているかを調べてみると、可能なリソースが見えてくるはずです。
お気軽にご相談ください!
ストレージ仮想化の主な方式
それではストレージ仮想化の主な方式について触れていきます。
ストレージ仮想化の方式には4つあり、「ホストベース」「アレイベース」「スイッチベース」「ネットワークベース」があります。
その特徴から、どれが自社に合っているかを選択することがほとんどであり、検討材料の一つにもなっています。
ストレージ仮想化は決定することがたくさんあるので時間はかかるかもしれませんが、それだけ選択肢が多いということを喜べる事案でもあります。
ホストベース
ホストベースは、サーバ側に専用のソフトウェアを導入することで仮想化を実現させる方式のことです。
様々なストレージを混同しなければいけない場合でも、サーバで仮想化を行い処理をしているため、適応できる幅が広いという利点があります。
サーバを仮想化する際のハイパーバイザに付属している機能を利用する際にも、これに当てはまります。
サーバ仮想化に近いイメージでストレージを仮想化できるので、エンジニアもあまり抵抗なく管理することが可能であり、多くがホストベースでストレージ仮想化がおこな分けることが多いです。
最もイメージがつきやすい方式でもあるため、ある程度インフラ経験のあるエンジニアであればすぐになれることができるはずです。
アレイベース
アレイというと聞きなれない言葉ですが、RAIDコントローラで仮想化を行います。
RAIDというのはストレージ内において、どのように分散して保存するかを示すもので、RAID1やRAID3のように、番号でその方法が分かれています。
そのRAIDコントローラが保存先を決めているのですが、保存先だけではなくストレージの仮想化も行ってくれるというものです。
RAIDを最も意識するのはバックアップ作成のときなので、バックアップ用のストレージを構築する際にはアレイベースの仮想化が適しているとも言えるでしょう。
RAIDをどれにするのかまだ決まっていない場合、同時にストレージの仮想化を進めるのも良いかもしれませんね。
スイッチベース
スイッチベースでの仮想化は、文字通りスイッチでストレージの仮想化を行う技術です。
ただし、どのスイッチでも仮想化が行えるわけではありません。
SANスイッチという仮想化できる機能が備わったスイッチでなければいけないため、注意が必要です。
スイッチについても処理能力があることから、現在のネットワークリソースを確認してから導入したほうが良いです。
もしスイッチの処理速度がついていけなくなった場合、処理できずに輻輳が起こりパケットロスしてしまいます。
こうなるとネットワークの遅延が発生し、業務に多大なる影響を及ぼすので注意してください。
もしくは、機能が優れているスイッチにリプレイスすることも検討の一つにしてみてはいかがでしょうか。
ネットワークベース
ネットワークベースはサーバ側のネットワークとストレージ側のSANの間に製品を割り込ませることによって仮想化する技術です。
新たに機器を導入することでコストと技術が必要となりますが、新たな機器を導入して仮想処理を行なってもらうことであまり処理を心配する必要がなくなります。
ただし、物理的な作業が必要になることから、経験がある人が作業を行わなければ周辺機器に故障をきたしてしまう可能性があるので注意してください。
サーバとストレージの間のネットワークなので従来の業務に負担がかかることも少ないため、安心して使用できるのがネットワークベースです。
ストレージ仮想化のまとめ
ストレージの仮想化は現在導入している企業も多く、普及している技術だと言えます。
また、選択肢も多いことからどのような業務で使用するかによって分けられ、自社やプロジェクトに合った仮想化が実現できるとも言えます。
仮想化にあたって技術的な面についても、仮想化自体の技術や保守・運用に関わる技術で必要な技術は異なります。
どの方式で仮想化するかによっても技術は変わるので、エンジニアスキルが試される部分もあります。
とは言え、非常に良い技術であり作業効率化、コストカットにもつながることから是非とも導入したいところです。
現在のエンジニア不足により、実装したいが人が見つからないという企業も多くあります。
その場合、新しい人員を探すよりも外注してみるといった方法もあるので選択肢の一つに加えていただけると嬉しいです。
もし外注をお考えであれば、ストレージ仮想化の相談だけでもJiteraへご相談ください。
経験豊富なスタッフが、きっと力になれるはずです。