LVM-Partitionen leer nach dist-upgrade von wheezy nach jessie

caMelCase

New Member
Hallo,

nach einem Dist-Upgrade von Debian wheezy nach jessie lief mysql, apache2 und dovecot/postfix nicht mehr korrekt bzw. startete mysqld gar nicht erst.

Nun ist mir aufgefallen, dass einige lvm Partitionen leer sind. Das sind vorallem
var
mail (/var/mail)
mysql (/var/lib/mysql)
etc...

Andere lvm Partitionen haben Daten (die aber vermutlich mit der Installation der Pakete beim upgrade mit kamen).

Kann mich noch dran erinnern, dass das dist-upgrade etwas von geänderten Festplatten ID's meldete und wissen wollte, wo grub installiert werden sollte.

Ach ja, die Festplatten laufen unter softRAID1.

Wo kann es hier etwas zerschossen haben?


UPDATE:
Habe die Ausgaben von lvdisplay und blkid verglichen.
Die UUID's unterscheiden sich!
Beispiel:

Code:
lvdisplay
[I]schnipp[/I]
  --- Logical volume ---
  LV Path                /dev/vg0/var
  LV Name                var
  VG Name                vg0
  LV UUID                k8enX6-D6MA-XZaL-T4XE-I3ZM-jPdd-nadxxz
  LV Write Access        read/write
  LV Creation host, time rescue, 2014-08-16 12:17:55 +0200
[I]schnapp[/I]
Code:
blkid | grep var
/dev/mapper/vg0-var: UUID="7236e824-7c6e-4ea3-90b2-a17ff9dc5e8a" TYPE="ext4"
 
Last edited by a moderator:
Guten Abend,

Habe die Ausgaben von lvdisplay und blkid verglichen. Die UUID's unterscheiden sich!
Das ist kein Fehler. Die UUID, die dir blkid zeigt, ist die des ext4. Die hat salopp gesagt nichts mit dem LV selbst zu tun.

Grundsätzlich wäre bei einem solchen Problem folgendes interessant:

Vollständige Ausgabe von lvdisplay: Welche Volumes sind da, welche fehlen? Fehlt eventuell gar nichts, sondern wurde nur nicht gemountet? Du könntest auch LVs haben, die schlichtweg nicht aktiv sind (kann verschiedene Ursachen haben). Hier wäre lvchange dein Freund.

vgdisplay: Passt die Ausgabe zu lvdisplay oder ist hier der Speicher wie vorher belegt, ohne dass die LVs auftauchen? Der Befehl zeigt dir auch die Anzahl der LVs an - stimmt diese?

pvscan / vgscan / lvscan können (bestenfalls in dieser Reihenfolge) ebenfalls helfen, da der Volume Manager dann erneut deine Festplatten nach allem absucht, was nach LVM aussieht.

Zuguterletzt findest du in /etc/lvm/ ein Verzeichnis mit Backups in Form von Dateien, die für zwei Zwecke gut sein können:

- Einzelne LVs wiederherstellen (sofern die darunterliegenden Blöcke seit dem Verschwinden nicht beschrieben worden sind), indem du Start- und Endblöcke aus der Config rekonstruierst und das LV einfach mit lvcreate neu anlegst. Der Parameter --zero n ist hier elementar wichtig, damit die Metadaten des LV eben nicht neu ge- bzw. überschrieben werden.

- Mit vgcfgrestore die komplette Aufstellung der LVs innerhalb einer Volume Group aus einem Backup wiederherstellen. Man sollte vorher vgcfgbackup verwenden oder - noch besser - ein komplettes Backup anfertigen.


Was mir sonst noch einfällt: Geht es deinem Software-RAID bzw. den einzelnen Arrays gut? (cat /proc/mdstat)


Viele Grüße
Tim
 
Hallo Tim und vielen Dank für Deine Hilfe!

Vorweg eine neue Erkenntnis: Auch wenn ich im Rescue System einzelne LV's mounte, sind diese leer oder haben nur Dateien neueren Datums - also nach dem dist-upgrade. Allein vg0-root und vg0-home haben noch (teilweise) ihre Daten.

Hier die geforderten Ausgaben:

