Ich versuche, ein LVM2-Volume in 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ß.
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
Sie sind fertig, navigieren Sie zu/mnt/fcroot, kopieren Sie die Dateien und fügen Sie sie an einer anderen Stelle ein.
Vor einiger Zeit war ich mit diesem Problem konfrontiert und hatte es auf 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
Aus dem obigen Datensatz können wir ableiten, dass meine /home
-Partition mit einer Größe von 9,67 GB als LV-Gruppen-/dev/system/home
auf /dev/dm-0
verfügbar ist.
Nachdem wir nun wissen, wo die Partition verfügbar ist, können wir mit dem Einhängen mit dem Befehl mount as fortfahren
mount /dev/dm-0 /home
Und los geht's, Ihre LV-Partition ist gemountet!
Sie können eine Liste der Datenträgernamen abrufen, indem Sie lvscan
ausführen. Die Ausgabe wird so aussehen
/dev/VG1/LV1
/dev/VG1/LV2
/dev/VG2/LV3
d.h. 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 bereitgestellten Datenträger (mount
) und stellen Sie fest, welche nicht vorhanden sind. Es könnte ein wenig anders aussehen, z.
$ 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
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 guestmount
auf Ubuntu, libguestfs-tools
auf RHEL und Derivaten.
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
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