crfs Command

Purpose

Adds a file system.

Syntax

crfs -v VfsType { -g VolumeGroup | -d Device } [ -l LogPartitions ] -m MountPoint [ -n NodeName ] [ -u MountGroup ] [ -A { yes | no } ] [ -p {ro | rw } ] [ -a Attribute=Value ... ] [ -t { yes | no } ]

Description

The crfs command creates a file system on a logical volume within a previously created volume group. A new logical volume is created for the file system unless the name of an existing logical volume is specified using the -d. An entry for the file system is also created in the /etc/filesystems file.

The crfs command ignores any Attribute=Value pair that the command does not interpret but adds them to an appropriate stanza in the /etc/filesystems file.

Example:

crfs -a abcd=1G /

This example sets the new abcd attribute to the value of 1G in the root stanza within the /etc/filesystems file.

Note:
  1. The file system is created with the setgid (set group ID) bit enabled. This bit determines the default group permissions. All directories created under the new file system will have the same default group permissions. If the command was run against an existing logical volume for a JFS2 file system, the setgid bit is not set.
  2. For information about creating a file system on a striped logical volume, refer to File Systems on Striped Logical Volumes in the mklv documentation.
  3. Any log logical volume that is created automatically follows the same mirror pool strictness policy as the logical volume in which you have created the JFS2 file system.

You can also use the System Management Interface Tool (SMIT) smit crfs fast path to run this command.

Flags

Item Description
-a Attribute=Value Specifies a virtual file system-dependent attribute/value pair. To specify more than one attribute/value pair, provide multiple -a Attribute=Value parameters (see an example).

The following attribute/value pairs are specific to the Journaled File System (JFS):

 
-a ag={ 8 | 16 | 32 | 64 }
Specifies the allocation group size in megabytes. An allocation group is a grouping of i-nodes and disk blocks similar to BSD cylinder groups. The default ag value is 8.
 
-a bf={ true | false }
Specifies a large file enabled file system. See "Understanding Large File Enabled File Systems" for more information. If you do not need a large file enabled file system, set this option to false; this is the default. Specifying bf=true requires a fragment size of 4096 and compress=no.
 
-a compress={ no | LZ }
Specifies data compression. If you do not want data to be compressed, set this option to no. The default compress value is no. Selecting compression requires a fragment size of 2048 or less.
 
-a frag={ 512 | 1024 | 2048 | 4096 }
Specifies the JFS fragment size in bytes. A file system fragment is the smallest unit of disk storage that can be allocated to a file. The default fragment size is 4096 bytes.
 
-a logname=LVName
Specifies the log logical volume name. The specified logical volume will be the logging device for the new JFS. The LVName logical volume must already exist. The default action is to use an existing logging device in the target volume group.
 
-a nbpi={ 512 | 1024 | 2048 | 4096 | 8192 | 16384 | 32768 | 65536 | 131072 }
Specifies the number of bytes per i-node (nbpi). The nbpi affects the total number of i-nodes on the file system. The nbpi value is inversely proportional to the number of i-nodes on the file system. The default nbpi value is 4096 bytes.
 
-a size=Value
Specifies the size of the Journaled File System. Size can be specified in units of 512-byte blocks, Megabytes or Gigabytes. If Value has the M suffix, it is interpreted to be in Megabytes. If Value has a G suffix, it is interpreted to be in Gigabytes. If the specified size is not evenly divisible by the physical partition size, it is rounded up to the closest number that is evenly divisible. This attribute is required when creating a JFS file system. See "Understanding JFS Size Limitations" for more information.
 

The maximum size of a JFS file system is a function of its fragment size and the NBPI value. These values yield the following size restrictions:

  NBPI  Minimum AG Size    Fragment Size        Maximum Size (GB)
   512         8        512, 1024, 2048, 4096          8
  1024         8        512, 1024, 2048, 4096         16
  2048         8        512, 1024, 2048, 4096         32
  4096         8        512, 1024, 2048, 4096         64
  8192         8        512, 1024, 2048, 4096        128
 16384         8             1024, 2048, 4096        256
 32768        16                   2048, 4096        512
 65536        32                         4096       1024
131072        64                         4096       1024
You can have NBPI values from 512 to 128K, with corresponding maximum file system sizes.
 
The volume group in which the file system resides defines a maximum logical volume size and also limits the file system size.
Note:
  1. The ag, bf, compress, frag, and nbpi attributes are set at file system creation and cannot be changed after the file system is successfully created. The size attribute defines the minimum file system size, and you cannot decrease it once the file system is created.
  2. The root filesystem ( / ) cannot be compressed.
  3. Some nbpi values and allocation group sizes are mutually exclusive. See "Understanding JFS Size Limitations" for information.

