When formatted for operation with the Solaris operating system, hard disks are logically divided into one or more “slices” (or partitions) on which a single file system resides. File systems contain sets of files, which are hierarchically organized around a number of directories. The Solaris system contains a number of predefined directories that often form the top level of a file system hierarchy. Many of these directories lie one level below the root directory, often denoted by “/”, which exists on the primary system disk of any Solaris system. In addition to a primary disk, many Solaris systems will have additional disks that provide storage space for user and daemon files. Each file system has a mount point, which is usually created in the top level of the root file system. For example, the /export file system is obviously mounted in the top level of “/”. The mount point is created by using the mkdir command:
# mkdir /export
In contrast, the /export/home file system, which usually holds the home directories of users, and user files, is mounted in the top level of the /export file system. Thus, the mount point is created by using this command:
# mkdir /export/home
A single logical file system can be created on a single slice, but cannot exist on more than one slice unless there is an extra level of abstraction between the logical and physical file systems (for example, a metadevice can be created using DiskSuite, providing striping across many physical disks). A physical disk can also contain more than one slice. On SPARC architecture systems, there are eight slices that can be used, numbered 0–7. On Intel architecture systems, however, there are ten available slices, numbered 0–9.
The actual assignment of logical file systems to physical slices is a matter of discretion for the individual administrator, and while there are customary assignments recommended by Sun and other hardware vendors, it is possible that a specific site policy (or an application’s requirements) necessitates the development of a local policy. For example, database servers often make quite specific requirements about the allocation of disk slices to improve performance. However, with modern high-performance RAID systems, these recommendations are often redundant.
Since many organizations will have many different kinds of systems deployed, it is useful to maintain compatibility between systems as much as possible.
Figure 13-1 shows the typical file system layout for a SPARC architecture system following customary disk slice allocations. Slice 0 holds the root partition, while slice 1 is allocated to swap space. For systems with changing virtual memory requirements, it might be better to use a swap file on the file system rather than allocating an entire slice for swap. Slice 2 often refers to the entire disk, while /export on slice 3 traditionally holds older versions of the operating system, which are used by client systems with lower performance (for example, Classic or LX systems that use the trivial FTP daemon, tftpd, to download their operating system upon boot). These systems may also use slice 4 as exported swap space. Export may also be used for file sharing using the networked file system, NFS. Slice 5 holds the /opt file system, which is the default location under Solaris 9 for local packages installed using the pkgadd command. Under earlier versions of Solaris, the /usr/local file system held local packages, and this convention is still used by many sites. The system package file system /usr is usually located on slice 6, while /export/home usually contains user home directories on slice 7. Again, earlier systems located user home directories under /home, but since this is used by the automounter program in Solaris 9, some contention can be expected.
Figure 13-2 shows the typical file system layout for an Intel architecture system following customary disk slice allocations. Slice 0 again holds the root partition, while slice 1 is also allocated to swap space. Slice 2 continues to refer to the entire disk, while /export on slice 3 again holds older versions of the operating system, which are used by client systems, and slice 4 contains exported swap space for these clients. The local package file system /opt is still located on slice 5, and the system package file system /usr is again located on slice 6. Slice 7 contains the user home directories on /export/home. However, the two extra slices serve very different purposes: boot information for Solaris is located on slice 8, and is known as the “boot slice,” while slice 9 provides space for alternative disk blocks, and is known as the “alternative slice.”