CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
これからシステムの仮想化について15回程度の連載を行なっていきますが、最初に仮想化の歴史を少し俯瞰しておきたいと思います。どの分野でもそうですが、最新の動向を理解するには過去の出来事もおおまかに知っておくと、理解がより早まるのではないでしょうか。
サーバ仮想化と一口に言っても、現状の仮想化の主流はインテル系x86シリーズを利用したサーバにソフトウェアをインストールして利用したものになります。しかし、仮想化技術はホストコンピュータの時代から培われてきました。ホスト・コンピュータでは現在のシステムよりCPUの能力やメモリの容量が圧倒的に足りませんが、効率的に利用できるようにタイムシェアリングシステムとして、CPUの能力を時間分割して活用しています。タイムシェアリングシステムと一つのコンピュータで同時に複数の仕事を行えるようにする仕組みの一つです。CPU利用に関しては、タイムシェアリングシステムの考えで、最新の仮想化技術も実装されています。
また、複数のCPUを利用できるようにするためのSMP(Symmetric Multiprocessing)や、CPUからのメモリアクセスを効率的に実施するNUMA(Non-Uniform Memory Access)なども1990年代以降から本格的に実装された技術です。また、サーバ系のメモリはECC対応メモリと言われますが、ECCはエラー検出訂正(error detection and correction)技術で、1ビットの誤りは補正でき2ビットまでの誤りは検知できる仕組みです。この機能もホストコンピュータの時代から実装されていました。
このように見て行くと仮想化は最新の技術ではありますが、過去の技術を集結した、正に温故知新の技術と言えるのではないでしょうか。最新の仮想化システムの利用に関しても、いくつか考慮する点はありますが、今までのシステム利用を踏まえて、使っていくことができるのではないかと思います。
ストレージの仮想化についても、1980年代後半から研究されている技術です。今でこそ2TBのHDDが街の電気屋さんでも販売されていますが、昔のHDDは「容量が少ない」、「壊れやすい」、「アクセス速度遅い」というように良い所がありませんでした。しかし、RAID(Redundant Arrays of Independent Disks)という技術を利用してこれらの弱点を克服しました。RAIDの詳しいことは後の連載でお話しさせて頂きますが、現在のストレージ仮想化技術もRAIDの技術を更に進化させて実装しています。逆に言うと、ある程度RAIDの知識があれば、少々新しいストレージでも、比較的容易に利用することができるようになるのではないかと考えています。
また、ストレージ仮想化技術に関連してバックアップ技術もいろいろな方法があり、仮想化システムを利用していく上で重要なポイントを占めているので、後の連載でお話させていただきたいと思います。
ストレージの技術もサーバとは切ってもきれませんが、ディスクの容量を提供するだけなので、仮想ネットワークなどの技術と比べると比較的容易に理解できるのではないでしょうか。もっと簡単に言うとストレージはサーバから必要な容量が見えればよく、接続方法をしっかりと理解すれば利用できます。
ネットワーク仮想化も、既存の技術を利用して実装しています。仮想サーバ上には仮想ネットワークスイッチを実装することができますが、基本的に既存のVLAN技術を利用したネットワークスイッチをソフトウェア的に実装しているだけです。既存のVLANに関する知識があればある程度の設計や実装を行うことが可能です。逆に言うと、ネットワーク仮想化の部分が、仮想化技術の中では一番進んでない領域になるのではないかと思います。既存の技術を仮想化に当てはめなければならないので、しっかりとした設計を行わないとトラブルのもとになります。筆者の個人的な見解も一部含みますが、ストレージ仮想化技術よりも、理解するのは難しいかもしれません。
しかし、ネットワーク仮想化の領域も既存のままでいいとは誰も考えていません。データセンター間を効率的にネットワーク接続する技術や、VLANを拡張したVXLAN、また、ネットワーク設定にプログラミングを組み合わせたOpen Flowといった最新のネットワーク技術も開発されていますので、本連載でご紹介する予定です。
以上で、第一回目として仮想化の歴史と機能をサーバ、ストレージ、ネットワークの分野で見てきましたが、いかがでしょうか。最新の技術といっても、過去からの積み重ねで構成されています。全く新しい技術ではありませんので、興味がある方は、仮想化技術に挑戦してみてください。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes