Bug 1732328
| Summary: | Backport PR 2194 | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Renaud Métrich <rmetrich> | |
| Component: | rear | Assignee: | Pavel Cahyna <pcahyna> | |
| Status: | CLOSED ERRATA | QA Contact: | David Jež <djez> | |
| Severity: | medium | Docs Contact: | ||
| Priority: | urgent | |||
| Version: | 7.6 | CC: | djez, fkrska, mmatsuya, ovasik, pcahyna, tbowling, vdolezal | |
| Target Milestone: | rc | Keywords: | ZStream | |
| Target Release: | --- | |||
| Hardware: | All | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | rear-2.4-8.el7 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1734705 1734707 (view as bug list) | Environment: | ||
| Last Closed: | 2020-03-31 20:06:59 UTC | Type: | --- | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1732308, 1734705, 1734707 | |||
|
Description
Renaud Métrich
2019-07-23 07:41:00 UTC
bz1672218 was already fixed I guess, but we have no data in that bz to confirm. Do you really need stripes, thin pools, or migration mode to reproduce the problem? It seems that the problem appears every time when a LV spans multiple disks (or multiple segments on the same disk, which can easily happen when creating smaller LVs and then extending them into the free space). For example, I installed a machine with two disks and without any other special configuration. The installer created a LV for home which uses all the available space not used for / or swap, which means it spans the two disks. And behold: cat /var/lib/rear/layout/disklayout.conf ... # Format for LVM LVs # lvmvol <volume_group> <name> <size(bytes)> <layout> [key:value ...] lvmvol /dev/rhel_ibm-p9wr-08 home 3941727207424b linear lvmvol /dev/rhel_ibm-p9wr-08 home 3941727207424b linear lvmvol /dev/rhel_ibm-p9wr-08 root 53687091200b linear home LV is duplicated - this is because it spans both disks. I haven't tried recovery yet, but I suspect this duplicate entry could be a problem even without stripes and thin pool, wouldn't it? When not using migration mode or thin pools, there is no issue because the content of disklayout.conf related to LVM stuff (lvmvol, ...) is not used, vgcfgrestore is used instead. The reproducer using "stripes" is not necessary but points to the real problem: when not using vgcfgrestore, the LV will be created (even with the fix) with the characteristics of the 1st stripe only. (In reply to Renaud Métrich from comment #9) > The reproducer using "stripes" is not necessary but points to the real > problem: when not using vgcfgrestore, the LV will be created (even with the > fix) with the characteristics of the 1st stripe only. ITYM "1st segment only". (In reply to Pavel Cahyna from comment #11) > (In reply to Renaud Métrich from comment #9) > > The reproducer using "stripes" is not necessary but points to the real > > problem: when not using vgcfgrestore, the LV will be created (even with the > > fix) with the characteristics of the 1st stripe only. > > ITYM "1st segment only". Indeed, 1st segment ... (In reply to Renaud Métrich from comment #0) > When in Migration Mode or when recreating Thin Pools, the LV will be > recreated using one segment only, which characteristics (e.g. "stripes") of > the first segment only. > This is sub-optimal but too complicated to do differently. One could use lvcreate for the first line for a given LV and lvextend for the subsequent duplicates. This would probably preserve most, if not all of the characteristics and maybe would not be that complicated. (In reply to Pavel Cahyna from comment #21) > (In reply to Renaud Métrich from comment #0) > > > When in Migration Mode or when recreating Thin Pools, the LV will be > > recreated using one segment only, which characteristics (e.g. "stripes") of > > the first segment only. > > This is sub-optimal but too complicated to do differently. > > One could use lvcreate for the first line for a given LV and lvextend for > the subsequent duplicates. This would probably preserve most, if not all of > the characteristics and maybe would not be that complicated. Using lvextend is not complicated, *but* this will not work most of the time since Migration Mode is likely to happen here, so probably due to having disks with different sizes and stuff like that. Adding that code will be additional trouble for sure. (In reply to Renaud Métrich from comment #9) > When not using migration mode or thin pools, there is no issue because the > content of disklayout.conf related to LVM stuff (lvmvol, ...) is not used, > vgcfgrestore is used instead. > The reproducer using "stripes" is not necessary but points to the real > problem: when not using vgcfgrestore, the LV will be created (even with the > fix) with the characteristics of the 1st stripe only. If we are not using vgcfgrestore with thin pools, where does bz1747470/bz1747468 originate from? Their description point to problems with vgcfgrestore on thin pools. Also, in light of bz1747470, does it make sense to fix this bug, since thin pools are still broken? We are using "vgcfgrestore" if a backup "vg.cfg" file is available (which is always the case). Then, after using this, we delete thin pools, to recreate them using lvcreate commands. This causes bz1747470/bz1747468 to happen. We still need to fix this BZ because it's better than nothing. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:1153 |