阿里云文件系统SMB访问协议服务及使用指南

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 阿里云于2016年发布了支持NFS网络文件系统访问协议的阿里云文件系统。2017年3月,又增加了SMB文件系统访问协议的支持,正式对外公测。2018年1月,阿里云NAS SMB支持正式提供商业化服务。本文简单描述了SMB文件系统访问协议以及阿里云NAS支持的SMB协议功能,并简单介绍了该服务的使用场景以及使用流程。

阿里云于2016年发布了支持NFS网络文件系统访问协议的阿里云文件系统。20173月,又增加了SMB文件系统访问协议的支持,正式对外公测。20181月,阿里云NAS SMB支持正式提供商业化服务。本文简单描述了SMB文件系统访问协议以及阿里云NAS支持的SMB协议功能,并简单介绍了该服务的使用场景以及使用流程。

SMB文件系统访问协议简介

文件系NASNAS-Network Area Storage,将本地的存共享其他主机使用, 通 C/S 架构实现文件级别的共享,多个客算机可以并发访问同一个文件系统。 NAS 访问协议NFS 和SMB/CIFS

NFS: 全称Network File System, 是最初由Sun Microsystems公司开发,并于1984年发布的分布式文件系统协议。其功能旨在允许客户端主机可以像访问本地存储一样通过网络访问服务器端文件。NFS 是一个基于开放网络运算远程过程调用ONC RPC)协议之上的开放、标准的RFC协议,任何人或组织都可以依据标准实现它。NFS是在UNIX及类UNIIX系统中最常用的网络文件访问协议,但是Windows客户端对NFS协议的支持不太好。

SMB全称Server Message Block,又称CIFS(Common Internet File System, 主要指SMB2之前的SMB协议),是一种用来访问网络中比如文件,打印机和其他共享网络资源的应用层通信协议。 它起源于80年代由IBM开发的将DOS本地文件访问转化为网络文件系统的协议,后来由微软将其和局域网管理器结合发展起来,被广泛应用于微软的Windows操作系统中作为网络资源共享通信协议。后来微软又在这个基础上引入了SMB2协议,以及后来的SMB 2.1, SMB 3.0, SMB 3.02, SMB 3.1.1版本。相对于NFS,SMB文件系统访问协议更加适合于Windows客户端,各个版本的Windows对SMB协议的支持更加完善。

阿里云文件系统SMB协议服务介绍

阿里云文件存储服务NAS(阿里云NAS)是阿里云在2016年正式推出的公有云上的网络文件系统实现。阿里云NAS主要面向阿里云 ECS 实例、HPC、Docker、弹性Web和BatchCompute 等计算节点提供文件存储服务。通过标准的文件访问协议,用户无需对现有应用做任何修改,即可在云上使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。阿里云NAS目前已经正式支持的网络文件系统协议包括NFS V3/V4以及SMB。阿里云NAS使用的一些典型的商业场景主要包括网站内容服务、企业数据共享应用、多媒体信息工作流处理以及大数据分析等等。

 

用户创建NAS文件系统实例和挂载点后,即可在 ECS、HPC、Docker、弹性Web和BatchCompute等计算节点内通过标准网络文件系统协议如NFS/SMB挂载文件系统,然后使用标准的系统文件接口对文件系统进行访问。用户在这个地域(Region)中所有的数据中心(Zone)里部署的计算节点都可以同时挂载同一个文件系统,共享文件和目录。这些计算节点可以通过多个不同私有网络(VPC)和经典网络(Classic Network)来共享访问同一个文件系统。下图给出了一个共享文件系统在华东区域被4个ECS实例通过两个不同的VPC以及经典网络同时访问的例子。

46af86611ea102bfb897ea4a51774ae2a241247a

阿里云NAS共享访问示例:一个共享文件系统在华东区域被4个ECS实例通过两个不同的VPC以及经典网络同时访问

