如何正确拔出/插入可移动 LVM2 设备?

如何正确拔出/插入可移动 LVM2 设备?

如何正确拔出(移除)并随后插入(插入)带有 LVM2 的可移动(热插拔、USB 等)存储设备?

我发现这张纸条

移除(拔掉插头、弹出):

lvchange -an /dev/your_volume_group_name
vgexport -a

插入(插头):

vgimport -a
lvchange -ay /dev/your_volume_group_name

但我不确定使用“all”选项-a是否太过分了?

另外,我想知道在某些情况下是否需要vgscan pvscan在这种情况下使用?我正在考虑自动化解决方案。

答案1

您不必导出 VG,它用于将 VG 从一个系统迁移到另一个系统。

vgchange -an vgname只需停用要拔出的卷组上的所有逻辑卷 即可。

稍后,重新插入设备后,vgchange -ay vgname将重新激活您的 vgname VG 中的所有逻辑卷,然后您可以挂载 LV 并使用。

设备识别取决于硬件和内核模块等,但这应该适用于最新的套件。

答案2

我使用类似这样的脚本:

  • 卸载卷组中的所有文件系统VG名称
  • 如果 vg_name 中的所有文件系统均已卸载,则将 VG 设置为不可用
  • 不要忘记将内存缓冲区同步到磁盘......
  • sispmctl 用于关闭我的外部磁盘
#!/bin/bash    
echo "卸载文件系统"
挂载| grep vg_name && {
    挂载| grep vg_name | grep vg_name | grep vg_name切 -d' ' -f3 | xargs umount -v
}

挂载| grep vg_name || {
    echo "设置VG不可用"
    /sbin/vgchange -an /dev/vg_name && {
        echo“同步磁盘”
        同步;同步 && {
            echo“关闭磁盘电源”
            /usr/local/bin/sispmctl -D 01:01:4b:54:e5 -f 1
        }
    }
}

连接磁盘后,当系统上有适当的模块可用时,内核将自动找到它(主流发行版通常会出现这种情况)

仅当 PV/VG/LV 更改并且 VG 连接到不同系统时才需要导出/导入。在这种情况下,vgexport 将在 vgchange 之后进行。

相关内容