Creating the RAID

You can create the RAID with the command

# xicli raid create <args> [optional_args]

For the argument descriptions, see the table below. For recommendations on configuring RAID settings, see the General Configuration Recommendations chapter.

Warning:

Creating xiRAID Classic RAID over xiRAID Classic RAID devices is not allowed. To pool a large number of drives into a single address area, use RAIDs 10, 50, 60, 70.

Minimum number of drives required to create a RAID:

  • of levels 5, 6 – at least 4 drives;
  • of level 7.3 - at least 6 drives;
  • of level 10 – at least 4 drives (the number of drives must be even);
  • of level 0 – at least 1 drive;
  • of level 1 – at least 2 drives;
  • of levels 50, 60 – at least 8 drives (make sure the total drives number is multiple of the --group-size parameter value);
  • of level 70 - at least 12 drives (make sure the total drives number is multiple of the --group-size parameter value);
  • of level N+M – at least 8 drives.

Creating xiRAID RAIDs requires at least 1024 MiB of RAM.

Table 1. Arguments for the create subcommand

Required arguments

-n

--name

The name of the RAID.

The maximum RAID name length is 28 charaters.

-l

--level

The level of the RAID: 0, 1, 5, 6, 7, 10, 50, 60, 70, or nm.
Tip:

Use the value 7 to create RAID 7.3.

-d

--drives

The list of block devices (/dev/sd*, /dev/mapper/mpath*, /dev/nvme*, /dev/dm-*) separated by spaces.

-gs

--group_size

Only for RAIDs 50, 60, or 70.

The number of drives for one RAID group of level 5, 6, or 7.3 of the appropriate RAID 50, 60, or 70.

Possible values are integers from 4 to 32.

-sc

--synd_cnt

Only for RAIDs N+M.

The number of syndromes M.

Possible values are integers from 4 to 32.

Additional conditions: N+M <= 64 and M <= N.

Optional arguments

-am --adaptive_merge

Except RAIDs 0, 1, 10.

Enable (1) or disable (0) the Adaptive Merge write function.
--single_run

Except RAIDs 0, 1, 10.

Use this parameter to adjust the Adaptive Merge values once at startup. After that, the values are set and do not change at system reboot. The Adaptive Merge write function is then turned off.

Does not take any value.

Can only be used with the --adaptive_merge parameter.

-bs

--block_size

RAID block size: 512 or 4096 bytes.

The default: 4096.

-ca --cpu_allowed

Specify the CPUs on which the RAID will be allowed to run.

Possible values: a comma-separated list of CPUs, a range of CPUs indicated by a hyphen, or the value 'all' (the RAID will run on all available CPUs).

The default: all.

-inp

--init_prio

Except RAID 0.

Initialization priority in %.

Possible values are from 0 to 100 (maximum rate of initialization).

The default: 100.

-mwe

--merge_write_enabled

Except RAIDs 0, 1, 10.

Enable (1) or disable (0) the Merge function for write operations.

The default: 0.

-mre --merge_read_enabled

Except RAIDs 0, 1, 10.

Enable (1) or disable (0) the Merge function for read operations.

The default: 0.

-mrm --merge_read_max

Except RAIDs 0, 1, 10.

Maximum wait time (in microseconds) for stripe accumulation with the Merge function enabled for read requests.

Possible values: integers from 1 to 100000.

The default: 1000.

-mrw

--merge_read_wait

Except RAIDs 0, 1, 10.

Wait time (in microseconds) between read requests with the Merge function enabled.

Possible values: integers from 1 to 100000.

The default: 300.

-mwm

--merge_write_max

Except RAIDs 0, 1, 10.

Maximum wait time (in microseconds) for stripe accumulation with the Merge function enabled for write requests.

Possible values: integers from 1 to 100000.

The default: 1000.

-mww --merge_write_wait

Except RAIDs 0, 1, 10.

Wait time (in microseconds) between write requests with the Merge function enabled.

Possible values: integers from 1 to 100000.

The default: 300.

-ml

--memory_limit

RAM usage limit in MiB.

Possible values: 0 and integers from 1024 to 1048576.

The 0 value sets unlimited RAM usage.

The default: 0.

-rcp

--recon_prio

Except RAID 0.

Reconstruction priority in %.

Possible values are from 0 to 100 (maximum rate of reconstruction).

The default: 100.

-re

--resync_enabled

Except RAIDs 0, 1, 10.

Enable (1) or disable (0) the Resync function.

The default: 1.

-rl

--request_limit

Number of simultaneous I/O requests on RAID.

Possible values: from 0 (unlimited) to 4294967295.

The 0 value disables the restriction.

The default: 0.

-rsp

--restripe_prio

Restriping priority in %.

Possible values are from 0 to 100 (maximum rate of restriping).

The default: 100.

-se

--sched_enabled

Enable (1) or disable (0) the scheduling function.

The default: 0.

-sp

--sparepool

Name of the spare pool to assign to the RAID.

-ss

--strip_size

Strip size in KiB.

Possible values: 16, 32, 64, 128, or 256.

The default: 16.

--force_metadata Allow overwriting metadata on disks.
Example: Create the RAID 5 named ”media5” over 4 NVMe drives — ”nvme0n1”, ”nvme1n1”, ”nvme2n1”, ”nvme3n1”, with strip size equal to 64 KiB and enabled Merge function for write operations.
# xicli raid create -n media5 -l 5 -d /dev/nvme0n1 /dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1 -ss 64 -mwe 1