システムの構成2~仮想化とRAID~

snack
snack

例えばサーバに3つの役割をさせたい場合、能力的には1つで足りるのにわざわざサーバを3つ用意するのは非効率的っすよね。

ボキタロー
ボキタロー

たしかに。サーバが増えたら管理が大変になるし、コストもかかるよね。

snack
snack

そのとおりっす。そこで、1つのサーバをあたかも複数あるかのように見せかけて、別々の役割を行わせる技術があるんすよ。それが仮想化っす。

仮想化

コンピュータを構成するCPUや記憶装置などのハードウェア資源(リソース)を、ソフトウェアを用いて統合・分割する技術のことを仮想化といいます。ハードウェアのリソースを柔軟に分化したり統合したりすることで、運用の効率化やコストの削減などのメリットがあります。

参考

仮想化の種類には、上述のようなサーバの仮想化(仮想サーバ)のほか、クライアント(ユーザー)が利用するデスクトップ環境を、サーバー上に構築するデスクトップ仮想化(VDI:Virtual Desktop Infrastructure)、複数台のストレージを仮想的に統合し、大容量のストレージとして運用するストレージ仮想化、物理的なネットワーク構成上に異なる仮想ネットワークを構成したり仮想的な専用線を構築するネットワーク仮想化などがあります。

仮想マシン(VM)

仮想マシンVM:Virtual Machine)とは、1台のコンピュータをあたかも複数台のコンピュータであるかのように構成し、異なったOSやアプリケーションソフトウェアを動作させる技術です。仮想サーバ上で、それぞれ異なるバージョンのOSを動作させることができ、物理的なコンピュータのリソースを有効活用できます。

snack
snack

要するに、実際にはない仮想的なマシンを創り出して動かす技術っすね。

マイグレーション

システムやソフトウェア、データなどを別の環境へ移動させることをマイグレーションといいます。

MEMO

マイグレーション(migration)には「移動」や「乗り換え」といった意味があります。

また、仮想サーバで稼働しているOSやソフトウェアを停止することなく、他の物理サーバへ移し替える技術をライブマイグレーションと呼びます。仮想サーバの移行に伴う切り替えによるダウンタイム(サービスを利用できない時間)はほぼゼロのため、可用性を損なうことなくユーザにサービスを提供することができます。

さらっと学習【仮想化の種類】

仮想マシン環境を作り出すソフトには、ホスト型、ハイパーバイザー型、コンテナ型があります。

ホスト型

ホストOS(ハードウェアに直接インストールされたOS)上で仮想化ソフトウェアを実行させ、その上にゲストOS(仮想マシン用のOS)を稼働させる方法です。

snack
snack

他人の家の庭に簡易的なテントを張らせてもらうイメージっす。

ハイパーバイザー型

ホストOSを必要とせず、ハイパーバイザーと呼ばれる仮想化ソフトウェアを物理サーバーへインストールして仮想マシンを稼働させる方法です。ホストOSを必要としないためハードウェアを直接制御することができ、仮想マシンの速度低下を最小限に抑えることができます。

snack
snack

誰のものでもない土地に複数の人が家を建てるイメージっす。電気や水道など(リソース)は土地の管理者(ハイパーバイザー)が各家に割り当てるっす。

コンテナ型

ゲストOSを必要とせず、コンテナと呼ばれる仮想的な空間(他のユーザから独立したアプリケーションの実行環境)を構築し、ホストOSの中でそれらを仮想的に分離して使う方法です。1つのホストOSで稼働するので、プロセッサやメモリの消費は少なくて済み、より多くのコンテナを同時に動かすことが可能であるといったメリットがあります。

snack
snack

他人の家に住まわせてもらって、他人の家の電気や水道など(ハードウェア資源)を使わせてもらうイメージっすね。

MEMO

コンテナ仮想化を用いてアプリケーションを開発・配置・実行するためのオープンプラットフォームであるDocker(ドッカー)が有名です。

クラスタ(クラスタリング)