Code:
 # lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg0/root
  LV Name                root
  VG Name                vg0
  LV UUID                dR6DTb-fkDo-h2XU-qar2-xUwh-HAbf-2EYUn2
  LV Write Access        read/write
  LV Creation host, time rescue, 2014-08-16 12:17:50 +0200
  LV Status              available
  # open                 1
  LV Size                20.00 GiB
  Current LE             5120
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/vg0/swap
  LV Name                swap
  VG Name                vg0
  LV UUID                J53LIu-LZSL-cn6c-PDSb-YUdB-bnFG-uRvsBh
  LV Write Access        read/write
  LV Creation host, time rescue, 2014-08-16 12:17:50 +0200
  LV Status              available
  # open                 2
  LV Size                6.00 GiB
  Current LE             1536
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/vg0/tmp
  LV Name                tmp
  VG Name                vg0
  LV UUID                Gxcfpt-mXMc-jAxS-mRbd-3fmn-2Zfg-DAMhus
  LV Write Access        read/write
  LV Creation host, time rescue, 2014-08-16 12:17:50 +0200
  LV Status              available
  # open                 2
  LV Size                5.00 GiB
  Current LE             1280
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3

  --- Logical volume ---
  LV Path                /dev/vg0/home
  LV Name                home
  VG Name                vg0
  LV UUID                jYTrj5-qUJP-ZsCZ-jcod-exwo-2P1o-u4ENLe
  LV Write Access        read/write
  LV Creation host, time rescue, 2014-08-16 12:17:54 +0200
  LV Status              available
  # open                 1
  LV Size                30.00 GiB
  Current LE             7680
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4

  --- Logical volume ---
  LV Path                /dev/vg0/opt
  LV Name                opt
  VG Name                vg0
  LV UUID                ggcPnT-UPPE-PtFv-eZpz-doDX-Vyiu-ej1KHe
  LV Write Access        read/write
  LV Creation host, time rescue, 2014-08-16 12:17:54 +0200
  LV Status              available
  # open                 1
  LV Size                5.00 GiB
  Current LE             1280
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:5

  --- Logical volume ---
  LV Path                /dev/vg0/usr
  LV Name                usr
  VG Name                vg0
  LV UUID                ofGHBL-2OQH-ycBP-tYO2-NQWK-e6wr-RmRT81
  LV Write Access        read/write
  LV Creation host, time rescue, 2014-08-16 12:17:54 +0200
  LV Status              available
  # open                 1
  LV Size                10.00 GiB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/vg0/log
  LV Name                log
  VG Name                vg0
  LV UUID                bafo6O-HvpA-TTPp-eGNE-kBFd-4ir4-b6ZvpC
  LV Write Access        read/write
  LV Creation host, time rescue, 2014-08-16 12:17:54 +0200
  LV Status              available
  # open                 1
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:6

  --- Logical volume ---
  LV Path                /dev/vg0/mysql
  LV Name                mysql
  VG Name                vg0
  LV UUID                iJOoLJ-Gyye-xWTq-CWJS-NWwT-jA1u-aTIDcd
  LV Write Access        read/write
  LV Creation host, time rescue, 2014-08-16 12:17:55 +0200
  LV Status              available
  # open                 1
  LV Size                5.00 GiB
  Current LE             1280
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:7

  --- Logical volume ---
  LV Path                /dev/vg0/mail
  LV Name                mail
  VG Name                vg0
  LV UUID                izAjSc-LNYq-aoGb-bda1-YSQo-t4fW-Of90zL
  LV Write Access        read/write
  LV Creation host, time rescue, 2014-08-16 12:17:55 +0200
  LV Status              available
  # open                 1
  LV Size                50.00 GiB
  Current LE             12800
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:8

  --- Logical volume ---
  LV Path                /dev/vg0/var
  LV Name                var
  VG Name                vg0
  LV UUID                k8enX6-D6MA-XZaL-T4XE-I3ZM-jPdd-nadxxz
  LV Write Access        read/write
  LV Creation host, time rescue, 2014-08-16 12:17:55 +0200
  LV Status              available
  # open                 1
  LV Size                20.00 GiB
  Current LE             5120
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:9

  --- Logical volume ---
  LV Path                /dev/vg0/fhem
  LV Name                fhem
  VG Name                vg0
  LV UUID                RRnhJc-UhTt-9191-r69f-bqFP-7mMs-BukLpX
  LV Write Access        read/write
  LV Creation host, time rescue, 2014-08-16 12:17:55 +0200
  LV Status              available
  # open                 1
  LV Size                10.00 GiB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:10

  --- Logical volume ---
  LV Path                /dev/vg0/virtualbox
  LV Name                virtualbox
  VG Name                vg0
  LV UUID                PXk1cy-Y3cP-Iogm-PlAE-67mT-gi7y-kvvZ1p
  LV Write Access        read/write
  LV Creation host, time rescue, 2014-08-16 12:17:55 +0200
  LV Status              available
  # open                 1
  LV Size                50.00 GiB
  Current LE             12800
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:11

