Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Description of problem:
it complains about insufficient disks only when i try to create raid level 1 across more than 2 disk partitions using kickstart file. (see logs boot_3on6_rh7.tgz (63.3 kB))
Creating raid 1 across 2 disk partitions works fine (see logs raid-2on2_rh7_logs.tgz (59.0 kB) )
Version-Release number of selected component (if applicable):
7.1
Actual results:
ERR anaconda: storage configuration failed: not enough space for LVM requests
INFO anaconda: fs space: 0 B needed: 1524.54 MiB
Expected results:
Space is available and installable
Additional info:
> Not enough space in file systems for the current software selection. An additional 1524.54 MiB is needed.
In anaconda.log:
23:05:29,005 ERR anaconda: storage configuration failed: not enough space for LVM requests
23:05:33,688 INFO anaconda: fs space: 0 B needed: 1524.54 MiB
The needed size almost matches the os image specified in liveimg kickstart command.
In packaging.log:
23:05:26,741 DEBUG packaging: liveimg size is 1598596032
The related code:
free = Size(self.storage.fileSystemFreeSpace)
needed = self.payload.spaceRequired
log.info("fs space: %s needed: %s", free, needed)
------------
def growLVM(storage):
""" Grow LVs according to the sizes of the PVs.
Strategy for growth involving thin pools:
- Applies to device factory class as well.
- Overcommit is not allowed.
- Pool lv's base size includes sizes of thin lvs within it.
- Pool is grown along with other non-thin lvs.
- Thin lvs within each pool are grown separately using the
ThinPoolChunk class.
"""
for vg in storage.vgs:
total_free = vg.freeSpace
if total_free < 0:
# by now we have allocated the PVs so if there isn't enough
# space in the VG we have a real problem
raise PartitioningError(_("not enough space for LVM requests"))
elif not total_free:
log.debug("vg %s has no free space", vg.name)
continue
This is caused by the code in LVMVolumeGroupDeviec.freeSpace which adds padding for lvm-on-raid. It adds 5 extents for each disk (there are three) in the raid. The user chose a 32 MiB extent size, so each new LV (there are three) uses an extra 480MiB in the VG. The result is that the VG (in blivet's model) runs out of space sooner than it should.
What is the workaround here? Will reducing the extent size help? Like say 4MB?
Comment 12Vratislav Podzimek
2015-12-04 12:45:34 UTC
(In reply to Arun S A G from comment #11)
> What is the workaround here? Will reducing the extent size help? Like say
> 4MB?
Yes, that should help. The real fix here is to improve calculations of VG free space in Blivet like we did on master/rawhide.
Comment 13Vratislav Podzimek
2016-04-06 08:47:53 UTC
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://rhn.redhat.com/errata/RHBA-2016-2168.html
Description of problem: it complains about insufficient disks only when i try to create raid level 1 across more than 2 disk partitions using kickstart file. (see logs boot_3on6_rh7.tgz (63.3 kB)) Creating raid 1 across 2 disk partitions works fine (see logs raid-2on2_rh7_logs.tgz (59.0 kB) ) Version-Release number of selected component (if applicable): 7.1 Actual results: ERR anaconda: storage configuration failed: not enough space for LVM requests INFO anaconda: fs space: 0 B needed: 1524.54 MiB Expected results: Space is available and installable Additional info: > Not enough space in file systems for the current software selection. An additional 1524.54 MiB is needed. In anaconda.log: 23:05:29,005 ERR anaconda: storage configuration failed: not enough space for LVM requests 23:05:33,688 INFO anaconda: fs space: 0 B needed: 1524.54 MiB The needed size almost matches the os image specified in liveimg kickstart command. In packaging.log: 23:05:26,741 DEBUG packaging: liveimg size is 1598596032 The related code: free = Size(self.storage.fileSystemFreeSpace) needed = self.payload.spaceRequired log.info("fs space: %s needed: %s", free, needed) ------------ def growLVM(storage): """ Grow LVs according to the sizes of the PVs. Strategy for growth involving thin pools: - Applies to device factory class as well. - Overcommit is not allowed. - Pool lv's base size includes sizes of thin lvs within it. - Pool is grown along with other non-thin lvs. - Thin lvs within each pool are grown separately using the ThinPoolChunk class. """ for vg in storage.vgs: total_free = vg.freeSpace if total_free < 0: # by now we have allocated the PVs so if there isn't enough # space in the VG we have a real problem raise PartitioningError(_("not enough space for LVM requests")) elif not total_free: log.debug("vg %s has no free space", vg.name) continue