C H A P T E R  1

Overview

The Sun StorEdge QFS and Sun StorEdge SAM-FS file systems are configurable file systems that present a standard UNIX file system interface to users. TABLE 1-1 shows how these file systems can be used or combined with the storage and archive management (SAM) software.

TABLE 1-1 Product Overview

Product

Components

Sun StorEdge QFS

Sun StorEdge QFS standalone file system

Sun StorEdge SAM-FS

Standard file system plus the storage and archive management utility, SAM

Sun SAM-QFS

The Sun StorEdge QFS file system combined with the storage and archive management utilities found in the Sun StorEdge SAM-FS software.


Technologically, the two file systems are similar, but there are also differences between them. This chapter presents an overview of the features common to these file systems, highlights the features that differentiate the file systems, and explains the commands available with each file system. Specifically, this chapter is divided into the following sections:


Common Features

The Sun StorEdge QFS and Sun StorEdge SAM-FS file systems do not require changes to user programs, nor are changes required to the UNIX kernel. These file systems share the features described in the following sections.

vnode Interface

The Sun StorEdge QFS and Sun StorEdge SAM-FS file systems are implemented using the standard Solaris operating system (OS) virtual file system (vfs/vnode) interface.

By using the vfs/vnode interface, these file systems work with the standard Solaris OS kernel and require no modifications to the kernel for file management support. Thus, the file system is protected from operating system changes and typically does not require extensive regression testing when the operating system is updated.

The kernel intercepts all requests for files, including those that reside in Sun StorEdge QFS and Sun StorEdge SAM-FS file systems. If the file is identified as a Sun StorEdge QFS or Sun StorEdge SAM-FS file, the kernel passes the request to the appropriate file system for handling. Sun StorEdge QFS and Sun StorEdge SAM-FS file systems are identified as type samfs in the /etc/vfstab file and on the mount(1M) command.

Enhanced Volume Management

Sun StorEdge QFS and Sun StorEdge SAM-FS file systems support both striped and round-robin disk access. The master configuration file (mcf) and the mount parameters specify the volume management features and let the file system know the relationships between the devices it controls. This is in contrast to most UNIX file systems that can address only one device or one portion of a device. Sun StorEdge QFS and Sun StorEdge SAM-FS file systems do not require any additional volume management applications. If you want to use mirroring for any devices in a Sun StorEdge QFS or Sun StorEdge SAM-FS environment, obtain an additional package, such as a logical volume manager.

The Sun StorEdge QFS and Sun StorEdge SAM-FS integrated volume management features use the standard Solaris OS device driver interface to pass I/O requests to and from the underlying devices. The Sun StorEdge QFS and Sun StorEdge SAM-FS software groups storage devices into family sets upon which each file system resides.

Support for Paged and Direct I/O

Sun StorEdge QFS and Sun StorEdge SAM-FS file systems support two different types of I/O: paged (also called cached or buffered I/O) and direct. These I/O types are as follows:

Preallocation of file space

You can use the setfa(1) command to preallocate contiguous disk space for fast sequential reads and writes.

Application Programming Interface Routines

The application programming interface (API) routines enable a program to perform various specialized functions, such preallocating contiguous disk space or accessing a specific striped group. For more information about these routines, see the intro_libsam(3) man page.

High Capacity

The Sun StorEdge QFS and Sun StorEdge SAM-FS file systems support files of up to 263 bytes in length. Such very large files can be striped across many disks or RAID devices, even within a single file system. This is true because Sun StorEdge QFS and Sun StorEdge SAM-FS file systems use true 64-bit addressing. This is in contrast to a standard UNIX file system (UFS), which is not a true 64-bit file system.

The number of file systems you can configure is virtually unlimited. The volume manager enables each file system to include up to 252 device partitions (typically disk). Each partition can include up to 4 terabytes of data. This configuration offers virtually unlimited storage capacity.

There is no predefined limit on the number of files on a Sun StorEdge SAM-FS file system. Because the inode space (which holds information about the files) is dynamically allocated, the maximum number of files is limited only by the amount of disk storage available. The inodes are cataloged in the .inodes file under the mount point. The .inodes file requires 512 bytes of storage per file.

For a Sun StorEdge QFS file system, the inodes are located on the metadata device(s) and are separated from the file data devices. In practice, the size of your metadata (mm) devices sets the limit on the number of files in a Sun StorEdge QFS file system. You can increase maximum the number of files by adding more metadata devices. The hard limit on the number of files is 232-1 files, and the recommended limit is 107 files.

Fast File System Recovery

A key function of a file system is the ability to recover quickly after an unscheduled outage. Standard UNIX file systems require a lengthy file system check (fsck(1M)) to repair inconsistencies after a system failure.

Sun StorEdge QFS and Sun StorEdge SAM-FS file systems often do not require file system checks after a disruption that prevents the file system from being written to to disk (using sync(1M)). In addition, they recover from system failures without using journaling. They accomplish this dynamically by using identification records, serial writes, and error checking for all critical I/O operations. After a system failure, Sun StorEdge QFS and Sun StorEdge SAM-FS file systems can be remounted immediately, even for multiterabyte-sized file systems.

