阿里云工程师的操作建议:
您可以新建一块按量付费的临时数据盘挂载到服务器,给新数据盘创建分区和文件系统时,自定义inode节点数。 例如您新创建了一块500GB的数据盘,挂载到服务器后,先通过fdisk将数据盘分区,如创建/dev/vdc1。然后使用mkfs给/dev/vdc1 创建文件系统,并指定inode节点数,参考命令:mkfs -t ext4 /dev/vdc1 -N 131072000。然后可以将原来1000GB里的文件全部拷贝到500GB的数据盘里。再对1000GB的数据盘重新格式化一下,并指定inode节点数。然后再从500GB里的磁盘里将文件拷贝回来。之后可以将500GB的数据盘从ecs解绑释放。 建议您先给磁盘创建一下快照做好备份再操作。
下图为博主亲测
执行命令:df -Th 分区显示:/dev/vdb1
看图正确的查看命令是: dumpe2fs -h /dev/vdb1, 而不是:dumpe2fs -h /dev/vdb
而后面的正解的修改inode命令是:mkfs.ext4 -i 8192 /dev/vdb1 而不是mkfs.ext4 -i 8192 /dev/vdb
df -i 查看了一下/分区的索引节点(inode),发现已经用满(已用=100%),导致系统无法创建新目录和文件。
df -Th
查看一下剩余的磁盘使用和剩余情况,及磁盘的文件格式。