Re: Anaconda LVM and file system size limitations
"Eric Smith" <[email protected]> Thu, 13 Nov 2003 02:56:35 -0800 (PST)
| Newsgroups | gmane.linux.redhat.rhl.devel |
|---|---|
| Message-ID | <37785.64.169.63.74.1068720995.squirrel__15370.1161769733$1068721055@ruckus.brouhaha.com> |
I wrote: > I just set up a system with a 1.4 TB RAID (on a 3Ware 7500-8), and > have run into some limitations of Anaconda. It seems that it is > not possible to set up an LVM physical volume or volume group larger > than 1 TB, nor to create ext3 (or jfs) filesystems larger than 1 TB. > > These limits seem to be hardcoded in fsset.py, in multiple lines like > aelf.maxSizeMB = 1024 * 1024 > It's my undertanding that there are problems with filesystems larger > than 2 TB, but it looks like it should be easy to change the Anaconda > limits to a higher value, such as 1536 MB or 1920 MB. Is there any > known problem with doing so? Thanks to Alexandre Oliva's message pointing me to the Anaconda docs for how to use updates.img, I've increased these to 1920 MB (patch attached) and it seems to solve that problem. Probably this could be set as high as 2047 MB before causing trouble. At 2048 MB there might be problems with 32-bit numbers overflowing and going negative, though I haven't tried it. I'll open an enhancement request in Bugzilla proposing raising it. I also increased the default LVM physical extent size to 64MB, because the 4MB default is ridiculously small (max. 256GB logical volume), and have attached a second patch for that. > I've tried creating the PV, VG, and LVs from the command line then > installing Fedora Core 1, and Disk Druid does show them correctly. > But after I tell it the mount points it gets an error to the effect that > it couldn't tell the kernel about the sda3 partition (the PV). There's > an option to ignore the error, but of course the install doesn't work > after that. I'm hoping that increasing the fsset.py limits will solve > this problem. Unfortunately, changing the limits did NOT fix this problem. More specifically, the error is "Error informing the kernel about modifications to partition /dev/sda3 - Invalid arguments". sda3 is my LVM physical volume. This error happens after the message "moving (1) to step enablefilesystems" is written to vt 1. Note that this is the same error I was getting *before* I patched Anaconda, so it is not something I broke. I'm not sure how to go about debugging this, so suggestions would be very welcome. Thanks! Eric
max_partition_size.patch
(application/octet-stream, 2.2 KB)
--- fsset.py.orig 2003-11-13 01:10:24.000000000 -0800
+++ fsset.py 2003-11-13 01:11:50.000000000 -0800
@@ -146,7 +146,7 @@
self.linuxnativefs = 0
self.partedFileSystemType = None
self.partedPartitionFlags = []
- self.maxSizeMB = 1024 * 1024
+ self.maxSizeMB = 1920 * 1024
self.supported = -1
self.defaultOptions = "defaults"
self.migratetofs = None
@@ -366,7 +366,7 @@
self.supported = 0
self.name = "reiserfs"
- self.maxSizeMB = 1024 * 1024
+ self.maxSizeMB = 1920 * 1024
def formatDevice(self, entry, progress, chroot='/'):
@@ -395,7 +395,7 @@
self.checked = 1
self.linuxnativefs = 1
self.name = "xfs"
- self.maxSizeMB = 1024 * 1024
+ self.maxSizeMB = 1920 * 1024
self.maxLabelChars = 12
# we don't even have the module, so it won't be mountable... but
# just in case
@@ -455,7 +455,7 @@
self.name = "jfs"
- self.maxSizeMB = 1024 * 1024
+ self.maxSizeMB = 1920 * 1024
def formatDevice(self, entry, progress, chroot='/'):
@@ -479,7 +479,7 @@
self.formattable = 1
self.checked = 1
self.linuxnativefs = 1
- self.maxSizeMB = 1024 * 1024
+ self.maxSizeMB = 1920 * 1024
def labelDevice(self, entry, chroot):
devicePath = entry.device.setupDevice(chroot)
@@ -596,7 +596,7 @@
self.checked = 0
self.linuxnativefs = 1
self.name = "software RAID"
- self.maxSizeMB = 1024 * 1024
+ self.maxSizeMB = 1920 * 1024
self.supported = 1
def formatDevice(self, entry, progress, chroot='/'):
@@ -614,7 +614,7 @@
self.checked = 0
self.linuxnativefs = 1
self.name = "physical volume (LVM)"
- self.maxSizeMB = 1024 * 1024
+ self.maxSizeMB = 1920 * 1024
self.supported = 1
def isMountable(self):
@@ -635,7 +635,7 @@
self.linuxnativefs = 0
self.name = "volume group (LVM)"
self.supported = 0
- self.maxSizeMB = 1024 * 1024
+ self.maxSizeMB = 1920 * 1024
def isMountable(self):
return 0
default_lvm_pesize.patch
(application/octet-stream, 437 B)
--- partRequests.py.orig 2003-11-13 01:10:24.000000000 -0800
+++ partRequests.py 2003-11-13 01:12:03.000000000 -0800
@@ -678,7 +678,7 @@
def __init__(self, fstype =None, format = None,
vgname = None, physvols = None,
- pesize = 4096, preexist = 0,
+ pesize = 65536, preexist = 0,
preexist_size = 0):
"""Create a new VolumeGroupRequestSpec object.