Thread (14 messages) 14 messages, 5 authors, 2012-03-16

Re: Btrfs Storage Array Corrupted

From: Travis Shivers <hidden>
Date: 2012-02-29 23:11:24

Thank you all for helping. My btrfs array consists of 4 disks: 2 (2
TB) disks and 2(500 GB) disks. Since I have disks of different sizes,
I have the array being mirrored so that there are two copies of a file
on two separate disks. The data and metadata are mirrored.

I originally made the array by using this command:

# mkfs.btrfs -m raid1 -d raid1 /dev/sd[abcd]
(The drives were originally those letters)


All of the disks sit in an external 4 bay ESATA enclosure going into a
PCI-E RAID card set up as JBOD, so I can use btrfs' software
mirroring. This is the enclosure that I have:
http://www.newegg.com/Product/Product.aspx?Item=3DN82E16816132029

The corruption was unexpected. I am not entirely sure what caused it,
but a few days before the corruption, there were several power
outages. I do not think that the problem is with the actual hard drive
hardware since they are fairly new (6 months old) and they pass all
SMART tests. After a reboot, the btrfs array refused to mount and
started giving off errors. I do weekly scrubs, balances, and
defragmentation.

Here is what btrfs filesystem show says:

# btrfs filesystem show
Label: none  uuid: 2c11a326-5630-484e-9f1d-9dab777a1028
        Total devices 4 FS bytes used 1.08TB
        devid    1 size 1.82TB used 1.08TB path /dev/sdf
        devid    2 size 1.82TB used 1.08TB path /dev/sdg
        devid    3 size 465.76GB used 8.00MB path /dev/sdh
        devid    4 size 465.76GB used 8.00MB path /dev/sdi

Btrfs Btrfs v0.19

These are my normal mount line for the array in /etc/fstab

UUID=3D2c11a326-5630-484e-9f1d-9dab777a1028 /mnt/main btrfs
noatime,nodiratime,compress=3Dlzo,space_cache,inode_cache 0 1


On Wed, Feb 29, 2012 at 4:14 PM, Chris Mason [off-list ref] w=
rote:
On Wed, Feb 29, 2012 at 03:57:19PM -0600, Travis Shivers wrote:
quoted
Here is the output from the commands:

# ./btrfs-debug-tree -R /dev/sdh
failed to read /dev/sr0: No medium found
failed to read /dev/sde: No medium found
failed to read /dev/sdd: No medium found
failed to read /dev/sdc: No medium found
failed to read /dev/sdb: No medium found
failed to read /dev/sda: No medium found
parent transid verify failed on 5568194695168 wanted 43477 found 431=
51
So far all the blocks that have come up look like they are in the ext=
ent
allocation tree. =A0This helps because it is the easiest to recover.

I can also make a patch for you against 3.3-rc that skips reading it
entirely, which should make it possible to copy things off.

But before I do that, could you describe the raid array? =A0Was it
mirrored or raid10? =A0What exactly happened when it stopped working?

-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" =
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help