问题

网站最近由于编辑同学上传了图片的增加导致磁盘空间不足,我们使用的腾讯云服务器是可以弹性扩容的,于是,直接在续费时多购买了50G空间,购买之后SSH登录服务器之后发先用fdisk -l

Disk /dev/vdb: 150 GiB, 161061273600 bytes, 314572800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

查看,发现空间已经增加了。

但是用 df -h 还没有空间并没有变更

/dev/vdb 100G 100G 100G 100% /var/www

解决方式

  • 首先肯定是先备份,不管是创建快照或者是用FTP下载,备份是必不可少的环节
  • umount 需要扩容的磁盘,例如 umount /backups
  • 调整空间,我在Google查到了 resize2fs 命令,执行
    resize2fs /dev/vdb
    提示需要用e2fsck检查一下分区
  • e2fsck检查分区,执行 e2fsck /dev/vdb
e2fsck 1.41.11 (30-Feb-2020)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 474754/13107200 files (0.4% non-contiguous), 45135492/52428119 blocks
  • 执行检查分区之后,再使用 resize2fs /dev/vdb 进行扩容,完成扩容
  • 重新使用 mount 命令进行挂载,例如 mount /dev/vdb /backups

补充

在迁移硬盘之后我需要进行大量的小文件转移,转移的过程中,如果用 cp 或者 mv 命令 一旦断掉就无法继续执行,所以建议是采用 rsync 命令,可以续传,可以多次执行而无损失。命令的例子是 rsync -avzP /var/www/ /backups/www/