2012年5月21日月曜日

ストレージ技術 覚書2

◆アクセス頻度によってストレージを使い分ける「ILM」

 ストレージ仮想化を使った応用的な機能として、ILM(Information Lifecycle Management)がある。ILMは、情報(データ)が生成され、利用され、最終的に破棄されるまでのライフサイクルを、主にアクセス頻度に注目して数段階に分類し、それぞれの段階で適切なストレージ・デバイスを使い分けようという発想だ。

 通常、生成されて間もない「新鮮な」情報は参照/更新ともに高頻度で行われる。この段階の情報は、アクセスが高速なストレージ・デバイスに格納しておかないと業務効率を低下させる要因にもなる。このため、通常は手持ちのストレージ・デバイスの中でも最も新しく最も高速なシステムがこうした用途に充てられる。

 例えば決算期にのみ参照されるデータであれば、保存用のアーカイブ・ストレージに移動しておき、決算期にはそこから取り出してくる、という運用でも効率面での悪影響は軽微にとどまるだろう。むしろ、オンライン・ストレージからめったに参照されないデータを排除することができれば、そのメリットがデメリットをはるかに上回ることが期待できる。

 こうしたデータの移動は、残念ながら人力で実施することが極めて困難だ。日ごと/週ごと/月ごとといった形で定期的に生成されるファイルであれば、ちょっとしたスクリプトを書く程度の手間で半自動化も可能かもしれない。しかし、通常はファイルに対してどの程度の頻度でアクセスが発生しているかの情報を把握することすら困難であり、データを移動してしまうとアプリケーションからデータを見つけることができなくなるなど、さまざまな弊害が出てくる。そのため、ILMはコンセプトとしては分かりやすいものの、実装は簡単ではないソリューションとなっている。

 現実のILMソリューションでは、仮想化技術と組み合わせることで実装上の困難を解消している例が大半だ。

 これには、仮想ボリュームと物理デバイスのマッピングをアプリケーションからは隠ぺいされた形で動的に変更できるという仮想化の特長が生かされている。データをその鮮度とアクセス頻度に応じた物理デバイスに移動しつつ、アプリケーションから見た場合のパスは不変に保つ、といった実装が可能なのは、仮想化技術ならではと言ってよいだろう。

2012年5月20日日曜日

ストレージ技術 覚書1

仮想化技術全般に共通する目標は、物理的なデバイスの詳細を隠ぺいし、制約を回避するために論理的なインターフェースを構築/提供すること、である。


ストレージの場合、基本となる物理的なデバイスとは、個々のHDDのドライブ単体ということになるだろう。

企業の情報システムでは、HDDの単体容量という制約を回避する技術は必須となる。

◆RAIDによるHDDの統合
 HDDの場合、「分割」と「統合」という2つの方向の「仮想化」がどちらも長く利用されてきている。

 まず分割は、パーティション分割としておなじみの手法だ。HDDの容量を分割し、それぞれを独立したHDDのように見せかけることができる。

 一方、統合に関しては、主にRAID(Redundant Arrays of Inexpensive Disks)が用いられてきた。RAIDとは、安価で低信頼のHDDを複数組み合わせて信頼性を確保しようとする技術だが、結果的にHDDの単体容量を超える記憶領域をつくり出し、物理デバイスの制約を超えた運用を可能にする。

 例えば、1TBのHDDを3台用意し、Dドライブ、Eドライブ、Fドライブとして接続したとする。この場合、ユーザーが利用可能な記憶容量は合計で3TBとなるが、この使い勝手は3TBのサイズのドライブが1台接続されている場合と同じにはならない。

どのデータをどのドライブに記憶したか、という情報をユーザーが正確に把握しておく必要があるという問題もあるが、

最大の問題は、1TBを超えるサイズのファイルを記録することができない、という点にある。

仮に、サイズが2.5TBの巨大ファイルがあったとしたら、このファイルを保存するためには最低でも3つの断片に分割して各ドライブに分散して記録し、使用する際にはこの断片をつなぎ合わせるという作業をユーザーが行うことになる。