为了丰富文件系统的协议支持和满足客户的兼容性需求,阿里云NAS在2017年3月提供SMB(Server Message Block)文件系统访问协议的支持,并开始向用户开放公测 。与NFS相比,SMB文件系统访问协议更加适合于Windows客户端,各个版本的Windows对SMB协议的支持更加完善,绝大多数Windows应用程序不经修改即可通过SMB协议访问阿里云文件存储服务。因此,阿里云建议应用集中运行在Windows客户端的用户优先考虑使用SMB文件系统。阿里云是目前市场上唯一一个全面支持NFS和SMB协议的公有云厂商。

在公测期间,阿里云NAS SMB支持经过了全面优化,特别是提供了对并发IO和小文件操作的更好支持。2018年1月,阿里云NAS SMB支持正式商业化,在阿里云国内的所有区域和部分海外区域提供服务。

阿里云NAS SMB主要功能如下:

  • 支持SMB 2.0及以上的SMB协议版本,对应支持Windows Vista / Windows Server 2008及以上的各Windows版本,不支持Windows XP / Windows Server 2003及以下的各Windows版本。做出这一选择的主要原因SMB 1.0与SMB 2.0 及以后的版本相比,由于协议设计的巨大差异在性能和功能的上有严重的不足,同时也是因为只支持SMB1.0或更早协议版本的Windows产品都已经完全退出微软支持的生命周期。在这里我们用SMB 指代阿里云NAS支持的SMB 2.0及以上的各个SMB协议版本。 
  • 文件系统容量和性能线性扩展,单一命名空间;单文件系统最大容量10PB,最大文件个数10亿。
  • 支持专有网络和经典网络环境中的安全访问,控制保障用户数据的私密性:提供挂载点权限组;控制台访问(管控API)支持RAM。
  • 访问方式: 每个挂载点只提供一个share, 统一命名为"myshare"。用户用"\\mount_point\myshare"来访问这个SMB share。用户的多个虚拟机可以在阿里云的classic或VPC网络中同时访问同一个SMB文件系统。
  • 与NFS文件系统基于同一个分布式高可用的底层文件系统,提供一致的SLA保证。文件数量和长度的支持限制也与NFS一致。

由于公有云环境和传统企业环境的不同,特别是由于客户端的多样性和复杂性,与其它公有云文件系统服务一样,阿里云选择在现阶段不支持一部分SMB功能。这些不支持的功能对大多数应用的运行都没有影响。目前我们不支持的功能如下:

  • 目前不支持Linux客户端访问
  • 不支持用户用NFS和SMB访问同一个文件系统, 不支持通过广域网直接访问SMB文件系统
  • 只提供在文件系统级的读写权限控制,不提供文件/目录级别的ACL权限控制
  • 不支持文件扩展属性(Extended attributes)以及基于Oplocks和Lease的客户端缓存
  • 不支持Sparse files,文件压缩,网卡状态查询, 重解析点(Reparse Point)等IOCTL/FSCTL操作。
  • 不支持交换数据流(Alternate Data Streams)
  • 不支持SMB Direct, SMB Multichannel, SMB Directory Leasing, Persistent File Handle等SMB 3.0及以上版本的一些协议功能。

上述部分功能如oplock/lease,文件ACL权限控制等将在后续版本中推出。

SMB协议NAS服务的几个典型应用场景

Web内容发布和管理

Windows Server目前仍然是非常流行的网站建构平台。到2017年2月止,全球仍然有超过43%站点的Web Server采用微软IIS (来自Netcraft February 2017 Web Server Survey),很多网站和博客系统也是基于内容管理系统例如WordPress、Joomla等和IIS在Windows平台一起实现的。在阿里云现有的用户中,有很高比例的用户选择用阿里云ECS提供的独享Windows虚拟机来提供网站服务。通过将网站内容资源集中存储在一个高可靠,高吞吐,按量付费的阿里云 SMB share上,IIS可以象访问本地文件系统一样访问阿里云NAS上的数据,从而让用户的网站可以实现存储和计算服务的分离,同时计算资源和存储资源都可以支持按需弹性扩容, 通过阿里云提供的负载均衡服务由多个虚拟机来共同承载一个弹性容错的网站架构。一个简单的示意图如下:

