挂载数据盘这事儿,别想得太玄乎。对于刚接触阿里云的新手来说,买完服务器发现磁盘空间不够或者想把数据和系统盘分开,第一步就是“挂载”,第二步才是“分区格式化”。
很多人卡在第二步,以为挂载完就能直接用了,结果进去一看,df -h 查不到新盘,或者 lsblk 能看到盘但没文件系统。这是因为挂载(Attach)只是把硬盘接上了,还没告诉操作系统怎么用它。
下面按步骤来,分两步走:控制台操作 + Linux 命令行操作。
第一阶段:在阿里云控制台“物理”连接
- 登录控制台:进入 ECS 实例详情页。
- 找到存储与镜像:左侧菜单找“存储与镜像” -> “云盘”。
- 创建云盘:点击“创建云盘”,选类型(ESSD/SSD)、大小、所属可用区。注意:可用区必须和 ECS 实例一致,否则挂不上。
- 挂载云盘:创建完成后,在云盘列表找到刚创建的盘,点击“更多” -> “挂载到实例”,选择你的 ECS 实例。
- 重启?:一般不需要重启。如果提示需要重启才能生效,那就重启一下;如果没提示,直接进系统。
关键点:此时你在操作系统里可能还看不到这块盘,或者看到了但不能用。别慌,这是正常的。
第二阶段:在 Linux 系统里“逻辑”初始化
SSH 连上你的服务器,执行以下命令。假设你的新盘设备名是 /dev/vdb(不同机型可能是 /dev/xvdb 或 /dev/sdb,请用下一步确认)。
1. 确认盘符
lsblk
你会看到类似这样的输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
├─vda1 253:1 0 40G 0 part /
vdb 253:16 0 100G 0 disk
这里 vdb 就是你的新盘,大小 100G,且没有 MOUNTPOINT(挂载点),说明还没准备好。
2. 分区(可选,但推荐)
虽然可以直接格式化整块盘,但为了规范,建议先分区。
fdisk /dev/vdb
进入交互界面后,依次输入:
n(新建分区)p(主分区)1(分区号,默认1即可)- 两次回车(使用全部空间)
w(保存并退出)
现在运行 lsblk,你应该能看到 vdb1 了。
3. 格式化文件系统
新手最容易踩坑的地方:不格式化直接挂载,报错!
格式化为 ext4 或 xfs 都可以,ext4 兼容性更好,xfs 性能稍好。这里以 ext4 为例:
mkfs.ext4 /dev/vdb1
注:如果你之前没分区,直接对 /dev/vdb 做这一步。
等待几秒钟,显示 done 就成功了。
4. 创建挂载点目录
找个地方放这个盘,比如 /data:
mkdir /data
5. 手动挂载测试
mount /dev/vdb1 /data
这时候再跑 df -h,你应该能看到 /dev/vdb1 挂载在了 /data 上,容量也是对的。
6. 【最重要的一步】设置开机自动挂载
刚才的 mount 命令重启后就失效了。要让重启后依然生效,得改 /etc/fstab。
先用 UUID 挂载更稳定(防止盘符变化导致挂载错):
blkid /dev/vdb1
复制输出的 UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"。
编辑 fstab 文件:
vi /etc/fstab
在最后一行添加(把 UUID 替换成你上面查到的):
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /data ext4 defaults 0 0
保存退出。
验证是否配置正确:
mount -a
如果没有报错,说明配置成功。如果有报错,检查 UUID 有没有抄错,或者文件系统类型写错了。
常见坑位提醒
-
盘符变了怎么办?
如果你换了机器或者重启后vdb变成了sdb,别慌,只要你在/etc/fstab里用的是UUID,就不会出问题。千万别写死/dev/vdb1。 -
Windows 服务器呢?
Windows 的逻辑不一样。挂载后,打开“计算机管理” -> “磁盘管理”,你会看到一块“未初始化”或“未分配”的磁盘。右键它,选择“在线”,然后“新建简单卷”,一路下一步就行。Windows 通常会自动分配盘符(如 D:、E:),不需要像 Linux 那样写 fstab。 -
数据盘和系统盘分离的好处?
系统盘只装系统和软件,数据盘存业务数据。这样以后重装系统、快照备份时,可以单独保留数据盘的数据,避免误删。 -
权限问题?
挂载后,普通用户可能无法写入/data。如果需要让特定用户(如www或root)有权限,可以修改目录所有者:chown -R www:www /data
搞定这些,你的数据盘就能稳稳当当地干活了。有问题再看日志,别盲目重启。
CLOUD云计算