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 put into the /etc/filesystems file.

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

Example:

crfs -a abcd=1G /

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

Note:
  1. The file system is created with the setgid (set group ID) bit enabled. This 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 over an existing logical volume for a jfs2 file system the setgid bit is never set.
  2. For information about creating a filesystem on a striped logical volume, refer to File Systems on Striped Logical Volumes in the mklv documentation.

You can use the File Systems application in Web-based System Manager (wsm) to change file system characteristics. You could 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 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. The default action is to use an existing logging device in the target volume group. Keyword INLINE can be used to place the log in the logical volume with the JFS2 file system. The INLINE log defaults to .4% of the logical volume size if logsize is not specified.
 
-a logsize=Value
Specifies the size for an INLINE log in MBytes. 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 input is ignored if the INLINE log not being used. It cannot be greater than 10% of the size of the file system and it cannot be greater than 2047 MBytes.

 
-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 size=Value
Specifies the size of an Enhanced Journaled File System (JFS2). 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 JFS2 file system unless the -d flag has been specified. If the -d flag is specified, the file system is the size of the logical volume. The volume group in which the file system resides defines a maximum logical volume size and limits the file system size. 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 (TB)
===========================================
512                         4
1024                        8
2048                        16
4096                        32
 
-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).
-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 filesystem 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 and Trusted AIX 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.