6fa4a0bc097d0bea608da3ae34f60734f1de7966

现有的Windows应用直接上云

很多用户在Windows平台上有大量程序和数据的历史积淀,特别是很多定制的Windows程序如企业管理信息系统,ERP和CRM系统等往往都有很长的软件生命周期。这类应用在运行时往往依赖于大规模的本地文件系统或者是on-premises的SAN或者NAS,迁移这类应用通常是用户的业务全面迁移上云时面临的难题。通过阿里云NAS的SMB支持,这类Windows应用可以不需修改直接上云运行,同时数据的可靠性和性能得到很高的保证。举例来说,很多医学机构运行多年的专用医学影像存档与通信系统(Picture archiving and communication system,PACS)使用on-premises的NAS来存储医学影像,医生通过办公室或者诊室的Windows客户端从NAS来提取和分析这些影像。阿里云NAS的SMB支持这样的系统前后端直接上云。

企业级文件共享和虚拟桌面服务

随着越来越多的企业上云,云环境需要提供高性能高可用的文件共享服务来替代传统企业中的文件服务器。对于Windows环境占主流的虚拟桌面而言,SMB的支持更是至关重要,一些典型的应用场景如下:

·       企业传统的文件共享服务,例如文档发布。

·       发布和管理RemoteApp 程序。

·       用户的个人桌面配置信息可以通过NAS提供给不同的虚拟机,从而实现用户桌面的自由迁移。

·       管理员可以通过阿里云NAS创建企业级或部门级的共享文件系统,不同的用户在这个文件系统中拥有自己的个人目录,支持通过不同的虚拟桌面访问和共享个人的数据及程序。

·       Windows Hyper-V可以直接挂载SMB share上的磁盘镜像文件(.VHD)。

下图示意了虚拟Windows桌面环境通过阿里云NAS共享文件数据的场景。

4678be07a7e248ab75a21424f5a023bcefac4d5a

媒体信息处理

很多流行的视频音频处理应用目前还只能在Windows和Mac OS X上运行,阿里云NAS对SMB的支持使这些应用可以方便地直接上云。用户可以通过阿里云ECS来按需扩展计算能力,批量处理共享在阿里云NAS上的视频音频文件。

数据备份

最近的Windows版本自带的备份程序如Windows Server 2008 和2012中的Windows Server Backup可以按照用户设置进行周期性的自动目录备份,并将备份的内容保存在SMB share上。用户也可以使用第三方备份应用如Acronis Backup甚至是rsync来将数据文件备份到阿里云NAS的SMB share上。下图给出了不同用户/程序/服务的数据从ECS云盘或者其它NAS share由用户Windows虚拟机备份到NAS周期备份到SMB share的流程。

261df4ac114dc5cfaeaf31f131cbdbafe2204af4

创建文件系统流程

创建文件系统的步骤如下:

1) SMB文件系统可以从阿里云首页的文件存储导航进入,如下图所示,选择文件存储。

465ef24ce73fc33deb6449c836e61289bfd0e9c2

2) 然后,在文件存储页面点击“管理控制台”进入NAS管理控制台

7b3eb3d1a35d6f0d35633155659b7d31d2542a8c

3) 在NAS管理控制台中,点击右上方的创建文件系统按钮。或者选择购买存储包。

018da48d52c76f882e98c3014f28da0865b5d388

4) 创建文件系统页面中,选择地域、可用区和类型后,创建文件系统。文件系统容量上限都为 1PB(性能型)或者10PB(容量型),按实际使用量付费;每个账户最多可以创建 10 个文件系统。

   创建文件系统时的可选项如下。

a.     存储类型:性能型或者容量型

b.     协议类型:NFS(适合Linux ECS文件共享)或者SMB(适合Windows ECS文件共享),选择SMB文件系统。

c.     存储包:如果是容量型,必须需要绑定到空闲的存储包。性能型则不需要绑定,可以按量收费。

25b2ac10b3f0b60eb112870d65b25673744a74bd

5) 购买存储包页面中, 选择区域,文件系统ID(创建新文件系统并绑定存储包),存储类型,协议类型,购买量(时长)。选择立即购买后,支付完成创建文件系统并绑定到存储包。

8f2fda2d68b6da76153a282b502d169d9c4249b3

6) 创建文件系统或者购买存储包并新建文件系统后,新创建的文件系统就会出现在文件系统列表中。

    对于已经创建的文件系统需要从按量变成存储包,只要点击文件系统列表中相应的文件系统的管理,进入管理文件系统页面,在存储包区域点击购买存储包,进入购买存储包页面绑定到该文件系统即可。

99dcd2b42a114a92a351065b9afb67f0fe42a544 

0dd68f37f8f6a2f4427a09a70a971c83815126f2

d95613fa7e46b7ec171d2899b74e7a689b18a486

添加挂载点

文件系统实例创建完成后,您需要为文件系统添加挂载点,用于计算节点(ECS 实例、HPC Docker)挂载文件系统。

NAS 目前支持两种类型的挂载点:VPC 类型和经典网络类型。

添加 VPC 类型挂载点

首先点击实例列表右侧的 添加挂载点,在弹出的对话框的挂载点类型处选择 专有网络 ,并选择该挂载点对应的 VPC ID 和子网 ID,然后在 权限组 下拉框中选择该挂载点绑定的权限组。初次使用,您可以选择 VPC 默认权限组,允许同一 VPC 内的任何 IP 地址通过该挂载点访问文件系统。

194418622253a2b9ec47f0d6eef28e6925ad7afc

0e0da40bc9307c14a322b5053828617ea2c9367a 

添加经典网络类型挂载点

目前经典网络类型挂载点支持 ECS 实例, Batch computer以及HPC挂载

首先点击实例列表右侧的 添加挂载点,在弹出的对话框的挂载点类型处选择 经典网络 ,然后在 权限组 下拉框中选择该挂载点绑定的权限组。

出于安全原因,NAS 没有提供经典网络类型的默认权限组,因此初次使用时您需要 进入权限组页面创建一个经典网络类型权限组,并向权限组添加合适的规则(权限组使用介绍

 194418622253a2b9ec47f0d6eef28e6925ad7afc

9d66d769c0e9595a4e5574b17cd6af5bd040921c

查看挂载点信息

创建挂载点后,点击实例列表右侧的管理按钮,可以查看到创建的挂载点信息 

353a3de00d1a5dad47c02d47cff7a4468dcdc067 

36de9ddde29d73ff4cd150f973439c1aac59f0d8

挂载文件系统流程

前提条件

     对于 ECS实例 来说,能否通过一个挂载点访问文件系统取决于以下的条件:

     a) 若挂载点类型是 VPC 类型的,则只有同一 VPC 内的 ECS 实例能够挂载,并且挂载点所绑定的权限组中有一条规则的授权地址能够与 ECS 实例的 VPC IP 地址匹配。

     b) 若挂载点类型是经典网络类型的,则只有属于同一账号的 ECS 实例能够挂载,并且挂载点所绑定的权限组中有一条规则的授权地址能够与 ECS 实例的内网 IP 地址匹配。

     点击此查看 权限组使用介绍

86a16ef2a6c484a2d8ad8d32c4fd03d0041429f8

SMB挂载步骤

   net use <挂载目标盘符> \\<挂载点域名>\myshare
说明:
   挂载目标盘符: 在当前 windows 机器上要挂载的目标盘符
   挂载点域名:指创建文件系统和挂载点时,自动生成的挂载点域名
   myshare:固定 SMB share 名字, 不能改变

示例:

    挂载 SMB 文件系统到盘符 Z C:> net use z: \\014544bbf6-wdt41.cn-hangzhou.nas.aliyuncs.com\myshare