クラスタ(クラスタリング)とは、ネットワーク上の複数のコンピュータやハードディスクを束ねてあたかも単一のものであるかのように扱う技術です。これにより高い可用性と拡張性を実現します。また、ユーザーは1台のコンピュータとして通常と同じ方法で操作・使用することができます。

MEMO

可用性とは「使いたいときに使える」という意味です。クラスタでは、連携しているコンピュータのどれかに障害が発生した場合には、ほかのコンピュータに処理を肩代わりさせることで、システム全体として処理を停止させないようにします。

snack
snack

仮想マシンが1台のコンピュータをあたかも複数台のコンピュータであるかのように見せかけるのに対し、クラスタは逆に複数のコンピュータを1台のように扱う技術っていうイメージっす。

RAID

複数台のハードディスク(HDD)を組み合わせることで仮想的な1台のハードディスクとして運用し冗長性を向上させる技術をRAID(レイド)といいます。

システム全体を二重化するなどして余裕を持たせ、システムの安全性や信頼性を高めた状態を実現できていることを「冗長性がある」と表現します。

すでにメモリのところで学習したように、ハードディスクにはメインメモリに比べて速度が遅い、ディスク(円盤)が物理的に回転する構造のため故障しやすいといった2つの大きなデメリットがありますが、このデメリットを克服するための技術としてRAIDがあります。

RAIDにはその記録方式の違いによっていくつかのレベルに分かれていますが、ITパスポート試験でよく出題されるのは、RAID0とRAID1です。

RAID0(ストライピング)

複数のハードディスクに、データを交互に分散して書き込むことにより書き込みの高速化を実現します。別名ストライピングとも呼ばれます。RAID0では複数台のハードディスクを1つとして扱うため、内蔵しているハードディスクが1台でも故障すると復旧・アクセスとも不可能になります。

データAをHDD1に書き込んでいる間に、データBをHDD2に書き込みます。その間にデータAの書き込みが終わったら、次にデータCをHDD1へ書き込みます。

RAID1(ミラーリング)

2台のハードディスクに同じデータを書き込むことで、可用性や信頼性の向上を図ります。別名ミラーリングとも呼ばれます。1台のハードディスクが故障してもデータを復旧できますが、2台のハードディスクに同じデータを書き込むため、処理速度が遅くなる、2台で1台分の容量しかデータを保存できないといったデメリットがあります。

A~Fの6つのデータを書き込むのに、ストライピングの倍の6マスの領域を使用しています。このように、ミラーリングではストライピングの半分のデータ量しか保存できません。

さらっと学習【RAID5】

RAID5は、パリティと呼ばれる訂正符号を用いて、ストライピングによる高速化を実現しつつ故障時のデータ復旧にも対応できるようにしたものです。ただし、RAID5には3台以上のハードディスクが必要となる、ハードディスクが2台以上故障した場合は復旧できなくなる、といった弱点もあります。

確認○×問題

問1

1台のコンピュータを論理的に分割し、それぞれで独立したOSとアプリケーションソフトを実行させ、あたかも複数のコンピュータが同時に稼働しているかのように見せる技術を仮想化という。

答え:〇

記述の通りです。コンピュータを構成するCPUや記憶装置などのハードウェア資源(リソース)を、ソフトウェアを用いて統合・分割する技術のことを仮想化といいます。ハードウェアのリソースを柔軟に分化したり統合したりすることで、運用の効率化やコストの削減などのメリットがあります。

問2

1台の物理的なコンピュータ上で、複数の仮想サーバを同時に動作させることによって得られる効果に関する記述a〜cのうち、適切なものは2つある。

a. 仮想サーバ上で、それぞれ異なるバージョンのOSを動作させることができ、物理的なコンピュータのリソースを有効活用できる。

b. 仮想サーバの数だけ、物理的なコンピュータを増やしたときと同じ処理能力を得られる。

c. 物理的なコンピュータがもつHDDの容量と同じ容量のデータを、全ての仮想サーバで同時に記録できる。

答え:×

