借助阿里云在亚洲加速迈向成功
一站式安全合规咨询服务
MLPS 2.0 一站式合规解决方案
依托我们的网络进军中国市场
提升面向互联网应用的性能和安全性
保障您的中国业务安全无忧
通过强大的数据安全框架保护您的数据资产
申请 ICP 备案的流程解读和咨询服务
面向大数据建设、管理及应用的全域解决方案
企业内大数据建设、管理和应用的一站式解决方案
将您的采购和销售置于同一企业级全渠道数字平台上
全渠道内置 AI 驱动、拟人化、多语言对话的聊天机器人
快速搭建在线教育平台
提供域名注册、分析和保护服务
云原生 Kubernetes 容器化应用运行环境
以 Kubernetes 为使用界面的容器服务产品,提供符合容器规范的算力资源
安全的镜像托管服务,支持全生命周期管理
多集群环境下微服务应用流量统一管理
提供任意基础设施上容器集群的统一管控,助您轻松管控分布式云场景
高弹性、高可靠的企业级无服务器 Kubernetes 容器产品
敏捷安全的 Serverless 容器运行服务
为虚拟机和容器提供高可靠性、高性能、低时延的块存储服务
一款海量、安全、低成本、高可靠的云存储服务
可靠、弹性、高性能、多共享的文件存储服务
全托管、可扩展的并行文件系统服务。
全托管的 NoSQL 结构化数据实时存储服务
可抵扣多种存储产品的容量包,兼具灵活性和长期成本优化
让您的应用跨不同可用区资源自动分配访问量
随时绑定和解绑 VPC ECS
云网络公网、跨域流量统一计费
高性价比,可抵扣按流量计费的流量费用
创建云上隔离的网络,在专有环境中运行资源
在 VPC 环境下构建公网流量的出入口
具备网络状态可视化、故障智能诊断能力的自助式网络运维服务。
安全便捷的云上服务专属连接
基于阿里云专有网络的私有 DNS 解析服务
保障在线业务不受大流量 DDoS 攻击影响
系统运维和安全审计管控平台
业务上云的第一个网络安全基础设施
集零信任内网访问、办公数据保护、终端管理等多功能于一体的办公安全管控平台
提供7X24小时安全运维平台
防御常见 Web 攻击,缓解 HTTP 泛洪攻击
实现全站 HTTPS,呈现可信的 WEB 访问
为云上应用提供符合行业标准和密码算法等级的数据加解密、签名验签和数据认证能力
一款发现、分类和保护敏感数据的安全服务
创建、控制和管理您的加密密钥
快速提高应用高可用能力服务
围绕应用和微服务的 PaaS 平台
兼容主流开源微服务生态的一站式平台
多集群环境下微服务应用流量统一管理
Super MySQL 和 PostgreSQL,高度兼容 Oracle 语法
全托管 MySQL、PostgreSQL、SQL Server、MariaDB
兼容 Redis® 的缓存和KV数据库
兼容Apache Cassandra、Apache HBase、Elasticsearch、OpenTSDB 等多种开源接口
文档型数据库,支持副本集和分片架构
100%兼容 Apache HBase 并深度扩展,稳定、易用、低成本的NoSQL数据库。
低成本、高可用、可弹性伸缩的在线时序数据库服务
专为搜索和分析而设计,成本效益达到开源的两倍,采用最新的企业级AI搜索和AI助手功能。
一款兼容PostgreSQL协议的实时交互式分析产品
一种快速、完全托管的 TB/PB 级数据仓库
基于 Flink 为大数据行业提供解决方案
基于Qwen和其他热门模型的一站式生成式AI平台,可构建了解您业务的智能应用程
一站式机器学习平台,满足数据挖掘分析需求
高性能向量检索服务,提供低代码API和高成本效益
帮助您的应用快速构建高质量的个性化推荐服务能力
提供定制化的高品质机器翻译服务
全面的AI计算平台,满足大模型训练等高性能AI计算的算力和性能需求
具备智能会话能力的会话机器人
基于机器学习的智能图像搜索产品
基于阿里云深度学习技术,为用户提供图像分割、视频分割、文字识别等离线SDK能力,支持Android、iOS不同的适用终端。
语音识别、语音合成服务以及自学习平台
一站式智能搜索业务开发平台
助力金融企业快速搭建超低时延、高质量、稳定的行情数据服务
帮助企业快速测算和分析企业的碳排放和产品碳足迹
企业工作流程自动化,全面提高效率
金融级云原生分布式架构的一站式高可用应用研发、运维平台
eKYC 数字远程在线解决方案
可智能检测、大数据驱动的综合性反洗钱 (AML) 解决方案
阿里云APM类监控产品
实时云监控服务,确保应用及服务器平稳运行
为系统运维人员管理云基础架构提供全方位服务的云上自动化运维平台
面向您的云资源的风险检测服务
提升分布式环境下的诊断效率
日志类数据一站式服务,无需开发就能部署
ECS 预留实例
让弹性计算产品的成本和灵活性达到最佳平衡的付费方式。云原生 AI 套件
加速AI平台构建,提高资源效率和交付速度FinOps
实时分析您的云消耗并实现节约SecOps
实施细粒度安全控制DevOps
快速、安全地最大限度提高您的DevOps优势自带IP上云
自带公网 IP 地址上云全球网络互联
端到端的软件定义网络解决方案,可推动跨国企业的业务发展全球应用加速
提升面向互联网应用的性能和安全性全球互联网接入
将IDC网关迁移到云端云原生 AI 套件
加速AI平台构建,提高资源效率和交付速度FinOps
实时分析您的云消耗并实现节约SecOps
实施细粒度安全控制DevOps
快速、安全地最大限度提高您的DevOps优势金融科技云数据库解决方案
利用专为金融科技而设的云原生数据库解决方案游戏行业云数据库解决方案
提供多种成熟架构,解决所有数据问题Oracle 数据库迁移
将 Oracle 数据库顺利迁移到云原生数据库数据库迁移
加速迁移您的数据到阿里云阿里云上的数据湖
实时存储、管理和分析各种规模和类型的数据数码信贷
利用大数据和 AI 降低信贷和黑灰产风险面向企业数据技术的大数据咨询服务
帮助企业实现数据现代化并规划其数字化未来人工智能对话服务
全渠道内置 AI 驱动、拟人化、多语言对话的聊天机器人EasyDispatch 现场服务管理
为现场服务调度提供实时AI决策支持在线教育
快速搭建在线教育平台窄带高清 (HD) 转码
带宽成本降低高达 30%广电级大型赛事直播
为全球观众实时直播大型赛事,视频播放流畅不卡顿直播电商
快速轻松地搭建一站式直播购物平台用于供应链规划的Alibaba Dchain
构建和管理敏捷、智能且经济高效的供应链云胸牌
针对赛事运营的创新型凭证数字服务数字门店中的云 POS 解决方案
将所有操作整合到一个云 POS 系统中元宇宙
元宇宙是下一代互联网人工智能 (AI) 加速
利用阿里云 GPU 技术,为 AI 驱动型业务以及 AI 模型训练和推理加速DevOps
快速、安全地最大限度提高您的DevOps优势数据迁移解决方案
加速迁移您的数据到阿里云企业 IT 治理
在阿里云上构建高效可控的云环境基于日志管理的AIOps
登录到带有智能化日志管理解决方案的 AIOps 环境备份与存档
数据备份、数据存档和灾难恢复用阿里云金融服务加快创新
在云端开展业务,提升客户满意度
为全球资本市场提供安全、准确和数字化的客户体验
利用专为金融科技而设的云原生数据库解决方案
利用大数据和 AI 降低信贷和黑灰产风险
建立快速、安全的全球外汇交易平台
新零售时代下,实现传统零售业转型
利用云服务处理流量波动问题,扩展业务运营、降低成本
快速轻松地搭建一站式直播购物平台
面向大数据建设、管理及应用的全域解决方案
全渠道内置 AI 驱动、拟人化、多语言对话的聊天机器人
以数字化媒体旅程为当今的媒体市场准备就绪您的内容
带宽成本降低高达 30%
快速轻松地搭建一站式直播购物平台
为全球观众实时直播大型赛事,视频播放流畅不卡顿
使用阿里云弹性高性能计算 E-HPC 将本地渲染农场连接到云端
构建发现服务,帮助客户找到最合适的内容
保护您的媒体存档安全
通过统一的数据驱动平台提供一致的全生命周期客户服务
在钉钉上打造一个多功能的电信和数字生活平台
在线存储、共享和管理照片与文件
提供全渠道的无缝客户体验
面向中小型企业,为独立软件供应商提供可靠的IT服务
打造最快途径,助力您的新云业务扬帆起航
先进的SD-WAN平台,可实现WAN连接、实时优化并降低WAN成本
通过自动化和流程标准化实现快速事件响应
针对关键网络安全威胁提供集中可见性并进行智能安全分析
提供大容量、可靠且高度安全的企业文件传输
用智能技术数字化体育赛事
基于人工智能的低成本体育广播服务
专业的广播转码及信号分配管理服务
基于云的音视频内容引入、编辑和分发服务
在虚拟场馆中模拟关键运营任务
针对赛事运营的创新型凭证数字服务
智能和交互式赛事指南
轻松管理云端背包单元的绑定直播流
通过数据加强您的营销工作
元宇宙是下一代互联网
利用生成式 AI 加速创新,创造新的业务佳绩
阿里云高性能开源大模型
借助AI轻松解锁和提炼文档中的知识
通过AI驱动的语音转文本服务获取洞察
探索阿里云人工智能和数据智能的所有功能、新优惠和最新产品
该体验中心提供广泛的用例和产品帮助文档,助您开始使用阿里云 AI 产品和浏览您的业务数据。
利用阿里云 GPU 技术,为 AI 驱动型业务以及 AI 模型训练和推理加速
元宇宙是下一代互联网
构建发现服务,帮助客户找到最合适的内容
全渠道内置 AI 驱动、拟人化、多语言对话的聊天机器人
加速迁移您的数据到阿里云
在阿里云上建立一个安全且易扩容的环境,助力高效率且高成本效益的上云旅程
迁移到完全托管的云数据库
将 Oracle 数据库顺利迁移到云原生数据库
自带公网 IP 地址上云
利用阿里云强大的安全工具集,保障业务安全、应用程序安全、数据安全、基础设施安全和帐户安全
保护、备份和还原您的云端数据资产
MLPS 2.0 一站式合规解决方案
快速高效地将您的业务扩展到中国,同时遵守适用的当地法规
实现对 CloudOps、DevOps、SecOps、AIOps 和 FinOps 的高效、安全和透明的管理
构建您的原生云环境并高效管理集群
快速、安全地最大限度提高您的DevOps优势
实施细粒度安全控制
提供运维效率和总体系统安全性
实时分析您的云消耗并实现节约
实时存储、管理和分析各种规模和类型的数据
登录到带有智能化日志管理解决方案的 AIOps 环境
帮助企业实现数据现代化并规划其数字化未来
帮助零售商快速规划数字化之旅
将全球知名的 CRM 平台引入中国
在线存储、共享和管理照片与文件
构建、部署和管理高可用、高可靠、高弹性的应用程序
快速、安全地最大限度提高您的DevOps优势
将您的采购和销售置于同一企业级全渠道数字平台上
企业内大数据建设、管理和应用的一站式解决方案
帮助企业简化 IT 架构、实现商业价值、加速数字化转型的步伐
快速高效地将您的业务扩展到中国,同时遵守适用的当地法规
快速搜集、处理、分析联网设备产生的数据
0.0.201
本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文介绍如何在Linux系统上使用ossfs工具将阿里云对象存储服务(OSS)挂载为本地文件系统。
已安装ossfs,安装步骤请参见安装ossfs。
支持两种挂载方式:
使用账户的AK挂载:适用于使用特定阿里云账户凭证进行操作,方便快速配置。
使用ECSRAMRole挂载:适用于需要提高安全性和权限管理的环境,通过角色授权来控制资源访问。
两种方式对比
挂载方式 | 使用账户的AK挂载 | 使用ECSRAMRole挂载 |
挂载方式 | 使用账户的AK挂载 | 使用ECSRAMRole挂载 |
优点 | 简单易用,对于单用户或开发阶段非常方便。 | 提高安全性,不直接暴露AccessKey,权限管理灵活。 |
缺点 | 可能泄露AccessKey,安全性相对较低。 | 配置相对复杂,需要在RAM中进行角色设置。 |
根据您的使用场景和安全需求,选择合适的挂载方式。以下将详细介绍这两种挂载方式的具体步骤。
在访问OSS存储空间时,ossfs需要配置阿里云主账号或 RAM 用户的AK(Access Key ID、Access Key Secret)。
阿里云账号拥有资源的全部权限,AK一旦泄露,会给系统带来巨大风险,不建议使用。推荐使用最小化授权的RAM用户的AK。
获取AccessKey。关于如何创建AccessKey ID和AccessKey Secret,请参见创建AccessKey。
将存储空间和对应的AccessKey信息写入默认配置文件/etc/passwd-ossfs
中,并将文件权限设置为640。
配置文件的格式为$bucket_name:$access_key_id:$access_key_secret
,AK信息应保存在配置文件中,每行记录一条信息。
echo bucket-test-1:AAAI************:AAA8x************************* > /etc/passwd-ossfs
echo bucket-test-2:BBBI************:BBB8x************************* >> /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
创建挂载目录并挂载。
URL地址即为Endpoint。如果Linux ECS云服务器与OSS位于同一地域,请填写内网Endpoint。若需实现本地主机挂载OSS,则需确保网络连接畅通,以支持外网访问OSS。如需获取URL,请参见公共云获取Endpoint信息。
mkdir /tmp/ossfs-1 /tmp/ossfs-2
ossfs bucket-test-1 /tmp/ossfs-1 -o url=http://oss-cn-hangzhou.aliyuncs.com
ossfs bucket-test-2 /tmp/ossfs-2 -o url=http://oss-cn-hangzhou.aliyuncs.com
在云服务器ECS上,您可以通过实例RAM角色方式挂载OSS。实例RAM角色将角色关联到云服务器实例,允许通过临时凭证(STS)安全访问OSS。临时凭证由系统自动生成和更新,应用程序可以通过实例元数据URL获取,无需额外管理。采用RAM角色可以保障AccessKey安全,并实现权限精细化控制。关于实例 RAM 角色的更多详情,请参见实例RAM角色。
下面以角色名为EcsRamRoleOssTest的RAM角色为例,来说明如何通过实例RAM角色挂载ossfs。
创建名为EcsRamRoleOssTest的实例RAM角色。
配置步骤请参见创建RAM角色并授予给ECS实例。
为实例RAM角色授予访问OSS访问权限。
为实例授予RAM角色。
配置步骤请参见为ECS实例授予RAM角色。
验证实例所授予的RAM角色状态。
以下示例EcsRamRoleOssTest为RAM角色名称,请确保与已创建的RAM角色名称保持一致。
curl -o /dev/null -s -w "%{http_code}\n" http://100.100.100.200/latest/meta-data/ram/security-credentials/EcsRamRoleOssTest
元数据服务状态码说明:
返回404:角色不存在或未成功绑定到ECS实例。请检查上述三步。
返回200:绑定及角色调用正常,可以继续进行下一步。
如果您需要查询一台或多台实例所授予的RAM角色,或者通过RAM角色名称来查询被授予该角色的实例情况,请参见DescribeInstanceRamRole - 查询实例被授予的RAM角色。
通过实例元数据URL挂载ossfs。
使用实例元数据URL挂载ossfs,目前仅支持普通模式访问。关于元数据访问模式介绍,请参见元数据服务器访问模式。
登录ECS实例。
使用ossfs挂载OSS Bucket,并增加-o ram_role
选项。
以下示例用于将华东1(杭州)地域下的Bucket1存储空间挂载到/tmp/ossfs目录。其中100.100.100.200
为阿里云ECS实例元数据服务的默认IP地址。
ossfs bucket1 /tmp/ossfs -o url=http://oss-cn-hangzhou.aliyuncs.com -o ram_role=http://100.100.100.200/latest/meta-data/ram/security-credentials/EcsRamRoleOssTest
手动挂载OSS存储空间后,系统重启时不会自动重新挂载。如果您希望在系统重启后自动挂载OSS,请按照以下步骤进行设置。在配置开机自动挂载前,请先确认手动挂载成功,避免ECS启动失败。以下方法在使用账户AK配置后,将实现开机自动挂载的设置。
将Bucket名称、AccessKeyID、AccessKeySecret等信息写入/etc/passwd-ossfs文件,并将文件权限修改为640。
配置步骤请参见使用账户的AK挂载。
设置开机自动挂载。
此处仅提供常见版本的设置开机自动挂载ossfs的示例。对于其他未涉及的版本,请自行参考平台相关文档设置开机自动挂载。
在/etc/fstab中加入如下命令:
ossfs#bucket_name mount_point fuse _netdev,url=url,allow_other 0 0
参数配置说明如下:
参数 | 说明 |
bucket_name | 表示要挂载的OSS存储空间的名称,请将 |
mount_point | 表示要挂载OSS存储空间的本地目录,请将 |
url=url | 表示OSS端点的URL,请将 |
0 0 | 文件系统的选项。 |
保存/etc/fstab文件。执行mount -a -t fuse
命令,如果没有报错,则说明设置正常。
上一步执行完成后,Ubuntu 14.04就能自动挂载了。CentOS 6.5还需要执行如下命令:
chkconfig netfs on
在/etc/init.d/目录下创建文件ossfs,并将以下内容拷贝至该新文件中。同时,将其中的your_xxx内容改成您自己的OSS信息。
ossfs your_bucket your_mountpoint -o url=your_url -o allow_other
为新建立的ossfs脚本赋予可执行权限:
chmod a+x /etc/init.d/ossfs
命令执行完成后,您可以尝试执行该脚本,如果脚本文件内容无误,那么此时OSS中的Bucket已经挂载到您指定的目录下了。
把ossfs启动脚本作为其他服务,开机自动启动:
chkconfig ossfs on
执行上述步骤后,ossfs就可以开机自动挂载了。
在使用账户的 AK 进行挂载时,除了将多条信息写入一个默认的配置文件外,还可以自定义多个配置文件。示例如下:
获取AccessKey。关于如何创建AccessKey ID和AccessKey Secret,请参见创建AccessKey。
分别为不同的存储空间创建配置文件,并将文件权限设置为600。
echo bucket-test-3:CCCIbZcdVCmQ****:CCC8x0y9hxQ31coh7A5e2MZEUz**** > /etc/passwd-ossfs-3
echo bucket-test-4:DDDIbZcdVCmQ****:DDD8x0y9hxQ31coh7A5e2MZEUz**** > /etc/passwd-ossfs-4
chmod 600 /etc/passwd-ossfs-3 /etc/passwd-ossfs-4
创建挂载目录并挂载。
mkdir /tmp/ossfs-3 /tmp/ossfs-4
ossfs bucket-test-3 /tmp/ossfs-3 -o url=http://oss-cn-hangzhou.aliyuncs.com -o passwd_file=/etc/passwd-ossfs-3
ossfs bucket-test-4 /tmp/ossfs-4 -o url=http://oss-cn-hangzhou.aliyuncs.com -o passwd_file=/etc/passwd-ossfs-4
ossfs挂载的目录访问权限默认为挂载点的所有者,即执行挂载命令的用户,其他用户无法访问。如果要修改默认的权限设置,例如允许其他用户或用户组访问挂载点,则您可以在使用ossfs挂载OSS存储空间时根据所需权限配置相应参数,做到期望的权限设置。
参数 | 说明 |
参数 | 说明 |
uid | 设置文件夹属于某个用户时填写的用户uid。 |
gid | 设置文件夹属于某个用户时填写的用户gid。 |
umask | 用来设置挂载点下文件和目录的权限掩码。例如需要设置挂载点下文件的权限为770,则增加-o umask=007;需要设置挂载点下文件的权限700,则增加-o umask=077。 |
配置示例:
允许所有用户访问,即权限为777。
ossfs bucket_name mount_point -o url=endpoint -o allow_other
设置挂载点下的文件和目录权限,只允许同组用户访问,即权限为770。
ossfs bucket_name mount_point -o url=endpoint -o umask=007
挂载时指定为其他用户和组,同时只允许同组的用户访问,即权限为770。
以www用户为例说明,先通过id命令获取用户的uid和gid信息,之后在挂载时指定uid和gid参数。
id www
uid=1000(www) gid=1000(web) groups=1000(web)
ossfs bucket_name mount_point -o url=endpoint -o allow_other -o uid=1000 -o gid=1000 -o umask=007
ossfs除了可以把整个存储空间挂载到本地文件系统外,还可以通过设置前缀将存储空间下的某个文件目录挂载到本地文件系统。命令格式如下:
ossfs bucket:/prefix mount_point -o url=endpoint
挂载时,需要具备对该bucket中指定${prefix}/路径下对象的访问权限。
以下示例用于将华东1(杭州)地域下bucket-ossfs-test存储空间中的folder目录挂载到/tmp/ossfs-folder下。
ossfs bucket-ossfs-test:/folder /tmp/ossfs-folder -o url=http://oss-cn-hangzhou.aliyuncs.com
通过Supervisor工具来管理和启动ossfs,以实现对OSS的稳定挂载。采用此方法,可以确保ossfs在系统启动时自动运行,并能够在异常情况下自动重启,提供高可用性和稳定性。
以下操作步骤中的文件安装路径以具有sudo权限的用户user1为例,实际安装路径以您的操作环境为准。
执行以下命令安装supervisor。
sudo yum install supervisor
sudo apt-get install supervisor
创建ossfs的启动脚本。
执行以下命令创建start_ossfs.sh文件。
mkdir -p /home/user1/ossfs_scripts
写入启动脚本。
vi /home/user1/ossfs_scripts/start_ossfs.sh
start_ossfs.sh文件内容示例如下。
# 卸载
fusermount -u /mnt/ossfs
# 重新挂载,必须要增加-f参数运行ossfs,让ossfs在前台运行。
exec ossfs bucket_name mount_point -o url=endpoint -f
编辑supervisord.conf文件。
sudo vi /etc/supervisord.conf
sudo vi /etc/supervisor/supervisord.conf
在文件最后加入以下内容。
[program:ossfs]
command=bash /home/user1/ossfs_scripts/start_ossfs.sh
logfile=/var/log/ossfs.log
log_stdout=true
log_stderr=true
logfile_maxbytes=1MB
logfile_backups=10
执行以下命令运行Supervisor。
supervisord
确认Supervisor运行正常。
执行以下命令查看Supervisor进程。
ps aux | grep supervisor
执行以下命令查看ossfs进程。
ps aux | grep ossfs
返回结果如下。其中2044、2452等为ossfs进程ID。
执行以下命令关闭ossfs进程。
请勿使用killall命令。如果您使用killall命令关闭进程,将发送SIGTERM,导致进程正常退出,Supervisor不再去重新运行ossfs。
kill -9 进程ID
关闭ossfs进程后,Supervisor将重启ossfs进程。
执行以下命令查看ossfs进程。
ps aux | grep ossfs
在使用ossfs的过程中,可能会遇到一些问题。这个时候需要开启调试日志,通过日志信息分析和定位问题。您可以通过如下方式开启调试日志:
在挂载目录时增加-d -o dbglevel=debug选项,ossfs会把日志写入系统日志中。
CentOS系统
日志保存在/var/log/messages中。
Ubuntu系统
日志保存在/var/log/syslog中。
在挂载目录时使用-d -o dbglevel=debug -f选项,ossfs会在前台运行,并把日志输出到屏幕上。
您可以使用umount [挂载点路径]
命令,卸载已挂载到本地的OSS文件系统。例如,要卸载挂载在/tmp/ossfs
的文件系统。
umount /tmp/ossfs
ECS通过内网Endpoint挂载OSS不产生流量费用。更多关于流量费用信息,请参见流量费用。
如果您的ECS和OSS不在同一地域且需要进行跨地域挂载,请确保网络畅通,您可以直接使用外网Endpoint进行挂载。此外,您还可以通过企业版转发路由器实现ECS私网访问跨地域的OSS服务。
如果您需要通过云存储网关搭建IIS网站并将OSS作为数据存储,请参见如何使用阿里云云存储网关搭建IIS网站。
如果您需要在Windows操作系统上挂载OSS,请参见Rclone。
更多关于挂载,权限等相关问题,请参见常见问题。