NAME
mkfs.ocfs2 - Creates an OCFS2 file system.
SYNOPSIS
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]
DESCRIPTION
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.
OPTIONS
-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:
size=journal-size
Create a journal of size journal-size. Minimum size
is 4M. If omitted, a value is heuristically
determined based upon the file system size.
block32
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.
block64
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:
mail Appropriate for file systems which will have many
meta data updates. Creates a larger journal.
datafiles
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.
--fs-features=[no]sparse...
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:
backup-super
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.
local Create the file system as a local mount, so that it
can be mounted without a cluster stack.
sparse 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.
unwritten
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.
inline-data
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.
extended-slotmap
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.
xattr 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.
--fs-feature-level=feature-level
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:
max-compat
Chooses fewer features but ensures that the file
system can be mounted from older versions of the
OCFS2 module.
default
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.
max-features
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.
--no-backup-super
This option is deprecated, please use --fs-features=nobackup-
super instead.
-q, --quiet
Quiet mode.
-v, --verbose
Verbose mode.
-V, --version
Print version and exit.
blocks-count
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.
FEATURE COMPATIBILITY
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@node ~]# tunefs.ocfs2 -Q "Label: %V\nFeatures: %H %O\n" /dev/sdg1
Label: apache_files_10
Features: sparse inline-data unwritten
SEE ALSO
debugfs.ocfs2(8) fsck.ocfs2(8) tunefs.ocfs2(8) mounted.ocfs2(8)
ocfs2console(8) o2cb(7)
AUTHORS
Oracle Corporation
COPYRIGHT
Copyright © 2004, 2009 Oracle. All rights reserved.