メニュー

ストレージの機能「Snapshot(スナップショット)」とは?その用途や特徴、バックアップとの違いを解説

Sea Shell
目次

このページを共有

庄司 知代 (Tomoyo Shoji)
庄司 知代

企業にとってデータの重要性が増す中、それに伴いストレージの重要性も大きく増しています。そして、企業が大量かつ多様性に富んだデータを高速に処理するためには、ストレージの性能が高いことはもちろん、様々なテクノロジーによって高速処理を支えなければいけません。そんなストレージはデータを高速に処理すること以外にもある役割を担っています。それが「データの可用性を確保すること」です。可用性(Availability)とは、データが「使える」「有用である」という意味であり、転じてデータが如何に保護するのかを意味します。

ストレージのデータ可用性を確保するために欠かせない機能が、本稿のテーマでもある「Snapshot」です。耳にしたことはあるけれど意味までは知らない、でも人にはなかなか聞けない「Snapshot」について解説していきます。

Snapshotとは、「瞬間」を切り取ったもの

データ可用性を確保するためにはRAID構成にするなどストレージ冗長化する方法もありますが、ほとんどの場合、ストレージのバックアップが必要です。バックアップとは、ストレージ内にあるデータのコピーを作り、万が一ストレージ内のデータが破損した際にコピーを使ってシステムやファイルを復元するためのものです。Snapshotはいわば、こうしたバックアップの一種です。

バックアップは一般的に、バックアップソフトウェアを用いてデータをコピーします。この方法は、数年前までは難なく機能していましたが、ストレージに蓄積するデータ量はここ数年で劇的に増加しており、それに加えて24時間稼働し続けなければならないサーバーが増えています。

従って、バックアップが時間通りに完了しない、バックアップ処理がサーバーに負荷をかけてサービスに影響が出る、バックアップのための時間がなかなか取れないといった問題が発生します。

そのためバックアップの技術も年々高度化してきていますが、そこでバックアップの一手法として注目を浴びている技術がSnapshotです。

Snapshotはデータを丸々コピーするのではなく、その瞬間のイメージを作成して、そのイメージを保存します。「イメージ」というのは、あくまで「その瞬間のデータのコピー」を作成したものです。つまりSnapshotを使用すると、ストレージサーバーに保存されているデータの「瞬間」を切り取ってコピーを作成・保存し、システム障害等が起こった際に活用される重要な存在なのです。

Snapshotのメリットとは?

読者の方の中には、Windowsパソコンで「システムの復元」という機能を使ったことがある方も多いかと思います。これは、Windowsに標準搭載されているバックアップ機能であり、Snapshotを活用しています。

パソコンに障害が発生したりウイルスに感染したりすると、「復元ポイント」と呼ばれる時点までパソコンのデータを復旧できる機能です。この「復元ポイント」がストレージにおけるSnapshotに似ています。

詳しい仕組みについては、Snapshotのメリットと共に解説していきます。

  1. 間違ってファイルを削除しても元に戻せる

    ビジネスにとって重要なファイルを削除してしまった場合、何らかの方法でバックアップを取っていないとそのファイルは永遠に失われてしまいます。そうしたリスクを回避するためにバックアップを実施するわけですが、前述のように現代ビジネスでは保存すべきデータ量が非常に多く、通常のバックアップでは問題が発生します。

    それに対してSnapshotは、ストレージサーバーのある「瞬間」を切り取ったものです。実は、Snapshotには元データが含まれておらず、あくまで「瞬間」を切り取ったものなので、通常のバックアップのような問題は発生せず、間違ってファイルを削除しても元の状態に戻すことができます。

  2. ストレージサーバーがウイルスに感染しても元に戻せる

    Snapshotの優れているところは、万が一ストレージサーバーがウイルスに感染したり、何らかのシステム障害によって復旧が困難になった際にもシステムを元の状態に戻せる点です。Snapshotで切り取った「瞬間」にシステムを戻すことで、それまで発生していたウイルス感染やシステム障害を無かったことのようにできます。

  3. 通常のバックアップに比べて作成時間が短い

    Snapshotは通常のバックアップに比べてデータのコピーが非常に高速です。従って素早くバックアップを作成することができます。

  4. 必要な保存容量は元データの1~2割程度で済む

    前述のようにSnapshotはある「瞬間」のイメージを作成するものです。これは元データのフルコピーを意味するため、一見して元データと同じ保存容量を必要とするように思えますが、実際は元データの1~2割程度の保存容量しかありません。そのため、通常のバックアップと比較して使用する保存領域が小さく、システムパフォーマンスに影響を与えることがありません。

  5. Snapshot取得状況が分かる

    Snapshotは管理者の設定によって、定期的・自動的にイメージを作成することができます。その中でSnapshot取得状況を把握できるため、より戦略的なバックアップを行うことが可能でしょう。

Snapshotにもデメリットはあるのか?

もちろん、Snapshotにもデメリットはあります。それは「元データが破損すると復旧が不可能になる」ということです。Snapshotは、実は元データを丸ごとコピーしているわけではありません。分かりやすく言えば、Snapshotを取得した「瞬間」のシステム状態(メタデータ)を記録しているだけです。

たとえば様々な色で作られた積み木で、お城を立てるとしましょう。50%ほど作成した段階で、その積み木のお城を、あらゆる角度から写真に納めます。その後もお城を作りつづけて、80%程完成したあたりで「設計と違っていた」という問題が発覚しました。そこで、先に撮っておいた写真をもとに、50%の段階までお城を直します。この「写真」がSnapshotそのものです。

では、もしも写真の積み木のどれか1つでも破損していたらどうでしょうか?Snapshotとして取った写真の状態にお城を戻すことはもはや不可能です。つまりSnapshotはバックアップの一種として、素早くバックアップを作成できるというメリットがありますが、元データが破損している場合には復旧は不可能ということです。

NetAppのSnapshot

ちなみにNetAppの場合をご紹介します。NetApp製品では、「NetApp WAFL ®(Write Anywhere File Layout)」という独自のファイルシステムを採用しています。そして、当然ではありますが、NetAppが提供するSnapshot技術はデータをまるごとコピーするわけではありません。NetAppでは、ディスクにデータを保存する際には、データ本体に加え、データの格納場所や長さ(容量)、所有者など、データに関する情報を含んだメタデータ(inode)も記録されます。このWAFLにおけるSnapshotでは、データ本体をコピーするのではなくその瞬間のinodeマップ(メタデータの一覧)をコピーするというわけです。inodeマップのデータ容量は小さいうえ、inodeマップがあれば、データ本体を保存しなくても、どこにどのようなデータが保存されていたのかを記録しておくことができるのです。

Snapshotを上手く活用しよう!

Snapshotはデメリットもあるものの、やはり優れたバックアップ手法の1つです。従って、多くの企業にとって昨今のデータ可用性を確認するために欠かせない機能となります。もちろんSnapshot以外にも有用なバックアップ手法は存在し、それらと組み合わせることでデータ可用性を高められます。ぜひ、Snapshotを上手く組み合わせて、データ可用性を確保しましょう。

このブログは2023年8月まで公開していましたストレージチャンネルからの転載となります。

庄司 知代 (Tomoyo Shoji)

庄司 知代

2019年4月よりNetAppに入社。IT業界でのマーケティング業務にて長年に渡り培ってきた経験を活かし、ABM、イベント企画・運営、コンテンツマーケティング、広告など幅広くフィールドマーケティング業務に従事しています。

庄司 知代の投稿をすべて見る

次のステップ

Drift chat loading