Appearance
新创建 EC2 实例后,系统只有默认一个 8G 的硬盘,大部分场景下是不够用的,比如我们有搭建数据库的需求。这时候,我们通常申请一张盘,挂载到 /data 路径下。
重启后磁盘重新挂载 #
一般数据库目录 位于 /data 下,我们会使用单独的磁盘进行挂载。当服务器进行重启时,磁盘不会自动挂载,所以,重启后,我们应该手动对数据盘进行挂载。
手动挂载 #
使用 lsblk 和 mount 命令来检查和挂载磁盘。
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
xvda 202:0 0 8G 0 disk
├─xvda1 202:1 0 8G 0 part /
├─xvda127 259:0 0 1M 0 part
└─xvda128 259:1 0 10M 0 part /boot/efi
xvdb 202:16 0 10G 0 disk
sudo mount /dev/xvdb /data
自动挂载配置 #
磁盘扩容 #
AWS EC2 控制面板修改磁盘大小 #
- 从
AWS Console进入 EC2选择要扩容的 Volume - 选择需要扩容的磁盘,点击
操作按钮 - 点击
修改卷 - 卷类型选择
通用型SSD(gp2)(可以根据自己的需求选择其他类型) - 大小输入
16(按需输入) - 点击确认修改

检查磁盘是否真的扩容成功 #
lsblk
输出示例(看 xvda 与 xvda1 的 Size):
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 32G 0 disk
└─xvda1 202:1 0 16G 0 part /
如果 xvda 显示为 32G、但 xvda1 还是 16G,说明磁盘已扩但分区没扩。
扩容分区 #
sudo growpart /dev/xvda 1
如果成功,你会看到提示类似:
CHANGED: partition=1 start=2048 old: size=33552384 end=33554432 new: size=41940991 end=41943039
验证 #
扩展文件系统后,使用 df-h 命令验证操作系统是否可以看到额外的空间:
df -h
如果文件系统还没有扩展 #
✅ 下一步:扩展文件系统 #
你只需要再执行一个命令,让文件系统识别扩容后的空间。
如果你使用的是 xfs 文件系统(大概率是,因为 Amazon Linux 2 默认是 xfs):
sudo xfs_growfs /
如果你使用的是 ext4 文件系统:
sudo resize2fs /dev/xvda1
⚠️ 检查文件系统类型 #
你可以用以下命令确认使用的是哪种文件系统:
df -T /
输出类似:
Filesystem Type Size Used Avail Use% Mounted on
/dev/xvda1 xfs 8G 7.8G 206M 98% /
🚀 执行完后再查: #
df -h
申请新磁盘,挂载到一个目录下 #
系统默认会有一块盘
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
xvda 202:0 0 8G 0 disk
├─xvda1 202:1 0 8G 0 part /
├─xvda127 259:0 0 1M 0 part
└─xvda128 259:1 0 10M 0 part /boot/efi
🎯 最终目标: #
我们希望增加一块盘,挂载到/data路径下,最终希望看到的是:
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 32G 15G 17G 47% /
/dev/xvda2 8G ... ... ... /data
🛠️ 操作流程(以已有剩余空间为例) #
你当前磁盘 xvda 是 32G,且分区 xvda1 占满了全部空间。如果你想再添加一块独立的分区用于 /data,通常推荐新建一块独立的 EBS 磁盘并挂载到 /data(推荐、稳定、安全)
适用于:你不想动现有系统盘、不希望搞复杂分区操作。
步骤: #
创建新卷 #
登录 AWS 控制台,进入 EC2 → 卷(EBS)
选择同一可用区(比如 us-east-1a),建议 10G~100G
将新卷附加到你的实例 #
在实例中识别磁盘并挂载:

🖥️ 在 EC2 上执行命令:
# 1. 查看磁盘设备(新磁盘可能是 /dev/xvdf)
lsblk
# 显示下面的信息
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
xvda 202:0 0 8G 0 disk
├─xvda1 202:1 0 8G 0 part /
├─xvda127 259:0 0 1M 0 part
└─xvda128 259:1 0 10M 0 part /boot/efi
xvdb 202:16 0 10G 0 disk
# 2. 假设是 /dev/xvdb,创建分区
sudo parted /dev/xvdb --script mklabel gpt mkpart primary ext4 0% 100%
# 3. 格式化为 ext4 文件系统
sudo mkfs.ext4 /dev/xvdb
# 4. 创建挂载点
sudo mkdir -p /data
# 5. 挂载分区
sudo mount /dev/xvdb /data
# 6. 验证挂载
df -h /data
最终我们的机器上有两块磁盘,通过 lsblk 和 df 查看
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
xvda 202:0 0 32G 0 disk
├─xvda1 202:1 0 32G 0 part /
├─xvda127 259:0 0 1M 0 part
└─xvda128 259:1 0 10M 0 part /boot/efi
xvdf 202:80 0 8G 0 disk
└─xvdf1 202:81 0 8G 0 part /data
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 781M 492K 781M 1% /run
/dev/xvda1 8.0G 2.2G 5.9G 27% /
tmpfs 2.0G 0 2.0G 0% /tmp
/dev/xvda128 10M 1.3M 8.7M 13% /boot/efi
tmpfs 391M 0 391M 0% /run/user/1000
/dev/xvdb 9.8G 24K 9.3G 1% /data
扩容 /data 的方法 #
确认文件系统类型
bash 复制编辑 df -Th /data- 如果是
ext4:用resize2fs - 如果是
xfs:用xfs_growfs
- 如果是
直接扩展文件系统
ext4:
bash 复制编辑 sudo resize2fs /dev/xvdbxfs:
bash 复制编辑 sudo xfs_growfs /data
检查结果
bash 复制编辑 df -h /data
💡 小结: 你的 /data 是直接格式化到整个 /dev/xvdb 磁盘上的,所以不需要分区扩容,只要扩文件系统即可。