< Previous | Next > | |
Product: File System Guides | |
Manual: File System 4.1 Administrator's Guide |
Attribute SpecificsThe two basic extent attributes associated with a file are its reservation and its fixed extent size. You can preallocate space to the file by manipulating a file's reservation, or override the default allocation policy of the file system by setting a fixed extent size. Other policies determine the way these attributes are expressed during the allocation process. You can specify that:
Some of the extent attributes are persistent and become part of the on-disk information about the file, while other attributes are temporary and are lost after the file is closed or the system is rebooted. The persistent attributes are similar to the file's permissions and are written in the inode for the file. When a file is copied, moved, or archived, only the persistent attributes of the source file are preserved in the new file (see Other Controls for more information). In general, the user will only set extent attributes for reservation. Many of the attributes are designed for applications that are tuned to a particular pattern of I/O or disk alignment (see the mkfs_vxfs(1M) manual page and Application Interface for more information). Reservation: Preallocating Space to a FileVxFS makes it possible to preallocate space to a file at the time of the request rather than when data is written into the file. This space cannot be allocated to other files in the file system. VxFS prevents any unexpected out-of-space condition on the file system by ensuring that a file's required space will be associated with the file before it is required. A persistent reservation is not released when a file is truncated. The reservation must be cleared or the file must be removed to free the reserved space. Fixed Extent SizeThe VxFS default allocation policy uses a variety of methods to determine how to make an allocation to a file when a write requires additional space. The policy attempts to balance the two goals of optimum I/O performance through large allocations and minimal file system fragmentation through allocation from space available in the file system that best fits the data. Setting a fixed extent size overrides the default allocation policies for a file and always serves as a persistent attribute. Be careful to choose an extent size appropriate to the application when using fixed extents. An advantage of VxFS's extent-based allocation policies is that they rarely use indirect blocks compared to block based file systems; VxFS eliminates many instances of disk access that stem from indirect references. However, a small extent size can eliminate this advantage. Files with aggressive allocation sizes tend to be more contiguous and have better I/O characteristics. However, the overall performance of the file system degrades because the unused space fragments free space by breaking large extents into smaller pieces. By erring on the side of minimizing fragmentation for the file system, files may become so non-contiguous that their I/O characteristics would degrade. Fixed extent sizes are particularly appropriate in the following situations:
Custom applications may also use fixed extent sizes for specific reasons, such as the need to align extents to cylinder or striping boundaries on disk. Other ControlsThe auxiliary controls on extent attributes determine:
AlignmentSpecific alignment restrictions coordinate a file's allocations with a particular I/O pattern or disk alignment (see the mkfs_vxfs(1M) manual page and Application Interface for details). Alignment can only be specified if a fixed extent size has also been set. Setting alignment restrictions on allocations is best left to well designed applications. ContiguityA reservation request can specify that its allocation remain contiguous (all one extent). Maximum contiguity of a file optimizes its I/O characteristics. Note Fixed extent sizes or alignment cause a file system to return an error message reporting insufficient space if no suitably sized (or aligned) extent is available. This can happen even if the file system has sufficient free space and the fixed extent size is large. Write Operations Beyond ReservationA reservation request can specify that no allocations can take place after a write operation fills up the last available block in the reservation. This specification can be used in a similar way to ulimit to prevent a file's uncontrolled growth. Reservation TrimmingA reservation request can specify that any unused reservation be released when the file is closed. The file is not completely closed until all processes open against the file have closed it. Reservation PersistenceA reservation request can ensure that the reservation does not become a persistent attribute of the file. The unused reservation is discarded when the file is closed. Including Reservation in the FileA reservation request can make sure the size of the file is adjusted to include the reservation. Normally, the space of the reservation is not included in the file until an extending write operation requires it. A reservation that immediately changes the file size can generate large temporary files. Unlike a ftruncate operation that increases the size of a file, this type of reservation does not perform zeroing of the blocks included in the file and limits this facility to users with appropriate privileges. The data that appears in the file may have been previously contained in another file. |
^ Return to Top | < Previous | Next > |
Product: File System Guides | |
Manual: File System 4.1 Administrator's Guide | |
VERITAS Software Corporation
www.veritas.com |