mkfs.ocfs2 - Creates an OCFS2 file system.
mkfs.ocfs2 [-b block-size] [-C cluster-size] [-L volume-label] [-M mount-type] [-N number-of-nodes] [-J journal-options] [--fs-features=[no]sparse...] [--fs-feature-level=feature-level] [-T filesystem-type] [-FqvV] device [blocks-count]
mkfs.ocfs2 is used to create an OCFS2 file system on a device,
usually a partition on a shared disk. In order to prevent data loss,
mkfs.ocfs2 will not format an existing OCFS2 volume if it
detects that it is mounted on another node in the cluster. This tool
requires the cluster service to be online.
- -b, --block-size block-size
Valid block size values are 512, 1K, 2K and 4K bytes per block. If
omitted, a value will be heuristically determined based on the
expected usage of the file system (see the -T option). A block
size of 512 bytes is never recommended. Choose 1K, 2K or 4K.
- -C, --cluster-size cluster-size
Valid cluster size values are 4K, 8K, 16K, 32K, 64K, 128K, 256K, 512K
and 1M. If omitted, a value will be heuristically determined based on
the expected usage of the file system (see the -T option). For
volumes expected to store large files, like database files, while a
cluster size of 128K or more is recommended, one can opt for a smaller
size as long as that value is not smaller than the database block size.
For others, use 4K.
- -F, --force
For existing OCFS2 volumes, mkfs.ocfs2 ensures the volume
is not mounted on any node in the cluster before formatting. For that to
work, mkfs.ocfs2 expects the cluster service to be online.
Specify this option to disable this check.
- -J, --journal-options options
Create the journal using options specified on the command-line. Journal
options are comma separated, and may take an argument using the equals
('=') sign. The following options are supported:
Create a journal of size journal-size. Minimum size is 4M.
If omitted, a value is heuristically determined based upon the file system size.
Use a standard 32bit journal. The journal will be able to access up to
2^32-1 blocks. This is the default. It has been the journal format for
OCFS2 volumes since the beginning. The journal is compatible with
all versions of OCFS2. Prepending no is equivalent to the
block64 journal option.
Use a 64bit journal. The journal will be able to access up to 2^64-1
blocks. This allows large filesystems that can extend to the
theoretical limits of OCFS2. It requires a new-enough filesystem
driver that uses the new journalled block device, JBD2. Prepending
no is equivalent to the block32 journal option.
- -L, --label volume-label
Set the volume label for the file system. This is
useful for mounting-by-label. Limit the label to under 64 bytes.
- -M, --mount mount-type
Valid types are local and cluster. Local mount allows users
to mount the volume without the cluster overhead and works only with OCFS2
bundled with Linux kernels 2.6.20 or later. Defaults to cluster.
- -N, --node-slots number-of-node-slots
Valid number ranges from 1 to 255. This number specifies the maximum
number of nodes that can concurrently mount the partition. If omitted,
the number defaults to 8. The number of slots can be later tuned up or
down using tunefs.ocfs2.
- -T filesystem-type
Specify how the filesystem is going to be used, so that mkfs.ocfs2 can
chose optimal filesystem parameters for that use. The supported
filesystem types are:
Appropriate for file systems which will have many meta data
updates. Creates a larger journal.
Appropriate for file systems which will host a relatively small number
of very large files. A small journal is selected. Cluster size will be
at least 128K.
Turn specific file system features on or off. A comma separated list of feature flags can be provided, and mkfs.ocfs2 will try to create the file system with those features set according to the list. To turn a feature on, include it in the list. To turn a feature off, prepend no to the name. Choices here will override individual features set via the --fs-feature-level option. Refer to the section titled feature compatibility before selecting specific features. The following flags are supported:
mkfs.ocfs2, by default, makes up to 6 backup copies of the super block at offsets 1G, 4G, 16G, 64G, 256G and 1T depending on the size of the volume. This can be useful in disaster recovery. This feature is fully compatible with all versions of the file system and generally should not be disabled.
Create the file system as a local mount, so that it can be mounted without a cluster stack.
Enable support for sparse files. With this, OCFS2 can avoid allocating (and zeroing) data to fill holes. Turn this feature on if you can, otherwise extends and some writes might be less performant.
Enable unwritten extents support. With this turned on, an application can request that a range of clusters be pre-allocated within a file. OCFS2 will mark those extents with a special flag so that expensive data zeroing doesn't have to be performed. Reads and writes to a pre-allocated region act as reads and writes to a hole, except a write will not fail due to lack of data allocation. This feature requires sparse file support to be turned on.
Enable inline-data support. If this feature is turned on, OCFS2 will store small files and directories inside the inode block. Data is transparently moved out to an extent when it no longer fits inside the inode block. In some cases, this can also make a positive impact on cold-cache directory and file operations.
The slot-map is a hidden file on an OCFS2 fs which is used to map mounted nodes to system file resources. The extended slot map allows a larger range of possible node numbers, which is useful for userspace cluster stacks. This feature is automatically turned on when needed, thus users have no need to turn this on manually.
Enable extended attributes support. With this enabled, users can attach name:value pairs to objects
within the file system. In OCFS2, the names can be upto 255 bytes in length, terminated by the first
NUL byte. While it is not required, printable names (ASCII) are recommended. The values can be upto 64KB of
arbitrary binary data. Attributes can be attached to all types of inodes: regular files, directories,
symbolic links, device nodes, etc. This feature is required for users wanting to use extended security
facilities like POSIX ACLs or SELinux.
Choose from a set of pre-determined file-system features. This option is designed to allow users to conveniently choose a set of file system features which fits their needs. There is no downside to trying a set of features which your module might not support - if it won't mount the new file system simply reformat at a lower level. Feature levels can be fine-tuned via the --fs-features option. Currently, there are 3 types of feature levels:
Chooses fewer features but ensures that the file system can be mounted from older versions of the OCFS2 module.
The default feature set tries to strike a balance between providing new features and maintaining compatibility with relatively recent versions of OCFS2. It currently enables sparse, unwritten and inline-data.
Choose the maximum amount of features available. This will typically provide the best performance from OCFS2 at the expense of creating a file system that is only compatible with very recent versions of the OCFS2 kernel module.
This option is deprecated, please use --fs-features=nobackup-super instead.
- -q, --quiet
- -v, --verbose
- -V, --version
Print version and exit.
Usually mkfs.ocfs2 automatically determines the size of the given device
and creates a file system that uses all of the available space on the
device. This optional argument specifies that the file system should only
consume the given number of file system blocks (see -b) on the device.
This section lists the file system features that have been added to the OCFS2
file system and the version that each appeared in. The table below lists the versions
of the mainline Linux kernel and that of the file system for the Enterprise Linux
Distributions. Users should use this information to enable only those features that
are available in the file system that they are using.
|Feature||Mainline Kernel Version||Enterprise OCFS2 Version|
|block64||Linux 2.6.29||Not available as yet|
|local||Linux 2.6.20||OCFS2 1.2 and 1.4|
|sparse||Linux 2.6.22||OCFS2 1.4|
|unwritten||Linux 2.6.23||OCFS2 1.4|
|inline-data||Linux 2.6.24||OCFS2 1.4|
|extended-slotmap||Linux 2.6.27||Not available as yet|
|xattr||Linux 2.6.29||Not available as yet|
Users can query the features enabled in the file system as follows:
[root@node1">root@node1 ~]# tunefs.ocfs2 -Q "Label: %V\nFeatures: %H %O\n" /dev/sdg1
Features: sparse inline-data unwritten
Copyright © 2004, 2009 Oracle. All rights reserved.
- FEATURE COMPATIBILITY
- SEE ALSO