Adjustable Disk Allocation Unit

The disk allocation unit (DAU) is the basic unit of online storage. The Sun StorEdge QFS file systems include an adjustable DAU, which is useful for tuning the file system with the physical disk storage device and for eliminating the system overhead caused by read-modify-write operations. You can adjust the DAU size in multiples of 4 kilobytes.


File System Differences

The Sun StorEdge QFS and Sun StorEdge SAM-FS file systems share many features, and these are described in Common Features. This section, however, describes the areas in which they differ. One area of difference is performance. The Sun StorEdge QFS file system provides the ability to attain raw, device-rated disk speeds with the administrative convenience of a file system. The following sections note other ways in which the file systems differ.

Metadata Storage

File systems use metadata to reference file and directory information. Typically, metadata resides on the same device as the file data. This is true for the Sun StorEdge SAM-FS file system.

The Sun StorEdge QFS file system separates the file system metadata from the file data by storing them on separate devices. The Sun StorEdge QFS file system enables you to define one or more separate metadata devices in order to reduce device head movement and rotational latency, improve RAID cache utilization, or mirror metadata without mirroring file data.

Both the Sun StorEdge QFS and Sun StorEdge SAM-FS file systems store inode metadata information in a separate file. This enables the number of files, and the file system as a whole, to be enlarged dynamically.

Support for Multiple Striped Groups

To support multiple RAID devices in a single file system, striped groups can be defined in Sun StorEdge QFS file systems. You can optimize disk block allocation for a striped group. This reduces the overhead for updating the on-disk allocation map. Users can assign a file to a striped group either through an API routine or by using the setfa(1) command.

SAM Interoperability

The Sun StorEdge SAM-FS file system combines file system features with the storage and archive management utility, SAM. Users can read and write files directly from magnetic disk, or they can access archive copies of files as though they were all on primary disk storage.

The Sun StorEdge QFS file system can be used as a standalone file system, or it can be used in conjunction with the storage and archive manager, SAM. If you are licensed for both Sun StorEdge QFS and Sun StorEdge SAM-FS, it is called Sun SAM-QFS.

When possible, Sun StorEdge SAM-FS sofware uses the standard Solaris OS disk and tape device drivers. For devices not directly supported under the Solaris OS, such as certain automated library and optical disk devices, Sun Microsystems provides special device drivers in the Sun StorEdge SAM-FS software package.

Sun StorEdge QFS Shared File System Support

The Sun StorEdge QFS shared file system can be implemented in either a Sun StorEdge QFS environment or in a Sun SAM-QFS environment. This file system enables you to implement a distributed file system that can be mounted on multiple Sun Solaris host systems.

Sun StorEdge QFS shared file systems do not support the following file types:

The Sun StorEdge QFS shared file system, when implemented in a Sun SAM-QFS environment, does not support segmented files.

For more information about this file system, see the Sun StorEdge QFS Shared File System.


Commands

The Sun StorEdge QFS and Sun StorEdge SAM-FS environments consist of a file system, daemons, processes, various types of commands (user, administrator, and so on), and tools. This section describes the commands that are included in the Sun StorEdge QFS and Sun StorEdge SAM-FS software distributions.

The Sun StorEdge QFS and Sun StorEdge SAM-FS commands operate in conjunction with the standard UNIX file system commands. Some commands are specific to only one product. All the commands are documented in UNIX man(1) pages.

This section introduces the commands and indicates which commands you can use within the Sun StorEdge QFS or Sun StorEdge SAM-FS file systems. See the man pages that are included in the software distribution for more information.

The following sections show the commands supported within each environment.

User Commands

By default, file system operations are transparent to the end user. Depending on your site practices, however, you might want to make some commands available to users at your site to fine-tune certain operations. TABLE 1-2 summarizes these commands.

TABLE 1-2 User Commands

Command

Description

Used By

archive(1)

Archives files and sets archive attributes on files.

Sun StorEdge SAM-FS

release(1)

Releases disk space and sets release attributes on files.

Sun StorEdge SAM-FS

request(1)

Creates a removable media file.

Sun StorEdge SAM-FS

sdu(1)

Summarizes disk usage. The sdu(1) command is based on the GNU version of the du(1) command.

Sun StorEdge QFS

Sun StorEdge SAM-FS

segment(1)

Sets segmented file attributes.

Sun StorEdge SAM-FS

setfa(1)

Sets file attributes.

Sun StorEdge QFS

Sun StorEdge SAM-FS

sfind(1)

Searches for files in a directory hierarchy. The sfind(1) command is based on the GNU version of the find(1) command and contains options for searching based on Sun StorEdge QFS and Sun StorEdge SAM-FS file attributes.

Sun StorEdge QFS

Sun StorEdge SAM-FS

sls(1)

Lists contents of directories. The sls(1) command is based on the GNU version of the ls(1) command and contains options for displaying file system attributes and information.

