NAS怎么挂载到多台ECS?4步实现文件共享

多台ECS做负载均衡时,最头疼的是文件同步问题:用户上传的图片、附件怎么让所有服务器都能访问?

阿里云NAS可以一次挂载到多台ECS,实现文件共享。本文用4步教你配置,附WordPress多节点上传目录共享的实战案例。

立即了解 阿里云文件存储 NAS

查看详细配置、价格和使用指南

访问官方页面 →

第一步:创建NAS文件系统

  1. 登录NAS控制台:进入阿里云控制台 → 文件存储NAS
  2. 点击创建文件系统:选择与ECS相同的地域和VPC
  3. 选择存储类型:推荐通用型NAS(支持NFS和SMB)
  4. 选择协议:Linux ECS选NFS,Windows选SMB
  5. 确认创建:记录文件系统ID(如1234abcd-cn-hangzhou.nas.aliyuncs.com)
推荐配置:小型业务NAS
  • 类型: 通用型NAS(按量付费)
  • 协议: NFS v3(Linux通用)
  • 存储: 按实际使用计费,无需预购
  • 网络: 与ECS同一VPC和可用区
⚠️ 注意事项

NAS必须与ECS在同一VPC才能挂载,跨VPC需配置云企业网(额外成本)。

第二步:配置挂载点和权限

  1. 创建挂载点:文件系统详情页 → 挂载点管理 → 添加挂载点
  2. 选择VPC和交换机:选择ECS所在的交换机
  3. 配置权限组:默认VPC权限组允许VPC内所有IP访问
  4. 获取挂载地址:复制挂载点域名(如1234abcd-abc12.cn-hangzhou.nas.aliyuncs.com:/)

权限组配置建议:

场景权限组配置安全性
测试环境VPC默认权限组(允许所有)低
生产环境自定义权限组,只允许ECS IP段高
跨VPC需配置云企业网中

自定义权限组示例:

  • 授权对象:192.168.1.0/24(ECS IP段)
  • 读写权限:RDWR(读写)
  • 用户权限:no_squash(保留文件权限)

第三步:在ECS上挂载NAS

以CentOS/Ubuntu为例,在每台ECS上执行相同操作。

  1. 安装NFS客户端:
    # CentOS/AliyunLinux
    sudo yum install -y nfs-utils
    
    # Ubuntu/Debian
    sudo apt install -y nfs-common
  2. 创建挂载目录:
    sudo mkdir -p /mnt/nas
  3. 手动挂载测试:
    sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576 \
      1234abcd-abc12.cn-hangzhou.nas.aliyuncs.com:/ /mnt/nas
  4. 验证挂载:
    df -h | grep nas
    touch /mnt/nas/test.txt  # 测试写入
⚠️ 常见报错

mount.nfs: Connection timed out → 检查安全组是否开放2049端口(NFS协议)和NAS挂载点的VPC配置。

第四步:配置开机自动挂载

手动挂载重启后会失效,需配置fstab实现自动挂载。

  1. 编辑fstab:
    sudo vim /etc/fstab
  2. 添加挂载配置:
    1234abcd-abc12.cn-hangzhou.nas.aliyuncs.com:/ /mnt/nas nfs vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev 0 0
  3. 测试配置:
    sudo umount /mnt/nas
    sudo mount -a  # 模拟开机挂载
    df -h | grep nas
  4. 重启验证:
    sudo reboot
    # 重启后登录检查
    df -h | grep nas

fstab参数说明:

  • vers=3:使用NFS v3协议(兼容性好)
  • rsize/wsize=1048576:读写缓冲1MB(提升性能)
  • hard:挂载失败时不断重试(避免丢数据)
  • _netdev:等网络就绪后再挂载(关键)

实战案例:WordPress多节点共享上传目录

WordPress多台ECS负载均衡时,wp-content/uploads目录需共享。

  1. 在NAS上创建目录:
    sudo mkdir -p /mnt/nas/wordpress/uploads
    sudo chown www:www /mnt/nas/wordpress/uploads
    sudo chmod 755 /mnt/nas/wordpress/uploads
  2. 在每台ECS上替换uploads目录:
    # 备份原目录
    sudo mv /www/wwwroot/wordpress/wp-content/uploads /www/wwwroot/wordpress/wp-content/uploads.bak
    
    # 创建软链接
    sudo ln -s /mnt/nas/wordpress/uploads /www/wwwroot/wordpress/wp-content/uploads
  3. 测试上传:WordPress后台上传图片,在另一台ECS上检查是否能看到
  4. 迁移已有文件:
    sudo rsync -avz /www/wwwroot/wordpress/wp-content/uploads.bak/ /mnt/nas/wordpress/uploads/
多节点WordPress架构
  • 负载均衡: SLB分发请求到2台ECS
  • Web服务器: 2台ECS(2核4G)代码同步
  • 共享存储: NAS挂载uploads目录
  • 数据库: RDS MySQL(两台ECS共用)
💡 性能优化

NAS适合小文件共享,如果图片量大(>10GB)建议用OSS+CDN方案,用插件把上传直传到OSS。

开始使用

如果你对 阿里云文件存储 NAS 感兴趣,可以访问官方页面查看详细配置和价格信息。

查看详细信息 →

常见问题

NAS挂载失败怎么排查?

检查4个点:①ECS和NAS是否同一VPC ②安全组是否开放2049端口 ③挂载点的权限组是否允许ECS IP ④NFS客户端是否已安装。

NAS和OSS怎么选?

NAS适合多台ECS共享读写(如WordPress上传目录),OSS适合大量静态文件存储和CDN分发。预算紧用NAS,流量大用OSS。

NAS性能够用吗?

通用型NAS读写速度约150MB/s,小型业务足够。如需更高性能(如视频剪辑、数据库),选择极速型NAS。

总结

NAS挂载多台ECS的关键步骤:①创建文件系统选择与ECS同VPC ②配置挂载点和权限组 ③每台ECS安装nfs-utils并挂载 ④配置fstab实现开机自动挂载。WordPress多节点场景只需把uploads目录软链到NAS即可实现共享。记住两个避坑点:安全组开放2049端口和fstab加_netdev参数。小文件共享用NAS,大流量静态文件用OSS+CDN。