Wie mounte ich ein LVM-Volume?


36

Ich versuche, ein LVM2-Volume unter Linux zu mounten, aber alle Anweisungen, die ich online sehe, besagen, dass die Volume-Gruppe gemountet werden soll, wie zum Beispiel:

mkdir -p /mnt/VolGroup00/LogVol00

aber ich weiß nicht, wie ich den Namen herausfinden soll. Ich sehe die Fahrt in Palimpsest und das ist alles, was ich weiß.


Ich bin überrascht, dass niemand etwas über das findmntKommando gesagt hat. Sie können einfach eine machen findmnt -lund Sie werden bekommen, was Sie wollen. Und für eine bessere Version Versuchen Sie dies:findmnt -l | grep ' /dev/\S\+'
C0deDaedalus

Leider findet sich in den Antworten keine Lösung für die Bereitstellung eines LVM-Volumes aus einem dd / raw-Image . Es wäre toll zu sehen, ob einige der Lösungen auch für diesen Anwendungsfall funktionieren.
gies0r

Antworten:


52

Hier sind die Schritte, die ich ausgeführt habe, um von Fedora 17 auf ein LVM zuzugreifen. Es sollte mit den meisten Linux-Formen funktionieren.

Starten Sie Fedora 17.

Stellen Sie sicher, dass lvm2 installiert ist:

$ sudo yum install lvm2

Laden Sie die erforderlichen Module als root:

$ sudo modprobe dm-mod

Scannen Sie Ihr System nach LVM-Volumes und identifizieren Sie in der Ausgabe den Namen der Volume-Gruppe, auf der sich Ihr Fedora-Volume befindet (meins war VolGroup00):

$ sudo vgscan

Aktivieren Sie die Lautstärke:

$ sudo vgchange -ay VolGroup00

Suchen Sie das logische Volume, auf dem sich Ihr Fedora-Root-Dateisystem befindet (meins war LogVol00):

$ sudo lvs

Erstellen Sie einen Einhängepunkt für dieses Volume:

$ sudo mkdir /mnt/fcroot

Montiere es:

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

Wenn Sie fertig sind, navigieren Sie zu / mnt / fcroot, kopieren Sie die Dateien und fügen Sie sie an einer anderen Stelle ein.


1
Das durchzuarbeiten war einfach zu befolgen und hat für mich in Ubuntu funktioniert (natürlich Yum gegen Apt-Get tauschen). Insbesondere die Aktivierung, die von anderen Antworten nicht abgedeckt wurde, war wichtig. Dies ist der richtige Weg, wenn Sie ein altes Laufwerk mit LVM haben und es an ein anderes funktionierendes System anschließen.
Mr Purple

3
Diese Antwort sollte akzeptiert werden. vgscan, dann vgchange -a y'sind die notwendigen Schritte.
Daniel Dinnyes

1
In der Tat war der Aktivierungsteil entscheidend, um es zum Laufen zu bringen.
Zitrax

In RedHat 7 musste ich zuerst pvscan --cache ausführen. Ohne das würde vgscan nicht einmal die neue Datenträgergruppe sehen.
Kevin Keane

25

Vor einiger Zeit war ich mit diesem Problem konfrontiert und hatte es in meinem Blog gepostet

Listen Sie alle Partitionen auf, und geben Sie Folgendes ein

linux:/ # lvmdiskscan

Sie erhalten eine Liste von so etwas

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]

Notieren Sie sich /dev/dm-x, dies sind die Geräte, die den LVM-Partitionen entsprechen. Beachten Sie auch die Größen.

Geben Sie anschließend lvdisplay ein, um eine detaillierte Liste aller verfügbaren logischen Datenträger anzuzeigen.

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

Jetzt aus dem obigen Satz von Daten, können wir ableiten , dass meine /homePartition der Größe 9,67 GB als LV - Gruppe zur Verfügung steht /dev/system/homeauf/dev/dm-0

Jetzt, da wir wissen, wo die Partition verfügbar ist, können wir mit dem mount-Befehl as mit dem Mounten fortfahren

mount /dev/dm-0 /home

Und los geht's, Ihre LV-Partition ist gemountet!


7

Sie können eine Liste der Datenträgernamen abrufen, indem Sie ausführen lvscan. Die Ausgabe wird so aussehen

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

dh mit den Volumengruppennamen in der Mitte und den logischen Volumen am Ende. Überprüfen Sie, ob eine der Angaben mit den Angaben im Palimpsest-Dienstprogramm übereinstimmt.

Vergleichen Sie auch die Liste der bereits gemounteten Datenträger ( mount) und stellen Sie fest, welche nicht vorhanden sind. Es könnte ein wenig anders aussehen, zB:

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

Sie können sehen, wo die Datenträgergruppe und der logische Datenträger am Ende angezeigt werden.

Wenn Sie das richtige gefunden haben, montieren Sie es wie gewohnt:

mount /dev/VG2/LV3 /mnt

3

Ich finde guestmount (1) am einfachsten.

# 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

Siehe auch http://libguestfs.org/guestmount.1.html .

Paket guestmountauf Ubuntu, libguestfs-toolsauf RHEL und Derivaten.


2

Hier ist eine andere Möglichkeit, es zu mounten:

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

Mit dem Befehl können Sie den Namen des LVM anzeigen

lsblk

dann finden Sie diesen Namen unter / dev / mapper / dierctory, zum Beispiel kann ich mein altes Home-Verzeichnis mounten durch:

mount /dev/mapper/rhel-home /mnt

0

Dies kann über die Benutzeroberfläche mit KVPM erfolgen.

Wählen Sie einfach die Gruppe aus, die Sie bereitstellen möchten, und klicken Sie auf die Option "fs bereitstellen".

Bildbeschreibung hier eingeben

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.