如何卸载安装到同一安装点的两个设备之一?

Som*_*erd 5 linux operating-system block

我不小心将两个不同的设备安装在/opt

/dev/xvdf on /opt type ext4 (rw,relatime,seclabel,data=ordered)
/dev/md0 on /opt type ext4 (rw,relatime,seclabel,stripe=256,data=ordered)
Run Code Online (Sandbox Code Playgroud)

umount 会出现问题/dev/md0,并且东西正在使用/opt. /dev/md0应安装在/dev/xvdf. 有什么建议我可以卸载/dev/xvdf吗?

尝试:

[root@redacted ~]# umount /dev/xvdf
umount: /dev/xvdf: umount failed: Invalid argument

[root@redacted ~]# mount --move /dev/xvdf /temp
mount: bad option. Note that moving a mount residing under a shared
       mount is unsupported.
Run Code Online (Sandbox Code Playgroud)

此外,AWS 对卷的支持对我大喊大叫,要求强制分离使用中的卷,所以这不是一个选项。

kas*_*erd 5

你不能原子地做到这一点。但是,您可以使用一系列mount --move命令来完成此操作。您还需要另外两个目录作为安装点。

cp /etc/mtab /root/mtab-before
mkdir /mnt/shuffle-md0 /mnt/shuffle-xvdf
mount --move /opt /mnt/shuffle-md0
mount --move /opt /mnt/shuffle-xvdf
mount --move /mnt/shuffle-md0 /opt
umount /mnt/shuffle-xvdf
cp /etc/mtab /root/mtab-after
Run Code Online (Sandbox Code Playgroud)

请注意,/etc/mtab的条目/dev/xvdf最终可能看起来很奇怪。所以我建议您创建一个副本/etc/mtab,以便在完成后可以重建该条目。

/opt当您在安装点周围移动时,任何打开路径的东西都可能会得到意想不到的结果。但是在开始之前打开的文件和目录将不受此操作的影响。


小智 0

您应该能够运行:

umount /dev/xvdf /opt
Run Code Online (Sandbox Code Playgroud)

  • 没成功,但是谢谢!umount 将其视为要卸载的列表。说实话,可能没有办法做到这一点,因为 /opt 无论如何都很忙。 (3认同)