57d348bf2007488b653254a75c0af7acdb67bd0a

如果需要在需要在用户重新登录后保持映射,加上/persistent:yes选项。

53e2e75cad730b339a83f82188c5a39d1e6b4258

注意,如果15分钟内在文件系统上没有操作,连接会断开,但是一旦有操作,连接自动重连。


b) 图形化界面挂载

选择图形化界面挂载,在文件浏览器选择计算机,点击右键,在下拉菜单中选择“映射网络驱动器”。然后,选择盘符,输入SMB挂载地址。如果需要在用户重新登录后保持映射,选择相应的选项。

1b953515597dcd271376413e53d449a2b6f835b7

73664d7b3108e62364afb53a1985d1512e01a1eb

注意,如果15分钟内在文件系统上没有操作,连接会断开,但是一旦有操作,连接自动重连。


c) 浏览器访问方式

    直接在文件浏览器地址栏输入:\\<挂载点域名>\myshare

2b41be56cc2f448aa377c276ea98ea9a40dbbcd3 

查看挂载点信息

挂载完成后,您可以在 Windows 命令行中输入以下命令,查看您已挂载的文件系统:

C:>net use

603cc6c05c715d9b8b6ae0b25515bd0763d25242

阿里云NAS SMB服务的后续发展和演化

在阿里云NAS SMB正式商业化之后,我们会根据用户使用的反馈进行持续优化,同时我们会不断提升系统的性能、可用性和安全性。特别要指出的是,我们会不断提高系统兼容性,从而实现跨操作系统(Windows/Linux)、跨文件系统类型(NFS/SMB)和跨阿里云内网外网的访问。

参考网页

阿里云文件存储

阿里云NAS新手入门

用Windows IIS和阿里云NAS提供Web和FTP服务

使用 Windows Server Backup 从 ECS 备份数据到 NAS

从用户Windows系统到阿里云NAS SMB服务:常用数据迁移备份工具

 

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
1月前
|
Arthas 弹性计算 运维
阿里云ECS监控服务
阿里云ECS监控服务
401 2
|
1月前
|
监控 网络协议 API
阿里云BssOpenAPI是一个基于阿里云开放API的服务
【2月更文挑战第24天】阿里云BssOpenAPI是一个基于阿里云开放API的服务
136 6
|
1月前
|
自然语言处理
阿里云百炼大模型服务--企业知识检索问答指南
阿里云百炼提供的企业知识检索问答应用可以帮助大家实现让大模型瞬间“开挂”的技能。结合上传的知识数据,大模型识别解析学习文档内容,最终给出生成式回复。我们在通义千问-Turbo/Max大模型基础上,将文件上传、读取、切片、向量化等过程都开发好预置在应用中,实现开箱即用,更能满足您的日常需求。
|
1月前
|
弹性计算 负载均衡 网络协议
这种情况可能是由于阿里云的API服务出现了短暂的故障或者网络波动导致的
【2月更文挑战第20天】这种情况可能是由于阿里云的API服务出现了短暂的故障或者网络波动导致的
61 1
|
1月前
|
弹性计算 NoSQL Redis
阿里云ECS使用docke搭建redis服务
阿里云ECS使用docke搭建redis服务
150 1
|
1月前
|
弹性计算 关系型数据库 MySQL
阿里云ECS使用docker搭建mysql服务
阿里云ECS使用docker搭建mysql服务
152 1
|
1月前
|
弹性计算 缓存 测试技术
阿里云ECS云服务器2核4G能支持多少人同时访问?2核4G5M并发量评测
阿里云ECS云服务器2核4G能支持多少人同时访问?2核4G5M并发量评测,2核4G服务器并发数性能测试,阿小云账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素
|
7天前
|
网络协议 Java 物联网
阿里云服务器上搭建 MQTT服务
阿里云服务器上搭建 MQTT服务
|
7天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
30天前
|
NoSQL 关系型数据库 数据库
数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
【2月更文挑战第29天】数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
17 5