[tahoe-dev] Analyzing the dead drives
Aleksandr Milewski
zandr at allmydata.com
Wed Oct 29 08:50:37 PDT 2008
I'm analyzing the drives that died in pt7. I had been running find -
type f /path/to/node/storage/shares but Brian suggested that tahoe
debug catalog-shares would produce more useful output. While that's
true, it also seems to abort on error:
n6mod at mycroft:~/trunk$ Traceback (most recent call last):
File "/home/n6mod/trunk/support/bin/tahoe", line 8, in <module>
load_entry_point('allmydata-tahoe==1.2.0-r3131',
'console_scripts', 'tahoe')()
File "/home/n6mod/trunk/src/allmydata/scripts/runner.py", line 84,
in run
rc = runner(sys.argv[1:])
File "/home/n6mod/trunk/src/allmydata/scripts/runner.py", line 71,
in runner
rc = debug.dispatch[command](so)
File "/home/n6mod/trunk/src/allmydata/scripts/debug.py", line 758,
in do_debug
return f(so)
File "/home/n6mod/trunk/src/allmydata/scripts/debug.py", line 623,
in catalog_shares
describe_share(abs_sharefile, si_s, shnum_s, now, out)
File "/home/n6mod/trunk/src/allmydata/scripts/debug.py", line 533,
in describe_share
num_extra_leases = m._read_num_extra_leases(f)
File "/home/n6mod/trunk/src/allmydata/storage.py", line 458, in
_read_num_extra_leases
(num_extra_leases,) = struct.unpack(">L", f.read(4))
File "/usr/lib/python2.5/struct.py", line 87, in unpack
return o.unpack(s)
struct.error: unpack requires a string argument of length 4
So I'm re-running find -type f with stderr captured to a file as well.
When I'd run that initially I'd seen a few 'file not found' errors,
which suggested that the filesystem is inconsistent. I have *not* run
fsck on these drives yet, though I might before this is all over.
I haven't seen any I/O errors on the two drives I've been playing with
yet. That said, my USB<>SATA bridge doesn't give me SMART info, so I
don't know how many errors are being masked by various layers of
retries.
-Zandr
More information about the tahoe-dev
mailing list