一方、RAID-0によるストライピングを使う場合、ユーザーは3TBのドライブをDドライブとして使用することが可能になる。ここにはもちろん、2.5TBのサイズのファイルをそのまま記録することができる。物理的な実体としては1TBのドライブが3台あることに変わりはないが、これを統合して仮想的な3TBのドライブを創り出す

◆RAIDの限界
 RAIDで複数のHDDを統合する場合、当然ながら統合対象となるHDDはすべてRAIDコントローラーの配下に接続されている。ユーザーの目から見える具体的なシステム・イメージとしては、外部ストレージの筐体(きょうたい)内に収納されたHDD群が1つのRAIDシステムを構成している、と見える。

 逆に言えば、ストレージが複数台あれば、その数だけのRAIDシステムがあることになり、利用率の不均衡などの無駄が生じる可能性が高い。

 仮想化されたストレージでは、仮想化システムが配下のRAIDシステムの容量を束ねて仮想的なボリュームを創り出し、これに対するインターフェースをサーバー側に提供する。これにより、ストレージ筐体(=RAIDシステム)の境界を越えてボリューム容量を拡張できる。

 現在のエンタープライズ・ストレージでは筐体当たりの最大容量はPBレベルまで達しており、この容量では記録不可能な巨大サイズのファイルを扱うことがあるとは思えないので、筐体をまたがったボリュームの統合は、サイズ的な制約を理由としているわけではない。ここではむしろ、論理的な統合によって運用の効率化や簡素化が実現できることが主たるメリットとなる。

◆仮想化によって得られるメリット
 ストレージ仮想化では、ストレージ・システムの筐体の境界をまたいだ容量の統合が可能になるため、容量を余らせているストレージ・システムの容量を別のストレージ・システムの容量とつなぎ合わせて活用する、といったことが可能になる。システム全体にわたる大規模なボリュームの整理統合を行うことなく、空き容量を活用することができるようになるため、ストレージ・システムを新たに追加購入しなくても当面の容量不足に対応可能となるわけだ。これは、IT投資の抑制にもつながるし、既存のITシステムの利用率を向上させることで投資効果を高めることにもなる。

 また、ストレージ・システムの境界をまたいだ統合は、物理的なデバイスの詳細をサーバー側から隠ぺいすることと同義でもある。サーバー側では、仮想化システムが提供する仮想ボリュームに対してアクセスしており、仮想ボリュームが実際にどの物理デバイスにマッピングされているかについては全く知らされない。

2012年5月19日土曜日

cosminxus

cosminxusでWebサーバを構築をするには、Javaだけの勉強では開発は不可能。
SOAの基礎知識などが必要。
サービス単位でアプリケーションを構築する必要がある。

最近、単なるJavaの教育では、SOAを構築するのは不可能。
今後、技術者の育成が必要。

2012年5月18日金曜日

人材育成

ビジネスで重要なことは新人の育成や中堅社員の教育です。
常識を知っていると考えて社員教育を怠っていると、社員は会社の期待に反して行動します。

時代、そして会社の方向性に沿って社員を育成しましょう。
社員を育成するときに重要なのは、育てる人が当たり前のことでも育てられる人に対して疑問がわくように教えることが必要。

単に怒ったり、感情的な言葉を言うべきではありません。
誰でも教えられるときは、何も知らないし、疑問が若いのは当然と思うことが必要です

愛情をもって接しましょう。

何か人材育成にお困りならばお問い合わせください。

2012年5月17日木曜日

IT教育レジュメの販売開始

IT教育用のレジュメのPDFダウンロードの販売を開始しました。
最初はJavaの基本
  1. プログラム基礎
  2. Java基礎文法
  3. 変数
  4. 演算子
  5. 制御文
2回目以降の予定
Java基礎2 オブジェクト指向
Java基礎3 ファイル処理などのAPIの利用
データベース基礎 データベースおよびSQL
Webプログラミング基礎 Webプログラミング基礎およびHTML
Java応用1 サーブレットとJSP
Java応用2 サーブレットとJSPとデータベースの接続

Java演習講座1 顧客管理の作成
Java演習講座2 商品管理の作成
Java演習講座3 ショッピングサイトの作成

Java上級講座1 Struts
Java上級講座2 Spring