Como desconectar (remover) e depois conectar (inserir) corretamente um dispositivo de armazenamento removível (hot-plug, usb etc) com LVM2 nele?
encontreiesta nota
Remover (desconectar, ejetar):
lvchange -an /dev/your_volume_group_name
vgexport -a
Inserir (plugue):
vgimport -a
lvchange -ay /dev/your_volume_group_name
mas não tenho certeza se usar a opção "todos" -a
não é um exagero?
Outra coisa, gostaria de saber se em algumas circunstâncias pode haver necessidade de uso vgscan
pvscan
nesse cenário? Estou pensando em solução automatizada.
Responder1
Você não precisa exportar o VG, que é usado para migrar um VG de um sistema para outro.
Simplesmente vgchange -an vgname
para desativar todos os volumes lógicos no grupo de volumes que você deseja desconectar.
Posteriormente, após conectar o dispositivo novamente, vgchange -ay vgname
todos os volumes lógicos serão reativados em seu vgname VG e então você poderá montar LVs e usar.
O reconhecimento do dispositivo depende do hardware e dos módulos do kernel, etc., mas deve funcionar com o kit mais recente.
Responder2
Eu uso um script semelhante a este:
- desmontar todos os sistemas de arquivos no grupo de volumesnome_vg
- se todos os sistemas de arquivos em vg_name estiverem desmontados, defina o VG como indisponível
- não se esqueça de sincronizar os buffers de memória com o disco ...
- sispmctl é usado para desligar meus discos externos
#!/bin/bash echo "Desmontando sistema de arquivos" montar | grep nome_vg && { montar | grep nome_vg | cortar -d' ' -f3 | xargs quantidade -v } montar | grep nome_vg || { echo "Definir VG indisponível" /sbin/vgchange -an /dev/vg_name && { echo "Sincronizar discos" sincronizar; sincronizar && { echo "Desligar discos" /usr/local/bin/sispmctl -D 01:01:4b:54:e5 -f 1 } } }
Quando o disco é anexado, o kernel o encontrará automaticamente quando os módulos apropriados estiverem disponíveis no sistema (este é geralmente o caso das distribuições de fluxo principal)
a exportação/importação só é necessária quando os PVs/VGs/LVs são alterados e o VG está conectado a sistemas diferentes. vgexport iria atrás de vgchange nesse caso.