Code:
 # vgdisplay
  --- Volume group ---
  VG Name               vg0
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  13
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                12
  Open LV               12
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               698.01 GiB
  PE Size               4.00 MiB
  Total PE              178690
  Alloc PE / Size       54528 / 213.00 GiB
  Free  PE / Size       124162 / 485.01 GiB
  VG UUID               jprrLv-kqHK-8VSQ-PQLw-ZiaQ-up7R-jGXc8j

Code:
 # pvscan
  PV /dev/md1   VG vg0   lvm2 [698.01 GiB / 485.01 GiB free]
  Total: 1 [698.01 GiB] / in use: 1 [698.01 GiB] / in no VG: 0 [0   ]

Code:
 # vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "vg0" using metadata type lvm2

Code:
 # lvscan
  ACTIVE            '/dev/vg0/root' [20.00 GiB] inherit
  ACTIVE            '/dev/vg0/swap' [6.00 GiB] inherit
  ACTIVE            '/dev/vg0/tmp' [5.00 GiB] inherit
  ACTIVE            '/dev/vg0/home' [30.00 GiB] inherit
  ACTIVE            '/dev/vg0/opt' [5.00 GiB] inherit
  ACTIVE            '/dev/vg0/usr' [10.00 GiB] inherit
  ACTIVE            '/dev/vg0/log' [2.00 GiB] inherit
  ACTIVE            '/dev/vg0/mysql' [5.00 GiB] inherit
  ACTIVE            '/dev/vg0/mail' [50.00 GiB] inherit
  ACTIVE            '/dev/vg0/var' [20.00 GiB] inherit
  ACTIVE            '/dev/vg0/fhem' [10.00 GiB] inherit
  ACTIVE            '/dev/vg0/virtualbox' [50.00 GiB] inherit

Den Inhalt der /etc/lvm/backup/vg0 habe ich mal mit einem mittels vgcfgbackup erstellten Backup verglichen - die waren identisch.

Zu guter Letzt
Code:
 # cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[1] sda2[0]
      731915968 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sdb1[1] sda1[0]
      523968 blocks super 1.2 [2/2] [UU]

unused devices: <none>

Gruß,
Frank
 
Hallo Frank,

Auch wenn ich im Rescue System einzelne LV's mounte, sind diese leer oder haben nur Dateien neueren Datums

Ähm - das heißt also, du vermisst gar keine LVs, sondern vielmehr deren Inhalte? Las sich m.E. oben anders. Wie dem auch sei, das klingt nicht gut und vermutlich auch kein LVM-Thema im eigentlichen Sinne mehr. Leider sind mir diesbezüglich die Debian-Updateroutinen nicht bekannt; sodass ich nicht weiß, was alles schiefgehen könnte. Aber das klingt ein wenig danach, als wären Daten oder gar ganze Dateisysteme überschrieben worden.

Ich bin allgemein kein großer Fan davon, systemrelevante Dateisysteme (fängt schon beim Boot-FS an) als LVs zu organisieren, aber das nur am Rande.

Kannst du noch die Ausgaben von mount sowie df -h posten?

Anbei fällt mir auf, dass dein /dev/vg0/tmp und der Swap zweimal geöffnet sind; vielleicht kannst du mit fuser oder lsof mal der Ursache nachgehen.

Und, ganz blöd gefragt, wenn auch unwahrscheinlich: Du hast nicht zufällig die ganze Zeit produktiv auf Snapshots gearbeitet, die nun einfach übergelaufen sind?


Viele Grüße
Tim
 
Guten Morgen,

Ähm - das heißt also, du vermisst gar keine LVs, sondern vielmehr deren Inhalte?
Richtig! Und leider befürchte ich auch immer mehr, dass die Daten wohl überschrieben sind.

