最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

阿里云服务器 ECS Linux 扩容磁盘报错:Re-reading the partition table failed with error 22

来源:http://erdangjiade.com/topic/139674.html 沐浴春风 2018-07-19 19:39浏览(1098)

说明:云服务器 ECS Linux服务器扩容数据盘,请参考 Linux系统磁盘扩容 的步骤。建议您在执行扩容操作前,先为该数据盘手动 创建快照

 

问题现象




扩容操作第五步执行 fdisk 指令,输入 d 来删除原有的分区,然后依次输入 n,p,1,两次回车,wq来新建分区。如果在输入 wq 后回车,系统出现如下错误告警信息:

  1. WARNING: Re-reading the partition table failed with error 22: Invalid argument.

  2. The kernel still uses the old table. The new table will be used at

  3. the next reboot or after you run partprobe(8) or kpartx(8)

  4. Syncing disks.

问题原因




这是由于还有进程正在占用该磁盘导致,即使使用 df -h 查询该磁盘没有挂载也有可能遇到这个问题。

处理办法




可以采用以下两种方法来尝试解决:

1. 通过 lsof 命令检查该磁盘分区上有哪些进程正在占用。然后通过 kill 命令终止这些进程或者先停止对应的服务。

  • 以 /dev/xvdb1 磁盘分区为例,lsof /dev/xvdb1 命令可以查询正在使用该磁盘分区的进程(第二列是进程号)。

     

  • 再重新执行 fdisk 执行来删除原有分区并新建分区。新建分区成功后会看到类似如下提示信息:
     

     

    1. The partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.

  • 最后,再参阅 Linux系统磁盘扩容 后续步骤继续进行扩容操作即可。

 

2. 先在 /etc/fstab 注释掉挂载的磁盘,然后重启服务器。再重新执行 fdisk 的删除分区和新建分区的步骤。

  • 通过 vi /etc/fstab 打开该文件,注释待扩容的磁盘挂载记录

     

  • 重启服务器。

  • 再重新执行 fdisk 执行来删除原有分区并新建分区。新建分区成功后您会看到提示:

     

    1. The partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.

  • 再参阅 Linux系统磁盘扩容 后续步骤继续进行扩容操作即可。

  • 扩容操作完成后,编辑 /etc/fstab,将该扩容磁盘的挂载记录前的 # 号删除,保存 fstab 文件。


评论1
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

  • 头像 沙发
    09-04 15:42
    我的小笨笨
    这么复杂 的,啊
1 2