You need to enable JavaScript to run this app.
文档中心
对象存储

对象存储

复制全文
下载 pdf
FSX 最佳实践
基于 FSX 挂载 TOS 的 FTP 服务部署实践
复制全文
下载 pdf
基于 FSX 挂载 TOS 的 FTP 服务部署实践
通过 FSX 将对象存储(TOS)的存储桶挂载为本地文件系统目录,可使传统应用(如 FTP 服务)在无需修改代码的情况下,直接访问和操作存储在 TOS 中的对象,充分利用其海量存储、高可靠性和高性价比。本文介绍如何基于 FSX 挂载部署 FTP Server,对外提供 FTP/FTPS 服务,使客户端(以 FileZilla 为例)可以便捷地向 TOS 读写文件。​
前提条件​
  • 已绑定公网 IP、正常运行且具备管理员权限的 Linux 云服务器。​
  • 对象存储中已创建用于存放通过 FTP 上传文件的存储桶。​
  • 网络环境(防火墙、安全组)已放行外部客户端访问 FTP/FTPS 所需端口。​
软件版本​
  • Linux 操作系统:本文以 CentOS 7.6 为例。​
  • FTP 客户端:本文以 FileZilla 为例。​
  • FTP 服务端:本文以 Vsftpd 3.0.2 为例。​
操作步骤​
1. 安装 FSX​
请按照官方文档 下载与安装 FSX 的指引完成 FSX 客户端的下载与安装。​
2. 挂载对象存储桶​
注意​
tos_allow_delete 与 tos_incremental_upload 为 FTP 场景新增必须参数,其他参数为可选参数,可根据实际情况进行配置。​
密钥挂载​
密钥挂载指使用 Access Key ID 和 Secret Access Key 作为身份凭证,通过 FSX 将存储桶挂载到 Linux 系统。密钥挂载不依赖特定的云基础设施环境,支持将存储桶挂载到各种 Linux 系统。更多信息,请参见运行环境。​
  1. 进入 Linux 操作系统,执行以下命令,创建挂载点。​
  • ​
    mkdir /mnt/point​
    ​
  1. 执行以下命令,挂载存储桶或指定目录。​
  • ​
    挂载存储桶
    挂载指定目录
    ​
    挂载存储桶的命令如下:​
    ​
    mount -t fsx /tos/<挂载的存储桶名> <挂载点> -o region="<地域>",endpoint="<访问域名>",credential_filepath="<鉴权凭证文件的绝对路径>",no_writeback_cache,dir_mode=777,tos_allow_delete=true,tos_incremental_upload=true​
    ​
    示例如下:​
    ​
    mount -t fsx /tos/bucketname /mnt/point -o region="cn-beijing",endpoint="https://tos-cn-beijing.volces.com",credential_filepath="/root/credential.json",no_writeback_cache,dir_mode=777,tos_allow_delete=true,tos_incremental_upload=true​
    ​
    ​
  1. 执行以下命令,查看存储桶挂载情况。​
  • ​
    df -h​
    ​
  • 在返回内容中看到挂载点、挂载存储桶名,说明挂载成功。​
  • ​
    Filesystem Size Used Avail Use% Mounted on​
    BFA281845F:tos-fuse-test 8.0E 0 8.0E 0% /mnt/fuse_shm​
    ​
免密挂载​
免密挂载指通过 FSX 挂载存储桶时,无需指定密钥,而是通过安全令牌服务(STS)提供的临时安全凭证验证身份,完成挂载。该方式无需透露长期 Access Key,可以保证账号下的密钥安全。​
  1. 为 ECS 实例绑定 IAM 角色,并获取角色 TRN。具体操作,请参见基于实例 IAM 角色授权 ECS 访问其它云资源。​
  1. 进入 Linux 操作系统,执行以下命令,创建挂载点。​
  • ​
    mkdir /mnt/point​
    ​
  1. 执行以下命令,挂载存储桶或指定目录。​
  • ​
    挂载存储桶
    挂载指定目录
    ​
    挂载命令如下:​
    ​
    mount -t fsx /tos/<挂载的桶名> <挂载点> -o region="<地域>",endpoint="<访问域名>",tos_auth_role_trn=<角色 TRN>,tos_auth_type=IMDS,no_writeback_cache,file_mode=777,dir_mode=777,tos_allow_delete=true,tos_incremental_upload=true​
    ​
    示例如下:​
    ​
    mount -t fsx /tos/bucketname /mnt/point -o region="cn-beijing",endpoint="https://tos-cn-beijing.volces.com",tos_auth_role_trn=trn:iam::210671****:role/fsx_role2,tos_auth_type=IMDS,no_writeback_cache,file_mode=777,dir_mode=777,tos_allow_delete=true,tos_incremental_upload=true​
    ​
    ​
  1. 执行以下命令,查看存储桶挂载情况。​
  • ​
    df -h​
    ​
  • 在返回内容中看到挂载点、挂载存储桶名,说明挂载成功。​
  • ​
    Filesystem Size Used Avail Use% Mounted on​
    BFAACBA3B3:bucketname 8.0E 0 8.0E 0% /mnt/point​
    ​
