[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <4DA51F27-D3C1-4867-9DC2-7040423E4BAD@whamcloud.com>
Date: Sun, 29 Jul 2012 11:30:45 -0700
From: Andreas Dilger <adilger@...mcloud.com>
To: Arne Hüggenberg <hueggenberg@...rtsandbytes.de>
Cc: "linux-ext4@...r.kernel.org" <linux-ext4@...r.kernel.org>
Subject: Re: resize2fs > 16TB questions
On 2012-07-29, at 9:46, Arne Hüggenberg <hueggenberg@...rtsandbytes.de> wrote:
> On Jul 29, 2012, at 6:11 PM, Andreas Dilger wrote:
>
>> On 2012-07-29, at 8:24, Arne Hüggenberg <hueggenberg@...rtsandbytes.de> wrote:
>>>
>>> im trying to resize a ext4 fs to > 16TB.
>>
>> Unfortunately, this is not possible today without advance planning. There are some structures on disk (group descriptors) that need to be larger for 64-bit filesystems. It is possible to format a 32-bit filesystem with larger group descriptors using the "-O 64bit" option, but this doesn't happen by default today.
>>
>> Possibly we should start using the 64-byte group descriptors by default for filesystems over, say, 4 TB, so they can be resized beyond 16 TB.
>
> I have no idea what the overhead for 64byte group descriptors is, but with LVM Setups becoming more common and enabling incremental storage increases over a timeframe of several years, maybe 1TB filesystems should be cutoff.
The overhead is relatively low.
>> It might also be possible to modify resize2fs to change the group descriptor size, but that isn't possible today.
>>
>>> Having had a look at the e2fsprogs 1.42.x release notes i thought that, with the online resize ioctl having been merged in Kernel 3.3, this should be possible.
>>>
>>> But so far i have had no success achieving this:
>>>
>>> ~ # uname -a
>>> Linux 3.3.8-gentoo #1 SMP Fri Jul 27 16:13:25 CEST 2012 x86_64 Intel(R) Xeon(R) CPU E5620 @ 2.40GHz GenuineIntel GNU/Linux
>>>
>>> ~ # tune2fs -l /dev/vg0/lvol1
>>> tune2fs 1.42.4 (12-June-2012)
>>> Filesystem volume name: <none>
>>> Last mounted on: /home/filestore_extern_1
>>> Filesystem UUID: 8fba4f1b-5311-4c9b-b8bf-def4957dc1bd
>>> Filesystem magic number: 0xEF53
>>> Filesystem revision #: 1 (dynamic)
>>> Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
>>
>> Was the filesystem formatted with the 64bit option, or was this enabled after formatting time? This puts my earlier comment in doubt.
>
> the filesystem was formatted with
> from mke2fs.conf:
>
> ext4 = {
> features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,64bit
> auto_64-bit_support = 1
> inode_size = 256
> }
I think the "auto_64-bit_support" means that 64-byte group descriptors are not enabled for filesystems below 16TB.
>>> Filesystem flags: signed_directory_hash
>>> Default mount options: user_xattr acl
>>> Filesystem state: clean
>>> Errors behavior: Continue
>>> Filesystem OS type: Linux
>>> Inode count: 521011200
>>> Block count: 4168089600
>>> Reserved block count: 191127425
>>> Free blocks: 2195165566
>>> Free inodes: 520937830
>>> First block: 0
>>> Block size: 4096
>>> Fragment size: 4096
>>> Reserved GDT blocks: 60
>>> Blocks per group: 32768
>>> Fragments per group: 32768
>>> Inodes per group: 4096
>>> Inode blocks per group: 256
>>> RAID stride: 16
>>> RAID stripe width: 160
>>> Flex block group size: 16
>>> Filesystem created: Fri Jul 27 17:16:24 2012
>>> Last mount time: Sun Jul 29 15:22:23 2012
>>> Last write time: Sun Jul 29 15:22:23 2012
>>> Mount count: 6
>>> Maximum mount count: -1
>>> Last checked: Fri Jul 27 17:16:24 2012
>>> Check interval: 0 (<none>)
>>> Lifetime writes: 7485 GB
>>> Reserved blocks uid: 0 (user root)
>>> Reserved blocks gid: 0 (group root)
>>> First inode: 11
>>> Inode size: 256
>>> Required extra isize: 28
>>> Desired extra isize: 28
>>> Journal inode: 8
>>> Default directory hash: half_md4
>>> Directory Hash Seed: ef2ec72a-750b-4822-bd8d-9117faadeaee
>>> Journal backup: inode blocks
>>
>> Unfortunately, the group descriptor size is not printed.
>
> how can i get the group descriptor size?
Possibly with "debugfs stats"?
Cheers, Andreas
>>> ~ # resize2fs /dev/vg0/lvol1
>>> resize2fs 1.42.4 (12-June-2012)
>>> resize2fs: New size too large to be expressed in 32 bits
>>
>> This may just be a hard-coded check built into resize2fs, but may be over-zealous of the filesystem was formatted with -O 64bit.
>>
>>> Any advice on how to proceed would be welcome.
>>>
>>> Regards,
>>> Arne
>>>
>>>
>
> Regards,
> Arne
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists