Defining a Disk's Geometry
Before creating a file system on a disk, you need to understand the basic geometry of a disk drive. Disks come in many shapes and sizes. The number of heads, tracks, and sectors and the disk capacity vary from one model to another. Basic disk terminology is described in Table 1.4.
Table 1.4. Disk Terminology
A concentric ring on a disk that passes under a single stationary disk head as the disk rotates.
The set of tracks with the same nominal distance from the axis about which the disk rotates.
Section of each disk platter. A sector holds 512 bytes.
A data storage area on a disk. A disk block is 512 bytes.
A chip and its associated circuitry that control the disk drive.
The first sector of a disk (block 0) that contains disk geometry and partition information. Also referred to as the Volume Table Of Contents (VTOC). To label a disk means to write slice information onto the disk. You usually label a disk after you change its slices using the format command.
A kernel module that controls a hardware or virtual device.
A hard disk consists of several separate disk platters mounted on a common spindle. Data stored on each platter surface is written and read by disk heads. The circular path that a disk head traces over a spinning disk platter is called a track.
Each track is made up of a number of sectors laid end to end. A sector consists of a header, a trailer, and 512 bytes of data. The header and trailer contain error-checking information to help ensure the accuracy of the data. Taken together, the set of tracks traced across all the individual disk platter surfaces for a single position of the heads is called a cylinder.
Associated with every disk is a controller, an intelligent device responsible for organizing data on the disk. Some disk controllers are located on a separate circuit board, such as SCSI. Other controller types are integrated with the disk drive, such as Integrated Device Electronics (IDE) and Enhanced IDE (EIDE).
Disks might contain areas where data cannot be written and retrieved reliably. These areas are called defects. The controller uses the error-checking information in each disk block's trailer to determine whether a defect is present in that block. When a block is found to be defective, the controller can be instructed to add it to a defect list and avoid using that block in the future. The last two cylinders of a disk are set aside for diagnostic use and for storing the disk defect list.
A special area of every disk is set aside for storing information about the disk's controller, geometry, and slices. This information is called the disk's label or volume table of contents (VTOC).
To label a disk means to write slice information onto the disk. You usually label a disk after defining its slices. If you fail to label a disk after creating slices, the slices will be unavailable because the operating system has no way of knowing about them.
Solaris supports two types of disk labels, the VTOC disk label and the EFI disk label. Solaris 10 (and later versions of Solaris 9) provides support for disks that are larger than 1 terabyte on systems that run a 64-bit Solaris kernel. The acronym EFI stands for Extensible Firmware Interface and this new label format is REQUIRED for all devices over 1TB in size, and cannot be converted back to VTOC.
The EFI label provides support for physical disks and virtual disk volumes. Solaris 10 also includes updated disk utilities for managing disks greater than 1 terabyte. The UFS file system is compatible with the EFI disk label, and you can create a UFS file system greater than 1 terabyte.
The traditional VTOC label is still available for disks less than 1 terabyte in size. If you are only using disks smaller than 1 terabyte on your systems, managing disks will be the same as in previous Solaris releases. In addition, you can use the format-e command to label a disk less than 1TB with an EFI label.
The advantages of the EFI disk label over the VTOC disk label are as follows:
Provides support for disks greater than 1 terabyte in size.
Provides usable slices 06, where slice 2 is just another slice.
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 EFI 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.
If you use the format utility to change partition sizes, the unassigned partition tag is assigned to partitions with sizes equal to zero. By default, the format utility assigns the usr partition tag to any partition with a size greater than zero. You can use the partition change menu to reassign partition tags after the partitions are changed.
Solaris ZFS (zettabyte file system) uses EFI labels by default. As of this writing, ZFS file systems are not implemented but are expected in a future Solaris 10 update.
The following lists restrictions of the EFI disk label:
The SCSI driver, ssd or sd, currently supports only up to 2 terabytes. If you need greater disk capacity than 2 terabytes, use a disk and storage management product such as Solaris Volume Manager to create a larger device.
Layered software products intended for systems with EFI-labeled disks might be incapable of accessing a disk without an EFI disk label.
You cannot use the fdisk command on a disk with an EFI label that is greater than 1 terabyte in size.
A disk with an EFI label is not recognized on systems running previous Solaris releases.
The EFI disk label is not supported on IDE disks.
You cannot boot from a disk with an EFI disk label.
You cannot use the Solaris Management Console's Disk Manager tool to manage disks with EFI labels. Use the format utility to partition disks with EFI labels. Then, you can use the Solaris Management Console's Enhanced Storage Tool to manage volumes and disk sets with EFI-labeled disks.
The EFI specification prohibits overlapping slices. The entire disk is represented by c#t#d#.
The EFI disk label provides information about disk or partition sizes in sectors and blocks, but not in cylinders and heads.
The following format options are either not supported or are not applicable on disks with EFI labels:
The save option is not supported because disks with EFI labels do not need an entry in the format.dat file.
The backup option is not applicable because the disk driver finds the primary label and writes it back to the disk.
An important part of the disk label is the partition table, which identifies a disk's slices, the slice boundaries (in cylinders), and the total size of the slices. A disk's partition table can be displayed by using the format utility described in the "Disk Slices" section later in this chapter.