Bei der Neuinstallation von wheezy wurde lvm angeboten. Dachte mir, ich probiers mal aus. Nie wieder! :(

Meine Snapshots waren unter home abgelegt. Die sind nun auch weg.

Code:
# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=997722,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,relatime,size=1613432k,mode=755)
/dev/mapper/vg0-root on / type ext4 (rw,relatime,data=ordered)
/dev/mapper/vg0-usr on /usr type ext4 (rw,relatime,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
/dev/md0 on /boot type ext2 (rw,relatime)
/dev/mapper/vg0-opt on /opt type ext4 (rw,relatime,data=ordered)
/dev/mapper/vg0-var on /var type ext4 (rw,relatime,data=ordered)
/dev/mapper/vg0-home on /home type ext4 (rw,relatime,data=ordered)
/dev/mapper/vg0-tmp on /tmp type reiserfs (rw,relatime)
/dev/mapper/vg0-mail on /var/mail type ext4 (rw,relatime,data=ordered)
/dev/mapper/vg0-log on /var/log type ext4 (rw,relatime,data=ordered)
/dev/mapper/vg0-mysql on /var/lib/mysql type ext4 (rw,relatime,data=ordered)
/dev/mapper/vg0-virtualbox on /opt/virtualbox type ext4 (rw,relatime,data=ordered)
/dev/mapper/vg0-fhem on /opt/fhem type ext4 (rw,relatime,data=ordered)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=806716k,mode=700,uid=1000,gid=1000)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

Code:
# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/dm-0                    20G  484M   19G   3% /
udev                         10M     0   10M   0% /dev
tmpfs                       1.6G  9.0M  1.6G   1% /run
/dev/dm-1                   9.8G  2.0G  7.3G  22% /usr
tmpfs                       3.9G     0  3.9G   0% /dev/shm
tmpfs                       5.0M     0  5.0M   0% /run/lock
tmpfs                       3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/md0                    496M   52M  419M  11% /boot
/dev/mapper/vg0-opt         4.8G   10M  4.6G   1% /opt
/dev/mapper/vg0-var          20G  8.0G   11G  43% /var
/dev/mapper/vg0-home         30G   25G  3.3G  89% /home
/dev/mapper/vg0-tmp         5.0G   33M  5.0G   1% /tmp
/dev/mapper/vg0-mail         50G   52M   47G   1% /var/mail
/dev/mapper/vg0-log         2.0G  5.3M  1.8G   1% /var/log
/dev/mapper/vg0-mysql       4.8G   40M  4.5G   1% /var/lib/mysql
/dev/mapper/vg0-virtualbox   50G   52M   47G   1% /opt/virtualbox
/dev/mapper/vg0-fhem        9.8G   23M  9.2G   1% /opt/fhem
tmpfs                       788M  4.0K  788M   1% /run/user/1000

/home ist im Moment auch nur so groß, weil ich die mysql Partition per dd ins /home kopiert habe (was aus meiner jetzigen Sicht ein ganz dummer Fehler war). Tasächlich fehlen in Home mehrere Sachen (wenn auch nicht alles).

Würde gerne mal testdisk im Rescue System drüber laufen lassen. Was muss ich dabei beachten, um nicht evtl. noch mehr Datenverlust zu produzieren? Eine HDD aus dem Raid-Verbund rausnehmen? Oder vielleicht eine HDD per hdparm auf readonly setzen?

Gruß
Frank
 
So, nun bin ich einen Schritt weiter gekommen.

testdisk findet auf /dev/md1 sämtliche Partitionen:
Code:
Disk /dev/md1 - 749 GB / 698 GiB - CHS 182978992 2 4
     Partition               Start        End    Size in sectors
   Linux                  256   0  1 5243135   1  4   41943040
   Linux Swap           5243136   0  1 6815999   1  4   12582912
   Linux                6816000   0  1 8126719   1  4   10485760
   Linux                8126720   0  1 15991039   1  4   62914560
   Linux                15991040   0  1 17301759   1  4   10485760
   Linux                17301760   0  1 19923199   1  4   20971520
   Linux                19923200   0  1 20447487   1  4    4194304
   Linux                20447488   0  1 21758207   1  4   10485760
   Linux                21758208   0  1 34865407   1  4  104857600
[B]>  Linux                34865408   0  1 40108287   1  4   41943040[/B]
   Linux                40108288   0  1 42729727   1  4   20971520
   Linux                42729728   0  1 55836927   1  4  104857600
   Linux                55836928   0  1 57147647   1  4   10485760

Die vierte Partition von unten enthält alle Daten, die ich vermisse und die momentan nicht zugänglich sind. Wie soll ich jetzt weiter verfahren? Würde gerne den Server komplett neu aufsetzen (ohne LVM) und anschließend die Daten und Konfigurationsdateien, MySQL Datenbanken usw. ins neue System eingliedern. Also wohin die Daten sichern? Der Server steht bei Hetzner, hier gäbe es die Möglichkeit einen Backup-Speicherplatz zu ordern. Gbts Alternativen? RAID auflösen und die Daten auf eine der beiden Platten sichern? Hier sehe ich die Gefahr des Überschreibens bei der Neuinstallation.

Bitte um Hilfe, ich trau' mich momentan ja fast nicht mal den Befehl "ls" einzutippen ;-)

Gruß
Frank
 
Ich hatte leider nicht mehr an den Thread gedacht. :( Falls dein Problem noch besteht: Warum denkst du, dass auf dieser Partition deine vermissten Volumes liegen? Kannst du mal parted /dev/md1 und darin einmal "print" eingeben?

Denn eigentlich sollte pvscan sowas finden... Und ob ein zweites Physical Volume überhaupt angelegt wurde, bezweifle ich eigentlich, da diese meist zu viel Platz einnehmen um weitere PVs zuzulassen.
 
Back
Top