Tuesday, April 17, 2007

Limitations of File System for Solaris OE

Description

This document will describe the limitations of the filesystem for the Solaris [TM] Operating Environment.

The effect of OpenBoot[TM] PROM (OBP) revisions on filesystem size limitations is also discussed.

Definitions:

  1. 1 Mbyte (megabyte) 2^20 bytes (1,048,576 bytes)

  2. 1 Gbyte (gigabyte) 2^30 bytes (1,073,741,824 bytes)

  3. 1 Tbyte (terabyte) 2^40 bytes (1,099,511,627,776 bytes)

In general if this document refers to a limitation of (for instance) 2 Gbyte, ¨2 Gbyte  1 byte〃 (1,073,741,823 bytes) is meant.

To improve readability, this has been abbreviated to ¨2 Gbyte〃.

The symbol ¨~〃 is used to denote ¨approximately〃

Maximum size of a single file and a filesystem.

This also applies to Solaris x86, but there may be some issues with disk drives larger than 30 Gbyte. This is due to hardware limitations with some PC motherboard/disk configurations.

OS Release

Single file

File system

Solaris 2.5.1

2 Gbyte

1 Tbyte

Solaris 2.6 - 9 12/02 (U3)

~1012 Gbyte

1 Tbyte

Solaris 9 08/03 (U4) - Solaris 10 FCS

~1023 Gbyte

16 Tbyte

  1. A single file in Solaris 2.6 through Solaris 9 (U3) is limited to approximately 1012 Gbyte because the file must fit inside the 1 Tbyte filesystem. The filesystem is nominally 1 Tbyte, but in fact, due to the overhead in such a large filesystem, the largest single file ends up being about 1012 Gbyte. (part of this is a bug, but even if bug-free, a single file can't be 1 Tbyte due to the filesystem overhead). The overhead in the filesystem includes amongst other things, items such as superblock backups and inode tables. The example given here is using 1024 Kbyte (1 Mbyte) for the number of bytes per inode (nbpi) within the UFS filesystem. If nbpi is set to a lower value, more filesystem space will be allocated to inode tables and less will be available to store data. With nbpi=8 Kbyte, the maximum single file size would be smaller than 1012 Gbyte. The file in this example cannot use any of the minfree area set up on the filesystem (which is setup for ¨root only〃 use). On a 1 Tbyte filesystem minfree is set to 1% which translates to about 10 Gbyte.
  2. A safe assumption here would be that the limit on the size of a single file is the size of the filesystem,minus 1% to 2% overhead. In Solaris 2.6, the swap and tmpfs filesystems are still limited to 2 Gbyte. This is not the total amount of swap, it is a limit per swap slice or per swap file. A swap slice or file may be defined as larger than 2 Gbyte, but any space above 2 Gbyte in that slice or file will not be accessible and the size of the slice or file will be reported by the swap command as 2 Gbyte. There can be multiple swap slices or files totaling more than 2 Gbyte. Any later release of Solaris running 32 bit kernel has the same limitation. Later releases of Solaris running a 64 bit kernel do not have this limitation. See the ¨USAGE〃 paragraph in the Solaris 8 swap(1M) manual page for the new limits.

  3. Solaris 9 Update 4 introduced multiterabyte UFS. The maximum individual file size is still the same as before (~1 Tbyte ), as increasing it would require radical on-disk format changes. The total filesystem size can now be up to 16 Tbyte. The -T option is specified to the newfs command to create such a filesystem. See the newfs(1M) manpage for additional information. There is also a limit of 1 million files per Tbyte, for instance. A 4 Tbyte UFS filesystem would have a 4 million files limit). This is done to keep fsck times reasonable (even when logging is enabled).

  4. Multiterabyte UFS functionality can also be added to earlier releases of Solaris 9 by installing the UFS patch 113454-09 or later. See the Special Install Instructions in the patch README for a list of additional patches required to get the full Multiterabyte functionality.

  5. The maximum single file size in a multiterabyte filesystem, which is greater than 1 Tbyte is 1 Tbyte minus 500 Mbyte or 1023.5 Gbyte As a rule of thumb this should be taken as 1023 Gbyte.

  6. A multiterabyte UFS filesystem is not bootable (This means the root filesystem cannot be a multiterabyte filesystem).

  7. A multiterabyte UFS filesystem is not mountable in any version of 32bit Solaris kernel.

Limitations in combination with the OBP.

Excluding the multiterabyte root filesystem limitation detailed above, the root filesystem has limits in Solaris[TM] 2.x that are not imposed on any other filesystems. This limiting factor is a combination of two things, the OS release and the OBP (Open Boot Prom) level.

To establish the OS release, examine the /etc/release file To establish the OBP level, use the command prtconf -V (capital ¨V〃).

Here is a list of the various possible configurations.

OBP level

OS Release

Max root filesystem size

OBP 3.1beta1 or newer

Solaris 2.5.1

Kernel Patch 103640-08 or newer

No limit

OBP 3.1beta1 or newer

Solaris 2.6

No limit

OBP 3.0 or earlier

Solaris 2.5.1

Kernel Patch 103640-07 or older.

2Gbyte

OBP 3.0 or earlier

Solaris 2.6 on an Ultra (sun4u)

4Gbyte

Solaris 10 and ZFS

ZFS is now fully integrated in Solaris 10 U2 and above.

Limitations of a single file and filesystem in ZFS:

http://www.opensolaris.org/os/community/zfs/faq/

What limits does ZFS have?

- The limitations of ZFS are designed to be so large that they will never be encountered in any practical operation.

- ZFS can store 16 Exabytes in each storage pool, file system, file, or file attribute.

- ZFS can store billions of names: files or directories in a directory, file systems in a file system, or snapshots of a file system.

- ZFS can store trillions of items: files in a file system, file systems, volumes, or snapshots in a pool.

2 comments:

Anonymous said...

Can anyone recommend the best Script Deployment program for a small IT service company like mine? Does anyone use Kaseya.com or GFI.com? How do they compare to these guys I found recently: [url=http://www.n-able.com] N-able N-central remote support
[/url] ? What is your best take in cost vs performance among those three? I need a good advice please... Thanks in advance!

Anonymous said...

I suck coz I only appear to be able to think of one joke and one joke alone...

Why did the plane crash into the house????



COZ THE LANDING LIGHT WAS ON!!

Fast, Safe, Open, Free!
Open for business. Open for me! » Learn More