The following attribute/value pairs are specific to the Enhanced Journaled File System (JFS2):

-a Attribute=Value
-a agblksize={ 512 | 1024 | 2048 | 4096 }
Specifies the JFS2 block size in bytes. A file system block is the smallest unit of disk storage that can be allocated to a file. The default block size is 4096 bytes.
 
-a ea={v1 | v2}
Specifies the format to be used to store named extended attributes in the JFS2 file system. The v2 format provides support for scalable named extended attributes as well as support for NFS4 ACLs. The v1 format is compatible with prior versions of AIX. The default format is v1.
 
-a efs={yes | no}
Specifies whether the file system is an Encrypted File System (EFS).
yes
The crfs command creates a file system that is EFS-enabled. When the file system is EFS-enabled, you do not need to specify the ea attribute because the crfs command automatically stores scalable extended attributes of the v2 format.
no
The crfs command creates a file system that is not EFS-enabled.
Note: The crfs commands prevents EFS from enabling the following file systems (mount points) because the security infrastructures (kernel extensions, libraries and so on) are not available during boot:
  • /
  • /usr
  • /var
  • /opt
 
-a isnapshot={yes|no}
Specifies whether the file system supports internal snapshots. A file system created to support internal snapshots also uses extended attributes of the v2 format.
 
-a lff={yes|no}
Specifies whether the file system supports large files and large file systems. By default, the maximum size of the JFS2 file system is 32 TB, and the maximum size of the file is 16 TB. If the value of the lff attribute is set to yes, the maximum potential size of the JFS2 file system is 4 PB, and the maximum potential file size is 4 PB. Additionally, if the lff attribute is set to yes, the file system can only be mounted on AIX® 7.3, or later.
Notes:
  1. You cannot change the value of the lff attribute after you set it to yes.
  2. The lff attribute is only supported on a filesystem with an aggregate block size of 4096 bytes.
 
-a logname=LVName
Specifies the log logical volume name. The specified logical volume is the logging device for the new JFS2. The LVName logical volume must already exist. You can use the OUTLINE keyword to use an existing logging device in the target volume group. When you use the OUTLINE keyword, if no log device exists, a new outline log device is created in the volume group. You can use the INLINE keyword to place the log in the logical volume with the JFS2 file system. The INLINE log device defaults to 0.4% of the logical volume size if the logsize attribute is not specified. The default action is to create an INLINE log device.
 
-a logsize=Value
Specifies the size for an INLINE log in MB. The input size must be a positive value. If the inline log size is greater than or equal to 1, the input size must be an integer. If the input is floating point value of less than 1 and greater than or equal to 0, the input size is ignored and the default inline log size is taken.

The logsize value cannot be greater than 10% of the size of the file system and it cannot be greater than 2047 MB.

 
-a maxext=Value
Specifies the maximum size of a file extent in file system blocks. A zero value implies that the JFS2 default maximum should be used. Values less than 0 or exceeding maximum supported extent size of 16777208 are invalid. Note that existing file extents are not affected by this change.
 
-a mountguard={yes | no}
Guards the file system against the unsupported concurrent mounts in a PowerHA® or other clustering environment. If the mountguard is enabled, the file system cannot be mounted if it appears to be mounted on another node or system. To temporarily override the mountguard setting, see the noguard option of the mount command.
 
-a options=mountOptions
Specifies which mount option is passed into crfs for the file system being created. For a list of the valid options, refer to the mount command.
 
-a quota={userquota | groupquota | userquota,groupquota | no}
Specifies the type of quotas that can be enabled on the file system. You can set the quota attribute to one of the following values:
userquota
The space for each user cannot exceed the space quota that is assigned for each user.
groupquota
The space for each group cannot exceed the space quota that is assigned for each group.
userquota,groupquota
Both user quota and group quota are enabled for each user and group.
no
All the quotas are disabled on the file system.
 
