Finding damaged object paths in Panasas

Sometimes the path isn’t known for a damaged file. Use the following Panasas pages here and here for more info (login required). In short:

[pancli] volume damage list <vol name>

Output returns nothing in the Path column.

[pancli] support service yes
[pancli_service] objutil paths <object ID>

Output returns various errors for not getting the path.

Run the following commands and compare the parent(s) ID’s to each other (an object can have multiple parents):

[pancli_service] objutil attrs <object ID>
[pancli_service] objutil compattrs <object ID> | grep PARENT

Then locate the parent’s path:

[pancli_service] objutil paths <parent's object ID>

Via a client that has the volume mounted ls the parent to see which file is damaged or if there’s no visible file. The recommended procedure is then to delete the object and restore from backup (or recreate file by re-running a job).

If the file isn’t visible from the client you can also check to see if the object/file is visible within the Panasas system as well via:

[pancli_service] objutil ls <parent object ID> | grep <object ID>

A working file will be listed like:

type = 0x2 (FILE)
ent_offset = 73728
ent_len = 136
ent_name = "be60ed142fc7f33ac16d4b2f0e36f0d7" (UTF-8)
ent_time = 1425289110:094488485 (Mon Mar 2 09:38:30 2015)
flags = 0x0
name_len = 40
obj_id = I-xD0200000000000008-xGeecd65a6-xU8a134e2dd4035793
obj_id_cr_time = 1425288745:209036299
map_hint = 60310df306f0000:6031141305f0000
name_83 =

A missing or deleted file will be:

type = 0x6 (NONE)
ent_offset = 319488
ent_len = 4096
ent_time = 1425053248:207816025 (Fri Feb 27 16:07:28 2015)

So a grep returning nothing means the file isn’t there. All that can be done is to remove the damaged object.

To remove a damaged object depends on the damage type, see here (login required) for more info

[pancli] volume damage delete <object ID>

or:

[pancli] volume damage deleteall <volume_name>

 

Leave a Reply

Your email address will not be published.