Descubra e monte todos os sistemas de arquivos em todas as unidades (incluindo LVM)

1

Eu tenho um Live CD que estou criando que acessará todos os discos conectados fisicamente em uma máquina. Não há intervenção do usuário envolvida e preciso encontrar e montar todas as unidades que podem ser montadas. Eu também preciso ser capaz de manipular se o disco ou discos estão usando o LVM ou não e montar cada grupo de volume.

bpedman
fonte

Respostas:

1

Aqui está o que eu encontrei para encontrar e montar todos os discos disponíveis. Este script também irá acompanhar todas as montagens com falha (que eu também precisei na minha situação, não fazem parte da pergunta, mas podem ser úteis para outras pessoas).

Aqui eu escaneio todas as partições /proc/partitions e tente montar cada partição que encontrar. As partições LVM serão listadas neste arquivo, assim como após a verificação e ativação das mesmas.

# Scan for all volume groups
lvscan
# Activate all volume groups
vgchange -a y

# Get all partitions (-n+3 skips first 3 lines since they do not contain partitions)
# Also skip partitions that are loop devices which is actually the ISO cd itself
all_partitions=$(tail -n+3 /proc/partitions | awk '{print $4}' | grep -v loop)

# Array of failed mounts
declare -a failed_mounts=()

# Mount each partition to /mnt/{partition name}
for partition in ${all_partitions}; do
    mountdir=/mnt/${partition}
    mkdir -p ${mountdir}
    mount /dev/${partition} ${mountdir} &>>${INIT_LOG}
    if [ $? -ne 0 ]; then
        echo "Failed to mount ${partition}"
        rm -rf ${mountdir}
        failed_mounts+=(${partition})
    fi
done

Isso pode ou não depender da distro, mas como estou integrando isso em um live CD, ele não precisa ser independente de distro.

bpedman
fonte
0

Apenas a parte LVM

Ative todos os grupos de volume primeiro:

vgchange -a y

Então

lvdisplay -c | sed -e 's/  //; s/:.*//'

deve dar-lhe uma lista dos volumes LVM ativados. Eles devem estar na forma /dev/VGNAME/LVNAMEAgora você pode usar isso para criar pontos de montagem como desejar.

quazgar
fonte
Obrigado, mas esta é uma resposta incompleta. Eu também preciso ser capaz de descobrir quais discos são possíveis de montar.
bpedman
edit: Por exemplo, quais outros discos que não estão necessariamente usando o LVM que eu preciso montar também?
bpedman