Skip to contentSkip to conversation

mapping blocks to PVs?

linux-lvm Andres Salomon 3 participants 6 messages Feb 23, 2002 – Feb 26, 2002

lore
Share & tools
lore
#0 lore raw

I've got a LV that keeps corrupting, made up of several IDE disks. I've already discovered one of the drives to be flaking out, after various read tests on the device gave BadCRC/IRQ timeout errors. Read tests on the other drives succeeded; however, I'm still getting stuff like:

journal_bmap: journal block not found at offset 7180 on lvm(58,0)

and

/dev/site/lvol1: recovering journal
JFS: bad block at offset 7182

How can I figure out which PV is holding block 7180 and 7182?

Signature · 3 lines
"I think a lot of the basis of the open source movement comes from
  procrastinating students..."
	-- Andrew Tridgell <http://www.linux-mag.com/2001-07/tridgell_04.html>
#1 lore raw
Quoted 5 lines · Andres Salomon

I've got a LV that keeps corrupting, made up of several IDE disks. I've already discovered one of the drives to be flaking out, after various read tests on the device gave BadCRC/IRQ timeout errors. Read tests on the other drives succeeded; however, I'm still getting stuff like:

Quoted 8 lines

journal_bmap: journal block not found at offset 7180 on lvm(58,0)

and

/dev/site/lvol1: recovering journal
JFS: bad block at offset 7182

How can I figure out which PV is holding block 7180 and 7182?

I think "lvdisplay -v" or "pvdisplay -v" or similar will show the _sector_ numbers for each PE. Note that for ext3, the block numbers reported are 4kB blocks (usually, check with dumpe2fs -h), so you are probably looking for sectors 7180*8 and 7182*8.

Cheers, Andreas
--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/

#2 lore raw

Ok, assuming the block/sector stuff is correct:

--- Physical extents ---

   PE    LV                        LE      Disk sector
   00000 /dev/site/lvol1           00000   33144
   00001 /dev/site/lvol1           00001   65912

