JP2021170196A - ストレージシステム及び計算機システム - Google Patents
ストレージシステム及び計算機システム Download PDFInfo
- Publication number
- JP2021170196A JP2021170196A JP2020072668A JP2020072668A JP2021170196A JP 2021170196 A JP2021170196 A JP 2021170196A JP 2020072668 A JP2020072668 A JP 2020072668A JP 2020072668 A JP2020072668 A JP 2020072668A JP 2021170196 A JP2021170196 A JP 2021170196A
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- scan
- virtual volume
- processing unit
- generation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/561—Virus type analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Abstract
【課題】あるボリュームが感染した場合に類似感染リスクの高いボリュームを一括してアンマウントすることにより感染拡大を防止する。【解決手段】マスタ仮想ボリュームを複製した仮想ボリュームを、物理サーバ40の複数の仮想マシン401に対してそれぞれ提供するストレージシステムであって、複数の仮想ボリュームから継続スキャン世代を構成するスナップショット管理部1111と、継続スキャン世代に含まれる複数の仮想ボリュームの重複率に基づいて、少なくとも一つのスキャングループにグルーピングする選出処理部1112と、選出処理部により選出された仮想ボリュームの複製を、ウイルススキャン用サーバにアタッチし、スキャングループに属する複数の仮想ボリュームの一つがウイルスに感染している場合、スキャングループに属する複数の仮想ボリュームを一括して物理サーバ40からアンマウントするパス設定部1114と、を有する。【選択図】図2
Description
本発明は、ストレージシステムに関し、特に効率的にウイルススキャンの実行を可能とする公的な技術に関する。
仮想化環境においては、1台の物理サーバ上に複数の仮想サーバが稼働している。この環境では、複数の仮想サーバが、物理サーバのNIC(Network Interface Card)やメモリなどを共用している。このため、1台の仮想サーバがウイルスに感染した場合、仮想化されていない通常の物理サーバの環境と比較すると、他の仮想サーバへ感染する可能性が高まる。
クラウド事業者によるIaaSが爆発的に普及している昨今、ランサムウェア(wannacry)の世界的な感染拡大による被害が大きくなる傾向にあり、クラウド事業提供側やオンプレミスでVDI(Virtual Desktop Infrastructure)環境を構築している企業のセキュリティ意識が非常に高まっている。
特に、ゼロデイ攻撃の場合はマルウェア侵入時の検知が困難であるため、定期的なバックアップ及び最新状態のアンチウイルスソフトによるスキャンが必要となる。
ウイルスに感染した仮想サーバを短時間かつ安全に復元作業する技術として、特許文献1が挙げられる。
上記特許文献1に記載された復元装置は、仮想マシンの仮想ディスクを格納する仮想ディスク記憶手段の更新情報から、スナップショットを取得して管理情報記憶手段に格納する取得手段と、前記スナップショットの取得後、更新されたウイルスチェックファイルを前記管理情報記憶手段に格納する更新手段と、前記スナップショットに基づいて復元された前記仮想ディスクの内容のウイルスチェックを、更新された前記ウイルスチェックファイルを用いて実行するチェック手段と、前記仮想マシンの感染を検出すると、前記ウイルスチェックで感染が無いと判断された前記スナップショットに基づいて復元された前記仮想ディスクの内容を、前記仮想ディスク記憶手段に格納する復元手段と、を備える。
しかしながら、上記特許文献1では、スナップショット(世代管理)による復旧手段は検討されているが、ストレージ側の複製機能を利用し、大量のVDIが高速に用意できるようになった環境において、ウイルススキャンに要する時間が考慮されていない。
また、上記特許文献1では、ウイルスチェックに時間を要するため、ウイルスチェック中の他のVMへの感染拡大リスクが高まることを防止する点についても言及がない。
大量のVDIを有する仮想化環境において、各VM側でウイルススキャンを実施することは効率が悪く、VDI用の仮想ボリュームを提供するストレージ側でこれを支援することにより、VDI環境を構築する企業側のセキュリティに対する運用コスト低減に繋がる。
そこで、本発明の目的は、あるボリュームが感染した場合に類似感染リスクの高いボリュームを一括してアンマウントすることによる感染拡大を防止する、ストレージシステムを提供することにある。
また、本発明の他の目的は、大量のボリュームが存在する場合に感染リスクの高いボリュームから効率的にウイルススキャンの実行を可能とする、ストレージシステム及び計算機システムを提供することにある。
上記課題を解決するため本発明のストレージシステムの一側面は、マスタ仮想ボリュームを複製した仮想ボリュームを、物理サーバの複数の仮想マシンに対してそれぞれ提供するストレージシステムであって、複数の前記仮想ボリュームから継続スキャン世代を構成するスナップショット管理部と、前記継続スキャン世代に含まれる複数の前記仮想ボリュームの重複率に基づいて、少なくとも一つのスキャングループにグルーピングする選出処理部と、前記選出処理部により選出された仮想ボリュームの複製を、ウイルススキャン用サーバにアタッチし、前記スキャングループに属する複数の前記仮想ボリュームの一つがウイルスに感染している場合、前記スキャングループに属する複数の前記仮想ボリュームを一括して前記物理サーバからアンマウントするパス設定部と、を有する。
本発明によれば、大量のボリュームが存在する場合に感染リスクの高いボリュームから効率的にウイルススキャンの実行を可能になる。
また、本発明によれば、大量のボリュームが存在する場合に感染リスクの高いボリュームから効率的にウイルススキャンの実行が可能となる。
以下の説明において、「メモリ」は、典型的には主記憶デバイスでよい。メモリにおける少なくとも1つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。
また、以下の説明において、「記憶装置」は、1以上のPDEVであり、典型的には補助記憶デバイスでよい。「PDEV」は、物理的な記憶デバイス(Physical storage DEVice)を意味し、典型的には、不揮発性の記憶デバイス、例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)である。
また、以下の説明において、「記憶部」は、メモリ部とPDEV部の少なくとも1つ(典型的には少なくともメモリ部)である。
また、以下の説明において、「処理部」は、1以上のプロセッサである。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。少なくとも1つのプロセッサは、シングルコアでもよいしマルチコアでもよい。
また、少なくとも1つのプロセッサは、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサでもよい。
また、以下の説明において、テーブル形式で情報を表現することがあるが、どのような構造のデータでもよいし、入力に対する出力を発生するニューラルネットワークのような学習モデルでもよい。
また、以下の説明において、テーブル形式で示された情報は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
また、以下の説明において、「プログラム」で実現される機能を主語として処理を説明する場合があるが、プログラムは、処理部によって実行されることで、定められた処理を、適宜に記憶部及び/又はインタフェース部などを用いながら行うため、処理の主語が、処理部(或いは、その処理部を有するコントローラのようなデバイス)とされてもよい。
プログラムは、計算機のような装置にインストールされてもよいし、例えば、プログラム配布サーバ又は計算機が読み取り可能な(例えば非一時的な)記録媒体にあってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
物理サーバは、ストレージシステムに対し、I/O要求を発行する1以上の計算機であり、少なくとも1つの物理的な計算機において、1以上の仮想的な計算機(例えばVM(Virtual Machine))が実行されている。仮想的な計算機は、I/O要求を発行する計算機である。
また、以下の説明において、種々の対象の識別情報として、識別番号が使用されるが、識別番号以外の種類の識別情報(例えば、英字や符号を含んだ識別子)が採用されてもよい。
また、以下の説明において、同種の要素を区別しないで説明する場合には、参照符号(又は、参照符号のうちの共通符号)を使用し、同種の要素を区別して説明する場合は、要素の識別番号(又は参照符号)を使用することがある。
以下、実施例について、図1〜図18を用いて説明する。
図1は、実施例に係る分散ストレージシステムの構成例を示す図である。
分散ストレージシステムは、ストレージシステム10、ウイルススキャン用サーバ20、物理ドライブ群30、物理サーバ40、VDIクライアント50、隔離サーバ60と、を有し、ネットワークを介して接続される。
分散ストレージシステムは、ストレージシステム10、ウイルススキャン用サーバ20、物理ドライブ群30、物理サーバ40、VDIクライアント50、隔離サーバ60と、を有し、ネットワークを介して接続される。
ストレージシステム10は、ストレージコントローラ15を有し、ストレージポート11を介して物理サーバ40からのI/O要求に応じて、データを物理ドライブ群30にライト、あるいは、ドライブ群30からデータをリードする。
ストレージコントローラ15の記憶部14には、ストレージコントローラが管理し、物理サーバ40に対して提供するボリューム(仮想ボリューム)、データを格納するプール、プールを構成するドライブ群30のドライブ31の対応関係が構成情報141として格納されている。
仮想ボリュームは、いわゆる、Thin Provisioningと呼ばれる技術を利用してプールから記憶領域が割り当てられ、データを格納する。
Thin Provisioningでは、仮想的な容量を持つ空の仮想ボリュームへデータがライトされると、プールから仮想ボリューム上の当該LBA領域へページ単位で実体を割当てる。構成情報141は、仮想ボリュームのLBAとプールのLBAとの対応関係をページ単位で管理する情報を持ち、ストレージコントローラがこの情報を更新する。プールは、ページと呼ばれる、例えば、数MBで区切られた固定長単位で管理される。
ストレージ管理装置12の構成情報要求部122は、ストレージコントローラ15の構成情報操作部13に対して、ストレージシステムの構成を要求する。構成情報操作部13は、要求に従って、仮想ボリュームやプール等を作成し、管理する。
ストレージ管理装置12は、LANインタフェース121を有し、ウイルススキャン用サーバ20に接続されている。また、ストレージシステム10は、複数のストレージポート11、102を有し、FCやiSCSIのネットワークを介して、物理サーバ40、ウイルススキャン用サーバ20、隔離サーバ60に接続される。
物理サーバ40は、複数のVDIクライアント50に接続され、複数のVDIクライアント50の処理を実行する複数の仮想マシン(VM)を提供する。
ウイルススキャン用サーバ20は、ストレージシステム10の仮想ボリュームに格納されるデータのウイルススキャンを実行するウイルススキャン部22を有する。ウイルススキャン用サーバ20は、LANインタフェース23で、ストレージ管理装置12に接続され、サーバ部ポート21によって、ストレージシステム10のストレージポート102に接続されている。
隔離サーバ60は、ウイルススキャン部602、ウイルススキャンを実行する復元処理部603と、ストレージシステム10に接続するためのサーバ側ポート601とを有する。
ドライブ群30は、複数のドライブ31を有し、ストレージコントローラ15によって、複数のドライブ31から、例えば、RAID等の冗長化技術を用いて、論理的な記憶装置を構成し、論理的な記憶装置によりプール等の記憶領域を構成する。
構成情報141には、プールのアドレスとドライブとの対応を管理するプール情報、ストレージシステム10が提供する仮想ボリュームを管理するボリューム情報等が含まれる。
図2は、実施例に係るストレージシステムの構成図の一例を示す図である。
ストレージシステム10は、ネットワークインタフェースとなるLANポート116、ストレージポート113と、メモリ111と、処理部となるCPU110と、HDDやSSD等の記憶装置115と、入出力装置112と、LANポート116、ストレージポート113、メモリ111、CPU110、記憶装置115、入出力装置112とを接続するバスのような接続装置114とを有する。ストレージコントローラ15は、少なくとも、CPU110、メモリ111を有し、これらが冗長化された構成としても良い。また、ストレージコントローラ15は、メモリ111として、冗長化されたストレージコントローラと情報を共有する共有メモリ、シェアードメモリを有しても良い。
ストレージシステム10は、ネットワークインタフェースとなるLANポート116、ストレージポート113と、メモリ111と、処理部となるCPU110と、HDDやSSD等の記憶装置115と、入出力装置112と、LANポート116、ストレージポート113、メモリ111、CPU110、記憶装置115、入出力装置112とを接続するバスのような接続装置114とを有する。ストレージコントローラ15は、少なくとも、CPU110、メモリ111を有し、これらが冗長化された構成としても良い。また、ストレージコントローラ15は、メモリ111として、冗長化されたストレージコントローラと情報を共有する共有メモリ、シェアードメモリを有しても良い。
メモリ111は、スナップショット管理部(SS管理部1111)、選出処理部1112、I/O処理部1113、パス設定部1114、GUI処理部1115、を構成するプログラムを格納する。また、管理情報1116を格納する。図2では、理解を容易にするため、SS管理部1111、選出処理部1112、I/O処理部1113、パス設定部1114、GUI処理部1115と機能的に記載したが、CPU110が、メモリ111に格納された各プログラムを実行して、SS管理部1111、選出処理部1112、I/O処理部1113、パス設定部1114、GUI処理部1115等の各機能を実現する。
SS管理部1111、選出処理部1112、I/O処理部1113、パス設定部1114、GUI処理部1115の説明の前に、図3を用いて、本実施例の動作概要を説明する。
図3は、本実施例に係るVDI環境における発明概要の説明図である。
ストレージシステム10のSS管理部1111は、マスタ仮想ボリューム301から、複数の複製を作成する。複数の複製は、仮想ボリュームA302、仮想ボリュームB303、仮想ボリュームC304、仮想ボリュームD305であり、継続スキャン世代を構成する。各複製は、物理サーバ40に提供され、VDIクライアント50によって、利用することができる。尚、図3では、仮想ボリュームA302、仮想ボリュームB303、仮想ボリュームC304、仮想ボリュームD305が、ストレージシステム10の一つのプールに関連付けられ、当該プールは重複排除機能が設定されている。このように、同一のマスタ仮想ボリューム301から複製され、重複排除機能が設定されている同一のプールに関連付けられた仮想ボリュームA302、仮想ボリュームB303、仮想ボリュームC304、仮想ボリュームD305で、継続スキャン世代310を構成する。尚、継続スキャン世代310は、物理サーバ40毎に複数構成されても良い。
ストレージシステム10のSS管理部1111は、マスタ仮想ボリューム301から、複数の複製を作成する。複数の複製は、仮想ボリュームA302、仮想ボリュームB303、仮想ボリュームC304、仮想ボリュームD305であり、継続スキャン世代を構成する。各複製は、物理サーバ40に提供され、VDIクライアント50によって、利用することができる。尚、図3では、仮想ボリュームA302、仮想ボリュームB303、仮想ボリュームC304、仮想ボリュームD305が、ストレージシステム10の一つのプールに関連付けられ、当該プールは重複排除機能が設定されている。このように、同一のマスタ仮想ボリューム301から複製され、重複排除機能が設定されている同一のプールに関連付けられた仮想ボリュームA302、仮想ボリュームB303、仮想ボリュームC304、仮想ボリュームD305で、継続スキャン世代310を構成する。尚、継続スキャン世代310は、物理サーバ40毎に複数構成されても良い。
仮想ボリュームA302、仮想ボリュームB303、仮想ボリュームC304、仮想ボリュームD305に対し、例えば、所定間隔でそれぞれスナップショットを生成する。最初のスナップショットの世代を第0世代、次のスナップショットの世代を第1世代とすると、第0世代から第1世代までの、それぞれの仮想ボリュームの差分量(第1世代の差分)が、A−1(322)、B−1(323)、C−1(324)、D−1(325)として把握される。差分量は、第0世代から第1世代の間に各仮想ボリュームに対するライトデータの量に相当し、スキャン世代320を構成する。
同様に、第1世代から第2世代までの、それぞれの仮想ボリュームの差分(第2世代の差分)は、A−2(332)、B−2(333)、C−2(334)、D−2(335)として把握され、スキャン世代330を構成する。A−1(322)、B−1(323)、C−1(324)、D−1(325)や、A−2(332)、B−2(333)、C−2(334)、D−2(335)をスキャン世代と呼ぶ。
前提として、仮想ボリューム間で重複する重複データ350があるものとして、本実施例の動作概要を説明する。
(第1ステップ)各仮想ボリュームの容量の内、重複データ350が占める割合(重複データ保持率)が高い、仮想ボリュームA302、仮想ボリュームB303、仮想ボリュームD305を、スキャングループ1(361)にグルーピングする。
仮想ボリュームCは、重複データ保持率が低いため、他のスキャングループ2(362)として管理する。
(第2ステップ)グルーピングされたスキャングループ内で差分データが大きい順にソートする。図3には、B−1が最も差分が大きく、A−1が小さい例を示している。
(第3ステップ)各スキャングループで差分量が最も多い仮想ボリュームを代表として複製を作成して代表仮想ボリューム363、364とする。各スキャングループの代表仮想ボリューム間で差分量が多いものからウイルススキャンを実施する。
差分量が多いということは、スナップショットが生成される所定間隔で、ライト量が多く、ウイルス感染の可能性が高いとみなし、優先的にウイルススキャンを実行する対象とする。特に、ランサムウェア等では、データを暗号化して書き換えてしまうため、ライト量が多くなる傾向にあることに着目した。
また、複数の仮想ボリュームを有するスキャングループ1では、差分量の小さい仮想ボリュームD、仮想ボリュームAのスキャンを省略することができる。そのため、多くのVDIのそれぞれに対し、仮想ボリュームを提供する仮想化環境において、スキャン時間の短縮を図ることができる。
(第4ステップ)第3ステップで、代表仮想ボリュームに感染が発見された場合、スキャングループ内に属するすべての仮想ボリュームを物理サーバ40から強制的にアンマウントし、物理サーバ40からアクセスできない状態とする。図3では、スキャングループ1のB−1に対応する仮想ボリュームBが代表仮想ボリューム363となり、仮想ボリュームBに感染が発見された場合、仮想ボリュームBに加え、スキャングループ1(361)に属する他の仮想ボリュームA、仮想ボリュームDも物理サーバ40からアンマウントされる。
(第5ステップ)第4ステップで、アンマウントとされた仮想ボリューム隔離環境で各ボリュームを個別にスキャンし、感染がある仮想ボリュームはリストアして物理サーバ40に再アタッチする。代表仮想ボリュームBの他、個別スキャンで、仮想ボリュームAについても感染があった場合、代表仮想ボリュームBと仮想ボリュームAをリストアする。
(第6ステップ)次のスキャン世代について、第1ステップから第5ステップを実行する。スキャン世代330について処理を実行する。
以上の通り、重複データ保持率の高い仮想ボリューム同士をグルーピングし、スキャングループ内のボリュームが感染した場合に、類似感染リスクの高いボリュームをグループ毎一括アンマウントすることによる感染拡大を防止する。
また、仮想ボリュームの重複データ保持率及びスナップショットの差分量を利用し、スキャン対象のボリュームを絞り込みと優先度付けを行うことにより、多くのVDIに対応するよう多くのボリュームが存在する場合に感染リスクの高いボリュームから効率的にウイルススキャンの実行が可能となる。
図4は、実施例に係る重複率の説明図である。
仮想ボリュームの重複データ保持率のことを、重複率と呼ぶ。つまり、重複率は、重複データを元に仮想ボリューム同士の重複データの保持率である。図4の例では、仮想ボリュームA302と、仮想ボリュームB303には、重複データ401があり、この重複データ401のデータ量が、仮想ボリュームA、Bの容量に占める割合として求めることができる。図4の場合、重複データ401のデータ量が、仮想ボリュームA、Bの容量に占める割合が80%であり、重複率が80%であることを示し、仮想ボリュームCは仮想ボリュームDとの間に重複データ402があり、その割合が、75%であることを示している。
仮想ボリュームの重複データ保持率のことを、重複率と呼ぶ。つまり、重複率は、重複データを元に仮想ボリューム同士の重複データの保持率である。図4の例では、仮想ボリュームA302と、仮想ボリュームB303には、重複データ401があり、この重複データ401のデータ量が、仮想ボリュームA、Bの容量に占める割合として求めることができる。図4の場合、重複データ401のデータ量が、仮想ボリュームA、Bの容量に占める割合が80%であり、重複率が80%であることを示し、仮想ボリュームCは仮想ボリュームDとの間に重複データ402があり、その割合が、75%であることを示している。
図2に戻り、SS管理部1111、選出処理部1112、I/O処理部1113、パス設定部1114、GUI処理部1115から説明を続ける。
SS管理部1111は、ウイルススキャンする継続スキャン世代、スキャン世代の生成、破棄、SSの作成、破棄、世代間の各SSの差分量を管理する。
選出処理部1112は、スキャン世代からスキャングループのグルーピング、各スキャングループから世代間の差分量が大きい仮想ボリュームを代表として選出を行い、代表仮想ボリュームとして複製を行う。
I/O処理部1113は、物理サーバ40からのI/O命令を処理し、データを記憶装置(ボリューム)に書き込みの制御や重複排除処理を実行する。
パス設定部1114は、ストレージシステム10の提供する仮想ボリュームを、物理サーバ40、ウイルススキャン用サーバ20、隔離サーバ60に対しアタッチ、アンマウントの処理を行う。
GUI処理部1115は、管理情報1116に格納されたデータを参照し、入出力装置112に表示する処理を行う。
また、メモリ111に格納される管理情報1116は、図5−6、図8−9の管理情報を格納する。
記憶装置115には、マスタ仮想ボリューム1151、仮想ボリューム1152、スナップショット1153、重複排除データ1154、スナップショット管理情報T70、重複データ管理情報T100を格納する。
マスタ仮想ボリューム1151は、複数の仮想ボリュームのマスタとなるデータを格納するボリュームである。
仮想ボリューム1152は、マスタ仮想ボリューム1151から作成され、それぞれの物理サーバのVDIクライアントに提供されるボリュームである。
スナップショット1153は、複数の仮想ボリュームの各世代の差分データを格納する領域である。
重複排除データ1154は、複数の仮想ボリューム間で重複するデータを格納する領域である。
スナップショット管理情報T70は、各スナップショットを管理する情報であり、その内容は、図7に示す。
重複データ管理情報T100は、複数の仮想ボリュームの重複データを管理する情報であり、その内容は、図10に示す。
<管理情報>
図5は、実施例に係るストレージシステム管理情報の一例を示す図である。
ストレージシステム管理情報T50は、ストレージシステムのメモリ111に管理情報1116として格納され、サーバ51、ポート52、仮想ボリューム53、スナップショット54、LUN55、継続スキャン世代56の各項目を管理する。
図5は、実施例に係るストレージシステム管理情報の一例を示す図である。
ストレージシステム管理情報T50は、ストレージシステムのメモリ111に管理情報1116として格納され、サーバ51、ポート52、仮想ボリューム53、スナップショット54、LUN55、継続スキャン世代56の各項目を管理する。
サーバ51は、物理サーバ、ウイルススキャン装置、隔離サーバ等をストレージに認識させるための情報である。
ポート52は、仮想ボリュームと物理サーバ間を接続するためのストレージ側ポートの情報である。
仮想ボリューム53は、物理サーバ40に割り当てている、スキャンシステムに登録されている仮想ボリューム情報である。
スナップショット54は、仮想ボリュームから取得されているスナップショットに関す情報(図7)である。
LUN55は、ボリュームと物理サーバ間に割り当てるパスの情報である。
継続スキャン世代56は、1つのマスタ仮想ボリュームから複製された仮想ボリュームのグループに対して継続的に世代を作成し、スキャンを行うグループの情報である。
ポート52は、仮想ボリュームと物理サーバ間を接続するためのストレージ側ポートの情報である。
仮想ボリューム53は、物理サーバ40に割り当てている、スキャンシステムに登録されている仮想ボリューム情報である。
スナップショット54は、仮想ボリュームから取得されているスナップショットに関す情報(図7)である。
LUN55は、ボリュームと物理サーバ間に割り当てるパスの情報である。
継続スキャン世代56は、1つのマスタ仮想ボリュームから複製された仮想ボリュームのグループに対して継続的に世代を作成し、スキャンを行うグループの情報である。
各項目の値としては、例えば、図5に示すような値を管理する。
図6は、実施例に係る継続スキャン世代管理情報の一例を示す図である。
継続スキャン世代管理情報T60は、ストレージシステムのメモリ111に管理情報1116として格納され、以下の項目を管理する。各項目は、ID61、マスタ仮想ボリューム62、スキャン対象ボリュームリスト63、VDI個数64、世代間隔65、最大保有世代数66、ウイルススキャンサーバ67、隔離サーバ68、ウイルススキャン装置台数69、ウイルススキャン時間69、ウイルススキャン時間610、ウイルススキャン時間610、スキャン世代611、スキャングループ612、基準重複率613、警告重複率閾値614である。
継続スキャン世代管理情報T60は、ストレージシステムのメモリ111に管理情報1116として格納され、以下の項目を管理する。各項目は、ID61、マスタ仮想ボリューム62、スキャン対象ボリュームリスト63、VDI個数64、世代間隔65、最大保有世代数66、ウイルススキャンサーバ67、隔離サーバ68、ウイルススキャン装置台数69、ウイルススキャン時間69、ウイルススキャン時間610、ウイルススキャン時間610、スキャン世代611、スキャングループ612、基準重複率613、警告重複率閾値614である。
ID61は、継続スキャン世代管理情報のユニーク識別情報である。図3の継続スキャン世代310を識別するための情報である。
マスタ仮想ボリューム62は、複製元となるVDIクライアントのOSイメージが格納されたボリュームの情報である。
スキャン対象ボリュームリスト63は、スキャン対象となるボリューム(VM)のリストの情報である。
VDI個数64は、物理サーバ40で提供するVDIの個数であり物理サーバ40にアタッチする仮想ボリュームの個数の情報である。
世代間隔65は、スナップショットを取得し、各仮想ボリュームに対しウイルススキャンを実施する間隔を示す。また、復旧できる最短の間隔を示す。
最大保有世代数66は、スナップショットを保持しておく世代数で、この値と世代間隔分遡って復旧することが可能である(例えば、最大1024)。
ウイルススキャンサーバ67は、ウイルススキャン用として設定するサーバの情報である。
隔離サーバ68は、サーバ用として設定するサーバの情報である。
ウイルススキャン装置台数69は、ウイルススキャンの用いる装置の台数である。台数増加に伴い各世代でスキャンできる個数が増加し、検出精度が向上する。
ウイルススキャン時間610は、アンチウイルスソフトでVDIをスキャンした場合に要する時間である。アンチウイルスソフトは、利用可能なものであればよい。
スキャン世代611は、世代間隔ごとに作成される、複数のスキャングループを保持する世代の情報であり、図8に示すような情報である。
スキャングループ612は、スキャン世代ごとに複数作成され、スキャン対象のボリューム選定処理においてグルーピングされるボリュームのグループに関する情報である。
基準重複率613は、グルーピングする重複率の基準値である。初期値として利用する。
警告重複率閾値614は、グルーピングされた重複率がユーザの想定を下回った場合に警告と表示するための閾値である。
マスタ仮想ボリューム62は、複製元となるVDIクライアントのOSイメージが格納されたボリュームの情報である。
スキャン対象ボリュームリスト63は、スキャン対象となるボリューム(VM)のリストの情報である。
VDI個数64は、物理サーバ40で提供するVDIの個数であり物理サーバ40にアタッチする仮想ボリュームの個数の情報である。
世代間隔65は、スナップショットを取得し、各仮想ボリュームに対しウイルススキャンを実施する間隔を示す。また、復旧できる最短の間隔を示す。
最大保有世代数66は、スナップショットを保持しておく世代数で、この値と世代間隔分遡って復旧することが可能である(例えば、最大1024)。
ウイルススキャンサーバ67は、ウイルススキャン用として設定するサーバの情報である。
隔離サーバ68は、サーバ用として設定するサーバの情報である。
ウイルススキャン装置台数69は、ウイルススキャンの用いる装置の台数である。台数増加に伴い各世代でスキャンできる個数が増加し、検出精度が向上する。
ウイルススキャン時間610は、アンチウイルスソフトでVDIをスキャンした場合に要する時間である。アンチウイルスソフトは、利用可能なものであればよい。
スキャン世代611は、世代間隔ごとに作成される、複数のスキャングループを保持する世代の情報であり、図8に示すような情報である。
スキャングループ612は、スキャン世代ごとに複数作成され、スキャン対象のボリューム選定処理においてグルーピングされるボリュームのグループに関する情報である。
基準重複率613は、グルーピングする重複率の基準値である。初期値として利用する。
警告重複率閾値614は、グルーピングされた重複率がユーザの想定を下回った場合に警告と表示するための閾値である。
各項目の値としては、例えば、図6に示すような値を管理する。
図7は、実施例に係るスナップショット管理情報の一例を示す図である。
スナップショット管理情報T70は、ストレージシステムの記憶装置115に格納され、以下の項目を管理する。各項目は、ID71、作成元ボリュームID72、作成日時73、差分情報74、差分量75である。
スナップショット管理情報T70は、ストレージシステムの記憶装置115に格納され、以下の項目を管理する。各項目は、ID71、作成元ボリュームID72、作成日時73、差分情報74、差分量75である。
ID71は、スナップショットを特定するユニーク識別情報である。
作成元ボリュームID72は、スナップショットの作成元のボリュームIDである。
作成日時73は、スナップショットの作成日時である。
差分情報74は、作成された時点から次のスナップショットが作成されるまでの差分情報である。
差分量75は、各世代のスナップショットにおける差分量である。
作成元ボリュームID72は、スナップショットの作成元のボリュームIDである。
作成日時73は、スナップショットの作成日時である。
差分情報74は、作成された時点から次のスナップショットが作成されるまでの差分情報である。
差分量75は、各世代のスナップショットにおける差分量である。
スナップショットは、ストレージシステムのメモリ上に作成されている論理的な存在で、データの実体はデータ領域にあり、スナップショットを経由してデータ領域を参照する。VDIクライアントのデータ領域に対して書き込みが行われた時に、もともと存在したデータをユーザからは見えない退避領域に退避させる。この退避されたデータの量が差分量75になり、退避されたデータを参照するための情報が差分情報74となる。
尚、スナップショット管理情報T70は、各スナップショットに対し管理される。
各項目の値としては、例えば、図7に示すような値を管理する。
図8は、実施例に係るスキャン世代管理情報の一例を示す図である。
スキャン世代管理情報T80は、ストレージシステムのメモリ111に管理情報1116として格納され、以下の項目を管理する。各項目は、ID81、作成時刻82、スキャン開始時刻83、スキャン終了時刻84、グループ数85、グループリスト86、グルーピング重複率87、ステータス88である。
スキャン世代管理情報T80は、ストレージシステムのメモリ111に管理情報1116として格納され、以下の項目を管理する。各項目は、ID81、作成時刻82、スキャン開始時刻83、スキャン終了時刻84、グループ数85、グループリスト86、グルーピング重複率87、ステータス88である。
ID81は、スキャン世代を識別する識別情報である。
作成時刻82は、世代を作成した時刻情報である。
スキャン開始時刻83は、この世代のスキャンを開始した時刻情報である。
スキャン終了時刻84は、この世代のスキャンが完了した時刻情報である。
グループ数85は、この世代でグルーピングしたグループの個数(最大値)に関する情報である。
グループリスト86は、この世代でグルーピングしたグループIDの情報である。
グルーピング重複率87は、この世代でグルーピングした重複率の閾値である。
ステータス88は、この世代の状況を示し、スキャン未実行、アンマウント済み(感染)、復旧済み、警告などの状態を示す。
作成時刻82は、世代を作成した時刻情報である。
スキャン開始時刻83は、この世代のスキャンを開始した時刻情報である。
スキャン終了時刻84は、この世代のスキャンが完了した時刻情報である。
グループ数85は、この世代でグルーピングしたグループの個数(最大値)に関する情報である。
グループリスト86は、この世代でグルーピングしたグループIDの情報である。
グルーピング重複率87は、この世代でグルーピングした重複率の閾値である。
ステータス88は、この世代の状況を示し、スキャン未実行、アンマウント済み(感染)、復旧済み、警告などの状態を示す。
各項目の値としては、例えば、図8に示すような値を管理する。
図9は、実施例に係るスキャングループ管理情報の一例を示す図である。
スキャングループ管理情報T90は、ストレージシステムのメモリ111に管理情報1116として格納され、以下の項目を管理する。各項目は、ID91、グループのステータス92、所属ボリュームのリスト93、各ボリュームの差分量94、各ボリュームの状態95である。
スキャングループ管理情報T90は、ストレージシステムのメモリ111に管理情報1116として格納され、以下の項目を管理する。各項目は、ID91、グループのステータス92、所属ボリュームのリスト93、各ボリュームの差分量94、各ボリュームの状態95である。
ID91は、スキャングループを識別するための情報である。
グループのステータス92は、スキャングループの状態を示し、スキャン未実行、スキャン実行中、アンマウント済み(感染)、復旧済みなどの状態を示す。
所属ボリュームのリスト93は、グループに所属する仮想ボリュームのリストである。
各ボリュームの差分量94は、グループ作成時のスナップショットの各仮想ボリュームの差分量である。各仮想ボリュームを識別するためのID毎に差分量が管理される。
各ボリュームの状態95は、仮想ボリュームの状態を示し、未スキャン、正常、感染、復旧済みなどの状態を示す。このボリュームの状態95も、各仮想ボリュームを識別するためのID毎に管理される。
グループのステータス92は、スキャングループの状態を示し、スキャン未実行、スキャン実行中、アンマウント済み(感染)、復旧済みなどの状態を示す。
所属ボリュームのリスト93は、グループに所属する仮想ボリュームのリストである。
各ボリュームの差分量94は、グループ作成時のスナップショットの各仮想ボリュームの差分量である。各仮想ボリュームを識別するためのID毎に差分量が管理される。
各ボリュームの状態95は、仮想ボリュームの状態を示し、未スキャン、正常、感染、復旧済みなどの状態を示す。このボリュームの状態95も、各仮想ボリュームを識別するためのID毎に管理される。
各項目の値としては、例えば、図9に示すような値を管理する。
図10は、実施例に係る重複データ管理情報の一例を示す図である。
重複データ管理情報T100は、ストレージシステムの記憶装置115に格納され、以下の項目を管理する。各項目は、例えば、データ1013、仮想VOLA1014、仮想VOLB1015、仮想VOLC1016、仮想VOLD1017である。
重複データ管理情報T100は、ストレージシステムの記憶装置115に格納され、以下の項目を管理する。各項目は、例えば、データ1013、仮想VOLA1014、仮想VOLB1015、仮想VOLC1016、仮想VOLD1017である。
データ1013は、仮想ボリューム間で重複するデータである。
仮想VOLA1014、仮想VOLB1015、仮想VOLC1016、仮想VOLD1017は、継続スキャン世代を構成し、各仮想ボリュームで重複するデータを格納しているか否かの情報が含まれる。
各仮想ボリュームの各アドレスが退避領域を示すポインタで、差分量を管理しても良い。
図10の例では、データ「1001」は、仮想ボリュームAと仮想ボリュームBに格納されていることを示す。
重複データ管理情報T100の情報に基づいて、重複率を求める。
重複率=仮想ボリューム間の重複データの総量/仮想ボリュームの容量
として把握することができる。
例えば、仮想ボリュームAと仮想ボリュームBの重複データの総量/仮想ボリュームAの容量となる。
重複率=仮想ボリューム間の重複データの総量/仮想ボリュームの容量
として把握することができる。
例えば、仮想ボリュームAと仮想ボリュームBの重複データの総量/仮想ボリュームAの容量となる。
<処理フロー>
図11は、実施例に係る基本動作フローの一例を示す図である。
本実施例の処理が開始されると、SS管理部1111がスナップクローンでマスタ仮想ボリューム301を複製して、複数の仮想ボリュームを作成する(S111)。
図11は、実施例に係る基本動作フローの一例を示す図である。
本実施例の処理が開始されると、SS管理部1111がスナップクローンでマスタ仮想ボリューム301を複製して、複数の仮想ボリュームを作成する(S111)。
ステップS112で、SS管理部1111は、S111で作成した複数の仮想ボリュームに対し、継続スキャン世代310を作成する。作成された継続スキャン世代の情報は、継続スキャン世代管理情報T60に登録される。継続スキャン世代310は、重複排除機能が設定されている同一のプールに関連付けられた仮想ボリュームを対象とする。
ステップS113で、選出処理部1112は、スキャン対象ボリュームを代表して選出する。
ステップS114で、ウイルススキャン部22は、ステップS113で選出され、SS管理部111で複製した代表仮想ボリュームのウイルススキャンを実行する。実行結果は、スキャン世代管理情報T80のステータス88、スキャングループ管理情報T90の各ボリュームの状態95に登録される。
ステップS115で、SS管理部1111は、ウイルスに感染した仮想ボリュームの復元処理を行う。復元処理は、例えば、感染前のスナップショットを用いて仮想ボリュームを過去の観戦していない時点のイメージに復元する。
ステップS116で、SS管理部1111は、古いスキャン世代のスナップショットを破棄する。復元の際に用いたスナップショットより古いスナップショットは、仮想ボリュームの復元のためには必要ないからである。もちろん、その時点でデータ解析を行う場合に古いスナップショットが必要な場合を想定して、破棄することなく保存しておいても良い。その場合は、ステップS116の実行時期は、必ずしも復元処理の後でなくても良い。
図12は、実施例に係るスキャン対象ボリュームの選定処理フローの一例を示す図である。図12の選出処理フローは、図11のステップS113の処理の詳細であり、選出処理部1112によって実行される。
処理が開始されると、ステップS121で、基準となる重複率を設定し、継続スキャン世代管理情報T60の基準重複率613に登録する。
設定された重複率以上のボリューム同士をグルーピングすると、設定する重複率が高くなる。この場合、グルーピングされるボリューム数は少なく、グループ数が多くなる(スキャン対象のボリュームが増加)。
一方、設定する重複率が低い場合、グルーピングされるボリューム数が多く、グループ数が少なくなる(スキャン対象のボリュームが減少)。
よって、高い重複率からグルーピングを開始し、グループ数がスキャン可能個数を以下となるまで動的に調整する。
次に、ステップS122で、重複排除されているデータから重複データの保持率が基準重複率より高い重複率を有する仮想ボリューム同士をグルーピングする。
基準重複率は、ユーザによって初期設定され、継続スキャン世代管理情報T60に設定される。図3の第1ステップに相当する処理である。
次に、ステップS123で、グループの数がスキャン世代管理情報T80のグループ数85に登録されているスキャン可能個数以下であるか判定する。以下の場合、ステップS125に進み、そうでない場合、ステップS124に進む。
「スキャン可能個数について」は、ユーザ入力値である以下の3項目より計算する。
(1)ウイルススキャンに要する時間
(2)世代管理間隔
(3)ウイルススキャン装置の台数
例えば、
ウイルススキャンに要する時間 = 2時間
世代管理間隔 = 12時間
ウイルススキャン装置の台数 = 10台
の場合、
1世代においてスキャン可能個数は12 / 2 x 10 = 60個となる。
(1)ウイルススキャンに要する時間
(2)世代管理間隔
(3)ウイルススキャン装置の台数
例えば、
ウイルススキャンに要する時間 = 2時間
世代管理間隔 = 12時間
ウイルススキャン装置の台数 = 10台
の場合、
1世代においてスキャン可能個数は12 / 2 x 10 = 60個となる。
上記(1)のウイルススキャンに要する時間は、継続スキャン世代管理情報T60のウイルススキャン時間610の情報であり、(2)の世代管理間隔は、世代間隔65の情報であり、(3)のウイルススキャン装置の台数は、ウイルススキャン装置台数69の情報である。
ユーザ入力値(運用環境)である提供するVDI(ボリューム)の個数や前世代のグルーピング閾値を元にユーザがこれら入力値を調整する。
ユーザ入力値(運用環境)である提供するVDI(ボリューム)の個数や前世代のグルーピング閾値を元にユーザがこれら入力値を調整する。
ステップS124では、基準となる重複率を下げて、ステップS122に戻る。これにより、スキャングループを構成する仮想ボリュームの数を適切に設定することができる。 このステップにおいて、例えば、顧客のインフラ要件に合わせてウイルススキャンサーバをスケールアウトすることにより、スキャン効率及び検出率を向上させることができる。また、グルーピング警告閾値を設定しておくことにより、期待値より効率化が有効に働いていない状態となった場合の検知し、ユーザに通知するようにすれば、スケールアウトしスキャン効率向上を計画すべき契機の通知が可能となる。
ステップS125では、スキャングループにおいてスナップショットの差分量で降順にソートする。つまり、スキャングループに複数の仮想ボリュームが属する場合、世代間の差分が大きい順にソートする。図3の第2ステップの処理に相当する処理であり、スナップショット管理情報T70の差分量75に基づいて処理される。
最後に、ステップS126で、各仮想ボリュームで最も差分量が多いものを、代表として選出する。図3の第3ステップに相当する処理である。スナップショット管理情報T70の差分量75に基づいて処理される。
図13は、実施例に係るウイルススキャン処理フローの一例を示す図である。
図13のウイルススキャン処理フローは、図11のステップS114の処理の詳細である。
図13のウイルススキャン処理フローは、図11のステップS114の処理の詳細である。
処理が開始されると、ステップS131で、選出処理部1112は、スキャングループ管理情報T90に基づいて、未スキャンのスキャングループがないか判定し、なければ処理を終了し、あれば、ステップS132に進む。
ステップS132で、選出処理部1112は、スキャン世代管理情報T80のステータス88を参照して、未スキャンのスキャングループが選択する。図3の例で、スキャングループ1(361)が未スキャンの場合、スキャングループ1が選択される。
ステップS133で、SS管理部1111は、未スキャンのスキャングループから選出したボリュームのスナップショットを元に、スナップクローンで仮想ボリュームを複製して代表仮想ボリュームとする。図3では、スキャングループ1(361)の仮想ボリュームBとスナップショットの差分データB−1により、仮想ボリュームBの複製である代表仮想ボリュームを作成する。
ステップS134で、パス設定部1114は、複製したボリューム(代表仮想ボリューム)をウイルススキャン用サーバ20にアタッチし、マウントする。即ち、選出された仮想ボリューム以外のスキャングループに属する仮想ボリュームの複製を、ウイルススキャン用サーバにアタッチしない。これにより、ウイルススキャンの効率を向上させることができる。
ステップS135で、ウイルススキャン用サーバ20のウイルススキャン部22は、代表仮想ボリュームのウイルススキャンを実施する。結果をスキャン世代管理情報T80のステータス88に登録する。
ステップS136で、SS管理部1111は、スキャングループ管理情報T90を参照し、スキャン結果が正常か、すなわちウイルス感染されていないかを判定する。感染していない場合、ステップS139に進み、感染している場合、ステップS137に進む。
ステップS137で、パス設定部1114は、感染している代表仮想ボリュームの所属するスキャングループに所属する全ての仮想ボリュームを物理サーバ40から強制的にアンマウントする。図3の第4ステップに相当する処理である。図3の場合、代表仮想ボリュームBが感染していたら、同じスキャングループに属する仮想ボリュームA、Dも物理サーバ40からアンマウントする。
ステップS138で、GUI処理部1115は、ストレージ管理者に感染を通知するよう、入出力装置112の表示装置(図示せず)に表示する。
ステップS139では、パス設定部1114は、ステップS134でアタッチされた代表仮想ボリュームをウイルススキャン用サーバ20からアンマウントし、ステップS131に戻る。
図14は、実施例に係る復元処理フローの一例を示す図である。図14の復元処理フローは、図11のステップS115の処理の詳細である。
処理が開始されると、SS管理部1111は、ステップS141で、アンマウントされた未復旧のスキャングループがないか、スキャングループ管理情報T90に基づいて判定する。なければ処理を終了し、あれば、ステップS142に進む。
処理が開始されると、SS管理部1111は、ステップS141で、アンマウントされた未復旧のスキャングループがないか、スキャングループ管理情報T90に基づいて判定する。なければ処理を終了し、あれば、ステップS142に進む。
ステップS142では、SS管理部1111は、スキャングループ管理情報T90に基づいて、スキャングループ内に復旧していない仮想ボリュームがあるか判定する。あれば、ステップS143に進み、なければ、ステップS146に進む。
ステップS143で、SS管理部1111は、ステップS142で復旧していない仮想ボリュームの複製を作成する。
ステップS144で、パス設定部1114は、隔離サーバ60に複製された仮想ボリュームをアタッチ、マウントする。
ステップS145で、隔離サーバ60は、各仮想ボリュームの複製に対して、ウイルススキャンを実行し、各ボリュームの感染を確認し、スキャングループ管理情報T90の各ボリュームの状態95に登録する。
ステップS146で、SS管理部1111は、スキャングループ管理情報T90に基づいて、スキャン結果に問題がないか判定し、問題がなければ、ステップS148に進み、問題があれば、ステップS147に進む。
ステップS147では、隔離サーバ60の復元処理部は、過去世代の感染していないスナップショットを用いて、感染が発見された仮想ボリュームをリストアする。
ステップS148で、パス設定部1114は、復旧した仮想ボリュームを隔離サーバ60からアンマウントする。
ステップS149で、パス設定部1114は、復旧した仮想ボリュームを物理サーバ40にマウントする。
図14の処理は、図3の第5ステップに相当する。
<表示画面>
図15は、実施例に係る継続スキャン世代管理情報設定画面の一例を示す図である。図15は、図6の情報の参照例である。
スキャン世代の作成間隔1502、重複率の基準値1503、警告値1504を入力することができる。VDIの一覧1501、スキャンサーバの設定状況1505も同時に表示される。
図15は、実施例に係る継続スキャン世代管理情報設定画面の一例を示す図である。図15は、図6の情報の参照例である。
スキャン世代の作成間隔1502、重複率の基準値1503、警告値1504を入力することができる。VDIの一覧1501、スキャンサーバの設定状況1505も同時に表示される。
ユーザは、マスタ仮想ボリュームを選択し、複製する個数を選択し、図15に示した継続スキャン世代管理情報を設定する。
図16は、実施例に係るスキャン世代一覧を表示した管理画面の一例を示す図である。
スキャン世代の一世代を表示した表示画面例であり、スキャン世代に属する各仮想ボリュームのスナップショット作成時刻1601、スキャン世代のステータス1602、スキャン世代に属するクループ数1603、グループピングのための重複率の閾値1604が表示されている。ステータス1602には、ユーザが設定したグルーピング警告閾値以上でグルーピングされていることをステータスとして示す下回った場合は「Warning」として、ウイルススキャン装置台数の増設検討を促す。
スキャン世代の一世代を表示した表示画面例であり、スキャン世代に属する各仮想ボリュームのスナップショット作成時刻1601、スキャン世代のステータス1602、スキャン世代に属するクループ数1603、グループピングのための重複率の閾値1604が表示されている。ステータス1602には、ユーザが設定したグルーピング警告閾値以上でグルーピングされていることをステータスとして示す下回った場合は「Warning」として、ウイルススキャン装置台数の増設検討を促す。
図17は、実施例に係るスキャン世代詳細情報を表示した管理画面の一例を示す図である。図17は、図8の情報の参照例である。
スキャン世代の概要1701、スキャングループリスト1702、グループ情報1703が表示される。
スキャン世代の概要1701、スキャングループリスト1702、グループ情報1703が表示される。
スキャン世代の概要1701には、スキャン世代のID、スキャンのステータス、実行時間、世代(Snapshot)が作成された時刻、・スキャン開始時間、スキャン終了時間が含まれる。スキャングループリスト1702には、この世代に所属しているグループの情報を表示する。例えば、スキャン世代のステータス、各グループの重複データ保持率、所属しているボリュームの個数、代表ボリューム(スキャン対象のボリューム)名と遷移先が含まれる。グループ情報1703は、グルーピングに関する、グループの数、グルーピング閾値が含まれる。
図18は、実施例に係るスキャングループ詳細情報を表示した管理画面の一例を示す図である。図18は、図9の情報の参照例である。スキャングループの詳細情報である概要1801と所属ボリュームの一覧1802が表示されている。
以上、本実施例のストレージシステムによれば、あるボリュームが感染した場合に類似感染リスクの高いボリュームを一括してアンマウントすることによる感染拡大を防止することができる。
また、本実施例のストレージシステムによれば、大量のボリュームが存在する場合に感染リスクの高いボリュームから効率的にウイルススキャンの実行を可能とすることができる。
また、本実施例のストレージシステムによれば、顧客のインフラ要件に合わせてウイルススキャンサーバをスケールアウトすることにより、スキャン効率及び検出率を向上させることができる。
さらに、加えて要件に合わせグルーピング警告閾値を設定しておくことにより、期待値より効率化が有効に働いていない状態となった場合の検知、つまりスケールアウトしスキャン効率向上を計画すべき契機の通知が可能となる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置いてもよい。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
10:ストレージシステム
11:ストレージポート
110:CPU
111:メモリ
1111:SS管理部
1112:選出処理部
1113:I/O処理部
1114:パス設定部
1115:GUI処理部
1116:管理情報
112:入出力装置
115:記憶装置
12:ストレージ管理装置
14:記憶部
141:構成情報
20:ウイルススキャン用サーバ
22:ウイルススキャン部
30:物理ドライブ
310:継続スキャン世代
320:第1スキャン世代
330:第2スキャン世代
361:スキャングループ1
362:スキャングループ2
40:物理サーバ
50:VDIクライアント
500:ストレージシステム管理情報
60:隔離サーバ
602:ウイルススキャン部
603:復元処理部
11:ストレージポート
110:CPU
111:メモリ
1111:SS管理部
1112:選出処理部
1113:I/O処理部
1114:パス設定部
1115:GUI処理部
1116:管理情報
112:入出力装置
115:記憶装置
12:ストレージ管理装置
14:記憶部
141:構成情報
20:ウイルススキャン用サーバ
22:ウイルススキャン部
30:物理ドライブ
310:継続スキャン世代
320:第1スキャン世代
330:第2スキャン世代
361:スキャングループ1
362:スキャングループ2
40:物理サーバ
50:VDIクライアント
500:ストレージシステム管理情報
60:隔離サーバ
602:ウイルススキャン部
603:復元処理部
Claims (10)
- マスタ仮想ボリュームを複製した複数の仮想ボリュームを、物理サーバの複数の仮想マシンに対してそれぞれ提供するストレージシステムであって、
複数の前記仮想ボリュームから継続スキャン世代を構成するスナップショット管理部と、
前記継続スキャン世代に含まれる複数の前記仮想ボリュームの重複率に基づいて、少なくとも一つのスキャングループにグルーピングする選出処理部と、
前記選出処理部により選出された仮想ボリュームの複製を、ウイルススキャン用サーバにアタッチし、前記スキャングループに属する複数の前記仮想ボリュームの一つがウイルスに感染している場合、前記スキャングループに属する複数の前記仮想ボリュームを一括して前記物理サーバからアンマウントするパス設定部と、を有する
ことを特徴とするストレージシステム。 - 請求項1に記載のストレージシステムにおいて、
前記選出処理部は、
前記継続スキャン世代に属する複数の前記仮想ボリューム間で重複するデータが前記仮想ボリュームの容量に占める割合を重複率とし、基準重複率より高い重複率を有する仮想ボリュームをグルーピングする
ことを特徴とするストレージシステム。 - 請求項2に記載のストレージシステムにおいて、
前記スナップショット管理部は、
前記継続スキャン世代に含まれる複数の前記仮想ボリュームについて複数世代のスナップショットを作成し、
複数の前記仮想ボリュームのそれぞれについて、複数世代のスナップショット間の世代間の差分を管理し、
前記選出処理部は、
前記スキャングループに複数の前記仮想ボリュームが属する場合、世代間の差分が大きい仮想ボリュームを代表として選出し、
前記パス設定部は、
前記選出処理部により選出された仮想ボリュームの複製を、ウイルススキャン用サーバにアタッチする
ことを特徴とするストレージシステム。 - 請求項3に記載のストレージシステムにおいて、
前記パス設定部は、
選出された仮想ボリューム以外の前記スキャングループに属する仮想ボリュームの複製を、ウイルススキャン用サーバにアタッチしない
ことを特徴とするストレージシステム。 - 請求項3に記載のストレージシステムにおいて、
前記選出処理部は、
前記スキャングループの数が、スキャン可能個数を超えている場合、基準重複率をさげた値を用いてグルーピングを行う
ことを特徴とするストレージシステム。 - 請求項1に記載のストレージシステムにおいて、
前記スナップショット管理部は、
前記選出処理部により選出された仮想ボリュームの複製を作成して代表仮想ボリュームとし、
前記パス設定部は、前記代表仮想ボリュームを、前記ウイルススキャン用サーバにアタッチする、ことを特徴とするストレージシステム。 - 複数の仮想マシンを構成する物理サーバと、マスタ仮想ボリュームを複製した仮想ボリュームを物理サーバに提供するストレージシステムと、仮想ボリュームのウイルススキャンを実行するウイルススキャン用サーバと、仮想ボリュームのデータを復元する隔離サーバとを有する計算機システムにおいて、
前記ストレージシステムは、
複数の前記仮想ボリュームから継続スキャン世代を構成するスナップショット管理部と、
前記継続スキャン世代に含まれる複数の前記仮想ボリュームのデータ重複率に基づいて、少なくとも一つのスキャングループにグルーピングする選出処理部と、
前記選出処理部により選出された仮想ボリュームの複製を、前記ウイルススキャン用サーバにアタッチするパス設定部を有し、
前記ウイルススキャン用サーバは、
前記パス設定部によりアタッチされた仮想ボリュームの複製に対して、ウイルススキャンを実行し、
前記パス設定部は、
前記スキャングループに属する複数の前記仮想ボリュームの一つがウイルスに感染している場合、前記スキャングループに属する複数の前記仮想ボリュームを一括して前記物理サーバからアンマウントする
ことを特徴とする計算機システム。 - 請求項7に記載の計算機システムにおいて、
前記選出処理部は、
前記継続スキャン世代に属する複数の前記仮想ボリューム間で重複するデータが前記仮想ボリュームの容量に占める割合をデータ重複率とし、基準重複率より高いデータ重複率を有する仮想ボリュームをグルーピングする
ことを特徴とする計算機システム。 - 請求項8に記載の計算機システムにおいて、
前記スナップショット管理部は、
前記継続スキャン世代に含まれる複数の前記仮想ボリュームについて複数世代のスナップショットを作成し、
複数の前記仮想ボリュームのそれぞれについて、複数世代のスナップショット間の世代間の差分を管理し、
前記選出処理部は、
前記スキャングループに複数の前記仮想ボリュームが属する場合、世代間の差分が大きい仮想ボリュームを代表として選出し、
前記パス設定部は、
前記選出処理部により選出された仮想ボリュームの複製を、前記ウイルススキャン用サーバにアタッチする
ことを特徴とする計算機システム。 - 請求項9に記載の計算機システムにおいて、
前記選出処理部は、
前記スキャングループの数が、スキャン可能個数を超えている場合、基準重複率をさげた値を用いてグルーピングを行う
ことを特徴とする計算機システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020072668A JP2021170196A (ja) | 2020-04-15 | 2020-04-15 | ストレージシステム及び計算機システム |
US17/012,537 US11379143B2 (en) | 2020-04-15 | 2020-09-04 | Storage system and computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020072668A JP2021170196A (ja) | 2020-04-15 | 2020-04-15 | ストレージシステム及び計算機システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021170196A true JP2021170196A (ja) | 2021-10-28 |
Family
ID=78081714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020072668A Pending JP2021170196A (ja) | 2020-04-15 | 2020-04-15 | ストレージシステム及び計算機システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11379143B2 (ja) |
JP (1) | JP2021170196A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11250126B2 (en) * | 2018-09-28 | 2022-02-15 | Acronis International Gmbh | Systems and methods for analyzing process chains to detect malicious behavior |
US11513904B2 (en) * | 2020-12-17 | 2022-11-29 | EMC IP Holding Company LLC | Gold image library management system to reduce backup storage and bandwidth utilization |
US11514100B2 (en) * | 2020-12-17 | 2022-11-29 | EMC IP Holding Company LLC | Automatic detection and identification of gold image library files and directories |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7475427B2 (en) * | 2003-12-12 | 2009-01-06 | International Business Machines Corporation | Apparatus, methods and computer programs for identifying or managing vulnerabilities within a data processing network |
JP2008140300A (ja) * | 2006-12-05 | 2008-06-19 | Hitachi Ltd | ストレージシステム及びウィルス感染拡散防止方法並びにウィルス除去支援方法 |
US7987326B2 (en) * | 2007-05-21 | 2011-07-26 | International Business Machines Corporation | Performing backup operations for a volume group of volumes |
US8930181B2 (en) * | 2012-12-06 | 2015-01-06 | Prashant Parikh | Automatic dynamic contextual data entry completion |
JP6337498B2 (ja) | 2014-02-18 | 2018-06-06 | 日本電気株式会社 | 復元装置、復元システム、復元方法、および、プログラム |
US10762021B2 (en) * | 2016-07-11 | 2020-09-01 | Hitachi, Ltd. | Information processing system, and control method of information processing system |
US11477232B2 (en) * | 2019-07-08 | 2022-10-18 | Acronis International Gmbh | Method and system for antivirus scanning of backup data at a centralized storage |
US11328061B2 (en) * | 2019-07-16 | 2022-05-10 | Acronis International Gmbh | System and method of inspecting archive slices for malware |
-
2020
- 2020-04-15 JP JP2020072668A patent/JP2021170196A/ja active Pending
- 2020-09-04 US US17/012,537 patent/US11379143B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20210326046A1 (en) | 2021-10-21 |
US11379143B2 (en) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9772784B2 (en) | Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure | |
US10120577B2 (en) | Method and system for implementing performance tier de-duplication in a virtualization environment | |
US9286344B1 (en) | Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure | |
US8700871B2 (en) | Migrating snapshot data according to calculated de-duplication efficiency | |
US10127242B1 (en) | Data de-duplication for information storage systems | |
US9940460B1 (en) | Cleaning malware from backup data | |
US9524104B2 (en) | Data de-duplication for information storage systems | |
EP2731013B1 (en) | Backing up method, device, and system for virtual machine | |
US11379143B2 (en) | Storage system and computer system | |
US8386731B2 (en) | Method and system for optimizing live migration of persistent data of virtual machine using disk I/O heuristics | |
US9697093B2 (en) | Techniques for recovering a virtual machine | |
US20120072685A1 (en) | Method and apparatus for backup of virtual machine data | |
US8732411B1 (en) | Data de-duplication for information storage systems | |
US9037547B1 (en) | Backup time deduplication of common virtual disks from virtual machine backup images | |
US20190129971A1 (en) | Storage system and method of controlling storage system | |
WO2015029133A1 (ja) | ストレージシステム及びストレージシステム管理方法 | |
US8566541B2 (en) | Storage system storing electronic modules applied to electronic objects common to several computers, and storage control method for the same | |
JP6568653B2 (ja) | ストレージシステムの管理装置 | |
US9665582B2 (en) | Software, systems, and methods for enhanced replication within virtual machine environments | |
US11709608B2 (en) | Smart de-fragmentation of file systems inside VMS for fast rehydration in the cloud and efficient deduplication to the cloud | |
Dell | ||
WO2017122313A1 (ja) | オブジェクト履歴として表示される情報をクライアントに提供する計算機システム及び計算機 | |
US10831520B2 (en) | Object to object communication between hypervisor and virtual machines | |
US20150052112A1 (en) | File server, storage apparatus, and data management method | |
US20230123478A1 (en) | Two-level logical to physical mapping mechanism in a log-structured file system |