* EXT4 Larger Than 16TB @ 2013-07-08 21:32 Michael 2013-07-09 2:14 ` Theodore Ts'o 0 siblings, 1 reply; 8+ messages in thread From: Michael @ 2013-07-08 21:32 UTC (permalink / raw) To: linux-ext4 I have a currently 15TB FS that I want to expand to 18TB. Unfortunately EXT4 e2fsprogs has an issue that stops you from being able to do this: sudo resize2fs /dev/md0 resize2fs 1.42.5 (29-Jul-2012) resize2fs: New size too large to be expressed in 32 bits It seems to me, reading the change logs, that this only supported if you created your FS with 64 bit specified. There seems to have been a patch last year that added support for changing 32->64bit, but I had a hard time finding/tracking that. What is the state of expanding an ext4 FS larger than 16tb? I am not subscribed, please include me in reply. Thank you! ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: EXT4 Larger Than 16TB 2013-07-08 21:32 EXT4 Larger Than 16TB Michael @ 2013-07-09 2:14 ` Theodore Ts'o 2013-07-09 13:45 ` Michael 0 siblings, 1 reply; 8+ messages in thread From: Theodore Ts'o @ 2013-07-09 2:14 UTC (permalink / raw) To: Michael; +Cc: linux-ext4 On Mon, Jul 08, 2013 at 04:32:50PM -0500, Michael wrote: > I have a currently 15TB FS that I want to expand to 18TB. > Unfortunately EXT4 e2fsprogs has an issue that stops you from being > able to do this: > > sudo resize2fs /dev/md0 > resize2fs 1.42.5 (29-Jul-2012) > resize2fs: New size too large to be expressed in 32 bits > > It seems to me, reading the change logs, that this only supported if > you created your FS with 64 bit specified. There seems to have been a > patch last year that added support for changing 32->64bit, but I had a > hard time finding/tracking that. Unfortuantely, there is no patch that would enable this. In theory it could be done; it would require doubling the size of the block group descriptors, which would require moving other metadata blocks out of the way. Resize2fs does do this when growing a file system off-line when no blocks are available from the resize inode, but no one has implemented the necessary changes to extend this to adding the 64-bit feature. So it's technically possible, but it's not implemented at this time. Sorry, - Ted ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: EXT4 Larger Than 16TB 2013-07-09 2:14 ` Theodore Ts'o @ 2013-07-09 13:45 ` Michael 2013-07-21 22:47 ` H. Peter Anvin 0 siblings, 1 reply; 8+ messages in thread From: Michael @ 2013-07-09 13:45 UTC (permalink / raw) To: Theodore Ts'o; +Cc: linux-ext4 No problem, it sounds like it would be a very tricky bit of code to write. Shuffling metadata blocks is not an easy feat. Is there any way to tell if I'm using 64 bit? Ubuntu defaults to setting ext4 to default, but I don't know if it did when I first created this FS. If it is 64 bit, the resize2fs utility should be able to handle this one kernels >3.7, correct? On Mon, Jul 8, 2013 at 9:14 PM, Theodore Ts'o <tytso@mit.edu> wrote: > On Mon, Jul 08, 2013 at 04:32:50PM -0500, Michael wrote: >> I have a currently 15TB FS that I want to expand to 18TB. >> Unfortunately EXT4 e2fsprogs has an issue that stops you from being >> able to do this: >> >> sudo resize2fs /dev/md0 >> resize2fs 1.42.5 (29-Jul-2012) >> resize2fs: New size too large to be expressed in 32 bits >> >> It seems to me, reading the change logs, that this only supported if >> you created your FS with 64 bit specified. There seems to have been a >> patch last year that added support for changing 32->64bit, but I had a >> hard time finding/tracking that. > > Unfortuantely, there is no patch that would enable this. > > In theory it could be done; it would require doubling the size of the > block group descriptors, which would require moving other metadata > blocks out of the way. Resize2fs does do this when growing a file > system off-line when no blocks are available from the resize inode, > but no one has implemented the necessary changes to extend this to > adding the 64-bit feature. > > So it's technically possible, but it's not implemented at this time. > > Sorry, > > - Ted ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: EXT4 Larger Than 16TB 2013-07-09 13:45 ` Michael @ 2013-07-21 22:47 ` H. Peter Anvin 2013-07-21 23:43 ` Zheng Liu 0 siblings, 1 reply; 8+ messages in thread From: H. Peter Anvin @ 2013-07-21 22:47 UTC (permalink / raw) To: Michael; +Cc: Theodore Ts'o, linux-ext4 On 07/09/2013 06:45 AM, Michael wrote: > No problem, it sounds like it would be a very tricky bit of code to > write. Shuffling metadata blocks is not an easy feat. > > Is there any way to tell if I'm using 64 bit? Ubuntu defaults to > setting ext4 to default, but I don't know if it did when I first > created this FS. > > If it is 64 bit, the resize2fs utility should be able to handle this > one kernels >3.7, correct? > Is there a way to force this at mkfs time? I.e. "I know I may want to expand this filesystem beyond the 16 TB point?" -hpa ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: EXT4 Larger Than 16TB 2013-07-21 22:47 ` H. Peter Anvin @ 2013-07-21 23:43 ` Zheng Liu 2013-07-22 0:44 ` Michael 0 siblings, 1 reply; 8+ messages in thread From: Zheng Liu @ 2013-07-21 23:43 UTC (permalink / raw) To: H. Peter Anvin; +Cc: Michael, Theodore Ts'o, linux-ext4 On Sun, Jul 21, 2013 at 03:47:04PM -0700, H. Peter Anvin wrote: > On 07/09/2013 06:45 AM, Michael wrote: > > No problem, it sounds like it would be a very tricky bit of code to > > write. Shuffling metadata blocks is not an easy feat. > > > > Is there any way to tell if I'm using 64 bit? Ubuntu defaults to > > setting ext4 to default, but I don't know if it did when I first > > created this FS. > > > > If it is 64 bit, the resize2fs utility should be able to handle this > > one kernels >3.7, correct? > > > > Is there a way to force this at mkfs time? I.e. "I know I may want to > expand this filesystem beyond the 16 TB point?" Hi Peter, You could use 'mkfs.ext4 -O 64bit' to force enable 64bit support. In addition, we will enable this feature by default. Lukas has a patch to fix it. Here is the link [1]. 1. http://patchwork.ozlabs.org/patch/253234/ Regards, - Zheng ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: EXT4 Larger Than 16TB 2013-07-21 23:43 ` Zheng Liu @ 2013-07-22 0:44 ` Michael 2013-07-22 0:52 ` Zheng Liu 0 siblings, 1 reply; 8+ messages in thread From: Michael @ 2013-07-22 0:44 UTC (permalink / raw) To: H. Peter Anvin, Michael, Theodore Ts'o, linux-ext4 Also, in /etc/mke2fs.conf(Ubuntu has this by default): ext4 = { features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize auto_64-bit_support = 1 inode_size = 256 } ext4dev = { features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize inode_size = 256 options = test_fs=1 } Also, any info on how to find out if my fs is 64 bit or not? I don't know what this config was back when I made the system. On Sun, Jul 21, 2013 at 6:43 PM, Zheng Liu <gnehzuil.liu@gmail.com> wrote: > On Sun, Jul 21, 2013 at 03:47:04PM -0700, H. Peter Anvin wrote: >> On 07/09/2013 06:45 AM, Michael wrote: >> > No problem, it sounds like it would be a very tricky bit of code to >> > write. Shuffling metadata blocks is not an easy feat. >> > >> > Is there any way to tell if I'm using 64 bit? Ubuntu defaults to >> > setting ext4 to default, but I don't know if it did when I first >> > created this FS. >> > >> > If it is 64 bit, the resize2fs utility should be able to handle this >> > one kernels >3.7, correct? >> > >> >> Is there a way to force this at mkfs time? I.e. "I know I may want to >> expand this filesystem beyond the 16 TB point?" > > Hi Peter, > > You could use 'mkfs.ext4 -O 64bit' to force enable 64bit support. In > addition, we will enable this feature by default. Lukas has a patch to > fix it. Here is the link [1]. > > 1. http://patchwork.ozlabs.org/patch/253234/ > > Regards, > - Zheng ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: EXT4 Larger Than 16TB 2013-07-22 0:44 ` Michael @ 2013-07-22 0:52 ` Zheng Liu 2013-07-22 0:59 ` Michael 0 siblings, 1 reply; 8+ messages in thread From: Zheng Liu @ 2013-07-22 0:52 UTC (permalink / raw) To: Michael; +Cc: H. Peter Anvin, Theodore Ts'o, linux-ext4 Hi Michael, On Sun, Jul 21, 2013 at 07:44:12PM -0500, Michael wrote: > Also, in /etc/mke2fs.conf(Ubuntu has this by default): > ext4 = { > features = > has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize > auto_64-bit_support = 1 > inode_size = 256 > } > > ext4dev = { > features = > has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize > inode_size = 256 > options = test_fs=1 > } > > > > Also, any info on how to find out if my fs is 64 bit or not? I don't > know what this config was back when I made the system. You could use 'tune2fs -l ${DEV}' to check whether 64bit feature is enabled. Here is a sample result: $ sudo tune2fs -l /dev/sda1 tune2fs 1.43-WIP (21-Jan-2013) Filesystem volume name: <none> Last mounted on: <not available> Filesystem UUID: 5abc13bd-01d9-41ff-b7ca-a028b3d610f8 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file ^^^^^ uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 5021696 Block count: 20081242 Reserved block count: 1004062 Free blocks: 19719931 Free inodes: 5021685 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 1024 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8192 Inode blocks per group: 512 Flex block group size: 16 Filesystem created: Mon Jul 22 08:50:15 2013 Last mount time: n/a Last write time: Mon Jul 22 08:50:25 2013 Mount count: 0 Maximum mount count: -1 Last checked: Mon Jul 22 08:50:15 2013 Check interval: 0 (<none>) Lifetime writes: 1358 MB 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: 7d9a465d-3e37-4d41-af45-fff9c682f8ec Journal backup: inode blocks Regards, - Zheng ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: EXT4 Larger Than 16TB 2013-07-22 0:52 ` Zheng Liu @ 2013-07-22 0:59 ` Michael 0 siblings, 0 replies; 8+ messages in thread From: Michael @ 2013-07-22 0:59 UTC (permalink / raw) To: Michael, H. Peter Anvin, Theodore Ts'o, linux-ext4 Thank you for your help. Unfortunately, it didn't give me the answer I had hoped for. Darn! -- tune2fs 1.42.5 (29-Jul-2012) Filesystem volume name: <none> Last mounted on: /mnt/dataRaid Filesystem UUID: 60171591-358c-4b6a-9b29-684c1b964aa8 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 503316480 Block count: 4026531840 Reserved block count: 201326591 Free blocks: 1301052106 Free inodes: 502075987 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 64 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 4096 Inode blocks per group: 256 RAID stride: 128 RAID stripe width: 512 Flex block group size: 16 Filesystem created: Fri Dec 7 01:00:01 2012 Last mount time: Tue Jul 16 21:09:31 2013 Last write time: Tue Jul 16 21:09:31 2013 Mount count: 2 Maximum mount count: -1 Last checked: Mon Jul 8 15:21:15 2013 Check interval: 0 (<none>) Lifetime writes: 9 TB 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: 62024c47-022f-448e-a697-e3fb4ed618f3 Journal backup: inode blocks On Sun, Jul 21, 2013 at 7:52 PM, Zheng Liu <gnehzuil.liu@gmail.com> wrote: > Hi Michael, > > On Sun, Jul 21, 2013 at 07:44:12PM -0500, Michael wrote: >> Also, in /etc/mke2fs.conf(Ubuntu has this by default): >> ext4 = { >> features = >> has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize >> auto_64-bit_support = 1 >> inode_size = 256 >> } >> >> ext4dev = { >> features = >> has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize >> inode_size = 256 >> options = test_fs=1 >> } >> >> >> >> Also, any info on how to find out if my fs is 64 bit or not? I don't >> know what this config was back when I made the system. > > You could use 'tune2fs -l ${DEV}' to check whether 64bit feature is > enabled. Here is a sample result: > > $ sudo tune2fs -l /dev/sda1 > tune2fs 1.43-WIP (21-Jan-2013) > Filesystem volume name: <none> > Last mounted on: <not available> > Filesystem UUID: 5abc13bd-01d9-41ff-b7ca-a028b3d610f8 > Filesystem magic number: 0xEF53 > Filesystem revision #: 1 (dynamic) > Filesystem features: has_journal ext_attr resize_inode dir_index > filetype extent 64bit flex_bg sparse_super large_file huge_file > ^^^^^ > > uninit_bg dir_nlink extra_isize > Filesystem flags: signed_directory_hash > Default mount options: user_xattr acl > Filesystem state: clean > Errors behavior: Continue > Filesystem OS type: Linux > Inode count: 5021696 > Block count: 20081242 > Reserved block count: 1004062 > Free blocks: 19719931 > Free inodes: 5021685 > First block: 0 > Block size: 4096 > Fragment size: 4096 > Reserved GDT blocks: 1024 > Blocks per group: 32768 > Fragments per group: 32768 > Inodes per group: 8192 > Inode blocks per group: 512 > Flex block group size: 16 > Filesystem created: Mon Jul 22 08:50:15 2013 > Last mount time: n/a > Last write time: Mon Jul 22 08:50:25 2013 > Mount count: 0 > Maximum mount count: -1 > Last checked: Mon Jul 22 08:50:15 2013 > Check interval: 0 (<none>) > Lifetime writes: 1358 MB > 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: 7d9a465d-3e37-4d41-af45-fff9c682f8ec > Journal backup: inode blocks > > Regards, > - Zheng ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-07-22 0:59 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-07-08 21:32 EXT4 Larger Than 16TB Michael 2013-07-09 2:14 ` Theodore Ts'o 2013-07-09 13:45 ` Michael 2013-07-21 22:47 ` H. Peter Anvin 2013-07-21 23:43 ` Zheng Liu 2013-07-22 0:44 ` Michael 2013-07-22 0:52 ` Zheng Liu 2013-07-22 0:59 ` Michael
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).