Solaris and Disks

FilesystemTypeDeviceDescription
UFSRegularDiskUnix Fast filesystem - Solaris default
VxFSRegularDiskVeritas filesystem
QFSRegularDiskQFS filesystem from LSC Inc.
pcfsRegularDiskMSDOS FAT and FAT32 filesystem
hsfsRegularDiskHigh Sierra filesystem (CDROM)
tmpfsRegularMemoryUses memory and swap
nfsPseudoNetworkNetwork filesystem
cachefsPseudofilesystemUses a local disk as cache for another NFS filesystem
autofsPseudofilesystemUses a dynamic layout to mount other filesystems
specfsPseudoDevice driversfilesystem for the /dev devices
procfsPseudoKernel/proc filesystem representing processes
sockfsPseudoNetworkFilesystem of socket connections
fifofsPseudoFilesFIFO filesystem

Block- vs Extent-based Allocation

FilesystemAllocation format
UFSBlock, allocator tries to allocate sequential blocks
VxFSExtent based
QFSExtent based

Block-based allocation

Disk blocks are allocated as they are used, which means that a minimal number of filesystem blocks are allocated to a file in an attempt to conserve storage space. When a file is extended, blocks are allocated from a free block map, so that blocks are sometimes allocated in a random order. Random block allocation can be avoided by optimizing the block allocation policy so that it attempts to allocate a sequential series of blocks.

The block allocation scheme must also write information about where each new block is allocated every time the file is extended. If the file is being extended on elbock at a time, a lot of extra disk I/O will be required to write the filesystem block structure information. Filesystem block structure information is known as metadata. Filesystem metadata is always written synchronously to the storage device, which means operations that change the size of a file need to wait for each metadata operation to complete.

Extent-based allocation

Extent-based filesystems allocate disk blocks in large groups at a single time, which forces sequential allocation. As a file is written, a large number of blocks are allocated, after which writes can occur in large groups or clusters of sequential blocks. Filesystem metadata is written when the file is first created. Subsequent writes within the first allocation extent of blocks do not require additional metadata writes (until the next extent is allocated).

Filesystem Size

FilesystemMax CapacityMax File Size
SunOS 4.x UFS2 GB2 GB
Solaris UFS1 TB2 GB
Solaris 2.6 UFS1 TB1 TB
VxFS8,000 TB8,000 TB
QFS1 petabyte1 petabyte

Variable Block Sizes

FilesystemBlock Size SupportSub Block Support
Solaris UFS4 KB or 8 KB0.5-8 KB fragments
VxFS512 bytes to 8 KBN/A
QFS1 KB to 512 KBN/A

ACLs

Commands:
FilesystemACL Support?
Solaris 2.0-2.4 UFSNo
Solaris 2.5+ UFSYes
VxFSYes
QFSNo

Logging filesystems

FilesystemLogging CharacteristicsComments
UFS (2.6 and earlier)No logging without SDS 
Solaris 2.4-2.5.1 UFS with SDS 3.0-4.xMetadata logging with logging of small sync user dataCan have separate log device
Solaris 2.6 UFS with SDS 3.0-4.xMetadata logging onlyCan have separate log device
Solaris 7 UFSMetadata loggingLog is embedded in filesystem
VxFSData and metadata loggingDefault is metadata logging only
VxFS with NFS AcceleratorData and metadata loggingLog is placed on a separate device
QFSLogging not usedCan do quick mount on reboot without fsck after crash