この記事について
この記事では、私(新卒1年目)のように最近IT業界に参入された方が読んで、
「この単語はこんな感じの意味合い」ぐらいに理解を深めていただけれるよう書いています。
もちろんスキルアップのために詳しい勉強は必要になってきますが、「本格的な勉強の前に軽く理解したい」「ちょっと度忘れした」、
みたいな時に本記事を活用していただけたら幸いです。
理解しやすいようかなり砕けた言葉遣いで書いております。
今回は第2回目ということで、ストレージに一般的に搭載されている機能についてフォーカスしていきます。
ストレージ効率化機能
重複排除(デ・デュプリケーション)
データをストレージ装置に格納・バックアップする際、重複するデータブロックを1つだけ格納することでストレージの消費容量を削減する技術です。
皆さんも身に覚えあると思いますが、一部書き換えただけのデータ、ファイル名が異なるだけのデータとか保存しちゃうことありますよね?
これらデータを指定バイト数で精査し、既に格納されたデータと重複しているデータは新たに書き込みを行わないように動作します。
↓こんな感じで、内容はそんなに変わらないファイル群の差分だけ保管することで、容量使用を抑えられます。
データ圧縮
「符号化」と呼ばれる、データをある法則(アルゴリズム)で計算して変換することで、
元のデータの内容を損なわずにデータのサイズを減らす方法です。
ストレージ仮想化
仮想的にストレージを管理することで、物理的な制限に捉われない使い方です。
複数のストレージを仮想的に一つのストレージとして管理することもできたり、
逆に一つのストレージを仮想的に複数のストレージとして分割して使うことも可能です。
(VMware)
仮想化という観点から、サーバ仮想化の技術についてご紹介します。
VMwareという会社が提供している、vShpereという商品があります。
1台のサーバ上に複数台の仮想サーバを稼動して、
WindowsやLinuxなど複数のオペレーティングシステムを同時に実行するソフトウェアです。
vSphere上で動作する仮想サーバはそれぞれ独立したサーバとして認識され、
物理サーバが複数台ある環境と同等の操作が可能になります。
この独立したサーバ群が仮想化されたストレージを利用するので、
ストレージとは切っても切れない関係にあります。
データ保護機能
バックアップ
最近は企業で利用するデータのほとんどが、デジタルデータとして保存されています。
しかし、人為的なミス、コンピュータ・ウイルス、機器類の故障、事故、天災などが原因で、データを一瞬にして失う可能性があります。
コンピュータに保存されたデータやプログラムを破損やコンピュータ・ウイルス感染から守るために
別の記憶装置に保管したり、データを復元できる形(後に紹介するsnapshot)で保存することをバックアップといいます。
差分(増分)バックアップ
毎回すべてのデータを保管するのではなく、前回のバックアップ以降の変更分をバックアップの対象とする方法。
ポイント
ここで私考えました、じゃあ差分バックアップした内容はデ・デュプリケーションされて残った部分と一緒なのでは??
しかし考えてみると、少し違う。。
例えば、ディスクにデータがあったとして、差分バックアップを取ったら5GBでした。差分バックアップはこれで完結。
しかし、その取れた5GBのバックアップデータの中から、ディスクが既に持っている部分があるかもしれません。
バックアップの前にデ・デュプリケーションをしたら、今度は差分バックアップの容量が3GBになりました、ということも起こりえるのです。
リストア
システムやディスク、データベースなどが破損したり、不安定になったりした際、復旧・復元すること。
方法として別の記憶装置にバックアップされてあったデータを用いて、データを元の状態に戻すことである。
バックアップ世代管理
バックアップというのは、一般的に毎日だったり毎時のように定期的に取ります。
リストアする時点を柔軟に選択できるように、複数のバージョン(世代)のバックアップを保管する管理方式です。
冗長化
自然災害や障害時の対策の為、システムの構成を通常構成以外に予備の装置などを加えることです。
異常が起こった際、欠損した機能を予備の装置が補ってくれるので、
システム利用者からはシステムの異常を体感することはありません。
フェイルオーバ
故障したコンポーネントで行っていた処理を、代替コンポーネントが引き継ぐことでシステムを継続稼働させます。
ミラーリング機能
データの複製をコピー先のディスクにリアルタイムに転送、保存することです。
元のストレージの複製ができるので(複数でも可)、よりデータを失いにくくなります。
RPO(Recovery Point Objective)
システム障害が発生した時点から、過去の復元したい時点までの時間の目標値です。
事業継続・災害対策を構築する上で重要な指標となります。
例えばRPO=2時間であれば、障害が発生した時点から2時間前までの状態に
復元できるようにバックアップや冗長化の設計・実装を行う必要があります。
RTO(Recovery Time Objective)
システム障害が発生した時点から復元するまでの時間の目標値です。
こちらも事業継続・災害対策を構築する上で重要な指標となります。
逆に言えばどれだけの時間システム停止が許容できるか。
病院、銀行、官公庁などは長時間のシステム停止を許容できないので、
RTOをできるだけ0に近づけられるよう設計しています。
ディザスターリカバリー(DR)
予期しない災害 (地震、火災、水害、テロなど)によって引き起こされる「システム障害を復旧させる作業」という意味。
いかに高信頼なシステムを構築しても、災害などのトラブル時に業務復旧までの損失は無視できません。
しかし、必要となるネットワーク機材や、専用回線維持費を含めた運用コストの課題もあり、
ビジネスクリティカルなシステムを運営している企業はここに莫大な投資を強いられます。
RPO/RTOとコストのバランスを考慮しながら実装方式を検討することが重要です。