应用场景
当用户需要将大量数据(几十GB到上TB)传输到HPC机器上时,使用scp拷贝有两个缺陷:(1)需要通过ECS中转数据,scp须执行两次;(2)数据太大时ECS自带磁盘容量很可能不够用;此时,使用OSS服务是比较理想的方式,无需ECS中转,直接实现端对端的传输,而且在HPC上通过内网访问OSS,速度更快、更稳定。本节介绍如何在HPC机器上使用OSS服务。
物理机访问OSS方法
首先登录阿里云官网,进入OSS控制台
https://oss.console.aliyun.com/index#/
点击Access Keys,“显示”Access Key,用手机短信验证。
拿到Access Key ID和Access Key Secret,用于鉴别身份。
创建一个Bucket,位于华东1区。其host为oss-cn-[backcolor=transparent]
**-internal.aliyuncs.com,具体可以在控制台查到。
注意:目前GPU物理机通过内网只能访问华东1区的OSS服务
在HPC机器上运行:osscmd config --host=oss-cn-********-internal.aliyuncs.com \--id=用户的OSS Access Key ID \--key=用户的OSS Access Key Secret
之后运行
osscmd ls
可以看到你创建的Bucket,说明配置成功,可以通过osscmd进行文件上传/下载操作。
先浏览有哪些bucket:# osscmd lsCreateTime BucketLocation BucketName2015-09-17 17:17:08 oss-cn-******** hpc-data-release2015-09-15 11:29:58 oss-cn-******** hpc100usersBucket Number is: 20.047(s) elapsed
可见有两个bucket,都位于华东1区。
进一步浏览其中一个bucket详细内容:# osscmd ls oss://hpc100usersprefix list is:object list is:2015-09-18 10:38:49 1066.97MB Standard oss://hpc100users/cuda_7.0.28_linux.run (oss://hpc100users/cuda_7.0.28_linux.run)prefix list number is: 0object list number is: 10.022(s) elapsed
注意OSS路径都以"oss://"开头,后面紧跟bucket名称,再向后为文件名或目录名。
下载命令:# osscmd get oss://Bucket名称/文件名称 本地文件名称
测试下载:# osscmd get oss://hpc-data-release/cuda_7.0.28_linux.run cuda_7.0.28_linux.run100% The object cuda_7.0.28_linux.run is downloaded to cuda_7.0.28_linux.run, please check.61.593(s) elapsed
下载cuda_7.0.28_linux.run到本地用时61.593s,该文件大小为1066.97MB,下载速度约为17.3 MB/s上传命令:# osscmd put 本地文件名称 oss://Bucket名称/文件名称
测试上传:# osscmd put cuda_7.0.28_linux.run oss://hpc-data-release/cuda_7.0.28_linux.run100%Object URL is:
http://hpc-data-release.oss-cn-********-internal.aliyuncs.com/cuda_7.0.28_linux.runObject abstract path is: oss://hpc-data-release/cuda_7.0.28_linux.runETag is "312AEDE1C3D1D3425C8CAA67BBB7A55E"61.287(s) elapsed
常见问题
运行osscmd ls后报错如下:Error Headers:[('content-length', '467'), ('server', 'AliyunOSS'), ('connection', 'keep-alive'), ('x-oss-request-id', '56921E152530B7D05CA805DD'), ('date', 'Sun, 10 Jan 2016 09:02:13 GMT'), ('content-type', 'application/xml')]Error Body:<?xml version="1.0" encoding="UTF-8"?><Error><Code>RequestTimeTooSkewed</Code><Message>The difference between the request time and the current time is too large.</Message><RequestId>56921E152530B7D05CA805DD</RequestId><HostId>oss-cn-********-internal.aliyuncs.com</HostId><MaxAllowedSkewMilliseconds>900000</MaxAllowedSkewMilliseconds><RequestTime>2015-10-09T16:00:04.000Z</RequestTime><ServerTime>2016-01-10T09:02:13.000Z</ServerTime></Error>Error Status:403ls Failed!
这是由于HPC机器日期与OSS服务器日期差别太大造成的。通过date命令修改日期时间为正确的时间即可。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
[203] :api鉴权失败
你好,我是AI助理
可以解答问题、推荐解决方案等