Linux Re-reading the partition table failed with error 22

问题:

扩容操作第五步执行 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 文件。

 

本文固定链接: http://blog.wmphp.com/2647.html | 顺盛网络博客

该日志由 admin 于2018年11月12日发表在 Linux 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Linux Re-reading the partition table failed with error 22 | 顺盛网络博客

Linux Re-reading the partition table failed with error 22:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter