利用 Veeam 数据集成 API 进行企业数据创新

摘要

今日是数据备份日,作者观察到当代企业的首席数据官CDO 最关心的内容已经不仅仅是数据备份这么简单,他们更加关注暗数据的治理与数据的再利用。本文介绍了企业如何利用Veeam的数据集成API,治理暗数据与加速企业数据创新。

温馨提示: 本文约3500字,阅读时间大约10分钟

1. 从 CDO 对暗数据的认识开始

今天是数据备份日,但我们今天要聊的是新备份时代。新备份时代的主角是谁?当然是企业的首席数据官(chief data officer, CDO) 他是企业中负责组织范围内的信息治理、管理和开发的高级执行官。这种数据管理和开发通过各种系统和服务进行,包括商业智能、高级分析、数据挖掘、机器学习,甚至人工智能。首席数据官最关心的KPI是什么呢?当然是暗数据的利用与数据创新。

暗数据是企业首席数据官最关心的话题,如何利用数据照亮企业创新之路,全靠对暗数据的治理策略。什么是暗数据呢? 来自 Gartner 对此有着十分精准的定义。“暗数据是企业在常规业务活动中收集、处理和存储的信息资产,但通常不能用于其他目的(例如,分析、业务关系和直接货币化)。”

暗数据是企业数据的中的重要组成部分,由于数据访问性不高、访问时间漫长、流程繁琐等原因,企业通常无法对暗数据进行分析或处理,但这并不会降低其商业价值。相反的,多数数据领域的工作者认为,一方面,从未经过分析的数据包含着大量未经发现的重要价值或企业值得借鉴的因素,这代表着一旦企业失去了对暗数据分析的机会,就会损失更多的商业价值。另一方面,如果按数据未经处理或处理不当,则会导致很多的隐患,比如法律和安全问题。

暗数据

Gartner 对暗数据的定义
https://www.gartner.com/en/information-technology/glossary/dark-data

2. 暗数据对数据管理平台的挑战

2.1 非结构化数据是主要研究对象

根据 IDC 的研究发现,90% 的非结构化数据从未被分析过,也就是说暗数据中有大量的非结构化数据占比,如:服务器的日志文件,财务的报表,商户账目日志,呼叫中心记录等。从以下的图中您也可以发现,区别于数据应用的不同,产生的暗数据的量也是不同的。比如,大家都知道的社交的信息是舆情分析数据的重要来源,而来自于服务器或是机器学习的日志文件又是企业安全分析、技术创新的重要研究对象。那么对非结构化数据的即时提供就显得极为重要了。

暗数据的特点

2.2 建立终端到云的数据传输

由于大部分的暗数据产生于边缘计算或是终端(Edge and Endpoint),我们进行一下场景的带入,比如:企业用于边缘计算的 OT 端设备每日都会产生大量日志。或是企业里人人都会用到的笔记本电脑,它会是黑客 APT 持续渗透攻击的主要途径。当企业在考量治理数据的过程中,其关键是确保你的存档策略是全面的。企业在做数据资产建模时,就应该考虑在边缘计算或是终端(Edge and Endpoint)上生成的数据的价值。另外,企业还应当建立一套有效的机制,以确保数据在任何情况下都可以从边缘计算或是终端(Edge and Endpoint)被收集到云数据管理平台,无论设备是否移动。

2.3 数据的即时提供是刚性需求

目前大多数公司还没有建立自己的企业数据管理平台或是云数据管理平台,通过与客户的交流,我们看到了客户对数据管理服务的需求。他们更渴望即时的得到数据,并且将这些数据变成有效的资源池进行分析。一方面,企业客户越发的希望避免繁重的数据数据准备活动,这消耗了大量的人力与物力。另一方面,企业所雇佣的数据分析人员,总在抱怨数据的供给不足。企业急需数据即服务的出现,来帮助企业及时的获得数据洞察,从而让企业保持商业优势。

