云服务器内容精选

  • 约束与限制 本地挂载目录可以不为空,但是挂载后此目录下原有的内容将不可用,取消挂载后即可恢复。建议使用空目录作为挂载目录。 obsfs只支持挂载OBS并行文件系统,不支持挂载对象存储桶。 obsfs挂载OBS并行文件系统后,不支持作为ftp目录使用。 挂载至本地系统的并行文件系统不能提供与本地文件系统完全相同的性能或功能,使用时需要注意以下细节: 挂载目录中的文件或文件夹不支持硬链接命令。 创建的目录深度不超过45层。 因使用FUSE框架存在内核态与用户态切换,不适合高并发场景。 ls、stat等linux命令需要远程访问OBS服务器,所以性能较差。 一个并行文件系统支持挂载到多台云服务器,但数据一致性需由您自行维护,避免出现多台云服务器同时对一个文件并发写入的情况。 桶级的桶策略和 IAM 策略对obsfs挂载方式生效,目录级的桶策略和IAM策略对obsfs挂载方式访问不生效。
  • 资源和成本规划 最佳实践中涉及的资源如下: 表1 资源说明 资源 资源说明 应用客户端(APP Client) 最终用户手机上的APP,负责向应用服务器申请包含预签名的URL,以及访问OBS完成数据上传或下载。 应用服务器(APP Server) 提供该Android/iOS应用的开发者开发的APP后台服务,用于管理凭证信息以及发放预签名URL。 对象存储服务 (OBS) 华为云对象存储服务,负责处理移动应用的数据请求。
  • 方案架构 应用客户端每个请求都将向应用服务器申请预签名URL,该预签名URL有效期由应用服务器管理。具体流程如图1。 图1 移动应用访问OBS数据流程 角色分析如下: 应用客户端:即最终用户手机上的APP,负责向应用服务器申请包含预签名的URL,以及访问OBS完成数据上传或下载。 应用服务器:即提供该Android/iOS应用的开发者开发的APP后台服务,用于管理凭证信息以及发放预签名URL。 OBS:即华为云对象存储,负责处理移动应用的数据请求。 实现流程如下: 移动应用客户端向应用服务器申请一个预签名的URL。 Android和iOS应用使用OBS服务时,不需要存储访问密钥(AK/SK)。应用在上传前必须向用户的应用服务器申请访问OBS的URL,并携带必须信息,包括请求类型、资源路径和资源名称。比如上传操作需要标识该URL为上传请求,需要包含上传的路径以及上传对象的名称;下载操作需要标识该URL为下载请求,需要包含所下载对象的名称。 应用服务器作为可信设备,在应用服务器上存储访问密钥(AK/SK)。应用服务器在验证客户端身份合法之后,使用应用服务器保存的访问密钥(AK/SK)以及客户端访问的资源、操作类型生成预签名URL。举例: https://examplebucket.obs.cn-north-4.myhuaweicloud.com/objectkey?AccessKeyId=AccessKeyID&Expires=1532779451&Signature=0Akylf43Bm3mD1bh2rM3dmVp1Bo%3D Android/iOS移动应用获取此URL,直接使用该URL操作数据,比如上传或者下载操作。 URL中会包含用户的AK、签名、有效期、资源等信息,任何拿到这个URL的人均可执行这个操作。OBS服务收到这个请求并验证签名后,认为该请求就是签发URL的用户自己在执行操作。例如构造一个携带签名信息的下载对象URL,拿到相应URL的人能下载这个对象,但该URL只在Expires指定的失效时间内有效(如果使用临时访问密钥,有效期为临时访问密钥有效时长和Expires的最小值)。URL中携带签名主要用于在不提供给其他人SK的情况下,让其他人能用预签发的URL来进行身份认证,并执行预定义的操作。
  • 方式三:使用OBS SDK校验下载对象的一致性 OBS SDK对待下载对象的自定义元数据中的MD5值和下载到本地的对象的MD5值进行对比,通过对比结果判断下载对象的一致性。 此处以使用OBS Java SDK下载mytestbucket桶中一个名为test.txt的文本文件为例,下载过程使用MD5值校验数据一致性的示例代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 String endPoint = "https://your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AC CES S_KEY_ID和SECRET_ACCESS_KEY_ID。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html String ak = System.getenv("ACCESS_KEY_ID"); String sk = System.getenv("SECRET_ACCESS_KEY_ID"); // 创建ObsClient实例 final ObsClient obsClient = new ObsClient(ak, sk, endPoint); // 获取对象的MD5值 ObjectMetadata metadata = obsClient.getObjectMetadata("mytestbucket", "test.txt"); String md5Origin = metadata.getUserMetadata("contentMd5"); // 计算下载后对象的MD5值 Obsobject obsobject = obsClient.getObject("mytestbucket", "test.txt"); String md5Download = obsClient.base64Md5(obsobject.getObjectContent()); // 对比MD5值 if(md5Origin.contentEquals(md5Download)) System.out.println("Object MD5 validation passes!\n"); else System.out.println("Object MD5 validation failed!\n"); 在以上示例代码中,获取对象MD5值时的contentMd5是在上传时设置的自定义元数据,实际开发中需要根据自定义的元数据名称修改。
  • 方式二:使用OBS Browser+校验下载对象的一致性 OBS Browser+默认关闭MD5校验,在OBS Browser+上启用MD5校验一致性并下载对象的步骤如下: 登录OBS Browser+。 单击客户端右上方的,并选择“高级设置”。 勾选“MD5校验”,如图1所示。 图1 配置MD5校验 单击“确定”。 选择待下载文件的桶,下载文件。 如果MD5校验成功,则文件下载成功。 如果MD5校验失败,则文件下载失败,且在任务管理中提示失败原因:校验文件MD5失败。
  • 方式一:使用obsutil校验下载对象的一致性 obsutil支持在下载对象时通过附加参数(vmd5)来校验下载数据的一致性。 以在Windows操作系统下载mytestbucket桶中的test.txt文件至本地为例,开启数据一致性校验的步骤如下: 执行以下命令,检查待下载对象是否具有MD5信息。 obsutil stat obs://test-bucket/test.txt 返回的对象基本信息中,包含MD5信息,如下图所示,执行步骤2。 不包含MD5信息,下载对象时无法进行一致性校验。 执行以下命令,下载对象。 obsutil cp obs://mytestbucket/test.txt D:\test.txt -vmd5 对象下载成功且通过一致性校验,回显信息如下: 如果桶中对象没有MD5值,对象能够下载成功,但不会校验一致性,回显信息如下:
  • 背景信息 常见的Web端上传方法是用户通过浏览器上传文件至应用服务器,再由应用服务器上传至OBS,数据需要在应用服务器中转,传输效率较低,且多任务同时上传时应用服务器压力大。 本文介绍一种在Web端利用PostObject接口直传文件至OBS的方法,即使用表单上传方式上传文件至OBS。如图1所示,该方案省去了应用服务器这一步骤,提高了传输效率,不会对服务器产生压力,且服务端签名后直传可以保证传输的安全性。 图1 Web端PostObject直传流程图
  • 操作流程 本文档介绍面向AI场景如何使用OBS+SFS Turbo的存储加速,流程如图1所示。 图1 面向AI场景使用OBS+SFS Turbo的存储加速方案步骤 表1 面向AI场景使用OBS+SFS Turbo的存储加速流程说明 序号 步骤 说明 1 规划组网和资源 此步骤请提交工单联系技术支持人员进行支撑配置。 2 创建资源 创建VPC:创建1个虚拟私有云和子网。 创建SFS Turbo HPC型文件系统:创建1个SFS Turbo文件系统,文件系统类型选择“HPC型”,存储类型请根据存储容量和性能需求选择,AI场景建议选择250MB/s/TiB及以上的存储类型。 创建OBS桶:创建1个OBS桶,存储类别为“标准存储”,桶策略为“私有”。 创建ModelArts资源池:创建1个专属资源池。 3 基本配置 配置ModelArts和SFS Turbo间网络直通。 创建委托授权ModelArts云服务使用SFS Turbo。 配置ModelArts网络关联SFS Turbo。 配置SFS Turbo和OBS联动。 配置SFS Turbo数据自动导出到OBS桶。 配置SFS Turbo数据淘汰策略。 4 训练 上传数据至OBS并预热到SFS Turbo中。 创建训练任务。 5 例行运维 使用OBS+SFS Turbo的存储加速方案的过程中,您可以进行采取以下运维措施,保证系统正常高效运行: SFS Turbo容量监控及告警。 SFS Turbo性能监控。 调整SFS Turbo数据淘汰策略。 SFS Turbo容量及性能扩容。 OBS性能监控。 如果您想了解更多本方案相关信息,或在方案使用过程中存在疑问,可通过方案咨询渠道,寻求专业人员支持。 父主题: 面向AI场景使用OBS+SFS Turbo的存储加速实践
  • 对接步骤 配置Druid。 修改配置: conf/druid/single-server/micro-quickstart/_common/common.runtime.properties 将druid-hdfs-storage加入druid.extensions.loadList。 配置Deep storage在OBS中的存储路径。 配置OBSA-HDFS插件。 在官方Github下载OBSA-HDFS插件:下载地址,然后拷贝到extensions/druid-hdfs-storage/ 目录。 在配置目录conf/druid/single-server/micro-quickstart/_common/下增加hdfs-site.xml,配置如下(其中endpoint按照桶所在的实际endpoint填写): 启动Druid服务。
  • 应用场景 一般情况下,用户会通过OBS提供的桶访问 域名 (例如https://bucketname.obs.cn-north-4.myhuaweicloud.com)或者绑定的自定义域名来访问OBS。 但在某些场景下,用户需要通过固定的IP地址访问OBS,例如:某些企业出于安全考虑,对于可访问的外部地址需要设置黑白名单,而这个时候对于OBS的访问则需要一个固定的IP地址。同样出于安全考虑,华为云OBS桶访问域名通过DNS解析的IP地址是会发生变化的,所以用户无法获取某个桶长期有效的固定IP地址。 此时,可以通过在E CS 上搭建Nginx反向代理服务器,来实现通过固定IP地址访问OBS。
  • 逻辑架构 此处以使用Commvault备份本地单节点部署的SAP HANA为例,其逻辑架构如图1所示。 图1 逻辑架构 逻辑架构中各组件说明如表1所示: 表1 组件说明 Name 说明 iDataAgent (iDA) 备份客户端代理,Commvault备份软件的组成部分,部署在SAP HANA节点上,负责获取SAP HANA上需要备份的数据。 CommServe (CS) 备份服务器,Commvault备份软件的组成部分,部署在备份管理节点,负责全局备份策略的制定和备份业务的调度。 Media Agent (MA) 备份介质,Commvault备份软件的组成部分,部署在备份业务节点,负责直接将备份数据存储至OBS。 OBS 在备份场景下OBS负责存储备份数据,桶是OBS中存储数据的容器,最终数据都存储在OBS桶中。 一个CommCell是一个备份管理域 ,是软件的逻辑组合 ,包含获取数据 、传输数据 、管理数据和信息的所有软件组件。
  • 备份流程 安装和预配置备份软件 在备份SAP HANA场景下,需要安装和配置备份服务器(CommServe)、备份介质(MediaAgent)及SAP HANA备份客户端代理(iDataAgent)三个组件。 创建备份存储空间(OBS桶) 登录OBS控制台,创建一个桶,作为备份数据存储空间。详细创建桶操作请参见创建桶。 在CommCell Console上创建 云存储 库,输入OBS终端节点地址、访问密钥、桶名,用以将Commvault的备份介质(MediaAgent)与OBS关联。 CommCell Console是用于管理CommCell环境、监视和控制活动作业以及查看与活动相关的事件的图形用户界面。 制定Commvault备份策略 在Commcell Console上创建备份策略,指定数据备份的周期、时间以及加密方式等。 检查备份执行情况 备份策略执行期间,用户可以通过Commcell Console查看备份执行情况。 (可选)执行数据恢复 在SAP HANA源机上执行数据恢复。 Commvault的具体操作请参见Commvault官方文档。
  • 资源与成本规划 本节介绍最佳实践中资源规划情况,包含以下内容: 表1 资源和成本规划内容说明 维度 说明 资源规划 必选 OBS:存放图片、软件包等静态资源的桶,存储类别为“标准存储”或“低频访问存储”(归档与深度归档存储不支持直接配置 CDN加速 ),桶策略为“私有”。 CDN:提供点播加速。 DNS:通过在域名服务商处配置CNAME记录,将加速域名以CNAME方式指向CDN服务中对应的CNAME域名,域名解析生效后,该域名的所有请求都将转向CDN节点。 网站域名:根据中国《互联网管理条例》的要求,此域名必须在工信部已备案并在有效期内才可以使用CDN加速。 成本规划 必选 OBS费用:详见OBS计费说明。 CDN费用:详见CDN计费说明。 可选 回源流量包:当回源获取数据时,CDN访问OBS会产生回源流量。OBS提供回源流量包,可以减少回源流量产生的流量费用。 须知: 本文提供的成本预估费用仅供参考,资源的实际费用以华为云管理控制台显示为准。
  • 迁移示例 阿里云OSS迁移至华为云OBS 本方案介绍了如何将阿里云对象存储(Object Storage Service,简称OSS)上的数据迁移到华为云 对象存储OBS 。 具体方案请参见操作教程。 腾讯云COS迁移至华为云OBS 本方案介绍了如何将腾讯云对象存储(Cloud Object Storage,简称COS)上的数据迁移到华为云对象存储OBS。 具体方案请参见操作教程。 七牛云迁移至华为云OBS 本方案介绍了如何将七牛云对象存储(Kodo)上的数据迁移到华为云对象存储OBS。 具体方案请参见操作教程。 百度云BOS迁移至华为云OBS 本方案介绍了如何将百度云对象存储BOS(Baidu Object Storage,简称BOS)上的数据迁移到华为云对象存储OBS。 具体方案请参见操作教程。 优刻得US3迁移至华为云OBS 本方案介绍了如何将优刻得对象存储(US3)上的数据迁移到华为云对象存储OBS。 具体方案请参见操作教程。 金山云KS3迁移至华为云OBS 本方案介绍了金山云对象存储(Kingsoft Standard Storage Service,简称KS3)上的数据迁移到华为云对象存储OBS。 具体方案请参见操作教程。 HTTP/HTTPS数据源迁移至华为云OBS 本方案介绍了如何将网络资源迁移至华为云对象存储OBS。 具体方案请参见操作教程。
  • 云专线方式 云专线方式由用户自己购买云专线服务(Direct Connect,DC),直接将用户本地的网络与华为云网络打通,实现专线直接访问OBS等服务。云专线方式适用于需要频繁或实时地将本地数据搬迁至OBS的场景。专线提供的低时延、高带宽,可以满足用户随时上传数据至OBS的需求。 图1 云专线方式搬迁数据示意图 创建OBS桶 登录OBS控制台,创建一个或多个用于存储用户数据的桶。 开通云专线服务 登录云专线控制台,根据业务需求填写专线申请并提交订单,待管理员审核通过后,用户支付订单,联系运营商安排工程师接通两端物理线路,华为工程师配合进行连接配置。具体操作步骤请参见开通云专线。 配置 VPC终端节点 在VPC终端节点中创建DNS终端节点和OBS终端节点,在本地数据中心配置DNS转发规则、DNS路由以及OBS路由。具体操作参见配置通过内网访问OBS服务的终端节点。 “拉美-墨西哥城一”、“拉美-圣保罗一”和“拉美-圣地亚哥”区域支持服务类别选择“云服务”购买连接OBS的终端节点,详情参见购买连接OBS的终端节点。拉美-墨西哥城一选择com.myhuaweicloud.na-mexico-1.obs;拉美-圣保罗一选择com.myhuaweicloud.sa-brazil-1.obs,“拉美-圣地亚哥”选择com.myhuaweicloud.la-south-2.obs。 其他区域支持服务类别选择“按名称查找服务”购买连接OBS的终端节点,请提交工单寻求技术支持获取终端节点服务名称。 启动数据传输 专线搭建成功并完成VPC终端节点配置后,用户便可以通过控制台、工具、API、SDK等多种方式将本地数据上传至OBS。 父主题: 搬迁本地数据至OBS