云服务器 ECS Linux 扩容磁盘报错:Re-reading the partition table failed with error 22
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到“Re-reading the partition table failed with error 22”这个错误,通常是在对Linux系统的云服务器ECS进行磁盘扩容后,尝试重新读取分区表时发生的。这个错误代码意味着设备或资源忙,可能是因为系统正在使用该磁盘或者分区,导致无法立即重新读取分区表。解决这个问题可以按照以下步骤尝试:
检查并卸载分区: 首先,你需要确定哪个分区是需要调整的,并确保它没有被挂载。可以通过df -h命令查看当前挂载的分区情况。如果发现该分区已被挂载,使用umount /dev/分区设备名命令卸载它。例如,如果需要调整的分区是/dev/xvdb1,则执行umount /dev/xvdb1。
使用partprobe命令: 卸载分区后,尝试使用partprobe命令来通知内核重新读取分区表。这一步有时候可以直接解决“error 22”的问题。命令执行方式为:sudo partprobe。
使用fdisk进行分区调整: 如果partprobe命令未能解决问题,你可能需要使用fdisk或gdisk(对于GPT分区表)来检查和调整分区。首先,运行fdisk /dev/磁盘设备名或gdisk /dev/磁盘设备名,然后根据提示检查和修改分区大小。完成后,保存更改并退出。
重新读取分区表: 完成分区调整后,再次尝试使用partprobe命令,或者重启系统(reboot)以强制内核重新识别磁盘分区。
格式化新分区空间: 分区调整成功后,如果分区大小有变化,需要对新增的空间进行格式化。使用如mkfs.ext4 /dev/分区设备名的命令进行格式化,这里假设你希望使用ext4文件系统。
挂载新分区: 格式化完成后,创建一个挂载点,然后使用mount /dev/分区设备名 挂载点命令将新分区挂载到系统中。别忘了更新/etc/fstab文件,以便系统启动时自动挂载。
请在操作前确保已备份重要数据,以防操作失误导致数据丢失。如果在操作过程中遇到其他问题,也可以考虑使用阿里云提供的磁盘管理工具或联系阿里云技术支持获取帮助。