[LVM] snapshot 'stuk'

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Heidistein
  • Registratie: Februari 2002
  • Laatst online: 29-09 23:28
Hey,
Ik heb sinds vanmorgen een issue met LVM. Mijn backupscript maakt van alle LVs een snapshot, mount, rsync, tar, unmount etc. Gaat al jaren goed.
Vanmorgen kreeg ik een failed melding, en na onderzoek was halverwege een snapshot unreadable:
Thu Sep 1 23:47:36 CEST 2011 Finding partitions...
add map backup_snapshot1 : 0 524281212 linear /dev/VG_NAS//backup_snapshot 63
Thu Sep 1 23:47:36 CEST 2011 Mounting it...
Thu Sep 1 23:47:45 CEST 2011 Creating target
Thu Sep 1 23:47:45 CEST 2011 Ok, now copy everything
--link-dest arg does not exist: /backup/wednesday/lwd-smb/
rsync: read errors mapping "/mnt/snapshot/samba/Operations/releases/20110906/-censored-/ana-icl-instream-0.0.3-full-install.zip": Input/output error (5)
rsync: read errors mapping "/mnt/snapshot/samba/Operations/releases/20110906/-censored-/ana-icl-instream-0.0.4-full-install.zip": Input/output error (5)
rsync: read errors mapping "/mnt/snapshot/samba/Operations/releases/20110906/-censored-/ana-icl-instream-0.0.5-full-install.zip": Input/output error (5)
rsync: read errors mapping "/mnt/snapshot/samba/Operations/releases/20110906/-censored-/ana-icl-instream-0.0.6-full-install.zip": Input/output error (5)
rsync: read errors mapping "/mnt/snapshot/samba/Operations/releases/20110906/-censored-/ana-icl-instream-0.0.7-full-install.zip": Input/output error (5)


En de rest van de files ging ook zo. rsync was niet blij. Vervolgens verwijderen van deze snapshot resulteerd in:
Fri Sep 2 09:40:17 CEST 2011 Remove previously created partition mapping
read error, sector 0
read error, sector 1
read error, sector 29
Fri Sep 2 09:40:18 CEST 2011 Unounting partition, deleting partition and deleting snapshot...
read error, sector 0
read error, sector 1
read error, sector 29
/dev/VG_NAS/backup_snapshot: read failed after 0 of 4096 at 268435390464: Input/output error
/dev/VG_NAS/backup_snapshot: read failed after 0 of 4096 at 268435447808: Input/output error
/dev/VG_NAS/backup_snapshot: read failed after 0 of 4096 at 0: Input/output error
/dev/VG_NAS/backup_snapshot: read failed after 0 of 4096 at 4096: Input/output error
/dev/mapper/backup_snapshot1: read failed after 0 of 2048 at 268431851520: Input/output error
/dev/mapper/backup_snapshot1: read failed after 0 of 2048 at 268431970304: Input/output error
/dev/mapper/backup_snapshot1: read failed after 0 of 2048 at 0: Input/output error
/dev/mapper/backup_snapshot1: read failed after 0 of 2048 at 4096: Input/output error
Can't remove open logical volume "backup_snapshot"


Ook als ik lvremove op de commandline doe meld hij deze zelfde errors. Ik ben een beetje radeloos momenteel. Het is een NAS is productieomgeving dus ik kan het niet even er uitgooien (draaien VMs op). Ben bezig deze specifieke LV te backuppen met het handje, is maar 250 gb.

Het is een NAS disk van 4TB op een GPT partitietabel, met lvm er op die alle disken van de VMs host.

Zoals ik zei, ik ben een beetje radeloos hoe nu verder... data mag niet kwijt etc... Uiteraart heb ik google al wel afgestruind, echter de oplossing niet gevonden.

Edit:
Meer info, hij kan natuurlijk niet weg omdat kpartx de partitie niet kan verwijderen:
[root@jNAS03 ~]# kpartx -d -v /dev/VG_NAS/backup_snapshot
read error, sector 0
read error, sector 1
read error, sector 29

[root@jNAS03 ~]# kpartx -d -v /dev/mapper/backup_snapshot1
read error, sector 0
read error, sector 1
read error, sector 29



