The Solaris 9 9/04 release has UFS enabled by default. Prior Solaris 9 releases included the following file system enhancements:
This feature is new in the Solaris 9 9/04 release.
Logging is now enabled by default for all UFS file systems except under the following conditions:
When logging is explicitly disabled
If insufficient file system space exists for the log
In previous Solaris releases, you had to enable UFS logging manually.
UFS logging packages into a transaction the multiple metadata changes that compose a complete UFS operation. Sets of transactions are recorded in an on-disk log, and then applied to the actual UFS file system's metadata.
UFS logging provides two advantages:
If the file system is already consistent because of the transaction log, you might not have to run the fsck command after a system crash or an unclean shutdown.
Starting in the Solaris 9 12/02 release, the performance of UFS logging improves or exceeds the level of performance of nonlogging file systems. This improvement can occur because a file system with logging enabled converts multiple updates to the same data into single updates. This capability reduces the number of overhead disk operations that are required.
For more information, see UFS Logging Is Enabled by Default in System Administration Guide: Devices and File Systems. See also the mount_ufs(1M) man page.
This feature is new in the Solaris 9 12/03 release.
The following enhancements have improved the performance of the NFS client:
Restrictions on wire transfer sizes have been relaxed. Now, the transfer size is based on the capabilities of the underlying transport. For example, the NFS transfer limit for UDP is still 32 Kbytes. However, because TCP is a streaming protocol without the datagram limits of UDP, maximum transfer sizes over TCP have been increased to 1 Mbyte.
Previously, all write requests were serialized by both the NFS client and the NFS server. The NFS client has been modified to permit an application to issue concurrent writes, as well as concurrent reads and writes, to a single file. You can enable this functionality on the client by using the forcedirectio mount option. When you use this option, you are enabling this functionality for all files within the mounted file system. You could also enable this functionality on a single file on the client by using the directio() interface. Note that unless this new functionality has been enabled, writes to files are serialized. Also, if concurrent writes or concurrent reads and writes are occurring, then POSIX semantics are no longer being supported for that file.
The NFS client no longer uses an excessive number of UDP ports. Previously, NFS transfers over UDP used a separate UDP port for each outstanding request. Now, by default, the NFS client uses only one UDP reserved port. However, this support is configurable. If the use of more simultaneous ports would increase system performance through increased scalability, then the system can be configured to use more ports. This capability also mirrors the NFS-over-TCP support, which has had this kind of configurability since its inception.
Multiterabyte UFS file system support is available only for systems that run a 64-bit kernel. This feature is new in the Solaris 9 8/03 release.
This Solaris release provides support for multiterabyte UFS file systems on systems that run a 64-bit Solaris kernel. Previously, UFS file systems were limited to approximately 1 terabyte (Tbyte) on both 64-bit systems and 32-bit systems. All UFS file system commands and utilities have been updated to support multiterabyte UFS file systems.
You can initially create a UFS file system that is less than one Tbyte. You can specify that the file system can eventually be grown to a multiterabyte file system by using the newfs -T command. This command sets the inode and fragment density to scale appropriately for a multiterabyte file system.
Support for a multiterabyte UFS file system assumes the availability of multiterabyte LUNs. These LUNS are provided as Solaris Volume Manager or Veritas VxVM volumes, or as physical disks that are greater than one Tbyte.
Features of multiterabyte UFS file systems include the following:
You can create a UFS file system to a maximum of 16 Tbytes in size.
You can create a file system that is less than 16 Tbytes, which can later be increased in size to a maximum of 16 Tbytes.
Multiterabyte file systems can be created on physical disks, Solaris Volume Manager's logical volumes, and Veritas's VxVM logical volumes.
UFS logging is enabled by default on file systems greater than 1 Tbyte. Multiterabyte file systems benefit from the performance improvements of having UFS logging enabled. Multiterabyte file systems also benefit from the availability of logging because the fsck command might not have to be run when logging is enabled.
Limitations of multiterabyte UFS file systems include the following:
You cannot mount a file system that is greater than 1 Tbyte on a system that runs a 32-bit Solaris kernel.
You cannot boot from a file system that is greater than 1 Tbyte on a system that runs a 64-bit Solaris kernel. This limitation means that you cannot put a root (/) file system on a multiterabyte file system.
There is no support for individual files greater than 1 Tbyte.
The maximum number of files per terabyte of UFS file system is 1 million. This limit is intended to reduce the time it takes to check the file system with the fsck command.
The maximum quota that you can set on a multiterabyte UFS file system is 2 Tbytes of 1024–byte blocks.
Using the fssnap command to create a snapshot of a multiterabyte UFS file system is not currently supported.
This multiterabyte disk support is available only for systems that run a 64-bit kernel. This feature is new in the Solaris 9 4/03 release.
This Solaris release provides support for disks that are larger than 1 terabyte (Tbyte) on systems that run a 64-bit Solaris kernel.
The Extensible Firmware Interface (EFI) label provides support for physical disks and virtual disk volumes. The UFS file system is compatible with the EFI disk label, and you can create a UFS file system that is greater than 1 Tbyte. This release also includes updated disk utilities for managing disks that are greater than 1 Tbyte.
The EFI disk label differs from the VTOC disk label in the following ways:
Support for disks that are greater than 1 Tbyte in size is provided.
Slices 0–6, where slice 2 is just another slice, are provided.
Partitions, or slices, cannot overlap with the primary or backup label, nor with any other partitions. The size of the EFI label is usually 34 sectors, so partitions start at sector 34. This feature means that no partition can start at sector zero (0).
No cylinder, head, or sector information is stored in the label. Sizes are reported in blocks.
Information that was stored in the alternate cylinders area, the last two cylinders of the disk, is now stored in slice 8.
For more information on using the EFI disk label, see the System Administration Guide: Basic Administration. This guide contains important information and restrictions that apply to using the EFI disk label with existing software products.
The Solaris Volume Manager software can also be used to manage disks greater than 1 Tbyte in this Solaris release. See Multiterabyte Volume Support in Solaris Volume Manager.