全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网

对象存储OSS

更新时间:2017-06-07 13:26:11

应用场景

当用户需要将大量数据(几十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-**-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 ls
CreateTime           BucketLocation       BucketName  
2015-09-17 17:17:08  oss-cn-********      hpc-data-release  
2015-09-15 11:29:58  oss-cn-********      hpc100users  

Bucket Number is: 2  
0.047(s) elapsed

可见有两个bucket,都位于华东1区。

进一步浏览其中一个bucket详细内容:

# osscmd ls oss://hpc100users  
prefix 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: 0  
object list number is: 1  
0.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.run
100%  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.run
100%
Object URL is: http://hpc-data-release.oss-cn-********-internal.aliyuncs.com/cuda_7.0.28_linux.run  
Object abstract path is: oss://hpc-data-release/cuda_7.0.28_linux.run  
ETag 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:

403
ls Failed!

这是由于HPC机器日期与OSS服务器日期差别太大造成的。通过date命令修改日期时间为正确的时间即可。

本文导读目录