badblocks(2) is not picking up those blocks as being bad; this means I need to manually remove the first LE from this LV. I assume I can do something similar to pvmove -n /dev/site/lvol1:0 /dev/hdf1 /dev/hdb1 (hdf1 is the one causing problems, but I can't simply remove the PV from the VG w/out deleting lots of stuff). However, how do I lvreduce from the beginning of the LV? Is that possible?

Quoted 33 lines · Andreas Dilger
Quoted 5 lines · Andres Salomon

I've got a LV that keeps corrupting, made up of several IDE disks. I've already discovered one of the drives to be flaking out, after various read tests on the device gave BadCRC/IRQ timeout errors. Read tests on the other drives succeeded; however, I'm still getting stuff like:

Quoted 8 lines

journal_bmap: journal block not found at offset 7180 on lvm(58,0)

and

/dev/site/lvol1: recovering journal
JFS: bad block at offset 7182

How can I figure out which PV is holding block 7180 and 7182?

I think "lvdisplay -v" or "pvdisplay -v" or similar will show the _sector_ numbers for each PE. Note that for ext3, the block numbers reported are 4kB blocks (usually, check with dumpe2fs -h), so you are probably looking for sectors 7180*8 and 7182*8.

Cheers, Andreas
--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/

_______________________________________________
linux-lvm mailing list
[email protected]
http://lists.sistina.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://www.sistina.com/lvm/Pages/howto.html

Signature · 3 lines
"I think a lot of the basis of the open source movement comes from
  procrastinating students..."
	-- Andrew Tridgell <http://www.linux-mag.com/2001-07/tridgell_04.html>
#3 lore raw
Quoted 10 lines · Andres Salomon

Ok, assuming the block/sector stuff is correct:

--- Physical extents ---

   PE    LV                        LE      Disk sector
   00000 /dev/site/lvol1           00000   33144
   00001 /dev/site/lvol1           00001   65912

badblocks(2) is not picking up those blocks as being bad; this means I need to manually remove the first LE from this LV. I assume I can do something similar to pvmove -n /dev/site/lvol1:0 /dev/hdf1 /dev/hdb1

Yes.

Quoted 3 lines

(hdf1 is the one causing problems, but I can't simply remove the PV from the VG w/out deleting lots of stuff). However, how do I lvreduce from the beginning of the LV? Is that possible?

No, just from the end.

Regards,
Heinz -- The LVM Guy --

Quoted 30 lines · Andreas Dilger
Quoted 28 lines · Andres Salomon
Quoted 5 lines

I've got a LV that keeps corrupting, made up of several IDE disks. I've already discovered one of the drives to be flaking out, after various read tests on the device gave BadCRC/IRQ timeout errors. Read tests on the other drives succeeded; however, I'm still getting stuff like:

Quoted 8 lines

journal_bmap: journal block not found at offset 7180 on lvm(58,0)

and

/dev/site/lvol1: recovering journal
JFS: bad block at offset 7182

How can I figure out which PV is holding block 7180 and 7182?

I think "lvdisplay -v" or "pvdisplay -v" or similar will show the _sector_ numbers for each PE. Note that for ext3, the block numbers reported are 4kB blocks (usually, check with dumpe2fs -h), so you are probably looking for sectors 7180*8 and 7182*8.

Cheers, Andreas
--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/

Quoted 16 lines
Quoted 5 lines

_______________________________________________
linux-lvm mailing list
[email protected]
http://lists.sistina.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://www.sistina.com/lvm/Pages/howto.html

Signature · 9 lines
"I think a lot of the basis of the open source movement comes from
  procrastinating students..."
	-- Andrew Tridgell <http://www.linux-mag.com/2001-07/tridgell_04.html>

_______________________________________________
linux-lvm mailing list
[email protected]
http://lists.sistina.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://www.sistina.com/lvm/Pages/howto.html

*** Software bugs are stupid.
Nevertheless it needs not so stupid people to solve them ***

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Heinz Mauelshagen Sistina Software Inc.
Senior Consultant/Developer Am Sonnenhang 11
56242 Marienrachdorf Germany
[email protected] +49 2626 141200

                                                       FAX 924446

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

#4 lore raw
In reply to Andres Salomon
Quoted 7 lines · Andres Salomon

Ok, assuming the block/sector stuff is correct:

--- Physical extents ---

   PE    LV                        LE      Disk sector
   00000 /dev/site/lvol1           00000   33144
   00001 /dev/site/lvol1           00001   65912
Quoted 6 lines

badblocks(2) is not picking up those blocks as being bad; this means I need to manually remove the first LE from this LV. I assume I can do something similar to pvmove -n /dev/site/lvol1:0 /dev/hdf1 /dev/hdb1 (hdf1 is the one causing problems, but I can't simply remove the PV from the VG w/out deleting lots of stuff). However, how do I lvreduce from the beginning of the LV? Is that possible?

Actually, judging by the error, I think that this error is in the layout of the journal itself instead of a disk error. If it was a disk error you would also be getting IDE errors, and badblocks would detect it. The "bad block at offset" message happens when it is doing a bmap on the journal, and hasn't even started the read.

I would suggest just removing the journal (tune2fs -O^has_journal <LV>) and then re-creating it (tune2fs -j <LV>) and the problem should go away.

Cheers, Andreas

Quoted 7 lines · Andreas Dilger
Quoted 6 lines · Andres Salomon
Quoted 5 lines

I've got a LV that keeps corrupting, made up of several IDE disks. I've already discovered one of the drives to be flaking out, after various read tests on the device gave BadCRC/IRQ timeout errors. Read tests on the other drives succeeded; however, I'm still getting stuff like:

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

journal_bmap: journal block not found at offset 7180 on lvm(58,0)

and

/dev/site/lvol1: recovering journal
JFS: bad block at offset 7182

--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/

#5 lore raw

That did the trick, thank you :)

Quoted 51 lines · Andreas Dilger
Quoted 7 lines · Andres Salomon

Ok, assuming the block/sector stuff is correct:

--- Physical extents ---

   PE    LV                        LE      Disk sector
   00000 /dev/site/lvol1           00000   33144
   00001 /dev/site/lvol1           00001   65912
Quoted 6 lines

badblocks(2) is not picking up those blocks as being bad; this means I need to manually remove the first LE from this LV. I assume I can do something similar to pvmove -n /dev/site/lvol1:0 /dev/hdf1 /dev/hdb1 (hdf1 is the one causing problems, but I can't simply remove the PV from the VG w/out deleting lots of stuff). However, how do I lvreduce from the beginning of the LV? Is that possible?

Actually, judging by the error, I think that this error is in the layout of the journal itself instead of a disk error. If it was a disk error you would also be getting IDE errors, and badblocks would detect it. The "bad block at offset" message happens when it is doing a bmap on the journal, and hasn't even started the read.

I would suggest just removing the journal (tune2fs -O^has_journal <LV>) and then re-creating it (tune2fs -j <LV>) and the problem should go away.

Cheers, Andreas

Quoted 7 lines · Andreas Dilger
Quoted 6 lines · Andres Salomon
Quoted 5 lines

I've got a LV that keeps corrupting, made up of several IDE disks. I've already discovered one of the drives to be flaking out, after various read tests on the device gave BadCRC/IRQ timeout errors. Read tests on the other drives succeeded; however, I'm still getting stuff like:

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

journal_bmap: journal block not found at offset 7180 on lvm(58,0)

and

/dev/site/lvol1: recovering journal
JFS: bad block at offset 7182

--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/

_______________________________________________
linux-lvm mailing list
[email protected]
http://lists.sistina.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://www.sistina.com/lvm/Pages/howto.html

Signature · 3 lines
"I think a lot of the basis of the open source movement comes from
  procrastinating students..."
	-- Andrew Tridgell <http://www.linux-mag.com/2001-07/tridgell_04.html>