OBSUtil工具 FAQ

举报
数据上云专家张涛 发表于 2019/08/01 15:43:20 2019/08/01
【摘要】 OBSUtil工具 FAQ

         1.       如何检查 obsutil 配置是否准确,是否能正常访问 OBS

obsutil 配置完成后,通过列举桶命令来验证配置及网络连通性,命令(Linux)

./obsutil ls -s

   根据命令回显结果,检查配置结果:

·       如果返回结果中包含“Bucket number is:”,表明配置正确。

·       如果返回结果中包含“Http status [403]”,表明访问密钥配置有误。

·       如果返回结果中包含“A connection attempt failed”,表明无法连接OBS服务,

 请检查网络环境是否正常。

 

2.       在华为云 ECS 中使用 obsutil,如何通过内网访问OBS

通过配置ECSDNS服务器地址为内网DNS,来实现内网访问OBS

方法1:修改VPC子网DNS地址

确定ECS所在VPC,并修改VPC子网的DNS服务器地址为内网DNS地址后,可以使整个VPC内的ECS都通过内网DNS进行解析,从而访问在华为云内网的OBS服务。

方法2:修改本地DNS配置

CentOS 6.x 64bit弹性云服务器为例:

1.       运行命令 vi   /etc/resolv.conf, 打开“/etc/resolv.conf”文件。

2.       按下i键进入编辑模式,在原有DNS地址前插入一行,新增内网地址:

nameserver {内网DNS服务器地址}

3.       按下Esc键,并输入:wq!,保存并退出文件。

具体步骤可参考:https://support.huaweicloud.com/bestpractice-obs/obs_05_0430.html

 

3.       在华为云 ECS 中如何判断使用内网访问 OBS

在华为云 ECS ping OBS 的终端节点(endpoint)域名,如果响应的IP地址为100网段,则说明通过内网访问OBS。如在Linux ECS上:

                                               image.png

 

4.       obsutil 如何高效地实现桶间对象传输?

通过对象复制命令,将源桶中对象复制到目标通中(暂不支持文件语义桶到对象桶的对象复制),支持单个对象或批量对象的复制。

简单命令(Linux)

单个复制:./obsutil   cp obs://srcbucket/key obs://dstbucket/[dest]

批量复制:./obsutil   cp obs://srcbucket[/key] obs://dstbucket/[dest] -r -f

注意:1.复制时需要有被复制对象的读权限和目标桶的写权限;

   2.如果没有开启跨区域复制模式,复制的源桶和目标桶必须在同一个区域;

 

5.       obsutil 的默认配置文件、结果清单及日志文件在哪里?

a)       默认配置文件

当对obsutil进行初始化配置后,会在用户目录(macOS/Linux操作系统的“~”目录;Windows操作系统的“C:\Users\<username>”目录)生成一个名为.obsutilconfig的配置文件。

b)      结果清单

批量任务执行完成后,会生成结果清单文件,默认情况下结果清单文件保存在用户目录的子文件夹.obsutil_output下,包含三种类型:成功结果清单、失败结果清单和警告结果清单,命名规则为:操作_{succeed | failed | warning}_report_时间_TaskId.txt

c)       日志文件

默认情况下日志文件保存在用户目录的子文件夹.obsutil_log下,包含工具日志(obsutil.log)SDK日志(obssdk.log),分别记录工具在运行期间产生的日志信息和工具调用OBS服务端接口期间产生的日志信息。

 

6.       对于部分失败批量上传、下载或复制任务,如何恢复任务?

首先根据任务返回的Task id,将对应的结果清单日志找出,排查任务失败原因,如网络中断、磁盘异常,权限等问题,将问题排除后,利用obsutil的恢复命令重新执行任务,此时只会重新执行对应失败对象的上传、下载或复制。

简单命令(Linux)./obsutil cp -recover={task id} -f

如:obsutil cp -recover=3066a4b0-4d21-4929-bb84-4829c32cbd0f -f

 

7.       obsutil 执行对象复制命令时,报错“Error: The max jobs for copy is 10”,如何解决?

当前执行对象(单个/批量)复制操作时,允许的批量操作最大并发数(默认为配置文件中defaultJobs)和单个分段任务的最大并发数(默认为配置文件中defaultParallels)均为10。当这两个参数超过10时会出现这种报错,解决办法是修改配置文件或在当前命令中增加-j=10-p=10附加参数,将对应的参数最高调整为10

 

8.       使用 obsutil 上传下载速度慢?

采用 obsutil 进行文件上传下载,依赖于本地的网络带宽、磁盘IO、服务端的响应等条件,obsutil 不会对客户数据传输进行限流。

a)       检查网络,如 ping obs.cn-north-1.myhuaweicloud.com,检查网络时延、丢包率等;

b)      在华为 ECS 中访问OBS,检查是否通过内网访问 OBS

c)       对于大量小文件的上传、下载主要参考 TPS (单位时间内处理文件个数),而非带宽;

d)      在批量上传可以增加 -j -p 等参数,并将参数数据调高,观察传输速度是否提高,参考性能调优最佳实践:https://support.huaweicloud.com/utiltg-obs/obs_11_0052.html

 

9.       obsutil cp 命令在上传/下载/复制时开启增量上传下载?

在执行cp命令进行上传/下载时,通过增加 -u 参数开启增量功能,该参数的含义为:上传/下载/复制每个对象时都会对比源路径和目标路径,仅在目标对象不存在,或者对象大小不一致,或者目标对象的最后修改时间早于源对象的最后修改时间时进行上传/下载/复制。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。