Re: Recovery Operation With Multiple Devices
On Fri, Jan 23, 2015 at 06:53:42PM +1100, Brett King wrote: Hi All, Just wondering how 'btrfs recovery' operates, when the source device given is one of many in an MD array - I can't find anything documentation beyond a single device use case. Does it automatically include all devices in the relevant MD array as occurs when mounting, or does it only restore the data which happened to be written to the specific, single device given ? Neither. :) It automatically includes all devices as occurs when running btrfsck. OK, it's a relatively pointless distinction, but the mechanisms are slightly different. From an inverse perspective, how can I restore all data including snapshots, which are spread across a damaged MD FS to a new (MD) FS ? btrfs restore -l will show you the list of tree roots, which (for trees numbered 256 and up) correspond to subvolumes and snapshots. You can then use -r to select the tree to restore. Can send / receive do this perhaps ? Yes, but only if you can mount the FS. Hugo. -- Hugo Mills | I know of three kinds: hot, cool, and hugo@... carfax.org.uk | what-time-does-the-tune-start? http://carfax.org.uk/ | PGP: 65E74AC0 | Chris Dollin signature.asc Description: Digital signature
RE: Recovery Operation With Multiple Devices
-Original message- From: Hugo Mills h...@carfax.org.uk Sent: Fri 01-23-2015 08:48 pm Subject:Re: Recovery Operation With Multiple Devices Attachment: signature.asc To: Brett King brett.k...@commandict.com.au; CC: linux-btrfs@vger.kernel.org; On Fri, Jan 23, 2015 at 06:53:42PM +1100, Brett King wrote: Hi All, Just wondering how 'btrfs recovery' operates, when the source device given is one of many in an MD array - I can't find anything documentation beyond a single device use case. Does it automatically include all devices in the relevant MD array as occurs when mounting, or does it only restore the data which happened to be written to the specific, single device given ? Neither. :) It automatically includes all devices as occurs when running btrfsck. Fantastic - that is very powerful and exactly what I need. OK, it's a relatively pointless distinction, but the mechanisms are slightly different. From an inverse perspective, how can I restore all data including snapshots, which are spread across a damaged MD FS to a new (MD) FS ? btrfs restore -l will show you the list of tree roots, which (for trees numbered 256 and up) correspond to subvolumes and snapshots. You can then use -r to select the tree to restore. Great info, will keep that in the tool box ! Can send / receive do this perhaps ? Yes, but only if you can mount the FS. Hugo. Excellent, much appreciated. -- Hugo Mills | I know of three kinds: hot, cool, and hugo@... carfax.org.uk | what-time-does-the-tune-start? http://carfax.org.uk/ | PGP: 65E74AC0 | Chris Dollin -- To unsubscribe from this list: send the line unsubscribe linux-btrfs in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Recovery Operation With Multiple Devices
On 2015/01/23 09:53, Brett King wrote: Hi All, Just wondering how 'btrfs recovery' operates I'm assuming you're referring to a different set of commands or general scrub/recovery processes. AFAIK there is no btrfs recovery command. , when the source device given is one of many in an MD array - I can't find anything documentation beyond a single device use case. btrfs doesn't know what an md array or member is, therefore your results aren't going to be well-defined. Depending on the type of md array the member was in, your data may be mostly readable (RAID1) or completely/mostly non-interpretable (RAID5/6/10/0) until md fixes the array. Does it automatically include all devices in the relevant MD array as occurs when mounting, or does it only restore the data which happened to be written to the specific, single device given ? As above, btrfs is not md-aware. It will attempt to work with what it is given. It might not understand anything it sees as it will not have a good description of what it is looking at. Imagine being given instructions on how to get somewhere only to find that the first 20 instructions and every second instruction thereafter was skipped and there's a 50% chance the destination doesn't exist. From an inverse perspective, how can I restore all data including snapshots, which are spread across a damaged MD FS to a new (MD) FS ? Your best bet is to restore the md array. More details are needed for anyone to assist - for example what RAID-type was the array set up with, how many disks were in the array, and how it failed. Also, technically this is the wrong place to ask for advice about restoring md arrays. ;) Can send / receive do this perhaps ? Send/receive is for sending good data to a destination that can accept it. This, as above, depends on the data being readable/available. Very likely the data will be unreadable from a single disk unless the md array was RAID1. Thanks in advance ! -- To unsubscribe from this list: send the line unsubscribe linux-btrfs in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- __ Brendan Hide http://swiftspirit.co.za/ http://www.webafrica.co.za/?AFF1E97 -- To unsubscribe from this list: send the line unsubscribe linux-btrfs in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Recovery Operation With Multiple Devices
Hi All, Just wondering how 'btrfs recovery' operates, when the source device given is one of many in an MD array - I can't find anything documentation beyond a single device use case. Does it automatically include all devices in the relevant MD array as occurs when mounting, or does it only restore the data which happened to be written to the specific, single device given ? From an inverse perspective, how can I restore all data including snapshots, which are spread across a damaged MD FS to a new (MD) FS ? Can send / receive do this perhaps ? Thanks in advance ! -- To unsubscribe from this list: send the line unsubscribe linux-btrfs in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html