#1899 Issue closed
: Rear multipath issue¶
Labels: support / question
, fixed / solved / done
samurdhi opened issue at 2018-08-14 18:20:¶
Relax-and-Recover (ReaR) Issue Template¶
Fill in the following items before submitting a new issue
(quick response is not guaranteed with free support):
- ReaR version ("/usr/sbin/rear -V"):
[root@localhost ~]# /usr/sbin/rear -V Relax-and-Recover 2.00 / Git [root@localhost ~]#
- OS version ("cat /etc/rear/os.conf" or "lsb_release -a" or "cat /etc/os-release"):
[root@localhost ~]# cat /etc/rear/os.conf OS_VENDOR=RedHatEnterpriseServer OS_VERSION=7 [root@localhost ~]#
- ReaR configuration files ("cat /etc/rear/site.conf" and/or "cat /etc/rear/local.conf"):
OUTPUT=ISO OUTPUT_URL=nfs://122.15.40.67/opt/tftpboot/rear BACKUP=NETFS BACKUP_URL=nfs://122.15.40.67/opt/tftpboot/rearbackup AUTOEXCLUDE_MULTIPATH=n NETFS_KEEP_OLD_BACKUP_COPY=1 BACKUP_PROG_EXCLUDE=( ${BACKUP_PROG_EXCLUDE[@]} '/mnt/*' '/test01/*' '/test02/*' )
-
Hardware (PC or PowerNV BareMetal or ARM) or virtual machine (KVM guest or PoverVM LPAR):
Hardware Server -
System architecture (x86 compatible or PPC64/PPC64LE or what exact ARM device):
x86 compatible -
Firmware (BIOS or UEFI or Open Firmware) and bootloader (GRUB or ELILO or Petitboot):
BIOS or UEFI -
Description of the issue (ideally so that others can reproduce it):
This is a first time I'm going to use REAR as a backup system in my company. I have tested with servers having only internal disks, rear work well with that. But this time I'm going to create recovery iso for following server, it has both internal disks(sda) and SAN multipath disks(mpatha, mpathb, mpathc).
mpatha has been used to create a volume group (sdcsit26-openvvg)
mpathb,mpathac used to create a volume group (openvvg)
Those multipath LVM VGs are used to create LV and mounted on the server. I want to know that doest rear support recovery of multipath LVMs ? and I believe I dont need to take backup of those LVMs because those are created using LUN disks, is that true ?
[root@srv ~]# pvs PV VG Fmt Attr PSize PFree /dev/mapper/mpatha sdcsit26-openvvg lvm2 a-- <1.40t 0 /dev/mapper/mpathb openvvg lvm2 a-- <500.00g 0 /dev/mapper/mpathc openvvg lvm2 a-- <500.00g <100.00g /dev/sda2 rootvg lvm2 a-- <557.88g 470.88g [root@srv ~]# vgs VG #PV #LV #SN Attr VSize VFree openvvg 2 2 1 wz--n- 999.99g <100.00g rootvg 1 5 0 wz--n- <557.88g 470.88g sdcsit26-openvvg 1 1 0 wz--n- <1.40t 0 [root@srv ~]# [root@srv ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert openv_bak openvvg swi-a-s--- 400.00g openvlv 35.99 openvlv openvvg owi-aos--- <500.00g homelv rootvg -wi-ao---- 5.00g rootlv rootvg -wi-ao---- 23.99g swaplv rootvg -wi-ao---- 32.00g tmplv rootvg -wi-ao---- 10.00g varlv rootvg -wi-ao---- 16.00g sdcsit26-openvlv sdcsit26-openvvg -wi-ao---- <1.40t [root@srv ~]# df -kh Filesystem Size Used Avail Use% Mounted on /dev/mapper/rootvg-rootlv 24G 1.4G 23G 6% / devtmpfs 63G 0 63G 0% /dev tmpfs 63G 0 63G 0% /dev/shm tmpfs 63G 67M 63G 1% /run tmpfs 63G 0 63G 0% /sys/fs/cgroup /dev/sda1 1016M 149M 867M 15% /boot /dev/mapper/sdcsit26--openvvg-sdcsit26--openvlv 1.4T 33M 1.4T 1% /usr/openv_sync /dev/mapper/rootvg-homelv 5.0G 55M 5.0G 2% /home /dev/mapper/rootvg-tmplv 10G 44M 10G 1% /tmp /dev/mapper/rootvg-varlv 16G 547M 16G 4% /var /dev/mapper/openvvg-openvlv 500G 99G 401G 20% /usr/openv tmpfs 13G 0 13G 0% /run/user/36 tmpfs 13G 0 13G 0% /run/user/9697
- Work-around, if any:
wsdsd
jsmeix commented at 2018-08-15 08:27:¶
@samurdhi
you use Relax-and-Recover 2.00 which is meanwhile a bit old in
particular
because there have been many enhancements and fixes regarding
multipath
since ReaR 2.00 was released in January 2017, see
https://raw.githubusercontent.com/rear/rear/master/doc/rear-release-notes.txt
Could you try out our current ReaR upstream GitHub master code
so that you and we at ReaR upstream use the same code
which makes debugging easier for us when there are issues.
To use our current ReaR upstream GitHub master code do the following:
Basically "git clone" it into a separated directory and then
configure and run ReaR from within that directory like:
# git clone https://github.com/rear/rear.git # mv rear rear.github.master # cd rear.github.master # vi etc/rear/local.conf # usr/sbin/rear -D mkbackup
Note the relative paths "etc/rear/" and "usr/sbin/".
I recommend to use our current ReaR upstream GitHub master code
because that is the only place where we at ReaR upstream fix bugs.
I.e. bugs in older ReaR versions are not fixed by us at ReaR upstream.
I am not a multipath user and I have no personal experience with it
so that I cannot really help with multipath issues.
Nevertheless I try as far as I can guess how things work:
When your server has both internal disks and SAN multipath disks
then - as far as I see - by default via AUTOEXCLUDE_MULTIPATH=y
in usr/share/rear/conf/default.conf multipath disks are excluded
because in general SAN storage devicers are normally not meant
to be recovered by ReaR, see
https://raw.githubusercontent.com/rear/rear/master/doc/user-guide/06-layout-configuration.adoc
I think normally you have a separated recovery tool for your SAN
storage
e.g. a specific recovery tool from the manufacturer or vendor
of your particular SAN storage.
I think things might go even terribly wrong on your SAN storage
if "rear recover" that runs locally on one single machine would
do partitioning, creating filesystems, and things like that
on your SAN storage devices.
Perhaps @schabrolles who is a multipath user could have a look here
because likely he can answer your question much better than I can do.
samurdhi commented at 2018-08-15 13:11:¶
@jsmeix
Thanks you for the reply and it's very helpful. Actually what I need to
know is that I don't want to backup those multipath disks but after
recovering the server I want them to present in the server.
jsmeix commented at 2018-08-16 12:12:¶
I have no personal experience with SAN and multipath
so that I cannot really help with such issues.
Nevertheless I try as far as I know how things should work:
During "rear recover" the backup of the files of the original system
gets restored onto the replacement system so that in particular
all config files of the original system get restored and afterwards
the initrd gets recreated and the bootloader gets reinstalled.
Accordingly after "rear recover" finished when the recreated replacement
system
is rebooted it should boot and start up in the same way as the original
system did
so that in particular the recreated replacement system should be able to
access
the SAN storage in the same way as the original system did - provided
the
replacement system is fully compatible with the original system,
cf. the section "Fully compatible replacement hardware is needed" in
https://en.opensuse.org/SDB:Disaster_Recovery
In practice things are more complicated because there are certain kind
of
hardware specific IDs used on a system like filesystem UUIDs or MAC
addresses
and things like that so that the restored config files of the original
system could
contain some old hardware specific IDs of the original system that do
not match
the new hardware specific IDs of the replacement hardware.
Therefore during the "finalize" stage of "rear recover" ReaR adapts some
known
kind of hardware specific IDs in some known config files so that usually
things
should "just work" after "rear recover" on the recreated replacement
system
in the same way as on the original system.
For some details how that usually works but could fail under special
conditions
in particular regarding the bootloader see the initial description in
https://github.com/rear/rear/issues/1854
and in particular regarding config files like etc/fstab see
https://github.com/rear/rear/pull/1758
Accordingly there is no guarantee that all will always "just work" after
"rear recover",
cf. the section "Inappropriate expectations" and its sub-sections
"Disaster recovery does not just work" and
"No disaster recovery without testing and continuous validation" in
https://en.opensuse.org/SDB:Disaster_Recovery
samurdhi commented at 2018-08-16 12:59:¶
Should I remove AUTOEXCLUDE_MULTIPATH=n ?
jsmeix commented at 2018-08-16 13:50:¶
In general I would start with the default settings
(because one can assume the defaults are usually right)
and see how things work by default unless I know already
in advance that in my particular case the defaults are not right.
@samurdhi
in the end you need to test how it works with your particular original
system
in your particular environment on your replacement hardware, see
https://en.opensuse.org/SDB:Disaster_Recovery
jsmeix commented at 2018-08-16 14:25:¶
@schabrolles
in usr/share/rear/conf/examples/RHEL7-PPC64LE-Mulitpath-PXE-GRUB.conf
there is (excerpt)
AUTOEXCLUDE_MULTIPATH=n BOOT_OVER_SAN=y
Could you explain why AUTOEXCLUDE_MULTIPATH=n
(and BOOT_OVER_SAN=y
) must be used in this particular example
in contrast to AUTOEXCLUDE_MULTIPATH=y
in default.conf
because the matching issue
https://github.com/rear/rear/pull/1339
mentiones neither SAN nor multipath but is only about
PXE based on GRUB2 booting on PPC64/PPC64LE.
I guess BOOT_OVER_SAN=y
requires AUTOEXCLUDE_MULTIPATH=n
because when the system should boot from a SAN device with multipath
the "SAN via multipath devices" should not be autoexcluded but I
wonder
what happens when SAN is used without multipath?
I wonder why and how PXE boot is interconnected with BOOT_OVER_SAN
and multipath or is the connection in this example config file only by
chance?
I guess that also a system with a local harddisk (i.e. no SAN)
could be booted via PXE (because I think PXE boot is not only
for thin clients) or do I misunderstand something here?
schabrolles commented at 2018-08-17 07:05:¶
@jsmeix,
You are right, there is no direct link between Multipath/Boot_on_SAN
and PXE (even on POWER).
I use them in my example because PowerVM LPARs usually need Multipath
(90% of the case in my point of view)
PowerVM LPAR with single VIOS (not common) => nothing special
PowerVM LPAR with DUAL VIOS (HA configuration) => NEED multipath for
dual disk access (vscsi over 2 VIOS) or NPIV (Fiber Channel
virtualization)
Note: NPIV (which is quite popular) needs also BOOT_ON_SAN
jsmeix commented at 2018-08-17 09:48:¶
@schabrolles
thanks for your explanation!
Accordingly I added some more explanatory comments to
ttps://github.com/rear/rear/blob/master/usr/share/rear/conf/examples/RHEL7-PPC64LE-Mulitpath-PXE-GRUB.conf
via
https://github.com/rear/rear/commit/e75b86a7d0cc5d043e0712f0d9b6846797167525
gdha commented at 2018-09-05 11:15:¶
@samurdhi is this solved?
samurdhi commented at 2018-09-05 13:20:¶
@gdha
Yes, Gratien,
It's resolved. Thank you so much for the support.
[Export of Github issue for rear/rear.]