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


15

如何正确拔出(移除)存储设备,然后插入(插入)具有LVM2的可移动(热插拔,USB等)存储设备?

我找到了这个便条

卸下(拔出,弹出):

lvchange -an /dev/your_volume_group_name
vgexport -a

插入(插入):

vgimport -a
lvchange -ay /dev/your_volume_group_name

但我不确定是否使用“全部”选项-a是不是和过度杀伤力?

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


您的意思是在PV可用时自动配置LVM设备?
雏菊

Answers:


13

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

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

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

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


“您不必导出用于将VG从一个系统迁移到另一个系统的VG”->您是否不认为系统A的故障以及从系统B的VG上的备份还原数据就像从A并导入到B?这就是为什么我觉得在使用LVM2作为备份解决方案时需要导出/导入的原因。
Grzegorz Wierzowiecki'4

2
我仅在两台机器共享设备ala差异scsi的上下文中使用了export / import。一个VG只能存在于一个中,因此对于故障转移/高可用性,我们将进行导出和导入。为了在不使用时简单地关闭VG设备集合的电源,虽然也不会损坏VG出口,但是没有必要进行VG导出
bsd 2012年

vgchange还是lvchange?我用lvchange
恢复莫妮卡-M.Schröder'12

1
vgchange -an将停用VG中的所有逻辑卷
2012年

1

我使用类似这样的脚本:

  • 卸载卷组vg_name中的所有文件系统
  • 如果vg_name中的所有文件系统都已卸载,则将VG设置为不可用
  • 不要忘记将内存缓冲区同步到磁盘...
  • sispmctl用于关闭外部磁盘的电源
#!/ bin / bash    
回声“正在卸载文件系统”
坐骑 grep vg_name && {
    坐骑 grep vg_name | 切-d''-f3 | xargs umount -v
}

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

连接磁盘后,当系统上有适当的模块可用时,内核会自动找到磁盘(通常是主流分配)

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.