Como montar um volume LVM?


36

Estou tentando montar um volume LVM2 no Linux, mas todas as instruções que vejo online dizem para montar o grupo de volumes, como:

mkdir -p /mnt/VolGroup00/LogVol00

mas não sei como descobrir o nome dele. Eu vejo o passeio em Palimpsest, e essa é toda a informação que eu sei.


Estou surpreso que ninguém tenha mencionado sobre findmntcomando. Você pode simplesmente fazer um findmnt -le obterá o que deseja. E para uma versão melhor Tente isto:findmnt -l | grep ' /dev/\S\+'
C0deDaedalus

Infelizmente, não há solução para a montagem de um volume LVM a partir de uma imagem dd / raw nas respostas. Seria ótimo ver se algumas das soluções também estão funcionando para este caso de uso.
precisa

Respostas:


52

Aqui estão os passos que eu usei para acessar um LVM do Fedora 17, ele deve funcionar com a maioria das formas de Linux.

Inicialize o Fedora 17.

Verifique se o lvm2 está instalado:

$ sudo yum install lvm2

Carregue o (s) módulo (s) necessário (s) como root:

$ sudo modprobe dm-mod

Examine seu sistema em busca de volumes LVM e identifique na saída o nome do grupo de volumes que possui seu volume Fedora (o meu provou ser o VolGroup00):

$ sudo vgscan

Ative o volume:

$ sudo vgchange -ay VolGroup00

Encontre o volume lógico que possui seu sistema de arquivos raiz do Fedora (o meu provou ser o LogVol00):

$ sudo lvs

Crie um ponto de montagem para esse volume:

$ sudo mkdir /mnt/fcroot

Monte-o:

$ sudo mount /dev/VolGroup00/LogVol00 /mnt/fcroot -o ro,user

Pronto, navegue para / mnt / fcroot e copie os arquivos e cole em outro lugar.


1
Trabalhar com isso foi fácil de seguir e funcionou para mim no ubuntu (trocando o yum pelo apt-get, é claro). A ativação em particular, não coberta por outras respostas, foi importante. Este é o caminho a percorrer se você tiver uma unidade antiga com LVM e a anexar a outro sistema em funcionamento.
Sr. Roxo

3
Esta resposta deve ser aceita. vgscan, então vgchange -a y'são as etapas necessárias.
Daniel Dinnyes

1
De fato, a parte de ativação foi vital para fazê-la funcionar.
Zitrax

No RedHat 7, primeiro tive que executar o pvscan --cache. Sem isso, o vgscan nem veria o novo grupo de volumes.
21418 Kevin Keane

25

Diante desse problema há algum tempo, eu publiquei isso no meu blog

Liste todas as suas partições, digite

linux:/ # lvmdiskscan

Você receberá uma lista de algo parecido com isto

File descriptor 3 left open
File descriptor 4 left open
/dev/dm-0 [ 9.67 GB]
/dev/sda1 [ 78.41 MB]
/dev/dm-1 [ 6.44 GB]
/dev/sda2 [ 115.52 GB]
/dev/dm-2 [ 2.00 GB]
/dev/sda3 [ 18.11 GB] LVM physical volume
/dev/sda5 [ 15.33 GB]

Anote /dev/dm-x, esses são os dispositivos que correspondem às partições LVM. Observe também os tamanhos.

Em seguida, digite lvdisplay para mostrar uma lista detalhada de todos os volumes lógicos disponíveis.

lvdisplay |more

LV Name /dev/system/home
VG Name system
LV UUID 1QP9XM-vlKi-umNO-CXvV-TnZN-RCLk-e1FDIr
LV Write Access read/write
LV Status available
# open 1
LV Size 9.67 GB
Current LE 2475
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0

— Logical volume —
LV Name /dev/system/root
VG Name system
LV UUID D1fKUJ-uU1C-jlVB-4imh-rrgy-FQu0-TC2Ssm
LV Write Access read/write
LV Status available
# open 1

LV Size 6.44 GB
Current LE 1649
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1

— Logical volume —
LV Name /dev/system/swap
VG Name system
LV UUID w5LqIb-xvcr-Xsbk-y3wg-lT3i-LqdN-GFK8Mi
LV Write Access read/write
LV Status available
# open 0
LV Size 2.00 GB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2

Agora, do conjunto de dados acima, podemos deduzir que minha /homepartição, de tamanho 9,67 GB, está disponível como grupo LV /dev/system/homeem/dev/dm-0

Agora que sabemos onde a partição está disponível, podemos prosseguir com a montagem usando o comando mount, como

mount /dev/dm-0 /home

E aí está, sua partição LV está montada!


7

Você pode obter uma lista de nomes de volumes executando lvscan. A saída será semelhante

/dev/VG1/LV1
/dev/VG1/LV2
/dev/VG2/LV3

ou seja, com os nomes dos grupos de volumes no meio e os volumes lógicos no final. Veja se algum deles corresponde às informações no Palimpsest Disk Utility.

Além disso, compare com a lista de discos já montados ( mount) e veja qual deles não está lá. Pode parecer um pouco diferente, por exemplo:

$ mount
/dev/mapper/VG1-LV1 is mounted on /usr
/dev/mapper/VG1-LV2 is mounted on /home

Você pode ver onde o grupo de volumes e o volume lógico aparecem no final.

Depois de encontrar o caminho certo, monte-o da maneira usual:

mount /dev/VG2/LV3 /mnt

3

Acho que a montagem de convidados (1) é a maneira mais fácil.

# guestmount -m /invalid/path  -a /path/to/block/device /mnt/
guestmount: '/invalid/path' could not be mounted.
guestmount: Did you mean to mount one of these filesystems?
(...)
guestmount:     /dev/vg0/root (ext4)
(...)

# guestmount -m /dev/vg0/root -a /path/to/block/device /mnt

Veja também http://libguestfs.org/guestmount.1.html .

Pacote guestmountno ubuntu, libguestfs-toolsno RHEL e derivados.


2

Aqui está outra maneira de montá-lo, que achei útil:

DISK=mydisk

lvdisplay | grep $DISK | grep "LV Path" | sed 's/.* //g'
LV_DISK=$(lvdisplay | grep $DISK | grep "LV Path" | sed 's/.* //g')

fdisk -l $LV_DISK
fdisk -lu $LV_DISK | sed -n '/lv[0-9]p[1-3]/ p' | grep p1 | awk '{print $2}'

OFFSET=$(fdisk -lu $LV_DISK | sed -n '/lv[0-9]p[1-3]/ p' | grep p1 | awk '{print $2}')
OFFSET=$((OFFSET * 512))

MOUNT=/mnt/$DISK
mkdir -p $MOUNT
mount -o loop,offset=$OFFSET $LV_DISK $MOUNT

1

você pode visualizar o nome do lvm usando o comando

lsblk

então você pode encontrar esse nome em / dev / mapper / dierctory, por exemplo, eu posso montar meu diretório inicial antigo:

mount /dev/mapper/rhel-home /mnt

0

Isso pode ser feito na interface do usuário com o KVPM.

Simplesmente selecione o grupo que você deseja montar e clique na opção "mount fs".

insira a descrição da imagem aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.