-a size=Value
Specifies the size of an Enhanced Journaled File System (JFS2). Size can be specified in units of 512-byte blocks, Megabytes, Gigabytes, Terabytes or Petabytes. If Value has the suffix M, the value is interpreted to be in Megabytes. If Value has a suffix G, the value is interpreted to be in Gigabytes. If Value has a suffix T, the value is interpreted to be in Terabytes. If Value has a suffix P, the value is interpreted to be in Petabytes. If the specified size is not evenly divisible by the physical partition size, it is rounded up to the closest number that is evenly divisible. The size attribute is required when creating a JFS2 file system unless the -d flag is specified. If the -d flag is specified, the size of the file system is equal to the size of the logical volume. The volume group in which the file system resides, defines a maximum logical volume size and limits the size of the file system. The minimum size for a JFS2 file system is 16 MB. The maximum size is determined by the file system block size:
fs block size (byte)        MAX fssize
===========================================
512                          4 TB
1024                         8 TB
2048                        16 TB
4096                        32 TB (lff=no) / 4 PB (lff=yes)
Notes:
  1. To use the file system with size greater than 32 TB, the value of the lff attribute must be set to yes.
  2. The lff attribute is only supported on a file system with an aggregate block size of 4096 bytes.
 
-a vix={yes|no}
Specifies whether the file system can allocate i-node extents smaller than the default of 16 KB if there are no contiguous 16 KB extents free in the file system. After a file system is enabled for small free extents, the file system cannot be accessed on AIX 5.1 or earlier releases.
yes
The file system can allocate variable-length i-node extents. The yes value is the default value beginning with AIX 6.1.
no
The file system must use the default size of 16 KB for i-node extents. The no value has no effect if the file system contains variable-length i-node extents.
-A Specifies whether the file system is mounted at each system restart:
yes
File system is automatically mounted at system restart.
no
File system is not mounted at system restart (default value).
Note: The crfs command accesses the first letter for the auto mount -A option.
-d Device Specifies the device name of a device or logical volume on which to make the file system. This is used to create a file system on an already existing logical volume.
-g VolumeGroup Specifies an existing volume group on which to make the file system. A volume group is a collection of one or more physical volumes.
-l LogPartitions Specifies the size of the log logical volume, expressed as a number of logical partitions. This flag applies only to JFS and JFS2 file systems that do not already have a log device.
-m MountPoint Specifies the mount point, which is the directory where the file system will be made available.
Note: If you specify a relative path name, it is converted to an absolute path name before being inserted into the /etc/filesystems file.
-n NodeName Specifies the remote host name where the file system resides. This flag is only valid with remote virtual file systems such as the Network File System (NFS).
-p Sets the permissions for the file system.
ro
Read-only permissions
rw
Read-write permissions
-t Specifies whether the file system is to be processed by the accounting subsystem:
yes
Accounting is enabled on the file system.
no
Accounting is not enabled on the file system (default value).
-u MountGroup Specifies the mount group.
-v VfsType Specifies the virtual file system type.
Note: The agblksize attribute is set at file system creation and cannot be changed after the file system is successfully created. The size attribute defines the minimum file system size, and you cannot decrease it once the file system is created.

The ea attributes format is set at file system creation. The chfs command can be used to convert the extended attribute format from v1 to v2, but the format cannot be converted back. The conversion is done in an on-demand manner such that any extended attribute or ACL writes cause the conversion for that file object to occur.

The maxext attribute is ignored in older releases even if the file system was created with it on a later release.

Security

Access Control

Only the root user or a member of the system group can run this command.

Attention RBAC users: This command can perform privileged operations. Only privileged users can run privileged operations. For more information about authorizations and privileges, see Privileged Command Database in Security. For a list of privileges and the authorizations associated with this command, see the lssecattr command or the getcmdattr subcommand.

Examples

  1. To make a JFS on the rootvg volume group with nondefault fragment size and nondefault nbpi, enter:
    crfs  -v jfs  -g  rootvg  -m /test -a \ size=32768 -a frag=512 -a nbpi=1024

    This command creates the /test file system on the rootvg volume group with a fragment size of 512 bytes, a number of bytes per i-node (nbpi) ratio of 1024, and an initial size of 16MB (512 * 32768).

  2. To make a JFS on the rootvg volume group with nondefault fragment size and nondefault nbpi, enter:
    crfs -v jfs -g rootvg -m /test -a size=16M -a frag=512 -a nbpi=1024
    This command creates the /test file system on the rootvg volume group with a fragment size of 512 bytes, a number of bytes per i-node (nbpi) ratio of 1024, and an initial size of 16MB.
  3. To create a JFS2 file system which can support NFS4 ACLs, type:
    crfs -v jfs2 -g rootvg -m /test -a size=1G -a ea=v2
    This command creates the /test JFS2 file system on the rootvg volume group with an initial size of 1 gigabyte. The file system will store extended attributes using the v2 format.

Files

Item Description
/etc/filesystems Lists the known file systems and defines their characteristics.