xenial (8) mkfs.ocfs2.8.gz

Provided by: ocfs2-tools_1.6.4-3.1_amd64 bug

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 that will host lots of small files.

                   datafiles
                          Appropriate for file systems that will host a relatively small number  of  very  large
                          files.

                   vmstore
                          Appropriate for file systems that will host Virtual machine images.

       --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.

                   metaecc
                          Enables metadata checksums. With this enabled, the file system computes and stores the
                          checksums in all metadata blocks. It also computes and stores an error correction code
                          capable of fixing single bit errors.

                   refcount
                          Enables creation of reference counted trees. With this enabled, the file system allows
                          users to create inode-based snapshots and clones known as reflinks.

                   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.

                   usrquota
                          Enable user quota support. With this feature enabled, filesystem will track amount  of
                          space  and number of inodes (files, directories, symbolic links) each user owns. It is
                          then possible to limit the maximum amount of space or inodes  user  can  have.  See  a
                          documentation of quota-tools package for more details.

                   grpquota
                          Enable group quota support. With this feature enabled, filesystem will track amount of
                          space and number of inodes (files, directories, symbolic links) each group owns. It is
                          then  possible  to  limit  the  maximum amount of space or inodes user can have. See a
                          documentation of quota-tools package for more details.

                   indexed-dirs
                          Enable directory indexing support. With this feature enabled, the file system  creates
                          indexed  tree for non-inline directory entries. For large scale directories, directory
                          entry lookup perfromance from  the  indexed  tree  is  faster  then  from  the  legacy
                          directory blocks.

                   discontig-bg
                          Enables discontiguous block groups. With this feature enabled, the file system is able
                          to grow the inode and the extent allocators even when  there  is  no  contiguous  free
                          chunk  available.  It  allows  the  file  system  to  grow  the  allocators in smaller
                          (discontiguous) chunks.

       --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  inline-data  and  xattr. It also enables refcount for the
                          vmstore volumes.

                   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.

       -n, --dry-run
              Display the heuristically determined values without overwriting the existing file system.

       -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  it  first  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. Before enabling new features,
       users are advised to review to the section titled feature values.

                        ┌─────────────────┬─────────────────────────┬──────────────────────────┐
                        │FeatureMainline Kernel VersionEnterprise OCFS2 Version │
                        ├─────────────────┼─────────────────────────┼──────────────────────────┤
                        │local            │      Linux 2.6.20       │        OCFS2 1.2         │
                        ├─────────────────┼─────────────────────────┼──────────────────────────┤
                        │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       │        OCFS2 1.6         │
                        ├─────────────────┼─────────────────────────┼──────────────────────────┤
                        │metaecc          │      Linux 2.6.29       │        OCFS2 1.6         │
                        ├─────────────────┼─────────────────────────┼──────────────────────────┤
                        │grpquota         │      Linux 2.6.29       │        OCFS2 1.6         │
                        ├─────────────────┼─────────────────────────┼──────────────────────────┤
                        │usrquota         │      Linux 2.6.29       │        OCFS2 1.6         │
                        ├─────────────────┼─────────────────────────┼──────────────────────────┤
                        │xattr            │      Linux 2.6.29       │        OCFS2 1.6         │
                        ├─────────────────┼─────────────────────────┼──────────────────────────┤
                        │indexed-dirs     │      Linux 2.6.30       │        OCFS2 1.6         │
                        ├─────────────────┼─────────────────────────┼──────────────────────────┤
                        │refcount         │      Linux 2.6.32       │        OCFS2 1.6         │
                        ├─────────────────┼─────────────────────────┼──────────────────────────┤
                        │discontig-bg     │      Linux 2.6.35       │        OCFS2 1.6         │
                        └─────────────────┴─────────────────────────┴──────────────────────────┘

       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

FEATURE VALUES

       This section lists the hex values that are associated with the file system features.  This information is
       useful  when  debugging  mount  failures that are due to feature incompatibility. When a user attempts to
       mount an OCFS2 volume that has features enabled that  are  not  supported  by  the  running  file  system
       software, it will fail with an error like:

       ERROR: couldn't mount because of unsupported optional features (200).

       By  referring  to the table below, it becomes apparent that the user attempted to mount a volume with the
       xattr (extended attributes) feature enabled with a version of the  file  system  software  that  did  not
       support  it.  At  this  stage,  the user has the option of either upgrading the file system software, or,
       disabling that on-disk feature using tunefs.ocfs2.

       Some features allow the file system to be mounted with an older version  of  the  software  provided  the
       mount  is read-only. If a user attempts to mount such a volume in a read-write mode, it will fail with an
       error like:

       ERROR: couldn't mount RDWR because of unsupported optional features (1).

       This error indicates that the volume had the unwritten RO compat feature enabled.   This  volume  can  be
       mounted  by  an  older  file  system software only in the read-only mode.  In this case, the user has the
       option of either mounting the volume with the ro mount option, or, disabling that on-disk  feature  using
       tunefs.ocfs2.

                                      ┌─────────────────┬───────────┬───────────┐
                                      │FeatureCategoryHex value │
                                      ├─────────────────┼───────────┼───────────┤
                                      │local            │ Incompat  │     8     │
                                      ├─────────────────┼───────────┼───────────┤
                                      │sparse           │ Incompat  │    10     │
                                      ├─────────────────┼───────────┼───────────┤
                                      │inline-data      │ Incompat  │    40     │
                                      ├─────────────────┼───────────┼───────────┤
                                      │extended-slotmap │ Incompat  │    100    │
                                      ├─────────────────┼───────────┼───────────┤
                                      │xattr            │ Incompat  │    200    │
                                      ├─────────────────┼───────────┼───────────┤
                                      │indexed-dirs     │ Incompat  │    400    │
                                      ├─────────────────┼───────────┼───────────┤
                                      │metaecc          │ Incompat  │    800    │
                                      ├─────────────────┼───────────┼───────────┤
                                      │refcount         │ Incompat  │   1000    │
                                      ├─────────────────┼───────────┼───────────┤
                                      │discontig-bg     │ Incompat  │   2000    │
                                      ├─────────────────┼───────────┼───────────┤
                                      │unwritten        │ RO Compat │     1     │
                                      ├─────────────────┼───────────┼───────────┤
                                      │usrquota         │ RO Compat │     2     │
                                      ├─────────────────┼───────────┼───────────┤
                                      │grpquota         │ RO Compat │     4     │
                                      └─────────────────┴───────────┴───────────┘

SEE ALSO

       debugfs.ocfs2(8) fsck.ocfs2(8) tunefs.ocfs2(8) mounted.ocfs2(8) ocfs2console(8) o2cb(7)

AUTHORS

       Oracle Corporation

       Copyright © 2004, 2010 Oracle. All rights reserved.