3.Veeam 云数据管理架构加速企业创新

  • 数据集中备份与上收
    如下图,在我们的用例中,您可以看到企业使用终端设备的用户和工厂的 OT 端设备通过将数据上传到云端在灾备中心方式可以达成日常的数据备份。这里有一个活用的方式,比如在工厂不太可能将所有的 OT 端都安装数据传输的 Agent ,所以我们可以将要收集的日志信息先上传到 OT 端设备的 Gateway上,再通过Gateway进行数据上传。

  • 简化网络连接与加速
    在数据传输到云端灾备中心时,终端用户不需要通过 VPN 之类的网络连通方式,只要能上网就可以将数据上传到云端灾备中心的 VCC (Veeam Cloud Connect), VCC 是多租户的架构,可以保护多个租户数据安全的同时,确保用户之间的数据利用互相不被干扰,通过云中的存储层 Cloud Tier ,Veeam可以帮助客户进行数据长期而安全的保留。

  • 中央集成管理与监控
    在云端我们还有 VAC (Veeeam Availability Console) 进行统一的管理与监控。VAC 的作用包括管理 Agent、安装Agent, 激活许可和下发任务等等。还包括,监控用户的备份任务执行的情况,如,是否已经达成了SLA、目前还有多少主机存在没有备份的情况,客户处的许可使用是否合理等。当然,VAC也可以直接管理 VBR 与 VCC。

  • 数据灵活导入与利用
    在云端或是客户自己的数据创新中心,通过 VBR 将云存储的数据进行导入,这一点非常方便,只要VBR可以访问云中的对象存储,就可以方便的进行数据的导入和再利用,从而实现企业的数据创新。通过 VBR 可以进行数据活用的方式包括: 直接恢复虚拟机到AWS、Azure、 直接恢复虚拟机到 Hyper-V 、 数据实验室 等,当我还有我们今日的重点 数据集成 API (Data integration API)。

终端数据到云端灾备与数据创新中心

4.利用 Veeam Data Integration API 打开数据之门

在当今社会,数据已成为每个公司资产的核心。出于各种原因,企业中每天都会生成大量新数据。Veeam 多年来一直致力于数据保护,同时我们也观察到数据重用的能力越来越受到关注。在新的Veeam Backup & Replication v10中,添加了一项有价值的功能,称为数据集成API,可以有效地重用您的数据。这项新功能允许通过第三方的软件集成到您的系统中,并适用于以下场景,包括:数据挖掘与分类,安全分析及渗透建模、电子发现与数据取证等等。

通过如下链接您可以找到并且发现 Veeam Data integration API 的使用手册,其中主要的命令如下:

PowerShell命令 操作
Publish-VBRBackupContent 通过iSCSI协议挂载备份文件
Get-VBRPublishedBackupContentSession 返回正在运行的将备份内容挂载到iSCSI目标服务器的会话。
Get-VBRPublishedBackupContentInfo 返回挂载备份文件的详细信息
Unpublish-VBRBackupContent 从iSCSI目标服务器卸载备份文件

Veeam Data integration API 的使用手册
https://helpcenter.veeam.com/docs/backup/powershell/veeam-data-integration-api.html?ver=100

4.1 PowerShell 调用示例, 挂载备份集

# 添加 VeeamPSSnapin -如果它已经被加则静默继续没有错误
Add-PSSnapin VeeamPSSnapin -ErrorAction SilentlyContinue

# 获取备份数据信息
$backup = Get-VBRBackup -Name "*DESKTOP-CQ8MQKA*"

# 提供要挂载SCSI卷的主机名称
$targetServerName = "CLIENT"

# 提供访问远程服务器示例的凭据
$targetAdminCreds = Get-VBRCredentials -name "CLIENT\Administrator"

# 获得还原点信息
$restorepoints = Get-VBRRestorePoint -Backup $backup | Sort-Object –Property CreationTime