参数说明​
以下介绍使用 FSX 客户端挂载存储桶的基本参数,您还可以在挂载存储桶时设置预热、读缓存等参数。更多信息,请参见FSX 挂载参数说明 。​
​
参数​
说明​
region​
存储桶所在地域。​
endpoint​
TOS 访问域名,支持 https://{host}:{port} 格式。​
credential_filepath​
包含 AK/SK/STS 的 JSON 凭证文件的绝对路径。​
no_writeback_cache​
是否禁用写回缓存。禁用后,数据将直接写入对象存储,适用于对数据一致性要求高的场景。​
file_mode​
挂载后文件的默认权限为 777(所有用户可读/写/执行)。​
dir_mode​
挂载后目录的默认权限为 777。​
tos_allow_delete​
允许通过挂载目录直接删除 TOS 上的对象/文件。​
tos_incremental_upload​
启用增量上传(通常表示分片/按需上传,减少整体重传开销)。​
num_prefetch_threads​
预取线程数,用于优化读性能。​
allow_other​
允许其他系统用户(如 vsftpd 运行用户)访问挂载点。​
注意​
使用此参数需要修改 /etc/fuse.conf 文件,取消对 user_allow_other 的注释。​
​
3. 安装并配置 FTP/FTPS 服务​
请根据指引文档搭建 FTP 站点。具体操作,请参见搭建 FTP 站点(CentOS 7.6)。​
4. FSX 挂载点绑定为 FTP 服务目录​
完成 FSX 挂载与 FTP 站点搭建后,通过以下命令对 FSX 挂载点与 FTP 服务的目录进行绑定。​
​
# /mnt/point FSX 示例挂载点(TOS 挂载到本地的目录)​
# /home/ftp FTP 服务示例根目录(对外提供访问的目录)​
sudo mount --bind /mnt/point /home/ftp​
​
通过mount | grep '/home/ftp' 命令验证绑定关系,输出如下显示则证明绑定成功。​
​
BFAACBA3B3:bucketname:/data on /home/ftp type hpvs_fs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,dev=39)​
​
5.连接云服务器远程站点​
注意​
  • 传输文件类型必须设置为二进制(Binary) 文件类型进行上传,否则不支持断点续传。​
  • 请求超时时间默认为 20 秒,需要调长时间否则请求可能失败。​
  1. 在本地计算机下载 FileZilla 并安装。​
  1. 双击 FileZilla,打开客户端。​
  • 在 FileZilla 导航栏,填写如下信息,单击快速连接(Q)。​
  • 主机:云服务器公网 IP。登录云服务器控制台,在实例列表中可查看对应云服务器的公网 IP。​
  • 用户名:搭建 FTP 服务时设置的 FTP 用户帐号。本文以 ftptest 为例。​
  • 密码:搭建 FTP 服务时设置的 FTP 用户密码。​
  • 端口:FTP 默认监听端口为 21。​
  • 连接成功后即可查看云服务器远程站点文件。​
  1. 上传文件:在 FileZilla 左侧的本地站点下方窗格中,右键单击待上传的本地文件,选择上传,即可将文件上传到云服务器。​
  1. 下载文件:在 FileZilla 右侧的远程站点下方窗格中,右键单击待下载的远程站点文件,选择下载,即可将云服务器上的文件下载到本地计算机。​
相关文档​
最近更新时间:2026.02.10 15:31:43
这个页面对您有帮助吗?
有用
有用
无用
无用