NAS怎么挂载到多台ECS?4步实现文件共享
多台ECS做负载均衡时,最头疼的是文件同步问题:用户上传的图片、附件怎么让所有服务器都能访问?
阿里云NAS可以一次挂载到多台ECS,实现文件共享。本文用4步教你配置,附WordPress多节点上传目录共享的实战案例。
第一步:创建NAS文件系统
- 登录NAS控制台:进入阿里云控制台 → 文件存储NAS
- 点击创建文件系统:选择与ECS相同的地域和VPC
- 选择存储类型:推荐通用型NAS(支持NFS和SMB)
- 选择协议:Linux ECS选NFS,Windows选SMB
- 确认创建:记录文件系统ID(如
1234abcd-cn-hangzhou.nas.aliyuncs.com)
推荐配置:小型业务NAS
- 类型: 通用型NAS(按量付费)
- 协议: NFS v3(Linux通用)
- 存储: 按实际使用计费,无需预购
- 网络: 与ECS同一VPC和可用区
⚠️ 注意事项
NAS必须与ECS在同一VPC才能挂载,跨VPC需配置云企业网(额外成本)。
第二步:配置挂载点和权限
- 创建挂载点:文件系统详情页 → 挂载点管理 → 添加挂载点
- 选择VPC和交换机:选择ECS所在的交换机
- 配置权限组:默认VPC权限组允许VPC内所有IP访问
- 获取挂载地址:复制挂载点域名(如
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上执行相同操作。
- 安装NFS客户端:
# CentOS/AliyunLinux sudo yum install -y nfs-utils # Ubuntu/Debian sudo apt install -y nfs-common
- 创建挂载目录:
sudo mkdir -p /mnt/nas
- 手动挂载测试:
sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576 \ 1234abcd-abc12.cn-hangzhou.nas.aliyuncs.com:/ /mnt/nas
- 验证挂载:
df -h | grep nas touch /mnt/nas/test.txt # 测试写入
⚠️ 常见报错
mount.nfs: Connection timed out → 检查安全组是否开放2049端口(NFS协议)和NAS挂载点的VPC配置。
第四步:配置开机自动挂载
手动挂载重启后会失效,需配置fstab实现自动挂载。
- 编辑fstab:
sudo vim /etc/fstab
- 添加挂载配置:
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
- 测试配置:
sudo umount /mnt/nas sudo mount -a # 模拟开机挂载 df -h | grep nas
- 重启验证:
sudo reboot # 重启后登录检查 df -h | grep nas
fstab参数说明:
vers=3:使用NFS v3协议(兼容性好)rsize/wsize=1048576:读写缓冲1MB(提升性能)hard:挂载失败时不断重试(避免丢数据)_netdev:等网络就绪后再挂载(关键)
实战案例:WordPress多节点共享上传目录
WordPress多台ECS负载均衡时,wp-content/uploads目录需共享。
- 在NAS上创建目录:
sudo mkdir -p /mnt/nas/wordpress/uploads sudo chown www:www /mnt/nas/wordpress/uploads sudo chmod 755 /mnt/nas/wordpress/uploads
- 在每台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
- 测试上传:WordPress后台上传图片,在另一台ECS上检查是否能看到
- 迁移已有文件:
sudo rsync -avz /www/wwwroot/wordpress/wp-content/uploads.bak/ /mnt/nas/wordpress/uploads/
常见问题
总结
NAS挂载多台ECS的关键步骤:①创建文件系统选择与ECS同VPC ②配置挂载点和权限组 ③每台ECS安装nfs-utils并挂载 ④配置fstab实现开机自动挂载。WordPress多节点场景只需把uploads目录软链到NAS即可实现共享。记住两个避坑点:安全组开放2049端口和fstab加_netdev参数。小文件共享用NAS,大流量静态文件用OSS+CDN。