Sun StorEdge QFS

Sun StorEdge SAM-FS

squota(1)

Reports quota information.

Sun StorEdge QFS

Sun StorEdge SAM-FS

ssum(1)

Sets the checksum attributes on files.

Sun StorEdge SAM-FS

stage(1)

Sets stage attributes on files and copies offline files to disk.

Sun StorEdge SAM-FS


General System Administrator Commands

TABLE 1-3 summarizes the commands that you can use to maintain and manage the system.

TABLE 1-3 General System Administrator Commands

Command

Description

Used By

samcmd(1M)

Executes one samu(1M) operator interface utility command.

Sun StorEdge QFS

Sun StorEdge SAM-FS

samd(1M)

Starts or stops robotic and removable media daemons.

Sun StorEdge SAM-FS

samexplorer(1M)

Generates a Sun StorEdge QFS or Sun StorEdge SAM-FS diagnostic report script.

Sun StorEdge QFS

Sun StorEdge SAM-FS

samset(1M)

Changes Sun StorEdge SAM-FS settings.

Sun StorEdge SAM-FS

samu(1M)

Invokes the full-screen, text-based operator interface. This interface is based on the curses(3CURSES) software library. The samu(1M) utility displays the status of devices and allows the operator to control automated libraries.

Sun StorEdge QFS

Sun StorEdge SAM-FS


File System Commands

TABLE 1-4 summarizes the commands that you can use to maintain the file system.

TABLE 1-4 File System Commands

Commands

Description

Used By

mount(1M)

Mounts a file system. The man page name for this command is mount_samfs(1M).

Sun StorEdge QFS

Sun StorEdge SAM-FS

qfsdump(1M)

qfsrestore(1M)

Creates or restores a dump file containing the file data and metadata associated with a Sun StorEdge QFS file system.

Sun StorEdge QFS

sambcheck(1M)

Lists block usage for a file system.

Sun StorEdge QFS

Sun StorEdge SAM-FS

samchaid(1M)

Changes file admin set ID attribute. For use with quotas.

Sun StorEdge QFS

Sun StorEdge SAM-FS

samfsck(1M)

Checks and repairs metadata inconsistencies in a file system and reclaims allocated, but unused, disk space.

Sun StorEdge QFS

Sun StorEdge SAM-FS

samfsconfig(1M)

Displays configuration information.

Sun StorEdge QFS

Sun StorEdge SAM-FS

samfsdump(1M)

samfsrestore(1M)

Creates or restores a dump file of the metadata associated with a Sun StorEdge SAM-FS file system.

Sun StorEdge SAM-FS

Sun SAM-QFS

samfsinfo(1M)

Displays information about the layout of a Sun StorEdge QFS or Sun StorEdge SAM-FS file system.

Sun StorEdge QFS

Sun StorEdge SAM-FS

samfstyp(1M)

Determines the Sun StorEdge QFS or Sun StorEdge SAM-FS file system type.

Sun StorEdge QFS

Sun StorEdge SAM-FS

samgrowfs(1M)

Expands a file system by adding disk devices.

Sun StorEdge QFS

Sun StorEdge SAM-FS

sammkfs(1M)

Initializes a new file system from disk devices.

Sun StorEdge QFS

Sun StorEdge SAM-FS

samncheck(1M)

Returns a full directory path name given the mount point and inode number.

Sun StorEdge QFS

Sun StorEdge SAM-FS

samquota(1M)

Reports, sets, or resets quota information.

Sun StorEdge QFS

Sun StorEdge SAM-FS

samquotastat(1M)

Reports on active and inactive file system quotas.

Sun StorEdge QFS

Sun StorEdge SAM-FS

samsharefs(1M)

Manipulates the Sun StorEdge QFS shared file system configuration information.

Sun StorEdge QFS

samtrace(1M)

Dumps the trace buffer.

Sun StorEdge QFS

Sun StorEdge SAM-FS

samunhold(1M)

Releases SANergy file holds.

Sun StorEdge QFS

Sun StorEdge SAM-FS

trace_rotate(1M)

Rotates trace files.

Sun StorEdge QFS

Sun StorEdge SAM-FS


Additional Commands and APIs

Sun Microsystems also provides the following additional types of commands for use in Sun StorEdge SAM-FS environments:

The preceding commands are described on individual man pages and in the Sun StorEdge SAM-FS Storage and Archive Management Guide.

In addition to the preceding commands, Sun Microsystems provides an application programming interface (API). The API lets you make file system requests from within a user application. The requests can be made locally or remotely to the machine upon which the file system is running. The API consists of the libsam and libsamrpc libraries. These libraries contain library routines for obtaining file status; for setting archive, release, and stage attributes for a file; and for manipulating the library catalog of an automated library. The sam-rpcd remote procedure call daemon handles remote requests. To automatically start the sam-rpcd daemon, set samrpc=on in the defaults.conf file.

For more information about the API, see the intro_libsam(3) man pages. This man page provide overview information for using the library routines in libsam and libsamrpc.