SLES11 ext3 partitions can only store 50% of the files that can be stored on SLES10

This document (7009075) is provided subject to the disclaimer at the end of this document.

Environment


SUSE Linux Enterprise Server 11
SUSE Linux Enterprise Desktop 11
SUSE Linux Enterprise Desktop 11 Service Pack 1
SUSE Linux Enterprise Server 11 Service Pack 1
SUSE Linux Enterprise Server 11 Service Pack 2
SUSE Linux Enterprise Desktop 11 Service Pack 2
SUSE Linux Enterprise Server 11 Service Pack 3
SUSE Linux Enterprise Desktop 11 Service Pack 3

Situation

The maximum number of files that can be stored on a ext3 partition on SLES11 is only half of the number of files that can be stored on SLES10.
If you create new ext3 partitions on SLES11, where you want to store a large number of files (>1 Million) you need to make them bigger than on SLES10.

Resolution

Prerequisites

The default inode size of ext3 file systems has been increased from 128 bytes to 256 bytes on SLES11, because of extended attributes / ACLs.
ext3 is able to store them in the inode, but an 128-byte inode has very little spare space to store those data. With 256-byte inodes there are about 120 bytes free in the inode so ACL's mostly fit there and the access is faster.
The drawback is that each inode occupies the double space on the file system, so the total number of inodes on a file sytem with given size, can only be half on SLES11.  Since each file needs at least one inode, the number of storable files is also only half compared to SLES10.
In order to address the increased inode size, the defaults for inode_ratio have been changed on SLES11 to  16384.

Resolution

If you don't use extended attributes or ACLs on your ext3 file system, you can restore the SLES10 behaviour by editing the file:
 
/etc/mke2fs.conf
 
and setting the default inode_size to 128 and the inode_ratio to 8192.


You can also do this on the fly when creating an ext3 file system by passing the bytes-per-inode parameter (-i) and the inode size parameter (-I) to the mkfs.ext3 command, e.g.:

mkfs.ext3 -i 8192 -I 128 /dev/sda1

During a SLES11 installation, you can set the bytes per inode ratio to 8192 and inode size to 128 for ext3 in the File System Options.




In an autoyast profile, you can use the fs_options tag therefore, for example:
<partitioning config:type="list">
    <drive>

      <device>/dev/sda</device>

      <initialize config:type="boolean">true</initialize>

      <partitions config:type="list">

        <partition>

          <filesystem config:type="symbol">ext3</filesystem>

          <format config:type="boolean">true</format>

          <fs_options>

            <opt_bytes_per_inode>
              <option_str>-i</option_str>
              <option_value>8192</option_value>
            </opt_bytes_per_inode>
            <opt_inode_density>
              <option_str>-I</option_str>
              <option_value>128</option_value>
            </opt_inode_density>
          </fs_options>
          <mount>/</mount>
          <partition_id config:type="integer">131</partition_id>

          <partition_type>primary</partition_type>

          <size>25G</size>

        </partition>


Be aware that the number of inodes on a file system cannot be changed after it has been created, unless the file system gets extended.

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:7009075
  • Creation Date: 29-Jul-2011
  • Modified Date:03-Mar-2020
    • SUSE Linux Enterprise Server

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

Join Our Community

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.


SUSE Customer Support Quick Reference Guide SUSE Technical Support Handbook Update Advisories
Support FAQ

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.

Go to Customer Center