Mischien verder net niet behulpzaam, delen dmesg:

Buffer I/O error on device dm-46, logical block 0
Buffer I/O error on device dm-46, logical block 65535999
Buffer I/O error on device dm-46, logical block 0
Buffer I/O error on device dm-46, logical block 0
Buffer I/O error on device dm-46, logical block 3
Buffer I/O error on device dm-81, logical block 0
Buffer I/O error on device dm-81, logical block 1
Buffer I/O error on device dm-81, logical block 2
Buffer I/O error on device dm-81, logical block 3
Buffer I/O error on device dm-81, logical block 4
Buffer I/O error on device dm-81, logical block 5
Buffer I/O error on device dm-81, logical block 6
Buffer I/O error on device dm-81, logical block 7
Buffer I/O error on device dm-81, logical block 0
Buffer I/O error on device dm-81, logical block 1

[ Voor 16% gewijzigd door Heidistein op 02-09-2011 16:13 ]

Maybee we are alone... After all.


Acties:
  • 0 Henk 'm!

Verwijderd

Het ziet er naar uit dat je niet genoeg ruimte alloceert voor je snapshot.

LVM snapshots zijn COW: Copy On Write. Als je een snapshot genaamt "mijnvolume-snap" maakt van een LV "mijnvolume", dan moet je opgeven hoeveel ruimte je wil alloceren voor dat snapshot. Elke keer dat een proces naar het oorspronkelijke LV "mijnvolume" schrijft, dan wordt de oorspronkelijke data die op die plek stond opgeslagen zodat je snapshot nog steeds een consistente weergave van de (verouderde) werkelijkheid is.

Echter, als er te veel geschreven wordt naar het oorspronkelijke LV "mijnvolume" en daardoor de hoeveelheid gealloceerde ruimte voor je snapshot overschreden wordt. Op dat moment maakt LVM het snapshot "invalid" en kun je er niet meer heen schrijven of vanaf lezen. Immers, er is geen garantie dat de data op dat snapshot nog consistent is - sterker nog: de data is hoogstwaarschijnlijk inconsistent. Een deel van de laatste schrijfbewerkingen naar het oorspronkelijke LV is namelijk toch doorgevoerd in het snapshot, omdat er te weinig ruimte was om de oorspronkelijke data op te slaan.

Oplossing: vergroot de hoeveelheid gereserveerde ruimte voor het snapshot, of schrijf minder naar het LV nadat je er een snapshot van gemaakt hebt!

Acties:
  • 0 Henk 'm!

  • Heidistein
  • Registratie: Februari 2002
  • Laatst online: 29-09 23:28
Ok, goed punt. Ik had 20G change-space gealloceerd, kennelijk niet genoeg. Ik zal het voortaa groter maken.
Maar hoe kom ik nu uit deze error-state? Ik heb de changespace daarnet vergroot naar 500G, maar ik kan nog niet lezen/schrijven naar het ding, dus ook niet de partitie weghalen.
Zijn er nog tricks om het forcefully te doen?

SOLVED

Oorzaak, partitie op deze snapshot was in gebruik, kpartx kon hem niet verwijderen want die kon de partitie niet meer lezen. De redding was dmsetup:

[root@jNAS03 ~]# dmsetup remove /dev/mapper/backup_snapshot1
[root@jNAS03 ~]# ll /dev/mapper/backup_snapshot1
ls: /dev/mapper/backup_snapshot1: No such file or directory
[root@jNAS03 ~]# lvremove /dev/VG_NAS/backup_snapshot
/dev/VG_NAS/backup_snapshot: read failed after 0 of 4096 at 268435390464: Input/output error
/dev/VG_NAS/backup_snapshot: read failed after 0 of 4096 at 268435447808: Input/output error
/dev/VG_NAS/backup_snapshot: read failed after 0 of 4096 at 0: Input/output error
/dev/VG_NAS/backup_snapshot: read failed after 0 of 4096 at 4096: Input/output error
Do you really want to remove active logical volume backup_snapshot? [y/n]: y
Logical volume "backup_snapshot" successfully removed

[ Voor 57% gewijzigd door Heidistein op 02-09-2011 16:13 ]

Maybee we are alone... After all.