Appearance
服务器磁盘扩容
云服务器磁盘满了如何解决
当云服务器磁盘空间满时,可以通过以下两种方式解决:
- 创建并挂载新硬盘
- 对系统盘进行扩容
解决方案一:创建并挂载新硬盘
1. 创建并挂载新硬盘
在阿里云控制台创建块存储设备,然后在服务器端验证是否创建成功:
bash
fdisk -l | grep '/dev/vd'
成功输出示例:
plain
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors
/dev/vda1 2048 4095 2048 1M BIOS boot
/dev/vda2 4096 413695 409600 200M EFI System
/dev/vda3 413696 83886046 83472351 39.8G Linux filesystem
Disk /dev/vdb: 40 GiB, 42949672960 bytes, 83886080 sectors
2. 分区新硬盘
plain
fdisk /dev/vdb
操作步骤:
- 输入
n
创建新分区 - 选择分区类型(主分区或扩展分区)
- 设置分区大小
- 输入
w
保存并退出
3. 格式化分区
plain
mkfs.ext4 /dev/vdb1
4. 备份原数据
plain
mv /app/blog/uploads/ /app/blog/uploads-bak/
5. 挂载新分区
plain
mount /dev/vdb1 /app/blog/uploads
6. 恢复数据
plain
mv /app/blog/uploads-bak/* /app/blog/uploads/
7. 验证挂载
plain
df -hT | grep vdb1
成功输出示例:
plain
/dev/vdb1 ext4 40G 24K 38G 1% /app/blog/uploads
解决方案二:系统盘扩容
1. 安装必要工具
plain
type growpart || apt-get install -y cloud-guest-utils
type sgdisk || apt-get install -y gdisk
2. 扩容分区
plain
LC_ALL=en_US.UTF-8 growpart /dev/vda 3
3. 扩容文件系统
plain
resize2fs /dev/vda3
4. 验证扩容结果
plain
df -hT
成功输出示例:
plain
Filesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 168M 1.1M 167M 1% /run
/dev/vda3 ext4 99G 3.2G 91G 4% /
注意事项
- 操作前务必备份重要数据。
- 扩容系统盘时,确保分区类型与工具匹配(如GPT分区需要gdisk工具)。
- 扩容操作可能需要重启服务器才能生效。
- 对于生产环境,建议在维护窗口期进行操作。
完整自动化脚本示例
plain
#!/bin/bash
set -eu
# 检查并安装必要工具
type growpart || apt-get install -y cloud-guest-utils
type sgdisk || apt-get install -y gdisk
# 扩容分区
LC_ALL=en_US.UTF-8 growpart /dev/vda 3
# 扩容文件系统
resize2fs /dev/vda3
# 验证结果
echo "扩容完成,当前磁盘使用情况:"
df -hT
通过以上两种方法,可以有效解决云服务器磁盘空间不足的问题。根据实际需求选择合适的方式:需要更大空间且可以停机时选择系统盘扩容,需要保持原有系统盘不变时选择挂载新硬盘。
云系统盘拓容
阿里云操作界面查看是否成功创建块存储: 进入服务器查看创建是否成功:
plain
fdisk -l | grep '/dev/vd'
成功输出示例:
plain
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors
/dev/vda1 2048 4095 2048 1M BIOS boot
/dev/vda2 4096 413695 409600 200M EFI System
/dev/vda3 413696 83886046 83472351 39.8G Linux filesystem
Disk /dev/vdb: 40 GiB, 42949672960 bytes, 83886080 sectors
扩容分区
- 安装
growpart
工具:
plain
apt-get install -y cloud-guest-utils
apt-get install -y gdisk
- 执行扩容命令:
plain
LC_ALL=en_US.UTF-8 growpart /dev/vda 3
- 执行文件系统扩容:
plain
resize2fs /dev/vda3
最终效果查看:
plain
df -hT
输出示例:
plain
Filesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 168M 1.1M 167M 1% /run
/dev/vda3 ext4 99G 3.2G 91G 4% /