#1195 Issue closed
: ReaR picked up wrong disk size when re-creating the disk partition¶
Labels: bug
j100ng opened issue at 2017-02-07 18:26:¶
Relax-and-Recover (rear) Issue Template¶
Please fill in the following items before submitting a new issue (quick response is not guaranteed with free support):
-
rear version (/usr/sbin/rear -V):
Relax-and-Recover 1.17.2 / Git -
OS version (cat /etc/rear/os.conf or lsb_release -a):
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 7.2 (Maipo)
Release: 7.2
Codename: Maipo -
rear configuration files (cat /etc/rear/site.conf or cat /etc/rear/local.conf):
OUTPUT=ISO
EXCLUDE_BACKUP=(${EXCLUDE_BACKUP[@]} /tmp /var/lib/rear)
BACKUP=NETFS
OUTPUT_URL=null
BACKUP_URL="iso:///backup"
ISO_DIR="/var/lib/rear/test"
TMPDIR="/var/lib/rear/tmp"
export TMPDIR
- Are you using legacy BIOS of UEFI boot? No
- Brief description of the issue:
When I try to restore my server using ReaR, I got an error when attempting to recreate the disk partition.
+++ parted -s /dev/sda mkpart '"rear-noname"' 180623507456B 9592801067007B
Error: The location 9592801067007B is outside of the device /dev/sda
My server has 3 600G HD configured as RAID 5. The total disk space
should have been 1.2T.
Attached is the output of fdisk:
fdisk-sda.txt
I tried tracing the log when ReaR created the backup ISO. It reads from /sys/block/sda/size and got 2341994496 as the # of blocks on disk array. It then reads from /sys/block/sda/queue/logical_block_size and gets 4096 as the # of bytes per block. This explains why the wrong calculation of getting 9+ TB.
+++ echo /dev/sda
+++ return 1
++ devname=/dev/sda
+++ get_disk_size sda
+++ local disk_name=sda
++++ get_block_size sda
++++ '[' -r /sys/block/sda/queue/logical_block_size ']'
++++ echo 4096
+++ local block_size=4096
+++ '[' -r /sys/block/sda/size ']'
+++ BugIfError 'Could not determine size of disk sda, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=2341994496
+++ local disk_size=9592809455616
+++ echo 9592809455616
++ devsize=9592809455616
+++ parted -s /dev/sda print
+++ grep -E 'Partition Table|Disk label'
+++ cut -d : -f 2
+++ tr -d ' '
++ disktype=gpt
++ echo 'disk /dev/sda 9592809455616 gpt'
I am new to RHEL & ReaR, any suggestion on how come fdisk gets the correct disk size calculation but not ReaR? Is there a configuration error when I set up ReaR?
- Work-around, if any:
gdha commented at 2017-02-13 13:53:¶
@j100ng could you paste the /var/lib/rear/layout/disklayout.conf
file
please?
Interesting bug - could you also tell us what should be the corrective
actions?
j100ng commented at 2017-02-13 17:28:¶
Attached are the disklayout.conf as requested and also the actual log file when recover error occured.
My disk configurations has nothing special and thus can't understand why encounter such error. I'd like to establish is it a configuration issue, or a software bug or system error? I have also open up a case with RedHat in parallel cause it seems like the info in /sys/block/sda/ are wrong, thus leading to ReaR calculated the wrong partition size. I'd appreciate your help to determine if it's not configuration or software bug.
dislayout.conf.txt
rear-macso1.log.txt
gdha commented at 2017-02-14 08:30:¶
To summarize we see with fdisk
the following:
Disk /dev/sda: 1199.1 GB, 1199101181952 bytes, 292749312 sectors
Units = sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: gpt
# Start End Size Type Name
1 256 128255 500M EFI System EFI System Partition
2 128256 194815 260M unknown Basic data partition
3 194816 5437695 20G Linux LVM Basic data partition
4 5438976 5512191 286M Microsoft basic primary
5 5512192 292749055 1.1T Linux LVM
And, the disklayout.conf
file has:
disk /dev/sda 9592809455616 gpt
part /dev/sda 4194304000 8388608 EFI0x20System0x20Partition boot /dev/sda1
part /dev/sda 2181038080 4202692608 Basic0x20data0x20partition hidden /dev/sda2
part /dev/sda 171798691840 6383730688 Basic0x20data0x20partition lvm /dev/sda3
part /dev/sda 2399141888 178224365568 primary none /dev/sda4
part /dev/sda 9412177559552 180623507456 rear-noname lvm /dev/sda5
During rear recover
we see in the log file:
+++ parted -s /dev/sda mkpart '"EFI System Partition"' 8388608B 4202692607B
+++ parted -s /dev/sda name 1 '"EFI System Partition"'
+++ parted -s /dev/sda mkpart '"Basic data partition"' 4202692608B 6383730687B
+++ parted -s /dev/sda name 2 '"Basic data partition"'
+++ parted -s /dev/sda mkpart '"Basic data partition"' 6383730688B 178182422527B
+++ parted -s /dev/sda set 3 lvm on
+++ parted -s /dev/sda name 3 '"Basic data partition"'
+++ parted -s /dev/sda mkpart '"primary"' 178224365568B 180623507455B
+++ parted -s /dev/sda name 4 '"primary"'
+++ parted -s /dev/sda mkpart '"rear-noname"' 180623507456B 9592801067007B
Error: The location 9592801067007B is outside of the device /dev/sda.
@j100ng Perhaps, you could run rear -dD savelayout
to capture the
debug output? Maybe, we can see where it goes wrong? That kind of input
will RedHat also require. It could be helpful to attach the RH bugzilla
reference number to this issue as well.
j100ng commented at 2017-02-14 14:22:¶
I have attached 2 files here
debug output of "rear -dD savelayout"
rear-macso1.log.txt
tar file of related info like /etc/rear/.conf & /sys/block/sda/
rear-env.tar.gz
I don't have a RH bugzilla reference since I raised my issue, Case # 01787845, into RH Customer Portal. Don't think anyone else can read it.
j100ng commented at 2017-02-23 18:39:¶
RH confirms that there is an issue with detecting the disk layout. See https://bugzilla.redhat.com/show_bug.cgi?id=1426341. The workaround RH support suggested is for me to modify /usr/share/rear/lib/layout-functions.sh to hard code get_block_size() to always return 512 on my servers.
jsmeix commented at 2017-12-01 13:46:¶
Cannot be fixed until ReaR 2.3 release
so that I postpone it for ReaR 2.4.
gdha commented at 2018-02-23 17:43:¶
Could be linked with PR https://github.com/rear/rear/pull/1733 ?
jsmeix commented at 2018-02-26 13:10:¶
Yes, it is somehow related to issues
like
https://github.com/rear/rear/pull/1733
and
https://github.com/rear/rear/issues/1731
and
https://github.com/rear/rear/issues/102
But I think this issue here is not the same issue.
I cannot fix and clean up the whole disk layout code
in one single pull request, cf.
https://github.com/rear/rear/pull/1733#issuecomment-368488004
In general in relation to the whole disk layout code
you may also have a look at what I had written about
"ReaR's disk layout code skeleton in the closet" in
https://github.com/rear/rear/pull/1603#issuecomment-347860869
in particular my currenly latest reasoning
about a "clean design" (of the disk layout code) in
https://github.com/rear/rear/pull/1091#issuecomment-263819775
gdha commented at 2018-05-10 08:30:¶
1.17.2 is an old release, and has been replaced with the 2.0 within RedHat. This is not a show stopper and it might be fixed, but we cannot promise any date. Change milestone also to 'ReaR future'
jsmeix commented at 2018-08-01 10:03:¶
I think this issue here is the same as
https://github.com/rear/rear/issues/1884
where the latter should get fixed by
https://github.com/rear/rear/pull/1885
so that I will close this issue here
when
https://github.com/rear/rear/pull/1885
got merged.
gdha commented at 2018-11-05 13:02:¶
Issue #1885 has been merged. Red Hat is official supporting their
version of rear-2.00.
We can close this issue here. With the latest RH
rear-2.00-6.el7.x86_64 it could be fixed. If not, please submit a
software case at RH
[Export of Github issue for rear/rear.]