foreach ($point in $restorepoints) {
    # 发布备份还原点到目标服务器
    $session = Publish-VBRBackupContent -RestorePoint $point -TargetServerName $targetServerName -TargetServerCredentials $targetAdminCreds

    # 获得挂载磁盘信息
    $contentInfo = Get-VBRPublishedBackupContentInfo -Session $session

    Write-Host "`nBackup Job Name:" $session.BackupName "`nRestore Point time:" $session.RestorePoint "`nVM Name:" $session.PublicationName

    # 生成挂载点以及发布信息的报告
    foreach ($contentType in $contentInfo) {
        Write-Host "================================"
        $disks = $contentType.Disks
        Write-Host "Mounted Disk:" $disks.DiskName
        Write-Host "Mounted At:" $disks.MountPoints
        Write-Host "Mounted As:" $contentType.Mode
        Write-Host "Available From:" $contentType.ServerIps "(Port:" $contentType.ServerPort ")"
        Write-Host "Available Via:" $disks.AccessLink
        Write-Host "================================"
    }
}

注意,这个脚本中有一些重要的变量,是您需要更新的。
1, Backup 变量中的作业名,将是您自己的备份作业名称
2, targetServerName 变量 是您的环境中ISCSI挂载服务器的名称
3, TargetAdminCredentials 变量,其中包含访问远程服务器的凭据。这些必须存储在VBR的凭据管理器中。

VBR的凭据管理器

推荐您访问 Data Intergaration API code on Github
https://github.com/VeeamHub/powershell/tree/master/BR-DataIntegrationAPI

以下是卷挂载之后可以看到的信息,数据抽取程序可以通过挂载点直接访问备份数据。


Backup Job Name: Job DESKTOP-CQ8MQKA 
Restore Point time: 2020/3/9 12:11:52 
VM Name: DESKTOP-CQ8MQKA
================================
Mounted Disk: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 (8f77e6e2-67e1-cda2-f8f6-94c691a0bcc7)\7a792642-dc84-47db-b0c0-4e66ac516522
Mounted At: C:\VeeamFLR\DESKTOP-CQ8MQKA_29f3c5e1\Volume0
Mounted As: ISCSI
Available From: 172.26.12.89 (Port: 3260 )
Available Via: iqn.2006-06.com.veeam:desktop-cq8mqka.fc91b50604c342d994f1805473a30de2:LUN(0)
================================

Backup Job Name: Job DESKTOP-CQ8MQKA 
Restore Point time: 2020/3/10 0:31:54 
VM Name: DESKTOP-CQ8MQKA
================================
Mounted Disk: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 (8f77e6e2-67e1-cda2-f8f6-94c691a0bcc7)\7a792642-dc84-47db-b0c0-4e66ac516522
Mounted At: C:\VeeamFLR\DESKTOP-CQ8MQKA_e1f80d9b\Volume0
Mounted As: ISCSI
Available From: 172.26.12.89 (Port: 3261 )
Available Via: iqn.2006-06.com.veeam:desktop-cq8mqka.c22d3ce87c184164b15953f6778d0bf8:LUN(0)
================================

Backup Job Name: Job DESKTOP-CQ8MQKA 
Restore Point time: 2020/3/11 0:32:02 
VM Name: DESKTOP-CQ8MQKA
================================
Mounted Disk: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 (8f77e6e2-67e1-cda2-f8f6-94c691a0bcc7)\7a792642-dc84-47db-b0c0-4e66ac516522
Mounted At: C:\VeeamFLR\DESKTOP-CQ8MQKA_f1449210\Volume0
Mounted As: ISCSI
Available From: 172.26.12.89 (Port: 3262 )
Available Via: iqn.2006-06.com.veeam:desktop-cq8mqka.a449f7e8e5764da2a58bc812751c3489:LUN(0)
================================

Backup Job Name: Job DESKTOP-CQ8MQKA 
Restore Point time: 2020/3/12 0:31:47 
VM Name: DESKTOP-CQ8MQKA
================================
Mounted Disk: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 (8f77e6e2-67e1-cda2-f8f6-94c691a0bcc7)\7a792642-dc84-47db-b0c0-4e66ac516522
Mounted At: C:\VeeamFLR\DESKTOP-CQ8MQKA_c03690f9\Volume0
Mounted As: ISCSI
Available From: 172.26.12.89 (Port: 3263 )
Available Via: iqn.2006-06.com.veeam:desktop-cq8mqka.f012064dd540408d8a63703727328576:LUN(0)
================================

Backup Job Name: Job DESKTOP-CQ8MQKA 
Restore Point time: 2020/3/13 0:31:53 
VM Name: DESKTOP-CQ8MQKA
================================
Mounted Disk: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 (8f77e6e2-67e1-cda2-f8f6-94c691a0bcc7)\7a792642-dc84-47db-b0c0-4e66ac516522
Mounted At: C:\VeeamFLR\DESKTOP-CQ8MQKA_130357da\Volume0
Mounted As: ISCSI
Available From: 172.26.12.89 (Port: 3264 )
Available Via: iqn.2006-06.com.veeam:desktop-cq8mqka.906007bc309b4f0d882f4c9a15fac5bd:LUN(0)
================================

Backup Job Name: Job DESKTOP-CQ8MQKA 
Restore Point time: 2020/3/13 9:28:36 
VM Name: DESKTOP-CQ8MQKA
================================
Mounted Disk: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 (8f77e6e2-67e1-cda2-f8f6-94c691a0bcc7)\7a792642-dc84-47db-b0c0-4e66ac516522
Mounted At: C:\VeeamFLR\DESKTOP-CQ8MQKA_39f9c49a\Volume0
Mounted As: ISCSI
Available From: 172.26.12.89 (Port: 3265 )
Available Via: iqn.2006-06.com.veeam:desktop-cq8mqka.81557101a9844f49ac516f1f0ddb88a5:LUN(0)
================================

Backup Job Name: Job DESKTOP-CQ8MQKA 
Restore Point time: 2020/3/14 0:31:57 
VM Name: DESKTOP-CQ8MQKA
================================
Mounted Disk: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 (8f77e6e2-67e1-cda2-f8f6-94c691a0bcc7)\7a792642-dc84-47db-b0c0-4e66ac516522
Mounted At: C:\VeeamFLR\DESKTOP-CQ8MQKA_108975c9\Volume0
Mounted As: ISCSI
Available From: 172.26.12.89 (Port: 3266 )
Available Via: iqn.2006-06.com.veeam:desktop-cq8mqka.78507c301f98431b86ab5a58ced7a437:LUN(0)
================================

Backup Job Name: Job DESKTOP-CQ8MQKA 
Restore Point time: 2020/3/16 19:31:42 
VM Name: DESKTOP-CQ8MQKA
================================
Mounted Disk: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 (8f77e6e2-67e1-cda2-f8f6-94c691a0bcc7)\7a792642-dc84-47db-b0c0-4e66ac516522
Mounted At: C:\VeeamFLR\DESKTOP-CQ8MQKA_43ff5035\Volume0
Mounted As: ISCSI
Available From: 172.26.12.89 (Port: 3267 )
Available Via: iqn.2006-06.com.veeam:desktop-cq8mqka.64f66fd59ae4496c9ba4ce17d28ac230:LUN(0)
================================

Backup Job Name: Job DESKTOP-CQ8MQKA 
Restore Point time: 2020/3/17 0:31:47 
VM Name: DESKTOP-CQ8MQKA
================================
Mounted Disk: 6745a759-2205-4cd2-b172-8ec8f7e60ef8 (8f77e6e2-67e1-cda2-f8f6-94c691a0bcc7)\7a792642-dc84-47db-b0c0-4e66ac516522
Mounted At: C:\VeeamFLR\DESKTOP-CQ8MQKA_cdad04b1\Volume0
Mounted As: ISCSI
Available From: 172.26.12.89 (Port: 3268 )
Available Via: iqn.2006-06.com.veeam:desktop-cq8mqka.03b9d452f2474e239fceccda2d25fc69:LUN(0)
================================

