Netbackup 8.1: bparchive 成功备份文件,但无法删除
问题现象:
Netbackup 8.x的版本中,使用bparchive对一个绝对路径中含有link(软链接)的目录进行bparchive归档操作,可以备份成功,但是备份成功之后该目录无法被删除。 如果bparchive的对象是一个文件,即使文件的绝对路径中包含软链接,那该文件是没问题的,备份完后可以正常删除。
该问题在Netbackup 7.x版本中并不存在。我认为这是Netbackup产品设计的一个缺陷
问题重现:
以下的测试中,/tmp/lns0728是指向/tmp/0728的一个链接,那么使用bparchive归档表现如下:
- 目录/tmp/lns0728/dirA 有问题
- 目录/tmp/0728/dirA 没问题
- 文件/tmp/lns0728/dirA/fileA 没问题
- 文件/tmp/0728/dirA/fileA 没问题
HOST01:/tmp # mkdir 0728
HOST01:/tmp # ln -s /tmp/0728 /tmp/lns0728
HOST01:/tmp # ls -l lns0728
lrwxrwxrwx 1 root root 9 Jul 28 10:56 lns0728 -> /tmp/0728
HOST01:/tmp # cd lns0728
HOST01:/tmp/lns0728 # pwd
/tmp/lns0728
HOST01:/tmp/lns0728 # mkdir dirA
HOST01:/tmp/lns0728 # date > dirA/fileA
HOST01:/tmp/lns0728 # ls -l dirA
total 4-rw-r--r-- 1 root root 29 Jul 28 10:57 fileA
HOST01:/tmp/lns0728 # /usr/openv/netbackup/bin/bparchive -p POLICY1 -w -L /tmp/1.log /tmp/lns0728/dirA
HOST01:/tmp/lns0728 # ls -l dirA
total 4-rw-r--r-- 1 root root 29 Jul 28 10:57 fileA
HOST01:/tmp/lns0728 # /usr/openv/netbackup/bin/bparchive -p POLICY1 -w -L /tmp/1.log /tmp/0728/dirA
HOST01:/tmp/lns0728 # ls -l dirA
ls: cannot access 'dirA': No such file or directory
解释与分析:
在开启Debug模式后(Debug Log是在客户端把“bp.conf”的“VERBOSE”设为“6”后重启客户端NBU服务后搜集到的。),NBU厂商答复如下:
以下是我们通过打开Debug看到的7.x版本和8.x版本的差异。
===》 7.7.3 版本,归档软链接下的一个目录
[root@docker02 ~]# cat /usr/openv/netbackup/bin/version
NetBackup-RedHat2.6.18 7.7.3
[root@docker02 ~]#
[root@docker02 ~]# bparchive -p archive-docker02 -s archive-schedule -w -L /usr/openv/netbackup/logs/ARCHIVE.LOG/archive.20210728.1.log /tmp/link_to_0728/dirA
[root@docker02 ~]# ls -l /tmp/link_to_0728/dirA
ls: cannot access /tmp/link_to_0728/dirA: No such file or directory
[root@docker02 ~]#
08:24:52.301 [8148] <2> bpbkar SelectFile: cwd=NULL path=/tmp/link_to_0728/dirA
08:24:52.301 [8148] <2> bpbkar resolve_path: INF - /tmp/link_to_0728 resolves to /tmp/0728
08:24:52.301 [8148] <2> bpbkar resolve_path: INF - Actual mount point of /tmp/link_to_0728 is /tmp/0728
08:24:52.301 [8148] <2> bpbkar SelectFile: INF - Resolved_path = /tmp/0728/dirA
08:24:52.301 [8148] <2> bpbkar resolve_path: INF - /tmp/link_to_0728/dirA resolves to /tmp/0728/dirA
08:24:52.301 [8148] <2> bpbkar resolve_path: INF - Actual mount point of /tmp/link_to_0728/dirA is /tmp/0728/dirA
08:24:52.306 [8148] <2> bpbkar PrintFile: /
08:24:52.307 [8148] <2> bpbkar PrintFile: /tmp/
08:24:52.307 [8148] <2> bpbkar PrintFile: /tmp/0728/
08:24:52.308 [8148] <2> bpbkar PrintFile: /tmp/0728/dirA/
08:24:52.308 [8148] <2> bpbkar SelectFile: cwd=/tmp/0728/dirA path=fileA
08:24:52.308 [8148] <4> check_file_sparseness: Device changing from 0 to 64768
08:24:52.308 [8148] <2> fscp_is_tracked: disabled tla_init
08:24:52.309 [8148] <2> bpbkar PrintFile: /tmp/0728/dirA/fileA
08:24:52.309 [8148] <2> bpbkar resolve_path: INF - Actual mount point of / is /
08:24:52.309 [8148] <4> bpbkar expand_wildcards: end backup for filelist /tmp/link_to_0728/dirA
08:24:52.309 [8148] <2> bpbkar PrintFile: /VRTS_IMAGE_SIZE_RECORD
08:24:52.310 [8148] <4> bpbkar main: INF - Client completed sending data for backup
08:24:52.310 [8148] <2> bpbkar main: INF - Total Size:29
08:24:52.310 [8148] <4> bpbkar Exit: INF - bpbkar exit normal
08:24:52.310 [8148] <4> bpbkar Exit: INF - EXIT STATUS 0: the requested operation was successfully completed
08:24:52.310 [8148] <2> bpbkar Exit: INF - Close of stdout complete
08:24:57.174 [8148] <16> bpbkar Exit: ERR - read server exit status = 0: the requested operation was successfully completed
08:24:57.175 [8148] <4> bpbkar Exit: ARC - Starting removal of backed up files.
08:24:57.175 [8148] <2> delete_backed_up_files: List item = '/tmp/link_to_0728/dirA'
08:24:57.175 [8148] <2> delete_recur: Removing file 'fileA'
08:24:57.175 [8148] <2> delete_recur: Removed 1 files before rewind
08:24:57.175 [8148] <2> delete_recur: Removing directory '/tmp/link_to_0728/dirA'
08:24:57.176 [8148] <4> bpbkar Exit: ARC - Removal of backed up files completed.
===》 7.7.3 版本,归档软链接下的一个文件
[root@docker02 ~]# bparchive -p archive-docker02 -s archive-schedule -w -L /usr/openv/netbackup/logs/ARCHIVE.LOG/archive.20210728.1.log /tmp/link_to_0728/dirA/fileA
[root@docker02 ~]# ls -l /tmp/link_to_0728/dirA
total 0
[root@docker02 ~]#
09:51:31.742 [31680] <2> bpbkar SelectFile: cwd=NULL path=/tmp/link_to_0728/dirA/fileA
09:51:31.742 [31680] <2> bpbkar resolve_path: INF - /tmp/link_to_0728/dirA resolves to /tmp/0728/dirA
09:51:31.742 [31680] <2> bpbkar resolve_path: INF - Actual mount point of /tmp/link_to_0728/dirA is /tmp/0728/dirA
09:51:31.742 [31680] <2> bpbkar SelectFile: INF - Resolved_path = /tmp/0728/dirA/fileA
09:51:31.760 [31680] <2> bpbkar PrintFile: /
09:51:31.760 [31680] <2> bpbkar PrintFile: /tmp/
09:51:31.761 [31680] <2> bpbkar PrintFile: /tmp/0728/
09:51:31.762 [31680] <2> bpbkar PrintFile: /tmp/0728/dirA/
09:51:31.762 [31680] <4> check_file_sparseness: Device changing from 0 to 64768
09:51:31.762 [31680] <2> fscp_is_tracked: disabled tla_init
09:51:31.763 [31680] <2> bpbkar PrintFile: /tmp/0728/dirA/fileA
09:51:31.763 [31680] <4> bpbkar expand_wildcards: end backup for filelist /tmp/link_to_0728/dirA/fileA
09:51:31.763 [31680] <2> bpbkar PrintFile: /VRTS_IMAGE_SIZE_RECORD
09:51:31.764 [31680] <4> bpbkar main: INF - Client completed sending data for backup
09:51:31.764 [31680] <2> bpbkar main: INF - Total Size:29
09:51:31.764 [31680] <4> bpbkar Exit: INF - bpbkar exit normal
09:51:31.764 [31680] <4> bpbkar Exit: INF - EXIT STATUS 0: the requested operation was successfully completed
09:51:31.764 [31680] <2> bpbkar Exit: INF - Close of stdout complete
09:51:38.985 [31680] <16> bpbkar Exit: ERR - read server exit status = 0: the requested operation was successfully completed
09:51:38.986 [31680] <4> bpbkar Exit: ARC - Starting removal of backed up files.
09:51:38.986 [31680] <2> delete_backed_up_files: List item = '/tmp/link_to_0728/dirA/fileA'
09:51:38.987 [31680] <4> bpbkar Exit: ARC - Removal of backed up files completed.
09:51:38.987 [31680] <4> bpbkar Exit: INF - ARCHIVE STATUS 0
09:51:38.987 [31680] <4> bpbkar Exit: INF - setenv FINISHED=1
===》 8.1.1 版本,归档软链接下的一个目录
[root@docker01 ~]# cat /usr/openv/netbackup/bin/version
NetBackup-RedHat2.6.18 8.1.1
[root@docker01 ~]#
[root@docker01 ~]# bparchive -p archive-docker01 -s archive-schedule -w -L /usr/openv/netbackup/logs/ARCHIVE.LOG/archive.20210728.1.log /tmp/link_to_0728/dirA
[root@docker01 ~]# ls -l /tmp/link_to_0728/dirA
total 4
-rw-r--r--. 1 root root 29 Jul 30 12:33 fileA
[root@docker01 ~]#
08:24:44.648 [22786] <2> bpbkar SelectFile: cwd=NULL path=/tmp/link_to_0728/dirA
08:24:44.648 [22786] <2> bpbkar resolve_path: INF - /tmp/link_to_0728 resolves to /tmp/0728
08:24:44.648 [22786] <2> bpbkar resolve_path: INF - Actual mount point of /tmp/link_to_0728 is /tmp/0728
08:24:44.648 [22786] <2> bpbkar SelectFile: INF - Resolved_path = /tmp/0728/dirA
08:24:44.648 [22786] <2> bpbkar resolve_path: INF - /tmp/link_to_0728/dirA resolves to /tmp/0728/dirA
08:24:44.648 [22786] <2> bpbkar resolve_path: INF - Actual mount point of /tmp/link_to_0728/dirA is /tmp/0728/dirA
08:24:44.652 [22786] <2> bpbkar PrintFile: /
08:24:44.653 [22786] <2> bpbkar PrintFile: /tmp/
08:24:44.654 [22786] <2> bpbkar PrintFile: /tmp/0728/
08:24:44.655 [22786] <2> bpbkar PrintFile: /tmp/0728/dirA/
08:24:44.655 [22786] <2> bpbkar SelectFile: cwd=/tmp/0728/dirA path=fileA
08:24:44.655 [22786] <4> check_file_sparseness: Device changing from 0 to 64768
08:24:44.656 [22786] <2> bpbkar PrintFile: /tmp/0728/dirA/fileA
08:24:44.656 [22786] <2> bpbkar resolve_path: INF - Actual mount point of / is /
08:24:44.656 [22786] <4> bpbkar expand_wildcards: end backup for filelist /tmp/link_to_0728/dirA
08:24:44.811 [22786] <4> bpbkar Exit: INF - bpbkar exit normal
08:24:44.811 [22786] <4> bpbkar Exit: INF - EXIT STATUS 0: the requested operation was successfully completed
08:24:44.811 [22786] <2> bpbkar Exit: INF - Close of stdout complete
08:24:54.946 [22786] <4> bpbkar Exit: INF - read server exit status = 0: the requested operation was successfully completed
08:24:54.948 [22786] <4> bpbkar Exit: ARC - Starting removal of backed up files.
08:24:54.948 [22786] <2> delete_backed_up_files: List item = '/tmp/link_to_0728/dirA'
08:24:54.948 [22786] <2> delete_backed_up_files: Not removing directory (/tmp/link_to_0728/dirA) as it was not backed up
08:24:54.949 [22786] <4> bpbkar Exit: ARC - Removal of backed up files completed.
===》 8.1.1 版本,归档软链接下的一个文件
[root@docker01 ~]# bparchive -p archive-docker01 -s archive-schedule -w -L /usr/openv/netbackup/logs/ARCHIVE.LOG/archive.20210728.1.log /tmp/link_to_0728/dirA/fileA
[root@docker01 ~]#
[root@docker01 ~]# ls -l /tmp/link_to_0728/dirA
total 0
[root@docker01 ~]#
09:51:58.574 [24419] <2> bpbkar SelectFile: cwd=NULL path=/tmp/link_to_0728/dirA/fileA
09:51:58.574 [24419] <2> bpbkar resolve_path: INF - /tmp/link_to_0728/dirA resolves to /tmp/0728/dirA
09:51:58.574 [24419] <2> bpbkar resolve_path: INF - Actual mount point of /tmp/link_to_0728/dirA is /tmp/0728/dirA
09:51:58.574 [24419] <2> bpbkar SelectFile: INF - Resolved_path = /tmp/0728/dirA/fileA
09:51:58.614 [24419] <2> bpbkar PrintFile: /
09:51:58.632 [24419] <2> bpbkar PrintFile: /tmp/
09:51:58.633 [24419] <2> bpbkar PrintFile: /tmp/0728/
09:51:58.642 [24419] <2> bpbkar PrintFile: /tmp/0728/dirA/
09:51:58.642 [24419] <4> check_file_sparseness: Device changing from 0 to 64768
09:51:58.650 [24419] <2> bpbkar PrintFile: /tmp/0728/dirA/fileA
09:51:58.650 [24419] <4> bpbkar expand_wildcards: end backup for filelist /tmp/link_to_0728/dirA/fileA
09:51:58.749 [24419] <4> bpbkar Exit: INF - bpbkar exit normal
09:51:58.750 [24419] <4> bpbkar Exit: INF - EXIT STATUS 0: the requested operation was successfully completed
09:51:58.750 [24419] <2> bpbkar Exit: INF - Close of stdout complete
09:52:02.484 [24419] <4> bpbkar Exit: INF - read server exit status = 0: the requested operation was successfully completed
09:52:02.485 [24419] <4> bpbkar Exit: ARC - Starting removal of backed up files.
09:52:02.485 [24419] <2> delete_backed_up_files: List item = '/tmp/link_to_0728/dirA/fileA'
09:52:02.486 [24419] <4> bpbkar Exit: ARC - Removal of backed up files completed.
||| 不管是7.x版本还是8.x版本,在做归档之前的文件和目录的解析的逻辑是相同的;
<2> bpbkar resolve_path: INF - /tmp/link_to_0728/dirA resolves to /tmp/0728/dirA
<2> bpbkar resolve_path: INF - Actual mount point of /tmp/link_to_0728/dirA is /tmp/0728/dirA
||| 不管是7.x版本还是8.x版本,在做完归档之后的文件的删除处理逻辑也是相同的;
09:51:38.986 [31680] <2> delete_backed_up_files: List item = '/tmp/link_to_0728/dirA/fileA'
09:52:02.485 [24419] <2> delete_backed_up_files: List item = '/tmp/link_to_0728/dirA/fileA'
||| 差异在做完归档之后的删除目录时的处理逻辑上,有差异:
7.x Log:
08:24:57.175 [8148] <2> delete_recur: Removing directory '/tmp/link_to_0728/dirA'
8.x Log:
08:24:54.948 [22786] <2> delete_backed_up_files: List item = '/tmp/link_to_0728/dirA'
08:24:54.948 [22786] <2> delete_backed_up_files: Not removing directory (/tmp/link_to_0728/dirA) as it was not backed up
- 8.x版本在删除目录前和‘resolve_path’(绝对路径)做比较,判断有链接的目录为没有归档的目录而不去做删除目录的动作;
- 7.x版本没有去做和‘resolve_path’的比较,所以,目录会被删除掉。
Netbackup 8.1: bparchive 成功备份文件,但无法删除相关推荐
- 阿里云OSS定时备份文件并定时删除过时文件
说明 1.该文章说明了如何使用oss保存备份文件并定期删除 2.使用oss是因为价格低廉,并且服务器的存储空间有限,备份文件按日期不断叠加,容易撑爆服务器存储空间,所以直接上传到oss上保存 3.在上 ...
- Win10已配对成功的蓝牙耳机无法删除怎么办?电脑蓝牙连接不成功、删除失败,显示此项不起作用。请确保你的蓝牙设备仍可以检测到,然后再试一次。
1.问题描述 今天想用蓝牙连一下自己的耳机听歌,但是发现已经配对的蓝牙耳机却连接不成功,想要删除设备然后再重新连接发现无法删除.直接搜索我的蓝牙耳机也搜索不到,陷入了困境,于是开始上网寻找解决方案,于 ...
- 【Oracle】第一次安装失败,第二次成功,如何安全删除第一次的?
其实第一次安装失败就应该先删除,但是用自带的Universal Installer删除,但是失败了,提示我用deinstall下的批处理,但是还是失败了.然后就第二次安装,安装成功,测试正常,但是第一 ...
- 管家婆怎么删除服务器备份文件夹,管家婆删除的数据还能找回来吗
管家婆删除的数据还能找回来吗 答:一般是很难找回的.但是可以联系管家婆软件的系统工程师,先帮你确定一下,是把管家婆软件卸载了,还是直接把SQL数据库卸载了. 可以先看看管家婆安装目录下有个文copy件 ...
- jpa 删除是否成功_jpa delete无法删除 浅析JPA中EntityManager无法remove entity的问题 - 电脑故障 - 服务器之家...
jpa delete无法删除 浅析JPA中EntityManager无法remove entity的问题 发布时间:2017-03-21 来源:服务器之家 JPA对于维护双边关系操作其实已经有明确说明 ...
- outlook怎么删除服务器备份文件,如何彻底删除outlook的一切数据,包括账户信息和邮件...
如何彻底删除outlook的一切数据,包括账户信息和邮件以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如何彻底删除ou ...
- NetBackup 8.2 LinuxR 服务器安装及使用 ssh 方法将客户端软件从 UNIX 主服务器安装到 UNIX 客户端(持续更新)
经过近一段时间断断续续的工作总结,整理如下,给需要的朋友借鉴,避免走弯路,解决疑惑.不足之处,还请高手门补充.指正. 通过Linux Redhat服务器端分发nbu客户端 文章目录 NetBackup ...
- Veritas Flex 5150 实例管理-NetBackup实例创建
创建应用程序实例概述 首先我们需要了解的是应用程序的实例包含如下信息: NetBackup主服务器 具有以下存储选项的NetBackup介质服务器.(媒体服务器重复数据删除池(MSDP).高级磁盘.C ...
- 服务器护卫神怎么上传文件,护卫神备份文件的方法
点击护卫神·好备份系统左侧[文件备份]菜单,进入文件备份模块. 该模块用于设置一个或多个文件备份任务,这些任务可以支持压缩.差异备份.设置密码.自动完成等,任务之间相互独立,互不干扰. 一.备份规则列 ...
最新文章
- laravel 调试模式及日志配置
- 查询数据去除后面无用的0_Python数据分析与实战
- 把SAP Cloud for Customer嵌入到IFrame里
- c语言必背数据结构_数据结构(C语言)考试重点必背
- ASCII码与字符串的相互转换
- mysql日期截取年月_摄影大赛丨“我遇见最美的光”第五届全国医务人员摄影大展 截稿日期2020年8月15日...
- 读取xml文件转成ListT对象的两种方法(附源码)
- 【剑指offer】面试题34:二叉树中和为某一值的路径(Java)
- android 滑动接听源码,android仿摩拜单车APP、炫酷RecyclerView、卡片滑动、仿饿了么点餐、自定义索引等源码...
- SSL *** vs IPSEC ***
- 理解SharePoint中的备用访问映射(Alternate Access Mapping)
- mysql日期代码_mysql日期查询操作代码
- linux 下ifconfig修改IP
- 电机电缆M12航空插头
- 解决“npm WARN requires a peer of XXX“问题
- ios平台实现视频H264硬编码及软编码(附完整demo)
- 学习,积累,10000小时定律
- cocos2dx-基本动画制作
- [SV]SystemVerilog压缩数组(Packed Array)和非压缩数组( Unpacked Array)
- 信号采样频率和信号频率的关系
热门文章
- 5W2H工作法,使工作更有条理,生活更好梳理
- oracle rfs进程过多,Oracle物理备库RFS进程消失,不能启动--解决
- 多重背包问题和“二进制拆分”
- [P4V]Perforce(P4V)使用教程
- 武汉理工大学c语言pta选择题答案,武汉理工大学c语言实验及答案.doc
- 北风:在给我一面国旗换头像中,有人通过这个来获利吗?(亲身经历)
- C#【时间操作类】使用TimeSpan计算时间差
- moto edge 如何开启usb调试
- 问题 F: 猜球球 XUPT2019 哈夫曼树
- 电商项目 java 毕业设计_Java电商毕业设计总结(二)