开始新对话

未解决

此帖子已超过 5 年

5053

2012年4月16日 18:00

怎么从已过期的备份里恢复数据?

我有一个比较老的备份,现在由于业务上的需要恢复其中的某些重要数据出来。但是那个备份由于时间太久了,过期了(过了retention period?),不能浏览其中的内容也不能从中恢复数据了。有方法从这样一个已过期的备份中再恢复数据处理出来吗?接触NetWorker不是很久,以前也没遇到过这样的恢复要求,望哪位达达能具体指导下。

1.1K 消息

2012年4月16日 19:00

是的,只要备份的数据还在存储介质中。针对你目前的情况,可以使用“save set recovery”这种手段直接从介质中恢复。建议参考官方的管理员手册中的详细步骤。

39 消息

2012年4月16日 20:00

能给些具体的指导或实例吗?八百页的NetWorker英文管理员手册太长了看起来也很累(老实说,有些地方也不是太理解),而且关于recovery save set方面的内容也在不同的章节出现,我不知道哪些是针对我这个问题的,哪些步骤或命令是我应该去尝试的。

其实我也知道大部分问题的答案可能在官方管理员手册里都能找到,不过如果什么问题都直接说“请参考管理员手册里的详细步骤”,那中文支持论坛存在的意义也就大打折扣了,至少我自身的感受如此。特别是对于像我这样对某个产品还不熟悉的用户,在这里更想得到的帮助是具体的例如分析方法,尝试步骤,命令行或是诊断方案等指导,而不是去自学看冗长文档(当然,文档我平时有空时也会去读,虽然英文的读起来很累)。

所以,如果可能的话,希望多给点人性化的指导和就问题本身的针对性的建议,而不是笼统的说是去看参考手册。。一点意见,别见怪。

1.1K 消息

2012年4月17日 01:00

当然可以。

networker里面存在两种不同的数据恢复手段:

一种是根据CFIclient file index)来恢复,要求备份不能过期且可以浏览。Networker服务器会根据CFI来找到需要用作恢复操作的存储介质,直接恢复数据;

另一种是根据volume(存储卷)来恢复,适用于备份过期且不可浏览的情况。此时CFI已不可用,但要求存储备份数据的介质仍然可用,那么我们就可以通过里面的数据来重新生成CFI并恢复数据。

因为你的备份过期而不能浏览了,所以只能用第二种办法。下面我列举一个案例,展示下大致的思路和步骤。请注意这些是较通用的,假如你(1)恢复环境有特殊要求,请参看《Networker Administration Guide》中的“Recovering by save set selection”章节(2)想了解更多关于命令的内容,请参看《Networker Command Reference Guide》。

目前的官方白皮书都是英语的,假如你有任何的疑问,请在此与我们交流。让我们共同学习、探讨。好,言归正传,请往下看。

  1. 把磁带放到驱动器中,此时不加载它:
    nsrjb –ln –S <
    磁带在带库中的槽号> -f <带库中配置的驱动器路径>
  2. 重建CFI和介质数据库中的存储集信息:
    scanner –i -S <
    带库中配置的驱动器路径>此时你就可以利用恢复工具的图形界面来浏览想要的备份了。

当需要的磁带是“可回收”和“过期”状态时,使用下面的步骤来恢复CFI

  1. 确定备份数据的SSIDvolume等信息mminfo -av -q "client= ,savetime>=mm/dd/yy,savetime<=mm/dd/yy" -r "volume,name,ssid,level,ssflags"
  2. 检查volumesave set是否是“可回收”
  3. 检查这些save set的保留时间mminfo -avV -q"ssid= " -r"ssbrowse(26),ssretent(26)"
  4. 如果save set是可回收状态,需要先改变保留时间(21nsrmm -S -e < 新的过期时间> ( DD/MM/YYYY )          --改变保留时间
    nsrmm -S -o notrecyclable                                        --
    永不过期
  5. 在图形界面上,这个save set的状态会从“可回收”变成“可恢复”。用第3步再检查一次。mminfo -avV -q"ssid= " -r"ssbrowse(26),ssretent(26),savetime(26)"

然后使用“recover”命令,或者在图形界面上恢复数据,到原来的位置或者新位置。recover -s -S < 原路径>

recover -d <新路径> -s -S < 原路径>

32 消息

2012年5月3日 23:00

你好,请教一下,我现在有一个磁带,是以前使用7.3备份的,现在想恢复其中的数据,但是备份时候的Client机器都已经报废了。已经用命令扫描了这个磁带: 能看到save set,但是在图形界面找不到信息,请问如何能恢复这个sets里面的文件呢,谢谢。

搜狗截图_2012-05-04_14-39-07.jpg

1.2K 消息

2012年5月4日 02:00

Client机器报废了。那么NetWorker Server上还有这个clientclient resource存在吗?(从你描述的情况看,很可能是已经不存在了)

a)如果还存在,你可以用以下步骤来先还原Media DatabaseCFI

