NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.

Forum Discussion

marcus2's avatar
marcus2
Aspirant
Oct 15, 2011

mkfs.ext4 command parameters for 16tb+ volumes

On my ReadyNAS Pro recently, I had a problem with vertical expansion failing to work after replacing two drives with 3tb discs. After consulting over the course of a few weeks with support and finding a special-case bug, we (support and I) decided that the easiest path forward would be for me to just upgrade all of the drives to 3tb discs and do a factory reset, which would allow me to expand in the future. (They were more than willing to keep working on the issue to try to figure out why expand wasn't working...but I didn't want to take any more of their time if there was another route that would also solve the 16tb problem for me, and they agreed that this path would provide the most benefit for me).

However, after purchasing all 6 3tb drives and doing a factory reset with dual redundancy (18tb of drive space, but less after dual redundancy and overhead of course), I suspected that the underlying filesystem was not created (by the ReadyNAS) with the proper settings in order to allow me to expand past 16tb for the volume - dumpe2fs reports that the block size is still 4096.

I re-engaged support on this, trying to verify that after the factory reset with 6x3tb that I would be setup to go past 16tb volume size on a future drive swap. At first I was told that I would as long as I had FW 4.2.19 (which has the specialized fs tools supporting larger fs creation) - but later when I pointed out the blocksize I was informed that it wouldn't work the way we discussed, and that I should post on the forums to try to get the proper parameters.

So here I am. :-)

My plan is to do it in as follows:

#cd /
# tar cvf /tmp/c-backup.tar /c
# umount /c
# /sbin/mkfs.ext4 ?????
# mount -a
# tar xvf /tmp/c-backup.tar

...but all I need is for someone from Netgear to tell me what the "blessed" mkfs.ext4 parameters should be. :-)

(of course, if there are more steps needed, I'd love to know - but I'm hoping that the above is all I need).

Moving all my data off and back on again is the most time consuming part of the process - so I'd really prefer to make the ReadyNAS Pro's volume be 16tb+ compatible right now, while it is empty, before I spend days migrating data back on....in particular because it is just a quick mkfs/newfs command....and I'd prefer not to guess at parameters (block size of 8192 obviously - but the other parameters....). A couple of commands now will probably save days of downtime down the road when I get to the point of upgrading the drives.

Any help or suggestions would be much appreciated! Thanks!

2 Replies

  • FYI, in looking at some other threads and man pages, the best I could come up with is

    mkfs.ext4 -b 8192 -m 0 -E stride=16,stripe-width=64 -L c /dev/c/c
    tune2fs -i0 -c -1 -o user_xattr,acl /dev/c/c

    Also FYI, dumpe2fs /dev/c/c reports:

    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
    Filesystem flags: signed_directory_hash
    Default mount options: user_xattr acl
    Filesystem state: clean
    Errors behavior: Continue
    Filesystem OS type: Linux
    Inode count: 182681600
    Block count: 2922905600
    Reserved block count: 0
    Free blocks: 2911227511
    Free inodes: 182681528
    First block: 0
    Block size: 4096
    Fragment size: 4096
    Reserved GDT blocks: 654
    Blocks per group: 32768
    Fragments per group: 32768
    Inodes per group: 2048
    Inode blocks per group: 128
    RAID stride: 16
    RAID stripe width: 64
    Flex block group size: 16
    Filesystem created: Tue Oct 11 22:31:07 2011
    Last mount time: Wed Oct 12 13:06:08 2011
    Last write time: Wed Oct 12 13:06:08 2011
    Mount count: 5
    Maximum mount count: -1
    Last checked: Tue Oct 11 22:31:07 2011
    Check interval: 0 (<none>)
    Lifetime writes: 44 GB
    Reserved blocks uid: 0 (user unknown)
    Reserved blocks gid: 0 (group unknown)
    First inode: 11
    Inode size: 256
    Required extra isize: 28
    Desired extra isize: 28
    Journal inode: 8
    Default directory hash: half_md4
    Journal backup: inode blocks
    Journal features: journal_incompat_revoke
    Journal size: 128M
    Journal length: 32768
    Journal sequence: 0x00000027
    Journal start: 1
  • FYI - I tried searching the filesystem for tools using the mkfs command, and I found one of the Frontview compiled Perl modules did so...but couldn't derive parameters from it (and it might just be for USB-attached drives instead of the primary array).

    If there is something I could call from the command line to invoke the standard ReadyNAS modules/code to do this, all the better....

    Any ideas? Thanks!

NETGEAR Academy

Boost your skills with the Netgear Academy - Get trained, certified and stay ahead with the latest Netgear technology! 

Join Us!

ProSupport for Business

Comprehensive support plans for maximum network uptime and business peace of mind.

 

Learn More