Opened 3 months ago

Last modified 2 months ago

#836 assigned defect

grub2 not restored correctly on RHEL 7.3 and upper

Reported by: bruno Owned by: bruno
Priority: high Milestone: 3.3.0
Component: mondo Version: 3.2.2
Severity: blocker Keywords:


When restoring on RHEL 7.3+, at reboot of the VM used to test, grub doesn't find it's boot partition, and thus doesn't boot the restored system.

Change History (10)

comment:1 Changed 3 months ago by bruno

This is similar to a RedHat? bug and was fixed on ReaR.

Seems that since the CRC feature was activated by default, the only way to recreate the XFS FS is to use the mkfs.xfs command with -m option for UUID, and not use xfs_admin afterwards.

comment:2 Changed 3 months ago by bruno

  • Summary changed from grub2 not restoreed correctly on RHEL 7.3 and upper to grub2 not restored correctly on RHEL 7.3 and upper

comment:3 Changed 3 months ago by bruno

  • Status changed from new to assigned

comment:4 Changed 3 months ago by bruno

Of course, we can not use mkfs.xfs in mr-label-partitions-as-necessary, as this is too late (FS already restored, and we don't want to purge them). Was my first stupid try :-(

Now looking at as it seems there is finally a way afterwards (which is better for us in that script).

If we can't do that we'll have to change format_device in mondoprep.c which is a whole different story :-(

comment:5 Changed 3 months ago by bruno

The reason of the move, and some consequences are described here:

Seems also that the xfs_db command in RHEL 7.3 doesn't provide the crc command :-( That doesn't help !

comment:6 Changed 3 months ago by bruno

the crc commands has appeared during the 4.8.0 dev of xfsprogs. RHEL 7.3 provides only 4.5.0 and no crc command for sure. Will have to check whether it was backported or added into RHEL 7.4

comment:7 Changed 3 months ago by bruno

On RHEL 7.4 the crc command doesn't exist either :-(

So the easiest workaround for now would be to create the FS without crc enable to check that at least it can be used, and once the commands are available, the user may re-activate crc.

So other possibility would be to use the right command at FS creation time, but that means a complete rewrite of that part of mondorestore, which is not possible at the moment.

comment:8 Changed 3 months ago by bruno

Changing mondo-prep.c to call mkfs.xfs with -m crc=0 seems to workaround the issue. If that doesn't work the tool call std mkfs.xfs afterwards for backward compatibility.

Would be great that people could change afterwards crc to put it back, but that's not available now.

comment:9 Changed 3 months ago by bruno

rev [3701] provides the workaround.

comment:10 Changed 2 months ago by bruno

So that will be the solution for the 3.3 branch. A backport will be required for 3.2.2, if people want to stay with that version. If that's the case, please signal it here so I can follow up.

Last edited 2 months ago by bruno (previous) (diff)
Note: See TracTickets for help on using tickets.