问题现象:

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 成功备份文件,但无法删除相关推荐

  1. 阿里云OSS定时备份文件并定时删除过时文件

    说明 1.该文章说明了如何使用oss保存备份文件并定期删除 2.使用oss是因为价格低廉,并且服务器的存储空间有限,备份文件按日期不断叠加,容易撑爆服务器存储空间,所以直接上传到oss上保存 3.在上 ...

  2. Win10已配对成功的蓝牙耳机无法删除怎么办?电脑蓝牙连接不成功、删除失败,显示此项不起作用。请确保你的蓝牙设备仍可以检测到,然后再试一次。

    1.问题描述 今天想用蓝牙连一下自己的耳机听歌,但是发现已经配对的蓝牙耳机却连接不成功,想要删除设备然后再重新连接发现无法删除.直接搜索我的蓝牙耳机也搜索不到,陷入了困境,于是开始上网寻找解决方案,于 ...

  3. 【Oracle】第一次安装失败,第二次成功,如何安全删除第一次的?

    其实第一次安装失败就应该先删除,但是用自带的Universal Installer删除,但是失败了,提示我用deinstall下的批处理,但是还是失败了.然后就第二次安装,安装成功,测试正常,但是第一 ...

  4. 管家婆怎么删除服务器备份文件夹,​管家婆删除的数据还能找回来吗

    管家婆删除的数据还能找回来吗 答:一般是很难找回的.但是可以联系管家婆软件的系统工程师,先帮你确定一下,是把管家婆软件卸载了,还是直接把SQL数据库卸载了. 可以先看看管家婆安装目录下有个文copy件 ...

  5. jpa 删除是否成功_jpa delete无法删除 浅析JPA中EntityManager无法remove entity的问题 - 电脑故障 - 服务器之家...

    jpa delete无法删除 浅析JPA中EntityManager无法remove entity的问题 发布时间:2017-03-21 来源:服务器之家 JPA对于维护双边关系操作其实已经有明确说明 ...

  6. outlook怎么删除服务器备份文件,如何彻底删除outlook的一切数据,包括账户信息和邮件...

    如何彻底删除outlook的一切数据,包括账户信息和邮件以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如何彻底删除ou ...

  7. NetBackup 8.2 LinuxR 服务器安装及使用 ssh 方法将客户端软件从 UNIX 主服务器安装到 UNIX 客户端(持续更新)

    经过近一段时间断断续续的工作总结,整理如下,给需要的朋友借鉴,避免走弯路,解决疑惑.不足之处,还请高手门补充.指正. 通过Linux Redhat服务器端分发nbu客户端 文章目录 NetBackup ...

  8. Veritas Flex 5150 实例管理-NetBackup实例创建

    创建应用程序实例概述 首先我们需要了解的是应用程序的实例包含如下信息: NetBackup主服务器 具有以下存储选项的NetBackup介质服务器.(媒体服务器重复数据删除池(MSDP).高级磁盘.C ...

  9. 服务器护卫神怎么上传文件,护卫神备份文件的方法

    点击护卫神·好备份系统左侧[文件备份]菜单,进入文件备份模块. 该模块用于设置一个或多个文件备份任务,这些任务可以支持压缩.差异备份.设置密码.自动完成等,任务之间相互独立,互不干扰. 一.备份规则列 ...

最新文章

  1. laravel 调试模式及日志配置
  2. 查询数据去除后面无用的0_Python数据分析与实战
  3. 把SAP Cloud for Customer嵌入到IFrame里
  4. c语言必背数据结构_数据结构(C语言)考试重点必背
  5. ASCII码与字符串的相互转换
  6. mysql日期截取年月_摄影大赛丨“我遇见最美的光”第五届全国医务人员摄影大展 截稿日期2020年8月15日...
  7. 读取xml文件转成ListT对象的两种方法(附源码)
  8. 【剑指offer】面试题34:二叉树中和为某一值的路径(Java)
  9. android 滑动接听源码,android仿摩拜单车APP、炫酷RecyclerView、卡片滑动、仿饿了么点餐、自定义索引等源码...
  10. SSL *** vs IPSEC ***
  11. 理解SharePoint中的备用访问映射(Alternate Access Mapping)
  12. mysql日期代码_mysql日期查询操作代码
  13. linux 下ifconfig修改IP
  14. 电机电缆M12航空插头
  15. 解决“npm WARN requires a peer of XXX“问题
  16. ios平台实现视频H264硬编码及软编码(附完整demo)
  17. 学习,积累,10000小时定律
  18. cocos2dx-基本动画制作
  19. [SV]SystemVerilog压缩数组(Packed Array)和非压缩数组( Unpacked Array)
  20. 信号采样频率和信号频率的关系

热门文章

  1. 5W2H工作法,使工作更有条理,生活更好梳理
  2. oracle rfs进程过多,Oracle物理备库RFS进程消失,不能启动--解决
  3. 多重背包问题和“二进制拆分”
  4. [P4V]Perforce(P4V)使用教程
  5. 武汉理工大学c语言pta选择题答案,武汉理工大学c语言实验及答案.doc
  6. 北风:在给我一面国旗换头像中,有人通过这个来获利吗?(亲身经历)
  7. C#【时间操作类】使用TimeSpan计算时间差
  8. moto edge 如何开启usb调试
  9. 问题 F: 猜球球 XUPT2019 哈夫曼树
  10. 电商项目 java 毕业设计_Java电商毕业设计总结(二)