1.保证存储介质,例如:磁带,是可用的,把磁带放到驱动器中,此时不加载它:

nsrjb ln S <磁带在带库中的槽号> -f <带库中配置的驱动器路径>

2.重建CFI和介质数据库中的存储集信息:

scanner i -S < 带库中配置的驱动器路径>

此时你就可以利用恢复工具的图形界面来浏览想要的备份了。

b)如果client resource已经不存在了,还原起来就比较麻烦。我们须要获得原来这个client resourceclient nameclientid,然后根据这个client nameclientid来创建一个新的client resource 这样才能恢复磁带上的数据。

要获取client nameclientid有两个方法:

方法1 假如之前(client机器报废之前)有备份过的mm文件夹和res文件夹,找一个测试环境建一个NetWorker Server,用之前的mm文件夹和res文件夹拷贝覆盖新环境中的mm文件夹和res文件夹。然后运行mminfo -avot -q ssid=2152913879 -r "volume,name,ssid,level,ssflags,clientid "来获取clientid

方法2 找一个测试环境,mmrecov来还原bootstrap。然后运行mminfo -avot -q ssid=2152913879 -r "volume,name,ssid,level,ssflags,client,clientid "来获取client nameclientid

获取到client nameclientid以后,用这个client nameclientid新建一个client resource。然后再运行nsrck L7 client_name来还原CFI。此时,你应该可以利用恢复工具的图形界面来浏览想要的备份了。

32 消息

2012年5月6日 05:00

多谢帮助,我找到ID了,重建了client source,扫描之后看到了index,但是扫面的时候出现了错误:

8787:scanner: ssid 2152913879: 577 GB (of 577 GB, 10794720 file(s)) written

8830:scanner: (ssid 2152913879) index error, flush failed

这个sets包含要恢复的文件啊,请问这是什么问题导致的失败啊。

另外还想问一下,按我现在的还原方法看,就是说,没有当时的备份环境,备份下来的文件就很难恢复吧。我想直接把包含数据备份的磁带寄给另一个办公室的同事,如果很难恢复的话,寄给他也没有用啊,对吗?

或者有没有不需要当时备份环境,直接读取磁带中文件的方法?谢谢

1.2K 消息

2012年5月6日 21:00

既然你已经找到了报废clientclientid,那么有没有在NetWorker Server用该clientclient nameclientid重建client resource呢?如果已经重建,但是scanner(扫描)时报这个“8830:scanner: (ssid 2152913879) index error, flush failed”错误的话,原因可能是:

原因1:你可能在运行scanner命令时,重建的client上的NetWorker User正打开着。因为打开NetWorker User会用到clientindex,而scanner会重建index,所以会有冲突。因此,请关闭重建的client上的NetWorker User,然后再运行scanner

原因2:要还原的save set如果跨多个磁带,需要按顺序放入磁带然后运行scanner。我注意到你mminfo出来的sumflags的结果是cb,意味着save set是在单独一个磁带上存放的,所以应该不是这个原因。不过你也可以用mminfo –q ssid=2152913879 –r sumflags再来验证下。如果结果是hbmbtb的话,说明save set跨了多个卷。

另外还想问一下,按我现在的还原方法看,就是说,没有当时的备份环境,备份下来的文件就很难恢复吧。我想直接把包含数据备份的磁带寄给另一个办公室的同事,如果很难恢复的话,寄给他也没有用啊,对吗?

或者有没有不需要当时备份环境,直接读取磁带中文件的方法?谢谢

正如我上面帖子里所说的,如果没有当时的备份环境,但是知道clientid的话,可以在NetWorker Server上重建client resource,然后用scanner重建media databaseCFI。如果client nameclientid不知道的话,就比较麻烦了。需要搭一台测试的NetWorker Server来还原之前的bootstrap,以获取client nameclientid

32 消息

2012年6月5日 20:00

今天一个同事也遇到这个问题,跟我的情况相同,转了这个帖子给他,已经顺利还原数据。论坛很给力,谢谢。

2 消息

2012年6月5日 23:00

1. change recyclable to notrecyclable: nsrmm -o notrecyclable -v -S SSID/CLONEID

2. increase expire retention:  nsrmm -S SSID -e "+10 years"    nsrmm -S SSID -w "+10 years" -e "+10 years"  

找不到事件!

Top