仮想サーバは、仮想化の技術によって構築された複数の環境を持つサーバです。これにより、それぞれ異なるバージョンのOSを動作させることができ、物理的なコンピュータのリソースを有効活用できます。

a. 適切。記述の通りです。

b.とc. 不適切。仮想サーバは、いわば他人の家や土地(物理的なコンピュータ)に住まわせてもらっているようなイメージで、物理的なコンピュータがもつハードウェア資源を仮想マシンで分け合うことになります。

よって、適切なものはa.の1つとなります。

問3

複数のコンピュータを連携させ、全体を1台の高性能のコンピュータであるかのように利用する。連携しているコンピュータのどれかに障害が発生した場合には、ほかのコンピュータに処理を肩代わりさせることで、システム全体として処理を停止させないようにするシステムをデュプレックスシステムという。

答え:×

設問はクラスタ(クラスタシステム)の説明です。

デュプレックスシステムとは、同じ構成の2つのシステムを用意し、1つを稼働用(主系)、もう1つを待機用(従系)とするシステム構成です。通常の業務では稼働用のシステム利用し、障害発生時には待機用のシステムに切り替えて処理を継続します。

問4

コンテナ型仮想化は、物理サーバのホストOSと仮想化ソフトウェアによって、プログラムの実行環境を仮想化するので、仮想サーバに個別のゲストOSをもたない。

答え:〇

記述の通りです。コンテナ型仮想化は、ゲストOSを必要とせず、コンテナと呼ばれる仮想的な空間(他のユーザから独立したアプリケーションの実行環境)を構築し、ホストOSの中でそれらを仮想的に分離して使う方法です。1つのホストOSで稼働するので、プロセッサやメモリの消費は少なくて済み、より多くのコンテナを同時に動かすことが可能であるといったメリットがあります。

問5

メンテナンスの際に、仮想マシンで稼働しているシステムを停止させずに物理的に異なるコンピュータに移動させる技術をライブマイグレーションという。

答え:〇

記述の通りです。マイグレーション(migration)には「移動」や「乗り換え」といった意味があります。

問6

RAID1(ミラーリング)の特徴として、1つのデータを分割し、2台以上のハードディスクに並行して書き込むことによって、書き込み動作を高速化するといったことが挙げられる。

答え:×

設問の記述はRAID0(ストライピング)の特徴です。RAID1(ミラーリング)は、2台のハードディスクに同じデータを書き込むことで、可用性や信頼性の向上を図ります。

問7

容量が500GバイトのHDDを2台使用して、RAID0、RAID1を構成したとき、実際に利用可能な記憶容量の組合せは、RAID0が1Tバイト、RAID1が500Gバイトである。

答え:〇

記述の通りです。

RAID0(ストライピング)は、複数のハードディスクにデータを交互に分散して書き込むことにより書き込みの高速化を実現します。したがって、単純に500GバイトのHDD2台分の1Tバイト(=500Gバイト×2)が利用可能な記憶容量となります。

一方、RAID1(ミラーリング)では2台のハードディスクに同じデータを書き込むことで、可用性や信頼性の向上を図ります。したがって、HDD2台で1台分の容量しかデータを保存できず、500GバイトのHDDを2台使用した場合の利用可能な記憶容量は500Gバイトとなります。

問8

複数のハードディスクを論理的に一つのものとして取り扱うための方式①~③のうち、構成するハードディスクが1台故障してもデータ復旧が可能なものは2つある。

①RAID5
②ストライピング
③ミラーリング

答え:〇

①RAID5は、パリティと呼ばれる訂正符号を用いて、ストライピングによる高速化を実現しつつ故障時のデータ復旧にも対応できるようにしたものです。

②RAID0(ストライピング)では、複数台のハードディスクを1つとして扱うため、内蔵しているハードディスクが1台でも故障すると復旧・アクセスとも不可能になります。

③RAID1(ミラーリング)では、2台のハードディスクに同じデータを書き込むことで、1台のハードディスクが故障してもデータを復旧することができます。

よって、構成するハードディスクが1台故障してもデータ復旧が可能なものは①RAID5と③ミラーリングの2つです。