4.2 备份挂载后的实现效果

如下图所示,您可以清晰的看到备份集已经以磁盘的形式挂载到目标主机上

磁盘管理器

通过使用 PowerShell API ​​您可以随时将您需要数据挂载到 Mount Server上,通过这个功能,您可以显示不同时间的数据的状态。挂载点在磁盘的 VeeamFLR 文件夹下您可以自由访问数据。

挂载点的文件夹

4.3 查看已经挂载到iSCSI目标服务器的备份集

通过如下命令您可以查看已经挂载到iSCSI目标服务器的备份集, 注意以下备份集的时间点,您可以根据这些时间点来确保,数据抽取程序的正确性

PS C:\Users\Administrator> Get-VBRPublishedBackupContentSession 

BackupName      : Job DESKTOP-CQ8MQKA
RestorePoint    : 2020/3/9 12:11:52
StateString     : Virtual disks published...
PublicationName : DESKTOP-CQ8MQKA
Id              : d15556d9-2c67-4687-b63b-07a5e9c644c6
OibId           : 1cac9259-060e-4f51-bace-3f118e15f2ac
OibName         : DESKTOP-CQ8MQKA
InitiatorName   : CLIENT

BackupName      : Job DESKTOP-CQ8MQKA
RestorePoint    : 2020/3/17 0:31:47
StateString     : Virtual disks published...
PublicationName : DESKTOP-CQ8MQKA
Id              : a594f814-8565-4271-9814-0b425f3e5881
OibId           : 82a8cae3-5100-41c3-ac04-512ef2dcd8e2
OibName         : DESKTOP-CQ8MQKA
InitiatorName   : CLIENT

BackupName      : Job DESKTOP-CQ8MQKA
RestorePoint    : 2020/3/10 0:31:54
StateString     : Virtual disks published...
PublicationName : DESKTOP-CQ8MQKA
Id              : f43f6b32-8c26-4c01-a50f-318603613cca
OibId           : 7da482f7-0e3f-4eca-bd2e-044845613975
OibName         : DESKTOP-CQ8MQKA
InitiatorName   : CLIENT

BackupName      : Job DESKTOP-CQ8MQKA
RestorePoint    : 2020/3/16 19:31:42
StateString     : Virtual disks published...
PublicationName : DESKTOP-CQ8MQKA
Id              : 6c6abf92-9a55-4ac9-b555-4209ac8ea03a
OibId           : 424e1182-1baf-4146-ac0d-ebd57fa82600
OibName         : DESKTOP-CQ8MQKA
InitiatorName   : CLIENT

BackupName      : Job DESKTOP-CQ8MQKA
RestorePoint    : 2020/3/11 0:32:02
StateString     : Virtual disks published...
PublicationName : DESKTOP-CQ8MQKA
Id              : 84c15540-6e68-4c7a-b52b-6d9fe452c237
OibId           : 6fddd231-c369-45da-a79e-35eb50fa4489
OibName         : DESKTOP-CQ8MQKA
InitiatorName   : CLIENT

BackupName      : Job DESKTOP-CQ8MQKA
RestorePoint    : 2020/3/13 9:28:36
StateString     : Virtual disks published...
PublicationName : DESKTOP-CQ8MQKA
Id              : c296c3a5-0d7b-4023-856e-744b1cec4791
OibId           : 24fbae86-eb48-4229-a76c-77975e54e88e
OibName         : DESKTOP-CQ8MQKA
InitiatorName   : CLIENT

BackupName      : Job DESKTOP-CQ8MQKA
RestorePoint    : 2020/3/12 0:31:47
StateString     : Virtual disks published...
PublicationName : DESKTOP-CQ8MQKA
Id              : fb8502b3-cf98-4aaf-9e85-a22c49ea7638
OibId           : 8e8ab8d7-9d11-4343-a6db-b80d39e171e6
OibName         : DESKTOP-CQ8MQKA
InitiatorName   : CLIENT

