[Linux-cluster] GFS Problem: invalid metadata block
Matt Eagleson
matt at rebelbase.com
Tue Oct 10 21:00:53 UTC 2006
Thank you Robert and Wendy for taking the time to answer my question --
I appreciate it.
As you suggested it was indeed a SAN problem. Someone else in my
organization was attempting to use the same section of disk as another
filesystem on a different host. I can understand why GFS would be
unhappy with that.
--Matt
Robert Peterson wrote:
> Matt Eagleson wrote:
>> Hello,
>>
>> I have been evaluating a GFS cluster as an NFS solution and have
>> unfortunately run in to a serious problem which I cannot explain.
>> Both of the GFS filesystems I am exporting became corrupt and unusable.
>>
>> The system is Redhat AS4 with 2.6.9-42.0.2.ELsmp. I cannot find
>> anything unusual on the host or the SAN at the time of this error.
>> Nobody was logged in to the nodes.
>>
>> Can anyone help me understand what is happening here?
>>
>> Here are the logs:
>
> Hi Matt,
>
> These errors indicate file system corruption on your SAN. The "bh =" is
> the
> block number where the error was detected. Two of the errors were found
> in GFS resource group data ("RG"), which are areas on disk that indicate
> which
> blocks on the SAN are allocated and which aren't. (Not to be confused
> with the
> Resource Groups in rgmanager, which is something completely different.)
> The third error is usually reserved for the quota file inode.
> Corruption in the RG information is extremely rare, and may indicate a
> hardware
> problem with your SAN. The fact that both nodes detected problems in
> different
> areas is an indication that the problem might be in the SAN itself
> rather than
> the motherboards, fibre channel cards or memory of the nodes, although
> that's
> still not guaranteed. Many things can cause data corruption.
>
> I recommend you:
>
> 1. Verify the hardware is working properly in all respects. One way you
> can do this
> is to make a backup of the raw data to another device and verify the
> copy against
> the original without GFS or any of the cluster software in the mix.
> For example, unmount the file system from all nodes in the cluster,
> then do
> something like "dd if=/dev/my_vg/lvol0 of=/mnt/backup/sanbackup" then:
> "diff /dev/my_vg/lvol0 mnt/backup/sanbackup" (assuming of course that
> /dev/my_vg/lvol0 is the logical volume you have your GFS partition
> on, and
> /mnt/backup/ is some scratch area big enough to hold that much data.)
> The idea here is simply to test that reading from the SAN give you
> the same data twice. If that works successfully on one node, try it
> on the other node.
> 2. Once you verify the hardware is working properly, run gfs_fsck on it.
> The latest version of gfs_fsck can repair most GFS rg corruption.
> 3. If the file system is fixed okay, you should back it up.
> 4. You may want to do a similar test, only writing data to the SAN, then
> reading it
> back and verifying the results. Obviously this will destroy the data
> on your SAN
> unless you are careful, so if this is a production machine, please
> take measures
> to protect the data before trying anything like this.
> 5. If you can read and write to the SAN reliably from both nodes without
> GFS,
> then try using it again with GFS and see if the problem comes back.
>
> Perhaps someone else (the SAN manufacturer?) can recommend hardware
> tests you can run to verify the data integrity.
>
> I realize these kinds of tests take a long time to do, but if it's a
> hardware problem,
> you really need to know. There's a outside chance the problem is somewhere
> in the GFS core, but I've personally only seen this type of corruption
> once or twice
> so I think it's unlikely. If you can recreate this kind of corruption
> with some kind of
> test, please let us know how.
>
> Regards,
>
> Bob Peterson
> Red Hat Cluster Suite
>
> --
> Linux-cluster mailing list
> Linux-cluster at redhat.com
> https://www.redhat.com/mailman/listinfo/linux-cluster
More information about the Linux-cluster
mailing list