¿Cómo desconectar (quitar) y luego enchufar (insertar) correctamente un dispositivo de almacenamiento extraíble (conexión en caliente, USB, etc.) con LVM2?
He encontradoesta nota
Quitar (desenchufar, expulsar):
lvchange -an /dev/your_volume_group_name
vgexport -a
Insertar (enchufe):
vgimport -a
lvchange -ay /dev/your_volume_group_name
pero no estoy seguro de si usar la opción "todos" -a
no es excesivo.
Otra cosa, me pregunto si en algunas circunstancias podría ser necesario usarlo vgscan
pvscan
en tal escenario. Estoy pensando en una solución automatizada.
Respuesta1
No es necesario exportar el VG, ya que se utiliza para migrar un VG de un sistema a otro.
Simplemente vgchange -an vgname
para desactivar todos los volúmenes lógicos en el grupo de volúmenes que desea desconectar.
Más tarde, después de volver a enchufar el dispositivo, vgchange -ay vgname
se reactivarán todos los volúmenes lógicos en su vgname VG y luego podrá montar los LV y usarlos.
El reconocimiento de dispositivos depende del hardware y de los módulos del kernel, etc., pero esto debería funcionar con el kit más reciente.
Respuesta2
Utilizo un script similar a este:
- desmontar todos los sistemas de archivos en el grupo de volúmenesnombre_vg
- Si todos los sistemas de archivos en vg_name están desmontados, configure el VG como no disponible
- No olvides sincronizar los buffers de memoria con el disco...
- sispmctl se usa para apagar mis discos externos
#!/bin/bash echo "Desmontando el sistema de archivos" montar | grep nombre_vg && { montar | grep nombre_vg | corte -d'' -f3 | xargs desmontar -v } montar | grep nombre_vg || { echo "Establecer VG no disponible" /sbin/vgchange -an /dev/vg_name && { echo "Sincronizar discos" sincronización; sincronizar && { echo "Apagar discos" /usr/local/bin/sispmctl -D 01:01:4b:54:e5 -f 1 } } }
Cuando el disco está conectado, el kernel lo encontrará automáticamente cuando los módulos adecuados estén disponibles en el sistema (este suele ser el caso con las distribuciones principales)
La exportación/importación solo es necesaria cuando se cambian los PV/VG/LV y el VG está conectado a diferentes sistemas. vgexport iría después de vgchange en ese caso.