xfs_admin
Modify XFS filesystem parameters
SYNOPSIS
xfs_admin [ -ceuUjLpv ] [ -a agsize ] [ -f ] [ -l logdev ] [ -m maxpct ] [ -r rtdev ] [ -s sumversion ] [ -x flags ] device
PARAMETERS
-a agsize
Specifies the allocation group size in bytes. Must be a power of 2 and at least the block size. It cannot be changed after the filesystem is created.
-c
Specifies that the existing filesystem log should be cleared. Use with caution as this can lead to data loss if the log contains uncommitted metadata.
-e
Enables extended attributes on the filesystem. This option is typically used to enable extended attributes on older filesystems that were created without them.
-f
Forces the operation to proceed, even if it detects potential problems.
-j
Updates the on-disk log format to the current version of the software. It can be used to upgrade existing log formats. This operation cannot be reversed.
-l logdev
Specifies the location of the external log device. This is used when the log resides on a separate device rather than within the filesystem itself.
-L label
Sets the filesystem label. This label is a human-readable name for the filesystem. The maximum length of the label is typically 12 characters.
-m maxpct
Specifies the maximum percentage of filesystem blocks that can be allocated to inodes. The default is typically around 25%.
-p
Prints the current filesystem parameters without modifying them.
-r rtdev
Specifies the location of the real-time device. Real-time devices are used to store data that requires guaranteed latency, such as video or audio.
-s sumversion
Specifies the version of the superblock checksum to use (1 or 2). Checksumming helps protect against data corruption. Version 2 enables crc32c checksumming.
-U uuid
Sets the filesystem UUID. This should be a unique identifier for the filesystem. Using a duplicate UUID across multiple filesystems can lead to problems.
-u
Sets the filesystem UUID to a randomly generated value.
-v
Verbose mode. Prints additional information about the operations being performed.
-x flags
Sets extended flags for the filesystem. These flags control various behaviors and features.
device
The block device representing the XFS filesystem to modify (e.g., /dev/sda1).
DESCRIPTION
The xfs_admin utility is a command-line tool used to manage and modify various parameters and attributes of XFS filesystems. It allows administrators to change the filesystem label, UUID, log settings, and other low-level characteristics. It is typically used for tasks such as reformatting the log, enabling or disabling features, and managing the UUIDs of the filesystem.
Improper use of xfs_admin can lead to data loss or filesystem corruption, so it is crucial to understand the impact of each option before executing the command. The utility usually requires root privileges to operate as it makes modifications to the filesystem superblock and other critical metadata structures.
CAVEATS
Modifying an XFS filesystem with xfs_admin can be destructive. Back up your data before making any changes. Ensure you understand the implications of each option before using it.
UUID CONSIDERATIONS
The UUID is a critical identifier for an XFS filesystem. Duplicating UUIDs across multiple filesystems can cause issues with mounting and identification. It is generally best practice to ensure all XFS filesystems have unique UUIDs. xfs_admin -u is useful for generating a new random UUID.
LOG FORMAT UPGRADES
Upgrading the log format with the -j option is a one-way operation; it cannot be reversed. While it ensures the log format is up-to-date with the latest XFS software, ensure you have backups before performing this operation.
HISTORY
xfs_admin has been an integral part of the XFS filesystem since its inception. XFS was originally developed by SGI in the early 1990s and was eventually ported to Linux. xfs_admin provided essential administration functionalities from the start. Over the years, it has been updated to support new features and capabilities added to XFS, such as support for newer log formats, checksumming, and extended attributes. The command has matured and has become a reliable tool for managing XFS filesystems in production environments.
SEE ALSO
mkfs.xfs(8), xfs(5), xfs_repair(8), xfs_db(8)