BackupName      : Job DESKTOP-CQ8MQKA
RestorePoint    : 2020/3/14 0:31:57
StateString     : Virtual disks published...
PublicationName : DESKTOP-CQ8MQKA
Id              : e9549548-018f-428c-a8a7-d2a20b3946e0
OibId           : f61168c8-3428-49dd-bcde-be3786779c74
OibName         : DESKTOP-CQ8MQKA
InitiatorName   : CLIENT

BackupName      : Job DESKTOP-CQ8MQKA
RestorePoint    : 2020/3/13 0:31:53
StateString     : Virtual disks published...
PublicationName : DESKTOP-CQ8MQKA
Id              : 289a74e5-8f32-4652-b7b5-f80ade7bc704
OibId           : 307fcea7-bfb6-4f18-886a-154c120c9d80
OibName         : DESKTOP-CQ8MQKA
InitiatorName   : CLIENT

4.4 卸载备份集

在Partners交流的过程中,有很多Partner告诉我说他们按照文档,无法去停止或者卸载已经发布的还原点,报的错误是Session不是一个有效的对象无法处理,报错信息如下。

Unpublish-VBRBackupContent 文档
https://helpcenter.veeam.com/docs/backup/powershell/unpublish-vbrbackupcontent.html?ver=100


PS C:\Users\Administrator> $session = Get-VBRPublishedBackupContentSession

PS C:\Users\Administrator> Unpublish-VBRBackupContent -Session $session -RunAsync
Unpublish-VBRBackupContent : 无法将“System.Object[]”转换为参数“Session”所需的类型“Veeam.Backup.PowerShell.Infos.VBRBackupContentPublicationSession”。不支持所指定的方法。
所在位置 行:1 字符: 37
+ Unpublish-VBRBackupContent -Session $session -RunAsync
+                                     ~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Unpublish-VBRBackupContent],ParameterBindingException
    + FullyQualifiedErrorId : CannotConvertArgument,Veeam.Backup.PowerShell.Cmdlets.UnpublishVBRBackupContent

其实是这是因为这个Session变量此时已经是一个数组,和Unpublish-VBRBackupContent 要处理的对象确实不同,如何处理一个列表类呢?其实有个十分简单的方法就是写一个Foreach循环,这样就可以把数组中的Session对象拆出来了以下是个示例脚本,希望能对大家有所帮助。

$session = Get-VBRPublishedBackupContentSession
foreach ($s1 in $session) {
    Unpublish-VBRBackupContent -Session $s1 -RunAsync
} 

5. 结论

利用数据集成API功能,可以使用企业利用数据做出更明智的业务决策,同时又不影响生产环境的性能。无论是评估安全漏洞、增强安全保护还是从数据中获取重要见解,该解决方案都是即时可用的绝佳工具,欢迎把您的想法同步给我,让我们为企业创造更多的数据资产。

下载新的Veeam Availability Suite v10或Veeam Backup&Replication v10,以利用此功能以及更多可为您提供更好备份的功能:更快,更强大,更智能。数据集成API只是我们很高兴提供的众多功能之一。

6. 欢迎下载与试用

本文中所提到的内容与应用场景只是简单的举例,我们希望您可以亲自尝试,并把您的感受与经验分享给我们,以下是试用的链接。

试用链接:

Veeam Backup & Replication v10
https://www.veeam.com/cn/downloads.html

7. 推荐阅读

Veeam Data integration API 的使用手册
https://helpcenter.veeam.com/docs/backup/powershell/veeam-data-integration-api.html?ver=100
推荐您访问 Data Intergaration API code on Github
https://github.com/VeeamHub/powershell/tree/master/BR-DataIntegrationAPI

欢迎关注我

最后,还是希望与您多多讨论,详细内容也可以参考Veeam的官方手册查看详细内容,今后还会计划推出更多精彩内容。请长按下并关注,为了让更多的人看到请点下右下角“在看”啊!;-)

云端数据管理

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注