CN106557703A - 安全性检测 - Google Patents
安全性检测 Download PDFInfo
- Publication number
- CN106557703A CN106557703A CN201610214445.9A CN201610214445A CN106557703A CN 106557703 A CN106557703 A CN 106557703A CN 201610214445 A CN201610214445 A CN 201610214445A CN 106557703 A CN106557703 A CN 106557703A
- Authority
- CN
- China
- Prior art keywords
- file
- metadata
- write
- data
- read
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- 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/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/855—Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
-
- 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/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及安全性检测。一种计算机实现的方法、计算机程序产品,包括通过使用写元数据应用写数据来将图像滚动到保护窗口中的时间点,以及检查读元数据、写数据和写元数据以确定图像是否由入侵者访问。
Description
本专利文档的公开内容的一部分可以包含命令格式和其他计算机语言列表,其全部受到版权保护。版权所有人不反对如在专利和商标局的专利文件或记录中出现的由专利文档或专利公开中的任一种的复制,但除此之外任何情况下均保留所有版权。
技术领域
本发明涉及数据复制。
背景技术
计算机数据对当今的组织很重要,并且针对灾难的保护的重大部分关注于数据保护。随着固态存储器已经发展到存储器的成本已经变成相当不重要的因素的点,组织能够负担利用存储和处理兆兆字节的数据的系统进行操作。
传统数据保护系统包括用于定期地存储组织的生产站点数据的磁带备份驱动器。这样的系统遭受若干缺陷。首先,它们要求系统在备份期间关机,因为被备份的数据不能够在备份操作期间被使用。第二,它们将时间点限于生产站点能够恢复的时间点。例如,如果数据每天被备份,则可以在灾难的情况下存在若干小时的丢失数据。第三,数据恢复过程本身花费长的时间。
另一传统数据保护系统通过在次级备份存储系统上创建组织的生产站点数据的副本并且随着变化更新备份来使用数据复制。备份存储系统可以位于与产品存储系统相同的物理位置中,或者位于物理上远程位置中。数据复制系统一般在应用级别处、在文件系统级别处、在管理程序级别处或在数据块级别处操作。
当前数据保护系统尝试提供持续数据保护,这使得组织能够回滚到最近历史内的任何指定时间点。持续数据保护系统目的在于尽可能好地满足两个相互冲突的目的;即(i)使停机时间最小化,在停机时间中组织生产站点数据在恢复期间不可用,以及(ii)实现尽可能接近最近历史内的任何指定时间点的恢复。
持续数据保护通常使用被称为“日记记录(journaling)”的技术,借此保持对备份存储进行的变化的日志。在恢复期间,日记条目用作连续的“撤销(undo)”信息,从而使得备份存储能够回滚到先前时间点。日记记录首先被实施在数据库系统中,并且稍后被扩展到更广阔的数据保护。
持续数据保护的一个挑战是在不使生产站点变慢的情况下备份站点与生产站点的数据事务保持同步的能力。日记记录的开销内在地要求针对在生产站点处的每个数据事务的在备份站处的若干数据事务。因此,当数据事务在生产站点处以高速率发生时,备份站点可能不能够在下一生产站点数据事务发生之前完成对一个数据事务的备份。如果不迫使生产站点变慢,则有必要在备份站处构建未日志记录的数据事务的积压(backlog)。在不能够令人满意地动态地适应变化的数据事务速率的情况下,持续数据保护系统阻塞并且最终迫使生产站点停工。
发明内容
一种计算机实现的方法、计算机程序产品,包括通过使用写元数据应用写数据来将图像滚动到保护窗口中的时间点,以及检查读元数据、写数据和写元数据以确定图像是否由入侵者访问。
附图说明
本文中公开的实施例的目的、特征和优点可以通过结合附图参考下文描述来被更好地理解。附图不意味着限制被包含在本文中的权利要求的范围。为清楚起见,不是每个元素都可以被标记在每个附图中。附图不一定是按比例绘制的,相反着重于说明实施例、原理和概念。因此,本公开内容的特征和优点将从结合附图进行的其示范性实施例的以下具体实施方式而变得更明显,在附图中:
图1是根据本公开内容的实施例的数据保护系统的简化图示;
图2是根据本公开内容的实施例的针对日记(journal)的写事务的简化图示;
图3是根据本公开内容的实施例的对读IO元数据、写IO以及IO命令元数据的复制的简化图示;
图4A是根据本公开内容的实施例的复制IO的方法的简化示例;
图4B是根据本公开内容的实施例的访问时间点的方法的简化示例;
图5是根据本公开内容的实施例的利用读IO数据和写IO数据来访问时间点的简化图示;
图6是根据本公开内容的实施例的在IO在存储层处被拆分的情况下对在管理程序中被复制的读IO元数据、写IO以及IO命令元数据的复制的简化图示;
图7A是根据本公开内容的实施例的复制IO的方法的备选简化示例;
图7B是根据本公开内容的实施例的访问时间点的方法的简化示例;
图8是根据本公开内容的实施例的利用针对虚拟机的读IO数据和写IO数据来访问时间点的简化图示;
图9是根据本公开内容的实施例的在IO在管理程序中被拆分的情况下对在该管理程序中被复制的读IO元数据、写IO以及IO命令元数据的复制的简化图示;
图10A是根据本公开内容的实施例的复制IO的方法的备选简化示例;
图10B是根据本公开内容的实施例的访问时间点的方法的简化示例;
图11是根据本公开内容的实施例的利用针对虚拟机的读IO数据和写IO数据来访问时间点的备选简化图示;
图12是根据本公开内容的实施例的可以利用本文描述的技术的装置的实施例的示例;以及
图13是根据本公开内容的实施例的被体现在计算机可读存储介质上的可以利用本文描述的技术的方法的实施例的示例。
具体实施方式
通常,在高级持续性威胁(APT)期间,攻击者读取要窃取的数据,对其进行加密并且之后通过WAN将其发送。一般地,由于所发送的数据被加密,所以非常难以知道哪些文件被窃取。在某些实施例中,本公开内容可以使得能够检测在盗窃的时间处访问了哪些文件并且可以允许检测什么被窃取。在其他实施例中,对在时间点处未授权访问的通知可以使得复制图像能够滚动到该时间点。在许多实施例中,可以针对保护窗口中的时间点保持读元数据和写数据,从而使得能够针对该保护窗口内的时间点来检查读访问和写访问。在许多实施例中,保护窗口可以对应于这样的时间段,针对这样的时间段对应于到LUN、LUN的组或一致性组的读访问和写访问的日志或日记被保持。在许多实施例中,读活动和写活动可以包括命令数据和命令。
在一些实施例中,拆分器可以被配置为将到达LU的读命令的元数据发送到日记。在许多实施例中,除了写IO数据之外,日记可以存储读元数据。在某些实施例中,命令也可以被存储在日记中。在大多数实施例中,可以能够检测在复制窗口期间的任何时间点处的针对磁盘的读活动和针对磁盘的写活动两者。
在某些实施例中,使用来自读元数据和写数据的跟踪,系统可以能够在时间点处查看。在许多实施例中,可以能够滚动到感兴趣的时间点。在大多数实施例中,可以能够解析文件系统并检测在该时间点访问(读和/或写入)了哪些文件。在实施例中,可以能够检测在时间段期间创建了哪些文件。在某些实施例中,可以能够确定在该时间点访问了哪些文件。在许多实施例中,可以能够检测是否创建了加密文件以及加密文件对应于哪个文件或哪些文件。在一些实施例中,这在日记可以包含写的数据和对应于读的元数据时可以是可能的。在大多数实施例中,这可以使得能够自动检测在APT期间哪些文件可能已经被窃取。
在一些实施例中,对读元数据和写数据的拆分可以在存储级别处来执行并且APT本身可能不能够隐藏访问并且可能不能够检测APT正在被监控。在其他实施例中,拆分器可以位于管理程序中。在另外的实施例中,拆分器可以位于虚拟机中。在大多数实施例中,除了读元数据和写数据之外,还可以捕获命令数据。
在大多数实施例中,驻存在管理程序的外部的拆分器可以将由管理程序在存储层处写入的IO拆分到复制器。在某些实施例中,拆分器可以向数据保护器发送与管理程序的读IO有关的信息。在许多实施例中,存储在存储层中的拆分器可以拆分与读IO有关的元数据信息。在其他实施例中,存储在管理程序中的拆分器可以拆分与读IO有关的元数据。
在另外的实施例中,通过记录与IO有关的元数据,可以理解哪些文件由哪些机器(物理的或虚拟的)访问。在许多实施例中,记录与读IO有关的元数据可以使得能够重新创建由机器(物理的或虚拟的)执行的每个活动。在许多实施例中,结合写IO活动,可以创建机器的动作的完整画面。在一些实施例中,如果拆分器位于存储层中,机器(物理的或虚拟的两者)可能无法检测它的写IO和读IO正在被记录。在其他实施例中,如果拆分器被放置在VM中,虚拟机可以能够检测IO正在被拆分器跟踪。在一些实施例中,读取特定文件或文件组可以指示可疑活动。
根据由Scott&Scott LLP在700个企业中进行的研究,85%的调查对象确认他们已经是安全漏洞的受害者。在许多实施例中,对关于虚拟机的安全性的挑战可能在于在虚拟机环境中虚拟机出现和消失。在许多实施例中,这可能导致危险的安全性问题。在一些实施例中,来自虚拟机的威胁可以来自诸如雇员的内部威胁或诸如黑客的外部威胁。
通常,管理程序可以用作针对一个或多个虚拟机的容器或虚拟环境。传统上,虚拟机可以与管理程序中的资源交互,并且虚拟机可以不知道其不是物理机器。一般地,管理程序可以将资源提供给虚拟机。通常,管理程序将诸如LUN和处理能力的物理资源转化成能够由虚拟机使用的资源。传统上,管理程序将一个或多个虚拟机磁盘一起存储在物理存储上或LUN上的虚拟机文件系统中。通常,虚拟机文件系统可以表现为用于在管理程序的外部处理的单个文件。一般地,可以在虚拟化环境中创建和删除虚拟机。通常,一些虚拟机长期存在,而其他虚拟机存在短的时间段并且针对特定任务而被创建。在本文的某些实施例中,应用可以指代可疑活动。在许多实施例中,可疑活动可以指示不寻常的并且可能指示黑客或其他数据漏洞的活动。
在如本文使用的某些实施例中,可以参考存储层。在大多数实施例中,存储层可以在管理程序内部的虚拟机的外部并且对其不可见。在许多实施例中,管理程序层可以提供对物理存储或存在于管理程序的外部的逻辑存储进行抽象的抽象层。在几乎所有实施例中,虚拟机可以忽略并且不能够检查在管理程序的外部的存储层。
在大多数实施例中,如果某个人具有对虚拟基础设施的访问,则一般地该人可以能够造成对该环境的重大损害。在许多实施例中,如果攻击者破坏攻击者正在使用的虚拟机,则可能不存在虚拟机的内容的记录。在某些实施例中,如果攻击者具有对虚拟基础设施的访问,则攻击者可以能够删除日志并掩蔽或移除任何创建的虚拟机的存在的证据。
在一些实施例中,与被破坏的虚拟机相关联的数据的指示可以是管理程序的审计日志,其可以包括VM的创建时间和删除时间。典型的备份技术可能不是足够好到在VM可能在备份窗口内被创建和删除时跟踪被破坏的虚拟机做了什么,而在备份发生时留下VM的极少跟踪或者无跟踪。通常,如果备份窗口是每天的,则用户可能仅仅知道哪些VM在一天中进行备份的时间存在。在一些实施例中,具有对管理程序的审计日志的访问的用户可以能够删除日志,或者日志可以在生产环境中被损坏。在其他实施例中,如果仅仅VM的创建时间和删除时间可用,则极少的分析可以在该VM上进行。
在一些实施例中,VM数据被存储在其上的一个或多个LUN的复制可以使得能够访问已经被删除的VM。在某些实施例中,包含管理程序的数据存储的LUN的复制可以来自使用持续数据保护技术的后端存储阵列。在大多数实施例中,在存储阵列处的复制可以在管理程序的外部并且从管理程序内不可到达。在许多实施例中,管理程序内的虚拟机可能无法检测管理程序的外部或存储阵列上的复制。在某些实施例中,使用虚拟机的攻击者可能不具有检测虚拟机的动作正在物理基础设施中被跟踪的知识或者无法检测虚拟机的动作正在物理基础设施中被跟踪。
在一些实施例中,存储层拆分器可以创建包含虚拟机连同实现对包含虚拟机的卷的任何时间点的访问的日记的管理程序的虚拟机文件系统的镜像副本。在大多数实施例中,拆分IO可以实现对给定保护窗口内的任何时间点的访问。在许多实施例中,拆分IO可以跟踪在虚拟环境中发生的每个IO。在某些实施例中,拆分IO可以创建被写入到生产站点以供稍后分析的IO的持续数据保护副本。在一些实施例中,拆分IO可以创建被写入到复制站以供稍后分析的IO的持续数据保护副本。在许多实施例中,系统可以定期地使用拆分IO来访问时间点。在某些实施例中,被访问的时间点可以被用于将VMFS安装到复制器。在大多数实施例中,被安装的VMFS可以被分析以确定与虚拟环境有关的信息。在一些实施例中,与虚拟环境有关的信息可以包括多少虚拟机存在并且虚拟机正在访问哪些文件。
在至少一些实施例中,复制器可以解析VMFS。在一些实施例中,复制器可以在给定时间点创建当前可用的VM的数据库。在某些实施例中,复制器可以在时间点处安装VMDK并且将VMDK内的文件列表添加到数据库。在许多实施例中,数据库可以包括诸如谁或什么过程创建VM的审计信息。在大多数实施例中,使用持续数据保护,在给定时间帧内的任何时间点可以被访问,这可以实现对该时间窗口内创建或破坏的任何虚拟机的访问。在几乎所有实施例中,对保护窗口内的虚拟机的访问可以实现对该保护窗口内的该虚拟机的活动的分析。
在另外的实施例中,如果发现可疑活动,则可以搜索数据库并且可以修复可疑虚拟机。在一些实施例中,分析引擎可以运行在虚拟机的数据库上以查找可疑活动。在某些实施例中,太频繁地创建或删除一个或多个VM可以表示可疑活动。在其他实施例中,给定文件名或文件内容可以表示可疑活动。
在大多数实施例中,当在后端存储阵列上执行复制时,不具有对该存储阵列的访问的个人可能不能够损坏或隐藏该存储阵列上的数据,即使该人或过程具有对虚拟化层和管理程序层的完全访问。在许多实施例中,可以在复制存储处的复制器处执行处理并且该处理可能不干扰运行在生产环境中的虚拟机或不会引起运行在生产环境中的虚拟机注意。在许多实施例中,持续数据保护(CDP)监控可以使得能够跟踪可疑虚拟机的活动并将虚拟机恢复到任何时间点。在许多实施例中,能够恢复虚拟机中的变化可以导致与漏洞有关的信息。
下文可以有助于理解说明书和权利要求书:
备份站点——可以是经复制的生产站点数据被存储在其中的设施;备份站点可以位于远程站点中或位于与生产站点相同的位置处;备选站点可以是虚拟站点或物理站点;备份站点可以被称为镜像站点或复制站点;
克隆——克隆可以是一幅或多幅图像的副本或克隆,在第二位置处的第一位置的一个或多个驱动器;
差量标记流——可以是指对在生产站点与复制站点之间的差量的跟踪,其可以包含改变的位置的元数据,差量标记流可以持续地被保持在复制的生产站点处的日记上,DPA基于差量标记流知道哪些位置在生产与镜像之间不同并将它们传输到镜像以使两站点相同。
DPA——可以是数据保护器,计算机或计算机集群、或者用作数据保护器的过程的集合,其负责包括尤其对存储系统的数据复制和由主控计算机向存储系统发出的I/O请求的日记记录的数据保护服务;DPA可以是物理设备、虚拟设备运行或者可以是虚拟设备和物理设备的组合。
RPA——可以是复制保护器,是DPA的另一名称。RPA可以是虚拟DPA或物理DPA。
主机——可以是运行向一个或多个存储系统发出I/O请求的至少一个数据处理应用的至少一个计算机或计算机网络;主机是具有SAN的发起者;主机可以是虚拟机。
主控设备——可以是主机中的、到逻辑存储单元的内部接口;
图像——可以是逻辑存储设备的在特定时间点处的副本;
发起者——可以是SAN中的发出I/O请求的节点;
日记——可以是向存储系统发出的写事务的记录;被用于维护复制的存储系统,并且被用于将复制的存储系统回滚到先前时间点;
逻辑单元——可以是由存储系统提供的用于访问来自存储系统的数据的逻辑实体;
LUN——可以是用于标识逻辑单元的逻辑单元号;还可以指代一个或多个虚拟磁盘或虚拟LUN,其可以对应于一个或多个虚拟机。如本文所使用的,LUN和LU可以互换地被用于指代LU。
管理和部署工具——可以提供用于通过虚拟环境管理工具来部署、控制和管理RP解决方案的装置。
物理存储单元——可以是用于将数据存储在能够通过地址访问的存储位置中的物理实体,诸如磁盘或磁盘阵列;
生产站点——可以是一个或多个主控计算机在其中运行将数据写入到存储系统并从存储系统读取数据的数据处理应用的设施;可以是虚拟站点或物理站点。
SAN——可以是发送和接收I/O和其他请求的节点的存储区域网络,该网络中的每个节点是发起者或目标,或者发起者或目标两者;
源侧——可以是数据复制工作流程内的数据的发送器,在正常操作期间生成站点是源侧;并且在数据恢复期间备份站点是源侧;可以是虚拟站点或物理站点。
快照——快照可以指代图像的差异表示,即快照可以具有到原始卷的指针,并且可以指向针对改变的位置的日志卷。快照可以被组合成快照阵列,其可以表示在一定时间段上的不同图像。
存储系统——可以是提供用于由多个SAN发起者访问的多个逻辑单元的SAN实体。
目标——可以是SAN中的答复I/O请求的节点;
目标侧——可以是数据复制工作流程内的数据的接收器;在正常操作期间后端站点是目标侧,并且在数据恢复期间生产站点是目标侧;可以是虚拟站点或物理站点。
WAN——可以是连接本地网络并使得它们能够彼此通信的广域网,诸如互联网。
拆分器/保护代理:可以是运行在生产主机交换机或存储阵列上的代理,其能够拦截IO并将它们拆分到DPA和存储阵列、使IO失效、对IO进行重定向或者对IO进行任何其他操纵;拆分器或保护代理可以在物理系统和虚拟系统两者中使用。拆分器可以处于系统的IO栈中并且可以位于针对虚拟机的管理程序中。在本文可以被称为开放式复制器拆分器(ORS)。
虚拟卷:可以是由虚拟化层暴露给主机的卷,虚拟卷可以跨越在多于一个站点和/或卷上
VASA:可以是允许管理员管理存储的vCenter提供商的集合。
VMFS:可以是虚拟机文件系统,由VMware提供的用于存储虚拟机的文件系统。
VMDK:可以是包含VMFS中的磁盘数据的虚拟机磁盘文件。类似于块存储阵列中的LUN。在一些实施例中,VMDK可以具有文件系统。在某些实施例中,文件系统可以是NTFS。在其他实施例中,文件系统可以是FAT。在另外的实施例中,文件系统可以是FAT32。在另外的其他实施例中,文件系统可以是ext4。
虚拟RPA(vRPA)/虚拟DPA(vDPA):可以是运行在VM中的DPA。
VASA可以是针对存储感知的vSphere存储应用程序接口(API)。
在拆分器上标记(MARKING ON SPLITTER):可以是拆分器中的其中经拦截的IO不被拆分到器具和存储,但是改变(元数据)在列表和/或位图中被跟踪并且I/O立即向下被发送到IO栈的模式。
全部失效模式(FAIL ALL MODE):可以是拆分器中的、其中由拆分器拦截的所有写IO和读IO都没能到主机但是如读能力的其他SCSI命令被服务的卷的模式。
经日志记录的访问:可以是由器具和拆分器提供的访问方法,其中器具将一致性组的卷滚动到用户所请求的时间点并使主机访问第一写基础上的副本中的卷。
虚拟访问:可以是由器具和拆分器提供的访问方法,其中器具将来自特定时间点的虚拟卷暴露给主机,针对虚拟卷的数据部分地被存储在远程副本上并且部分地被存储在日记上。
CDP:持续数据保护,可以指代卷或卷的集合连同允许任何时间点访问的日记的完整镜像,CDP副本处于相同站点处,并且可能是生产站点的相同存储阵列。
CRR:持续远程镜像可以指代卷或卷的集合连同允许在生产卷的远程的站点处并且在单独的存储阵列上的任何时间点访问的日记的完整镜像。
日记记录和与日记记录相关联的一些技术的描述可以在标题为“METHODS AND APPARATUS FOR OPTIMAL JOURNALING FORCONTINUOUS DATA REPLICATION”并且专利号为7,516,287以及标题为“METHODS AND APPARATUS FOR OPTIMALJOURNALING FOR CONTINUOUS DATA REPLICATION”并且专利号为8,332,687的专利中进行描述,将它们通过引用并入本文。同步复制和异步复制的描述可以在标题为“DYNAMICALLY SWITCHINGBETWEEN SYNCHRONOUS AND ASYNCHRONOUSREPLICATION”并且专利号为8,341,115的专利中进行描述,将其通过引用并入本文。
图像访问的讨论可以在于2010年12月16日提交的被授予给EMC公司的标题为“dynamic lun resizing in a replication environment”的美国专利申请No.12/969,903中找到,将其通过引用并入本文。
对使用五个状态日记记录过程的实施例的描述
现在参考图1,图1是根据本发明的实施例的数据保护系统100的简化图示。在图1中示出了两个站点;站点I,其是在右边的生产站点,以及站点II,其是在左边的备份站点。在正常操作下,生产站点是系统100的源侧,并且备份站点是系统的目标侧。备份站点负责复制生产站点的数据。附加地,备份站点使得站点I的数据能够回滚到较早时间点,其可以在灾难的数据损坏的情况下被使用或者备选地以便查看或访问来自较早时间点的数据。
在正常操作期间,复制数据流的方向从源侧去往目标侧。然而,用户有可能反转复制数据流的方向,在这种情况下站点I开始表现为目标备份站点,而站II开始表现为源生产站点。复制方向的这样的变化被称为“故障转移(failover)”。故障转移可以在生产站点处发生灾难的情况下或出于其他原因而被执行。在一些数据架构中,站点I或站点II表现为针对所存储的数据的一部分的生产站点,并且同时表现为针对所存储的数据的另一部分的备份站点。在一些数据架构中,所存储的数据的一部分被复制到备份站点,并且另一部分不被复制到备份站点。
生产站点和备份站点可以彼此远离,或者它们可以都位于彼此本地的共同站处。本地数据保护具有使在目标与源之间的数据滞后最小化的优点,并且远程数据保护具有在源侧处发生灾难的情况下健壮的优点。
源侧和目标侧经由广域网(WAN)128通信,但是其他类型的网络也能够适用于本发明。
根据本发明的实施例,系统100的每侧包括经由存储区域网络(SAN)耦合的三个主要部件;即,(i)存储系统,(ii)主控计算机,以及(iii)数据保护器(DPA)。具体参考图1,源侧SAN包括源主控计算机104、源存储系统108和源DPA 112。类似地,目标侧SAN包括目标主控计算机116、目标存储系统120和目标DPA 124。
一般地,SAN包括一个或多个设备,其被称为“节点”。SAN中的节点可以是“发起者”或“目标”,或者两者。发起者节点是能够发起对一个或多个其他设备的请求的设备;并且目标节点是能够答复由发起者节点发送的诸如SCSI命令的请求的设备。SAN还可以包括网络交换机,例如光纤通道交换机。在每个主控计算机与其对应的存储系统之间的通信链路可以是适合于数据传输的任何适当的介质,例如光纤通信通道链路。
在本发明的实施例中,主机与其对应的存储系统使用小型计算机系统接口(SCSI)命令来通信。
系统100包括源存储系统108和目标存储系统120。每个存储系统包括用于存储数据的物理存储单元,诸如磁盘或磁盘阵列。通常,存储系统108和120是目标节点。为了使得发起者能够向存储系统108发送请求,存储系统108暴露向其发出命令的一个或多个逻辑单元(LU)。因此,存储系统108和120是提供用于由多个SAN发起者访问的多个逻辑单元的SAN实体。
逻辑单元是由存储系统提供的用于访问存储在存储系统中的数据的逻辑实体。逻辑单元由唯一的逻辑单元号(LUN)标识。在本发明的实施例中,存储系统108暴露被指定为LU A的逻辑单元136,并且存储系统120暴露被指定为LU B的逻辑单元156。
在本发明的实施例中,LU B被用于复制LU A。因此,LU B被生成为LU A的副本。在一个实施例中,LU B被配置使得其大小与LU A的大小相同。因此针对LU A,存储系统120用作针对源侧存储系统108的备份。备选地,如上文所提到的,存储系统120的一些逻辑单元可以被用于对存储系统108的逻辑单元进行备份,并且存储系统120的其他逻辑单元可以被用于其他目的。此外,在本发明的某些实施例中,存在对称复制,借此存储系统108的一些逻辑单元被用于复制存储系统120的逻辑单元,并且存储系统120的其他逻辑单元被用于复制存储系统108的其他逻辑单元。
系统100包括源侧主控计算机104和目标侧主控计算机116。主控计算机可以是一个计算机、或者多个计算机、或者分布式计算机的网络,每个计算机包括尤其传统CPU、易失性存储器和非易失性存储器、数据总线、I/O接口、显示接口和网络接口。一般地,主控计算机运行至少一个数据处理应用,诸如数据库应用和电子邮件服务器。
一般地,主控计算机的操作系统创建针对由主控计算机SAN中的存储系统暴露的每个逻辑单元的主控设备。主控设备是主控计算机中的逻辑实体,主控计算机可以通过主控设备来访问逻辑单元。在本发明的实施例中,主控设备104标识LU A并生成对应的主控设备140,其被指定为设备A,主控设备104能够通过设备A来访问LU A。类似地,主控计算机116标识LU B并生成对应的设备160,其被指定为设备B。
在本发明的实施例中,在持续操作的过程中,主控计算机104是SAN发起者,其使用例如SCSI命令通过主控设备140向LU A发出I/O请求(写操作/读操作)。这样的请求一般利用包括特定设备标识符的地址、设备内的偏移和数据大小被发送到LU A。偏移一般被对齐到512字节块。由主控计算机104发出的写操作的平均大小可以例如是10千字节(KB);即,20个块。针对每秒50兆字节(MB)的I/O速率,这对应于大约每秒5000个写事务。
系统100包括两个数据保护器,源侧DPA 112和目标侧DPA 124。DPA执行各种数据保护服务,诸如存储系统的数据复制,以及对由主控计算机向源侧存储系统数据发出的I/O请求的日记记录。如下文详细地解释的,当充当目标侧DPA时,DPA还可以使得数据能够回滚到较早时间点,并且使得能够在目标站点处处理经回滚的数据。DPA112和DPA124中的每一个是包括尤其一个或多个传统CPU和内部存储器的计算机。
针对附加的安全防范,每个DPA是这样的计算机的集群。对集群的使用确保如果DPA计算机停机,则DPA功能切换到另一计算机。DPA集群内的DPA计算机使用适合于经由光纤通道或基于IP的协议或这样的其他传输协议的数据传输的至少一个通信链路来彼此通信。来自DPA集群的一个计算机用作DPA引导。DPA集群引导在集群中的计算机之间进行协调,并且还可以执行需要计算机之间的协调的其他任务,诸如负载平衡。
在图1中示出的架构中,DPA 112和DPA 124是集成在SAN内的独立设备。备选地,DPA 112和DPA 124中的每一个可以分别被集成到存储系统108和存储系统120中,或者分别被集成到主控计算机104和主控计算机116中。两个DPA使用例如SCSI命令通过诸如光纤通道的通信线路来与其相应的主控计算机通信。
根据本发明的实施例,DPA 112和DPA 124被配置为充当SAN中的发起者;即,它们能使用例如SCSI命令发出用于访问在其相应的存储系统上的逻辑单元的I/O请求。DPA 112和DPA 124还被配置具有充当目标的必要功能;即,答复由SAN中的尤其包括其相应的主控计算机104和116的其他发起者发出的I/O请求,诸如SCSI命令。作为目标节点,DPA 112和DPA 124可以动态地暴露或移除一个或多个逻辑单元。
如上文所描述的,站点I和站点II均可以同时表现为针对不同的逻辑单元的生产站点和备份站点。因此,DPA 112和DPA 124均可以同时表示为针对一些逻辑单元的源DPA和针对其他逻辑单元的目标DPA。
根据本发明的实施例,主控计算机104和主控计算机116分别包括保护代理144和保护代理164。保护代理144和保护代理164拦截由其相应的主控计算机经由主控设备向对于主控计算机可访问的逻辑单元发出的SCSI命令。根据本发明的实施例,数据保护代理可以以下面的方式中的一种方式来作用于向逻辑单元发出的所拦截的SCSI命令:
向其预期的逻辑单元发送SCSI命令。
将SCSI命令重定向到另一逻辑单元。
通过首先向相应的DPA发送SCSI命令来拆分SCSI命令。在DPA返回确认之后,将向其预期的逻辑单元发送SCSI命令。
通过返回错误返回代码来使SCSI命令失效。
通过不将确认返回到相应的主控计算机来使SCSI命令延迟。
保护代理可以根据命令的类型来不同地处理不同的SCSI命令。例如,查询特定逻辑单元的大小的SCSI命令可以直接被发送到该逻辑单元,而SCSI写命令可以被拆分并首先被发送到与代理相关联的DPA。保护代理还可以改变其表现以用于处理SCSI命令,例如作为从DPA接收到的指令的结果。
具体地,针对特定主控设备的保护代理的表现一般对应于其相关联的DPA相对于主控设备的逻辑单元的表现。当DPA表现为针对特定逻辑单元的源站点DPA时,则在正常操作过程期间,相关联的保护代理拆分由主控计算机向对应于该逻辑单元的主控设备发出的I/O请求。类似地,当DPA表现为针对特定逻辑单元的目标设备时,则在正常操作过程期间,相关联的保护代理使得由主控计算机向对应于该逻辑单元的主控设备发出的I/O请求失效。
在保护代理与其相应的DPA之间的通信可以使用适合于在诸如光纤通道的SAN或通过光纤通道的SCSI内的数据传输的任何协议。通信可以是直接的,或者经由由DPA暴露的逻辑单元。在本发明的实施例中,保护代理通过将SCSI命令通过光纤通道发送来与其相应的DPA通信。
在本发明的实施例中,保护代理144和保护代理164是位于其相应的主控计算机104和主控计算机116中的驱动器。备选地,保护代理还可以位于光纤通道交换机中,或者位于定位在主控计算机与存储系统之间的数据路径中的任何其他设备中。
接着是对在正常生产模式下和恢复模式下系统表现的详细描述。
根据本发明的实施例,在生产模式中,DPA 112充当针对LU A的源站点DPA。因此,保护代理144被配置为充当源侧保护代理;即,作为针对主控设备A的拆分器。具体地,保护代理144复制SCSI I/O请求。经复制的SCSI I/O请求被发送到DPA 112。在从DPA 124接收到确认之后,保护代理144之后向LU A发送SCSI I/O请求。仅仅在从存储系统108接收到第二确认之后,主控计算机104可以发起另一I/O请求。
当DPA 112从数据保护代理144接收到经复制的SCSI写请求时,DPA 112通过WAN 128向目标侧上的DPA 124发送表征写请求的、被封装为“写事务”的特定I/O信息,以用于日记记录并且用于并入在目标存储系统120内。
DPA 112使用各种发送模式向DPA 124发送其写事务,各种发送模式尤其包括(i)同步模式,(ii)异步模式,以及(iii)快照模式。在同步模式中,DPA 112向DPA 124发送每个写事务,从DPA 124接收回确认,并且继而将确认发送回到保护代理144。保护代理144在向LU A发送SCSI写请求之前等待直到接收到这样的确认。
在异步模式中,DPA 112在接收到每个I/O请求时在从DPA 124接收回确认之前向保护代理144发送确认。
在快照模式中,DPA 112接收若干I/O请求并将它们组合成在多个I/O请求中执行的所有写活动的聚集“快照”,并向DPA 124发送快照,以用于日记记录并且用于并入到目标存储系统120中。在快照模式中,DPA 112还在接收到每个I/O请求时在从DPA 124接收回确认之前向保护代理144发送确认。
为清楚起见,接着进行的讨论假设以逐个写(write-by-write)的粒度发送信息。
在生产模式中时,DPA 124从DPA 112接收LU A的经复制的数据,并且执行日记记录并写入到存储系统120。当对存储系统120应用写操作时,DPA 124充当发起者并向LU B发送SCSI命令。
在恢复模式期间,DPA 124撤销日记中的写事务,从而将存储系统120修复到其在较早时间处所处的状态。
如上文所描述的,根据本发明的实施例,LU B被用作LU A的备份。因此,在正常生产模式期间,在由主控计算机104写入到LU A的数据从LU A被复制到LU B的同时,主控计算机116不应当正在向LU B发送I/O请求。为了防止这样的I/O请求被发送,保护代理164充当针对主控设备B的目标站点保护代理并且使通过主控设备B从主控计算机116向LU B发送的I/O请求失效。
根据本发明的实施例,目标存储系统120暴露逻辑单元176(被称为“日记LU”),以用于维护对LU B进行的写事务的历史(被称为“日记”)。备选地,日记LU 176可以分布在若干逻辑单元上或者可以驻存在另一逻辑单元的全部或部分内。DPA 124包括用于管理日记的日记处理器180。
日记处理器180一般用于管理LU B的日记条目。具体地,日记处理器180(i)通过将由DPA 124接收到的写事务写入到日记LU中来将它们从DPA 112输入到日记中,(ii)将日记事务应用到LU B,以及(iii)利用撤销信息来更新日记LU中的日记条目并且从日记移除已经应用的事务。如下面参考图2和3A-3D所描述的,日记条目包括四个流,其中的两个流在写事务被输入到日记中时被写入,并且其中的两个流在写事务被应用并从日记被移除时被写入。
现在参考图2,图2是根据本发明的实施例的写事务200的简化图示。日记可以被用于提供用于访问存储120的适配器,存储120处于其在任何指定时间点处所处的状态。由于日记包含回滚存储系统120所必要的“撤销”信息,在指定时间点处存储在特定存储器位置中的数据可以通过撤销在这样的时间点之后发生的写事务来获得。
写事务200一般包括以下字段:
一个或多个标识符;
时间戳,其是该事务由源侧DPA 112接收到的日期和时间;
写大小,其是数据块的大小;
日记LU 176中的、数据被输入到其中的位置;
LU B中的、数据要被写入到其中的位置;以及
数据本身。
写事务200从源侧DPA 112被发送到目标侧DPA 124。如图2所示,DPA 124在四个流中记录写事务200。被称为执行(DO)流的第一流包括用于写入到LU B中的新数据。被称为执行元数据(DOMETADATA)流的第二流包括针对写事务的元数据,诸如标识符、日期和时间、写大小、LU B中的用于写入新数据的开始地址以及指向执行流中的对应的数据位于其中的偏移的指针。类似地,被称为撤销(UNDO)流的第三流包括在LU B中被重写的旧数据;以及被称为撤销元数据(UNDO METADATA)的第四流包括标识符、日期和时间、写大小、LU B中的在其中数据要被重写的开始地址以及指向撤销流中的对应的旧数据位于其中的偏移的指针。
在实践中,四个流中的每个流保持多个写事物数据。由于写事务由目标DPA 124动态地接收,在提交事务之前它们被记录在执行流的结尾处和执行元数据流的结尾处。在事务应用期间,在将新的执行数据写入到存储系统内的地址中之前,当各种写事务被应用到LU B时,当前位于这样的地址中的较旧数据被记录到撤销流中。
通过记录旧数据,日记条目能够被用于“撤销”写事务。为了撤销事务,以从最近数据到最旧数据的反向顺序从撤销流中读取旧数据,以用于写入到LU B内的地址中。在将撤销数据写入到这些地址中之前,驻存在这样的地址中的较新数据被记录在执行流中。
日记LU被划分成具有预定义大小的片段,诸如1MB的片段,其中每个片段由计数器标识。这样的片段的汇集形成针对上文描述的四个日记记录流的片段池。每个这样的流被结构化为流数据被写入到其中的经排序的片段列表,并且包括两个指针——指向列表中的第一片段的开始指针和指向列表中的最后一个片段的结尾指针。
根据针对每个流的写方向,写事务数据被附接到流的结尾处(针对向前方向)或者(针对向后方向)开始处。当每个写事务由DPA 124接收到时,其大小被检查以确定其是否能够适合放入可用的片段内。如果不是,则从片段池中选择一个或多个片段并将其附接到流的经排序的片段列表。
其后,执行数据被写入到执行流中,并且指向适当的第一片段或最后一个片段的指针被更新。对在所排序的列表中的片段的释放通过简单地改变开始指针或结尾指针来被执行。经释放的片段被返回到片段池以供重新使用。
日记可以由包括少于或多于5个流的任何数量的流构成。通常,基于日记记录的速度以及备份是同步的还是异步的,可以使用更少或更大数量的流。
读复制/写复制
现在参考图3的示例实施例,图3图示了复制IO。在图3的示例实施例中,生产站点300具有机器331、机器332和机器333。机器331向存储350发送读IO 305。机器332向存储350发送IO命令332。机器333向存储350发送写IO 308。
存储350具有拆分器375和卷1 371、卷2 372和卷3 373。读IO305、IO命令306和写IO 308在拆分器375处被拦截。现在还参考图4A。拆分器375接收读IO 305(步骤400)。拆分器375确定读IO 305是否是写IO(步骤410)。读IO 305不是写IO,因此拆分器375确定读IO 305是否是读IO(步骤420)。因为读IO 305是读IO,所以拆分器375将读IO 305的元数据复制到RPA 328(步骤425)。拆分器375接收IO命令306(步骤400)。拆分器375确定IO命令306是否是写IO(步骤410)。IO命令306不是写IO,因此拆分器375确定IO命令306是否是读IO(步骤420),其中IO命令可以是xcopy命令或写相同命令或另一命令。当IO命令306不是读IO时,拆分器375确定IO命令306是否是IO命令(步骤430)。拆分器375将IO命令306的元数据复制到RPA 328(步骤435)。拆分器375接收写IO 308(步骤400)。拆分器375确定接收到的写IO 308是否是写IO(步骤410)。因为接收到的写IO 308是写IO,所以拆分器375将写IO 308复制到RPA 328(步骤415)。
现在参考图4B和图5的示例实施例。访问时间点571(步骤450)。安装时间点571(步骤455)。解析时间点上的文件系统(步骤460)。分析时间点571(步骤465)。如图5中所指出的,PIT 571具有表示对时间点571的读访问和写访问的读访问580和写访问581。
现在参考图6的示例实施例,图6图示了被集成到存储中的拆分器。在图6中,生产站点600具有管理程序610。管理程序610具有VM 631和VM 632。VM 631向VMDK 671发送读IO 605,VMDK 671处于VMFS 665中、被存储在存储阵列650上的卷660上。在该实施例中,IO 605在分别被发送到卷660之前被拆分器675拦截。在该实施例中,管理程序610通过呈现具有相关联的虚拟机磁盘的每个VM来抽象来自VM 631和632的存储650和卷660。VM 631和632不具有存储650、拆分器675或卷660的知识,更没有意识到其相应的VMDK。在该实施例中,管理程序610不具有拆分器675的知识。在大多数实施例中,因为基于存储的拆分器可以在存储级别处拆分IO,所以管理程序可能不能够利用拆分器来篡改存储阵列中的IO。在几乎所有实施例中,基于存储的拆分器可能不具有管理程序中的虚拟机的知识,即使管理程序被篡改以尝试并隐藏一个或多个虚拟机的活动或存在。在许多实施例中,所拦截的IO可以是读IO、写IO或IO命令。在图6的实施例中,可以有必要解析VMDKS以发现在VMDK中的信息。
现在还参考图7A的示例实施例。拆分器675接收读IO 605(步骤400)。拆分器675确定读IO 605是否是写IO(步骤410)。读IO605不是写IO,因此拆分器675确定读IO 605是否是读IO(步骤420)。因为读IO 605是读IO,所以拆分器675将读IO 605的元数据复制到RPA 628(步骤425)。拆分器675接收IO命令606(步骤400)。拆分器675确定IO命令606是否是写IO(步骤410)。IO命令606不是写IO,因此拆分器675确定IO命令606是否是读IO(步骤420)。因为IO命令606不是读IO,所以拆分器675确定IO命令606是否是IO命令(步骤430)。拆分器675将IO命令606的元数据复制到RPA 328(步骤435)。拆分器675接收写IO 608(步骤400)。拆分器675确定接收到的写IO 608是否是写IO(步骤410)。当接收到的写IO 608是写IO时,拆分器675将写IO 608复制到RPA 628(步骤415)。
现在参考图7B和图8的示例实施例。访问时间点871(步骤750)。安装时间点871(步骤755)。解析时间点上的VMFS(步骤760)。检测虚拟机(步骤761)。解析VMDK 871(步骤762)。分析时间点871(步骤765)。如图5中所指出的,PIT 871具有表示对时间点871的读访问和写访问的读访问880和写访问881。
在其他实施例中,拆分器可以位于管理程序中。在其中拆分器位于管理程序中的实施例中,可以没有必要解析VMFS级别,因为IO在虚拟磁盘(VMDK)级别处被拦截。在某些实施例中,如果IO在管理程序处被拦截,则可以能够拦截到虚拟磁盘的IO,其可以使得能够在不执行解析的情况下检查时间点。
在某些实施例中,与虚拟机有关的数据库信息可以包括虚拟机的数量。在其他实施例中,数据库信息可以包括与存储在虚拟机上的文件有关的信息。在另外的实施例中,数据库信息可以包括与虚拟机正在执行哪些动作有关的信息,例如从日记中的IO推导的VM的IO活动可以被存储在数据库中。在许多实施例中,被访问的文件和被执行的动作可以被记录在数据库中。
现在参考图9的示例实施例,图9图示了被集成到管理程序中的拆分器。在图9中,生产站点900具有管理程序910。管理程序910具有VM 931、VM 932、VM 933和拆分器975。VM 931向VMDK 971发送读IO 905,VMDK 971处于VMFS 965中、被存储在存储阵列950上的卷960上。VM 932向VMDK 972发送IO命令906,VMDK 972处于VMFS 965中、被存储在存储阵列950上的卷960上。VM 933向VMDK 973发送写IO 908,VMDK 973处于VMFS 965中、被存储在存储阵列950上的卷960上。
在该实施例中,IO 905、906和908在它们被发送到存储950之前被拆分器975拦截。在图8中,因为复制在管理程序级别处被执行,所以每个虚拟机被使得能够在VMDK级别处被复制。
现在还参考图10A的示例实施例。拆分器975接收读IO 905(步骤1000)。拆分器975确定读IO 905是否是写IO(步骤1010)。读IO 905不是写IO,因此拆分器975确定读IO 905是否是读IO(步骤1020)。因为读IO 905是读IO,所以拆分器975将读IO 905的元数据复制到RPA 928(步骤1025)。拆分器975接收IO命令906(步骤1000)。拆分器975确定IO命令906是否是写IO(步骤1010)。读IO 9不是写IO,因此拆分器975确定IO命令606是否是读IO(步骤1020)。因为IO命令906不是读IO,所以拆分器975确定IO命令606是否是IO命令(步骤1030)。拆分器975将IO命令906的元数据复制到RPA 328(步骤1035)。拆分器975接收写IO 908(步骤1000)。拆分器975确定接收到的写IO 908是否是写IO(步骤1010)。因为接收到的写IO 908是写IO,所以拆分器975将写IO 908复制到RPA 928(步骤1015)。
现在参考图10B和11的示例实施例。访问时间点1171(步骤1050)。安装时间点1171(步骤1055)。解析VMDK中的文件系统(步骤1060)。分析时间点1171(步骤1065)。如图5中所指出的,PIT 1071具有表示对时间点1171的读访问和写访问的读访问1180和写访问1181。
在一些实施例中,外部触发器可以使得时间点被安装并被分析。在其他实施例中,与读访问和写访问有关的信息可以被存储在数据库中。在某些实施例中,RPA可以定期地安装时间点以更新描述被复制的机器的数据库。在其他实施例中,RPA可以被设置为响应于由拆分器检测到的事件而安装时间点。在另外的实施例中,可以使得时间点被安装以更新数据库的事件可以是对虚拟机的创建。在大多数实施例中,数据库可以包含机器的列表以及与机器有关的其他信息,诸如访问的文件和开始的过程。在一些实施例中,数据库可以包含每个机器的配置。在某些实施例中,数据库可以包含对机器配置的改变。在一些实施例中,数据库可以包含机器的操作系统。在至少一些实施例中,数据库可以包含机器的活动度量。在至少一些实施例中,数据库可以包含IO存储器活动。
在许多实施例中,记录机器活动的数据库可以定期地被分析。在大多数实施例中,可疑活动可以通过分析在机器数据库中发现的活动来发现。在某些实施例中,在每次创建或删除虚拟机时更新数据库的情况下,数据库可以对在给定时间段中存在于管理程序中的每个虚拟机进行分类。在某些实施例中,数据库可以捕获短期存在的虚拟机的可疑活动。在一些实施例中,对大量存储的使用可以触发数据库中的一个或多个条目。在其他实施例中,对网络资源的大量使用可以触发数据库中的一个或多个条目。在其他实施例中,不同的事件或动作可以触发数据库中的一个或多个条目。在特定实施例中,泄露防护软件可以触发数据库中的一个或多个条目。在大多数实施例中,可疑活动可以通过分析数据库来发现。
在某些实施例中,一旦怀疑虚拟机具有可疑活动,则可以通过将镜像卷返回到当虚拟机存在时的时间戳来修复虚拟机。在其他实施例中,如果在时间点处怀疑机器具有可疑活动,则该时间点可以被修复并被分析。在大多数实施例中,机器的所修复的时间点可以被分析以查看机器具有什么数据并且其执行哪些动作。在另外的实施例中,可疑时间段可以被标识并且针对这些机器的在可疑时间段内的时间点可以被修复并被分析。在另外的实施例中,可疑时间段可以由外部工具来标识。
在一些实施例中,系统可以通过安装文件系统、查找新文件并检测新文件数据被加密来检测可疑活动。
在许多实施例中,可以检测到已经被访问的文件。在某些实施例中,被访问的文件可以通过解析文件系统来检测。在一些实施例中,文件系统可以处于虚拟磁盘和虚拟机磁盘上和/或存储虚拟机磁盘的虚拟机文件系统可能需要被解析以确定哪些文件已经被访问。在大多数实施例中,通过解析文件系统,可以能够确定磁盘上的对应于每个文件被存储的位置的地址。在某些实施例中,数据库可以保持从文件到文件驻存在其上的块的映射。在大多数实施例中,使用经解析的文件系统的读元数据可以指示在该时间段期间发生的读的列表,其可以指示哪些文件被访问。在大多数实施例中,系统可以检测哪些文件被读取,并且从被读取的文件,可以能够指示哪些文件从头到尾被读取。在许多实施例中,如果整个文件被读取,则可以指示文件被窃取的重大嫌疑。在某些实施例中,基于被怀疑为被窃取的文件并且基于文件类型和内容,系统可以过滤重要的文件(如文档)并且因此创建所怀疑的被窃取的文件的列表。在另外的实施例中,通过将读元数据与写元数据和/或命令元数据进行比较,能够确定在读数据上执行的命令。
本发明的方法和装置可以至少部分地采取被体现在有形非瞬态介质中的程序代码(即,指令)的形式,有形非瞬态介质诸如软盘、CD-ROM、硬盘驱动器、随机存取存储器或只读存储器、或者任何其他机器可读存储介质。当程序代码被加载到机器(诸如图12的计算机)中并由该机器执行时,机器称为用于实践本发明的装置。当被实施在一个或多个通用处理器上时,程序代码与这样的处理器1203组合以提供类似于特定逻辑电路来操作的独特装置。因此,通用数字机器可以被转变成专用数字机器。图13示出了被体现在如所示出的计算机可读介质1320上的程序逻辑1310,并且其中逻辑被编码在计算机可读代码中,计算机可读代码被配置用于执行本发明的预定服务过程并且由此形成计算机程序产品1300。逻辑1310可以是在存储器1204上的被加载在处理器1203上的相同逻辑1240。程序逻辑还可以被体现在软件模块中、被体现为模块或被体现为硬件模块。
用于执行方法的逻辑可以被体现为下面描述的系统的部分,其用于执行参考例如图4、7和10中示出的实施例而描述的方法。出于说明本发明的目的,本发明被描述为以特定配置来体现并且使用专门的逻辑布置,但是本领域技术人员将认识到设备不限于特定配置而是仅仅由在本说明书中包含的权利要求限定。处理器可以是物理处理器或虚拟处理器。
尽管已经出于理解的清楚的目的在特定细节中描述了前述发明,但是将是明显的,可以在所附权利要求的范围内实践某些改变和修改。因此,当前实施方式将被认为是说明性的而非限制性的,并且本发明不限于本文中给出的细节,而是可以在所附权利要求的范围和等价形式内被修改。
Claims (20)
1.一种系统,包括:
图像;以及
日记;所述日记具有读元数据、写数据和写元数据;其中所述写数据和所述写元数据使得所述图像能够被滚动到保护窗口内的不同时间点;其中所述读元数据对应于在所述保护窗口内的读;
操作在存储器中的计算机可执行逻辑,其中计算机可执行程序逻辑被配置为使得能够在一个或多个处理器上执行:
通过使用所述写元数据应用所述写数据来将所述图像滚动到所述保护窗口中的时间点;以及
检查所述读元数据、写数据和写元数据以确定所述图像是否由入侵者访问。
2.根据权利要求1所述的系统,其中所述检查包括确定在所述图像被滚动到的所述时间点之后的时间段期间所述图像上的哪些文件被访问。
3.根据权利要求2所述的系统,其中所述检查还包括确定被访问的文件是否被加密。
4.根据权利要求2所述的系统,其中确定所述图像上的哪些文件被访问包括针对文件在所述图像上解析文件系统并且将读元数据映射到所述文件。
5.根据权利要求2所述的系统,其中所述检查还包括确定文件是否从头到尾被读取。
6.根据权利要求5所述的系统,其中怀疑被窃取的文件的列表基于被确定为已经被读取的所述文件来创建。
7.根据权利要求6所述的系统,其中所述逻辑还被配置为使得能够通知用户所怀疑的文件的所述列表。
8.一种计算机实现的方法,包括:
通过使用写元数据应用写数据来将图像滚动到保护窗口中的时间点;其中所述写数据被存储在日记中;其中所述日记还具有写元数据和读元数据;其中所述写数据和所述写元数据使得所述图像被滚动到保护窗口内的不同时间点;其中所述读数据对应于所述保护窗口内的读;以及
检查所述读元数据、写数据和写元数据以确定所述图像是否由入侵者访问。
9.根据权利要求8所述的方法,其中所述检查包括确定在所述图像被滚动到的所述时间点之后的时间段期间所述图像上的哪些文件被访问。
10.根据权利要求9所述的方法,其中所述检查还包括确定被访问的文件是否被加密。
11.根据权利要求10所述的方法,其中确定所述图像上的哪些文件被访问包括针对文件在所述图像上解析文件系统并且将读元数据映射到所述文件。
12.根据权利要求9所述的方法,其中所述检查还包括确定文件是否从头到尾被读取。
13.根据权利要求12所述的方法,其中怀疑被窃取的文件的列表基于被确定为已经被读取的所述文件来创建。
14.根据权利要求13所述的方法,还包括通知用户所怀疑的文件的所述列表。
15.一种计算机程序产品,包括:
非瞬态计算机可读存储介质,其利用计算机可执行程序代码来被编码,其中所述代码使得能够在一个或多个处理器上执行:
通过使用写元数据应用写数据来将图像滚动到保护窗口中的时间点;其中所述写数据被存储在日记中;其中所述日记还具有写元数据和读元数据;其中所述写数据和所述写元数据使得所述图像被滚动到保护窗口内的不同时间点;其中所述读数据对应于所述保护窗口内的读;以及
检查所述读元数据、写数据和写元数据以确定所述图像是否由入侵者访问。
16.根据权利要求15所述的计算机程序产品,其中所述检查包括确定在所述图像被滚动到的所述时间点之后的时间段期间所述图像上的哪些文件被访问。
17.根据权利要求16所述的计算机程序产品,其中所述检查还包括确定被访问的文件是否被加密。
18.根据权利要求16所述的计算机程序产品,其中确定所述图像上的哪些文件被访问包括针对文件在所述图像上解析文件系统并且将读元数据映射到所述文件。
19.根据权利要求15所述的计算机程序产品,其中所述检查还包括确定文件是否从头到尾被读取。
20.根据权利要求12所述的计算机程序产品,其中怀疑被窃取的文件的列表基于被确定为已经被读取的所述文件来创建。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/870,135 | 2015-09-30 | ||
US14/870,135 US9917854B2 (en) | 2015-09-30 | 2015-09-30 | Security detection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106557703A true CN106557703A (zh) | 2017-04-05 |
CN106557703B CN106557703B (zh) | 2019-05-28 |
Family
ID=58409418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610214445.9A Active CN106557703B (zh) | 2015-09-30 | 2016-04-07 | 安全性检测 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9917854B2 (zh) |
CN (1) | CN106557703B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526948A (zh) * | 2017-09-28 | 2017-12-29 | 同方威视技术股份有限公司 | 生成关联图像的方法和设备以及图像验证方法和设备 |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10235145B1 (en) | 2012-09-13 | 2019-03-19 | Emc International Company | Distributed scale-out replication |
US10324798B1 (en) | 2014-09-25 | 2019-06-18 | EMC IP Holding Company LLC | Restoring active areas of a logical unit |
US10437783B1 (en) | 2014-09-25 | 2019-10-08 | EMC IP Holding Company LLC | Recover storage array using remote deduplication device |
US10496487B1 (en) | 2014-12-03 | 2019-12-03 | EMC IP Holding Company LLC | Storing snapshot changes with snapshots |
US10296419B1 (en) | 2015-03-27 | 2019-05-21 | EMC IP Holding Company LLC | Accessing a virtual device using a kernel |
US10853181B1 (en) | 2015-06-29 | 2020-12-01 | EMC IP Holding Company LLC | Backing up volumes using fragment files |
US10409787B1 (en) | 2015-12-22 | 2019-09-10 | EMC IP Holding Company LLC | Database migration |
CN106921608B (zh) * | 2015-12-24 | 2019-11-22 | 华为技术有限公司 | 一种检测终端安全状况方法、装置及系统 |
US10229006B1 (en) | 2015-12-28 | 2019-03-12 | EMC IP Holding Company LLC | Providing continuous data protection on a storage array configured to generate snapshots |
US10133874B1 (en) | 2015-12-28 | 2018-11-20 | EMC IP Holding Company LLC | Performing snapshot replication on a storage system not configured to support snapshot replication |
US10108356B1 (en) | 2016-03-25 | 2018-10-23 | EMC IP Holding Company LLC | Determining data to store in retention storage |
US10579282B1 (en) | 2016-03-30 | 2020-03-03 | EMC IP Holding Company LLC | Distributed copy in multi-copy replication where offset and size of I/O requests to replication site is half offset and size of I/O request to production volume |
US10235087B1 (en) | 2016-03-30 | 2019-03-19 | EMC IP Holding Company LLC | Distributing journal data over multiple journals |
US10235088B1 (en) | 2016-03-30 | 2019-03-19 | EMC IP Holding Company LLC | Global replication policy for multi-copy replication |
US10235060B1 (en) | 2016-04-14 | 2019-03-19 | EMC IP Holding Company, LLC | Multilevel snapshot replication for hot and cold regions of a storage system |
US10409986B1 (en) | 2016-09-26 | 2019-09-10 | EMC IP Holding Company LLC | Ransomware detection in a continuous data protection environment |
US10409629B1 (en) | 2016-09-26 | 2019-09-10 | EMC IP Holding Company LLC | Automated host data protection configuration |
US10235247B1 (en) | 2016-09-26 | 2019-03-19 | EMC IP Holding Company LLC | Compressing memory snapshots |
US10078459B1 (en) | 2016-09-26 | 2018-09-18 | EMC IP Holding Company LLC | Ransomware detection using I/O patterns |
US10235061B1 (en) | 2016-09-26 | 2019-03-19 | EMC IP Holding Company LLC | Granular virtual machine snapshots |
US10223023B1 (en) | 2016-09-26 | 2019-03-05 | EMC IP Holding Company LLC | Bandwidth reduction for multi-level data replication |
US10324637B1 (en) | 2016-12-13 | 2019-06-18 | EMC IP Holding Company LLC | Dual-splitter for high performance replication |
US10628268B1 (en) | 2016-12-15 | 2020-04-21 | EMC IP Holding Company LLC | Proof of data replication consistency using blockchain |
US10140039B1 (en) | 2016-12-15 | 2018-11-27 | EMC IP Holding Company LLC | I/O alignment for continuous replication in a storage system |
US10467102B1 (en) | 2016-12-15 | 2019-11-05 | EMC IP Holding Company LLC | I/O score-based hybrid replication in a storage system |
US10747606B1 (en) | 2016-12-21 | 2020-08-18 | EMC IP Holding Company LLC | Risk based analysis of adverse event impact on system availability |
US10776211B1 (en) | 2016-12-27 | 2020-09-15 | EMC IP Holding Company LLC | Methods, systems, and apparatuses to update point in time journal using map reduce to create a highly parallel update |
US10423634B1 (en) | 2016-12-27 | 2019-09-24 | EMC IP Holding Company LLC | Temporal queries on secondary storage |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US10366011B1 (en) | 2018-05-03 | 2019-07-30 | EMC IP Holding Company LLC | Content-based deduplicated storage having multilevel data cache |
US20190362075A1 (en) * | 2018-05-22 | 2019-11-28 | Fortinet, Inc. | Preventing users from accessing infected files by using multiple file storage repositories and a secure data transfer agent logically interposed therebetween |
US10713221B2 (en) | 2018-07-30 | 2020-07-14 | EMC IP Holding Company LLC | Dual layer deduplication for a file system running over a deduplicated block storage |
US10489321B1 (en) | 2018-07-31 | 2019-11-26 | EMC IP Holding Company LLC | Performance improvement for an active-active distributed non-ALUA system with address ownerships |
US10592166B2 (en) | 2018-08-01 | 2020-03-17 | EMC IP Holding Company LLC | Fast input/output in a content-addressable storage architecture with paged metadata |
US11036856B2 (en) | 2018-09-16 | 2021-06-15 | Fortinet, Inc. | Natively mounting storage for inspection and sandboxing in the cloud |
US10747667B2 (en) | 2018-11-02 | 2020-08-18 | EMC IP Holding Company LLC | Memory management of multi-level metadata cache for content-based deduplicated storage |
US11093158B2 (en) | 2019-01-29 | 2021-08-17 | EMC IP Holding Company LLC | Sub-lun non-deduplicated tier in a CAS storage to reduce mapping information and improve memory efficiency |
US20210117284A1 (en) * | 2019-10-17 | 2021-04-22 | EMC IP Holding Company LLC | System and method for generating app-consistent backups utilizing crash-consistent methods and not requiring an agent |
US20220050898A1 (en) * | 2019-11-22 | 2022-02-17 | Pure Storage, Inc. | Selective Control of a Data Synchronization Setting of a Storage System Based on a Possible Ransomware Attack Against the Storage System |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US11500788B2 (en) | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US11520907B1 (en) | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US11922199B2 (en) * | 2019-12-10 | 2024-03-05 | Vmware, Inc. | Associating security tags to continuous data protection checkpoints/snapshots/point-in-time images |
US11650890B2 (en) | 2020-02-06 | 2023-05-16 | EMC IP Holding Company LLC | Automatic IO stream timing determination in live VM images |
US11983078B2 (en) | 2020-02-28 | 2024-05-14 | EMC IP Holding Company LLC | System and a method for generating live VM images with an extended recovery range |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289187A1 (en) * | 2004-06-29 | 2005-12-29 | Oracle International Corporation | System and method for investigating a data operation performed on a database |
US20060179246A1 (en) * | 2005-02-10 | 2006-08-10 | International Business Machines Corporation | Data processing system and method for efficient coherency communication utilizing coherency domain indicators |
US7447850B1 (en) * | 2003-10-05 | 2008-11-04 | Quantum Corporation | Associating events with the state of a data set |
CN102207820A (zh) * | 2010-03-30 | 2011-10-05 | 索尼公司 | 电子设备、图像输出方法及其程序 |
US8588422B2 (en) * | 2009-05-28 | 2013-11-19 | Novell, Inc. | Key management to protect encrypted data of an endpoint computing device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7844577B2 (en) * | 2002-07-15 | 2010-11-30 | Symantec Corporation | System and method for maintaining a backup storage system for a computer system |
-
2015
- 2015-09-30 US US14/870,135 patent/US9917854B2/en active Active
-
2016
- 2016-04-07 CN CN201610214445.9A patent/CN106557703B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7447850B1 (en) * | 2003-10-05 | 2008-11-04 | Quantum Corporation | Associating events with the state of a data set |
US20050289187A1 (en) * | 2004-06-29 | 2005-12-29 | Oracle International Corporation | System and method for investigating a data operation performed on a database |
US20060179246A1 (en) * | 2005-02-10 | 2006-08-10 | International Business Machines Corporation | Data processing system and method for efficient coherency communication utilizing coherency domain indicators |
US8588422B2 (en) * | 2009-05-28 | 2013-11-19 | Novell, Inc. | Key management to protect encrypted data of an endpoint computing device |
CN102207820A (zh) * | 2010-03-30 | 2011-10-05 | 索尼公司 | 电子设备、图像输出方法及其程序 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526948A (zh) * | 2017-09-28 | 2017-12-29 | 同方威视技术股份有限公司 | 生成关联图像的方法和设备以及图像验证方法和设备 |
CN107526948B (zh) * | 2017-09-28 | 2023-08-25 | 同方威视技术股份有限公司 | 生成关联图像的方法和设备以及图像验证方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
US20170093890A1 (en) | 2017-03-30 |
US9917854B2 (en) | 2018-03-13 |
CN106557703B (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106557703B (zh) | 安全性检测 | |
US10467109B2 (en) | Replication based security | |
US10078459B1 (en) | Ransomware detection using I/O patterns | |
US10210073B1 (en) | Real time debugging of production replicated data with data obfuscation in a storage system | |
US8315991B2 (en) | Detecting inadvertent or malicious data corruption in storage subsystems and recovering data | |
US9740880B1 (en) | Encrypted virtual machines in a cloud | |
US8868858B2 (en) | Method and apparatus of continuous data backup and access using virtual machines | |
US9582382B1 (en) | Snapshot hardening | |
US10146961B1 (en) | Encrypting replication journals in a storage system | |
US7302540B1 (en) | Virtual tape storage system having snapshot virtual tape library for disaster recovery testing | |
US9535800B1 (en) | Concurrent data recovery and input/output processing | |
US8898112B1 (en) | Write signature command | |
US9069955B2 (en) | File system level data protection during potential security breach | |
US7676502B2 (en) | Recovery point data view shift through a direction-agnostic roll algorithm | |
US7752492B1 (en) | Responding to a failure of a storage system | |
CN101361048A (zh) | 在信息生命周期管理环境中将文件恢复到其适当的存储级 | |
US10484179B1 (en) | Data consistency in an encrypted replication environment | |
US11386070B2 (en) | Method and system for secure data replication data integrity verification | |
US10346260B1 (en) | Replication based security | |
KR100819022B1 (ko) | 하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계 관리 | |
US10417255B2 (en) | Metadata reconciliation | |
US7353351B1 (en) | System and method for managing data associated with copying and recovery procedures in a data storage environment | |
US10346610B1 (en) | Data protection object store | |
US8095804B1 (en) | Storing deleted data in a file system snapshot | |
CN104731892A (zh) | 一种集中式文件服务系统的拟态防篡改方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200416 Address after: Massachusetts, USA Patentee after: EMC IP Holding Company LLC Address before: Ma Sazhusaizhou Patentee before: EMC Corp. |