[lustre-discuss] [HPDD-discuss] possible to read orphan ost objects on live filesystem?
chris.hunter at yale.edu
Tue Sep 1 22:18:22 PDT 2015
On 09/01/2015 07:22 PM, Dilger, Andreas wrote:
> On 2015/09/01, 7:59 AM, "lustre-discuss on behalf of Chris Hunter"
> <lustre-discuss-bounces at lists.lustre.org on behalf of
> chris.hunter at yale.edu> wrote:
>> Hi Andreas,
>> Thanks for your help.
>> If you have a striped lustre file with "holes" (ie. one chunk is gone
>> due hardware failure, etc.) are the remaining file chunks considered
>> orphan objects ?
So when a lustre striped file has a hole (eg. missing chunk due to
hardware failure), the remaining file chunks stay indefinitely on the OSTs.
Is there a way to reclaim the space occupied by these pieces (after
recovery of any usuable data, etc.)?
>> AFAIK the online lfsck tool will scrub orphan objects. When mounting a
>> OST on our oss server, I see syslog messages such as:
>>> Aug 31 23:20:45 oss1 kernel: Lustre: test-OST0002: deleting orphan
>>> objects from 0x0:228989008 to 0x0:228989127
>> Which leads me to believe these OST objects are subject to removal.
>> However I don't know what exactly are orphan objects.
> These "orphan objects" are just precreated OST objects that were never
> allocated to MDS files before the MDS or OSS crashed (or were allocated
> before the MDS crashed but the client didn't complete recovery). They are
> unrelated to the problem you describe.
> Cheers, Andreas
>> On 09/01/2015 12:58 AM, Dilger, Andreas wrote:
>>> On 2015/08/31, 3:46 PM, "HPDD-discuss on behalf of Chris Hunter"
>>> <hpdd-discuss-bounces at lists.01.org on behalf of chris.hunter at yale.edu>
>>>> I am recovering from lustre OST failure and subsequent file corruption.
>>>> We have striped files each with 1 missing chunk. I would like to dump
>>>> the remaining file chunks from the OST. We have some tools (eg.
>>>> to grab the good chunks.
>>>> My question, if we put the filesystem into production (ie. users start
>>>> writing new files). What will happen to these good chunks ?
>>>> Does lustre consider these "orphan" inodes (and lfsck deletes them) ?
>>> Since it was the OST that failed and not the MDT, then the remaining OST
>>> objects would not be removed.
>>> You can read the good chunks of such a file using:
>>> dd if=<file> of=<file>.new bs=1M conv=sync,noerror count=<size_in_mb>
>>> truncate --size=<size_in_bytes> <file>.new
>>> The "conv=sync,noerror" allows reading from the file without failing
>>> for the read errors returned from the missing stripe. However, this
>>> also prevents the dd from stopping when it hits the end of file, so
>>> the number of chunks to be read needs to be specified.
>>> Cheers, Andreas
>> lustre-discuss mailing list
>> lustre-discuss at lists.lustre.org
> Cheers, Andreas
More information about the lustre-discuss