买完云盘,服务器里却找不到它,这是很多人第一次扩容时的卡点。NAS建好了,文件传不进去,也是常见问题。阿里云的挂载并不复杂,常用存储分三类:ECS云盘、NAS文件存储和OSS对象存储。三者的命令各不相同,但原理一致,都是让系统把这块存储识别成一个能读写的目录。下面按类型分别说明,最后附一个实际案例。

挂载前先分清存储类型
挂载就是把一个存储设备或网络存储接到系统的某个目录下,之后读写这个目录,实际上就是读写对应的存储。三类存储的特点差别明显:
- 云盘是块存储,挂到ECS上后要自己分区、格式化,适合数据库、应用数据这类对延迟敏感的场景。
- NAS是文件存储,通过NFS或SMB协议挂载,多台ECS可以同时访问同一个目录,适合共享文件和内容管理。
- OSS是对象存储,本身不是文件系统,要借助ossfs这类工具模拟成目录,更适合图片、视频、备份这类大文件的读取。
选型前先想清楚,你要的是性能、共享能力还是容量。这一步定下来,后面的操作会顺很多。
ECS云盘挂载的四个步骤
1. 在控制台完成挂载关联
进入ECS控制台的云盘管理页面,选中目标云盘,点击“挂载”,再选择要关联的实例。云盘和实例必须在同一可用区,不在同一个区时,下拉列表里看不到目标实例,这是最容易踩的坑。挂载成功后,云盘状态会变为“使用中”。不过这一步只是让实例看到了这块盘,系统里还没有可用的文件系统,别急着往里写数据。
2. 登录实例,确认新磁盘
通过SSH登录服务器,执行 lsblk 或 fdisk -l 查看磁盘列表。新增的盘一般显示为 /dev/vdb,部分新机型会是 /dev/nvme1n1,以命令输出为准。如果没看到新盘,先回控制台确认挂载状态,再核对实例规格是否支持这类云盘。
3. 分区与格式化
以 /dev/vdb 为例,用parted或fdisk完成分区。容量不超过2TB可以用MBR,超过2TB就必须用GPT,否则超出的部分无法使用。分区后格式化为ext4:
- 执行 mkfs.ext4 /dev/vdb1 创建文件系统。
- 格式化会清空磁盘。新盘可以放心操作,已经存过数据的盘,动手前一定先备份。
4. 临时挂载,再写入fstab
创建挂载点,比如 /data,执行 mount /dev/vdb1 /data 完成临时挂载。想让重启后依然生效,就要写进 /etc/fstab。建议用UUID而不是设备名,多块盘的环境下设备名可能变化。用 blkid /dev/vdb1 拿到UUID,在fstab里加一行,并带上 nofail 参数,这样云盘异常时系统仍能正常启动。改完先用 mount -a 测试,没有报错再重启。
NAS文件存储挂载
NAS最大的好处是多台ECS能挂载同一个目录。动手前,要在NAS控制台创建挂载点,并把ECS所在的VPC和交换机加入权限组,否则后面的命令都会失败。Linux下先安装NFS客户端,CentOS执行 yum install -y nfs-utils。然后按控制台给出的命令挂载,形式大致如下:
- 执行 mount -t nfs -o vers=4.0,noresvport 挂载点地址:/ /mnt/nas,挂载点地址替换为控制台上显示的内容。
- noresvport 能减少网络波动时的连接卡顿,一般建议保留。
- 开机自动挂载同样写进 /etc/fstab,并确保网络服务先于挂载启动,否则开机时可能挂载失败。
Windows实例可以使用SMB协议,在资源管理器里映射网络驱动器。无论哪种系统,挂载失败时先检查安全组、权限组和挂载点是否在同一网络。这三处对不上,是最常见的原因。
OSS挂载:借助ossfs
OSS通过API访问,没法像普通磁盘那样直接挂载。常见做法是用开源工具ossfs把bucket映射成本地目录。安装包请从阿里云官方文档或其指定的软件源获取,并固定版本,不要使用来路不明的二进制文件。访问凭证建议通过RAM子账号生成,只授予目标bucket的读写权限,不要把主账号的AccessKey放到服务器上。大致流程如下:
- 把凭证写入权限为600的密码文件,例如 /etc/passwd-ossfs。
- 执行 ossfs 你的bucket名 /mnt/oss -o url=对应地域的endpoint -o allow_other 完成挂载。具体参数随版本有所不同,以所装版本的官方文档为准。
ossfs并不是完整的POSIX文件系统。小文件频繁读写、随机写入和文件锁都会明显变慢,所以它更适合读多写少、单个文件较大的场景,比如图片库的只读访问或备份归档。如果把数据库或日志目录放上去,多半会后悔。
案例:小团队的图片目录迁移
某电商小团队的网站运行在一台ECS上,商品图片直接存在系统盘里。图片累计到几百GB后,系统盘频繁告警,备份也越来越慢。他们的做法比较直接:
- 新购一块500GB的ECS云盘,按前面的步骤分区、格式化,挂载到 /data,并写入fstab。
- 停止Web服务,用rsync把 /var/www/images 同步到 /data/images。核对文件数量和总大小一致后,再修改Nginx里的图片路径。
- 重启服务,逐一打开图片页面确认。确认无误后再清理原目录,留一段观察期会更稳。
整个切换停机约十分钟。之后团队把历史订单导出的备份文件放到NAS上,让两台ECS同时读取,省掉了重复存储。挂载本身只是一次性配置,真正耗时间的是数据迁移和路径切换。停机窗口提前定好,比临时抢时间靠谱。
常见问题排查
- 挂载后容量对不上,多半是分区没做,或者挂的是另一块盘。用 df -h 和 lsblk 对照检查。
- fstab写错可能导致系统无法启动。修改前先备份,修改后用 mount -a 验证。
- NAS挂载超时,多数问题出在安全组或权限组,而不是挂载命令本身。
- 云盘扩容后要先扩展分区,再执行 resize2fs 扩展文件系统,光挂载不会自动扩大容量。
- 生产环境操作前,先在测试实例上完整演练一遍,尤其是修改fstab和迁移数据的步骤。
阿里云挂载的思路很固定:先分清是块存储、文件存储还是对象存储,再走对应的流程。把云盘的分区格式化、NAS的权限配置和OSS的凭证管理弄明白,日常大部分场景就够用了。