Device initialization options
The disk_init_helper tool is a configuration helper for a StorPool server node; see Using disk_init_helper.
It has two main commands, init and discover.
Here you can find detailed information about the options of this tool.
discover
The discover command helps preparing a configuration file with disks to be later initialized with the init command, with options to filter out disks either by size or other parameters
It has the following format:
disk_init_helper discover [-h] [-q] [-d [DUMP_FILE]]
[--minimum-sata-size MINIMUM_SATA_SIZE] [--minimum-nvme-size MINIMUM_NVME_SIZE]
[--minimum-pmem-size MINIMUM_PMEM_SIZE] [--maximum-sata-size MAXIMUM_SATA_SIZE]
--start START [--nvme-split-size NVME_SPLIT_SIZE]
[--offsets OFFSETS] [--disk-journal-override {njo,sj,None,rj,nj}]
[glob [glob ...]]
Positional arguments
As shown above, you can provide one or more glob overrides.
They are useful when devices are incorrectly detected for any reason as something different than what they are.
For example, if an SSD is incorrectly detected as an HDD due to its rotational property in /sys (for example, because it is behind a RAID controller) it could be overridden to an SSD.
Another useful case for overrides is to exclude (override type as “x”) from the discovery.
Each glob could be specified as a single or more strings (Default: ‘*’).
Each glob is in the form: <main-part>:<type>[:<journal-type>]
<main-part>could be the identifier part of the device as visible in/dev/disk/by-id.For example, a glob matching the full disk name would be (the
:<type>is required when overriding):ata-MICRON_M510DC_MTFDDAK240MBP_1517107FDBA4:sor just part of it:
*1517107FDBA4:sThe above will override the device as “s” or the SSD type (see below for all options).
For cases where multiple devices are of the same type, the following could be used:
*Hitachi*:h:njThis way all disks matching the glob will require an NVMe for their journals.
When overrides are provided, the first matching glob for the disk will be the one used for the overrides, and any further globs will be ignored.
<type>could be one of:sfor an SSD drive overridesjfor an SSD drive ready to be used as a journal drive (unlikely)nfor an NVMe drivenjfor an NVMe drive ready to be used as a journal drivenjofor an NVMe drive that is a journal only (no StorPool disk on it)hfor a hard-disk drive
journal-type(optional) - the type of the journal if necessary (makes sense mostly for HDDs):nj- journal on an NVMe drive - requires at least onenjdevicenjo- journal on an NVMe drive dedicated for writes only - requires at least onenjodevicesj- journal on SSD drive (unusual, but useful for testing); requires at least onesjdevicerj- journal device on a write backed VD behind a RAID controller
Optional arguments
- -d DUMP_FILE, --dump-file DUMP_FILE
Dump prepared configuration in this file (Default: None, will just show discovered disks).
- --disk-journal-override OVERRIDE
Override the journal type for all discovered disks; values
njo,sj,None,rj,njare described above. Default: None; auto detection is performed in the following order: Optane, any other NVMe, no journal. Note that this override does not take precedence over matching glob journal overrides.- -h, --help
Show this help message and exit.
- --minimum-sata-size MINIMUM_SATA_SIZE
Narrow the search for SATA drives larger than this size (Default: 400GB).
- --minimum-nvme-size MINIMUM_NVME_SIZE
Narrow the search for NVMe drives larger than this size (Default: 90GB).
- --minimum-pmem-size MINIMUM_PMEM_SIZE
Narrow the search for Persistent memory NVMe larger than this size (Default: 1GB).
- --maximum-sata-size MAXIMUM_SATA_SIZE
Narrow the search for SATA drives lower than this max size (Default: 8TB).
- --nvme-split-size NVME_SPLIT_SIZE
Drives larger than this size will be split into a
size/nvme-split-size numberof partitions (Default: 4398046511104).- --offsets OFFSETS
Offsets for SSDs, NVMes and HDDs StorPool disk IDs (defaults: 0,0,20).
- -q, --quiet
Includes debug messages on
stderrwhere applicable.- --start START
Staring StorPool disk ID for this node (for example 101).
Depending on the selected
--offsetsand number of disks, different disks will be added with different IDs starting with this one. Default example will result in 101 for the first SSD, 111 for the first NVMe, 131 for the first HDD, and so on. In case of more than 10 disks of each type the numbers will be bumped with 10 for each next type in this exact sequence - SSD/NVMe/HDD.
init
The init command is used for initializing multiple disks with inter-related journals.
It has the following format:
disk_init_helper init [-h] [-q] [-e] [-i] [-b]
[--ssd-args SSD_ARGS] [--hdd-args HDD_ARGS]
[--wipe-new-partitions] [--gen-nvme-pci-ids]
read_dump
Positional arguments
- read_dump
Read JSON data from this file (Default: None)
Optional arguments
- -b, --batch
Batch mode: if any of the disks is already initialized, just checks all parameters, and skips all disks already added/validated (Default: False).
- -e, --exec
The tool just shows what will be executed by default. This option instructs it to perform what was shown (Default: False).
- --gen-nvme-pci-ids
Generate the now deprecated
SP_NVME_PCI_IDaddresses so that the earliest production release could be tested with nodes equipped with NVME devices.- -h, --help
Show this help message and exit.
- --hdd-args HDD_ARGS
Additional list of space separated arguments for
storpool_initdiskfor all HDD disks (Default: None).- -i, --init
Whether to add -I to the first
storpool_initdisk(Default: False).- -q, --quiet
Includes debug messages on
stderrwhere applicable.- --ssd-args SSD_ARGS
Additional list of space separated arguments for
storpool_initdiskfor all flash disks (Default: None).- --wipe-new-partitions
Wipe each new partition with
sgdisk -zin order to cleanup any old data (Default: False).Warning
The
wipe-new-partitionsoption is DANGEROUS.