storage_config.yml Reference¶
File path: /opt/omnia/input/project_default/storage_config.yml
This file configures shared storage for the cluster, including NFS mounts, Dell PowerScale/PowerVault and swap configuration.
Mounts Configuration¶
|
Parameter |
Details |
|---|---|
|
mounts list / elements=dict |
Cloud-init compatible mount configurations. Source must be known at boot time. |
|
name string / required |
Unique identifier for this mount entry |
|
source string / required |
Device name or network path (e.g., /dev/sdc, UUID=xxx, 192.168.1.100:/export/share, powervault:<name>) |
|
mount_point string / required |
Mount point path |
|
fs_type string |
Filesystem type. Overrides mount_params profile when specified. Default: |
|
mnt_opts string |
Mount options. Overrides mount_params profile when specified. |
|
dump_freq string |
Dump frequency (usually 0). Overrides mount_params profile when specified. Default: |
|
fsck_pass string |
Fsck pass number (usually 0 or 2). Overrides mount_params profile when specified. Default: |
|
mount_params string |
Named profile key from mount_params section. Must reference an existing profile defined in mount_params. |
|
mount_on_oim boolean |
Whether to mount this filesystem on the OIM node. Default: false. Ensure the storage system is accessible to OIM Default: |
|
node_key string |
Directory name to be created under mount_point. cloud-init datasource variable accessible via 'cloud-init query <var_name>' (e.g., local_hostname, ds.meta_data.instance_data.local_ipv4). Optional Default: |
|
node_mount_point list / elements=string |
List of bind mount target paths. Required when node_key is set. |
|
functional_group_prefix list / elements=string |
List of oChaMI functional group prefixes to apply this mount to. Mutually exclusive with group. |
|
groups list / elements=string |
List of GROUP_NAME values from pxe_mapping_file.csv. Mutually exclusive with functional_group_prefix. |
|
permissions dict |
Directory ownership and mode applied to mount_point after mount (chown + chmod via runcmd) |
|
owner string |
User owner of the mount point (name or numeric UID) Default: |
|
group string |
Group owner of the mount point (name or numeric GID) Default: |
|
mode string |
Octal permission mode (e.g., 0755, 1777) Default: |
Mount_params Configuration¶
|
Parameter |
Details |
|---|---|
|
mount_params dict |
Named mount parameter profiles. Each profile provides defaults for fs_type, mnt_opts, dump_freq, fsck_pass. Custom fields are allowed for backend-specific metadata. |
|
<mount_params_key> dict |
Dynamic key matching pattern: |
|
fs_type string / required |
Default filesystem type |
|
mnt_opts string / required |
Default mount options |
|
dump_freq string |
Default dump frequency |
|
fsck_pass string |
Default fsck pass number |
PowerVault Configuration¶
|
Parameter |
Details |
|---|---|
|
powervault_config list / elements=dict |
List of PowerVault iSCSI volume connection definitions. Processed via runcmd script because device path is only known after iSCSI login + multipath scan. |
|
name string / required |
Unique identifier for this PowerVault volume |
|
ip list / elements=string / required |
List of target controller IP addresses for iSCSI discovery |
|
port integer |
TCP port for iSCSI target (default 3260) Range: 1-65535. |
|
iscsi_initiator string / required |
iSCSI initiator IQN |
|
volume_id string / required |
Volume identifier (hex string / WWN) for multipath device matching |
|
mount_point string / required |
Where the discovered device gets mounted |
|
fs_type string |
Filesystem type. Overrides mount_params profile when specified. Default: |
|
mnt_opts string |
Mount options. Overrides mount_params profile when specified. |
|
dump_freq string |
Dump frequency (usually 0). Overrides mount_params profile when specified. Default: |
|
fsck_pass string |
Fsck pass number (usually 0 or 2). Overrides mount_params profile when specified. Default: |
|
mount_params string |
Named profile key from mount_params section. Must reference an existing profile defined in mount_params. |
|
node_key string |
cloud_init variable for per-node bind mounts (e.g., local_hostname, ds.meta_data.instance_data.local_ipv4). When present, generates bind mounts under mount_point/<node_key_value>/ Default: |
|
node_mount_point list / elements=string |
List of bind mount target paths. Required when node_key is set. Each gets: mount_point/<node_key_value>/<target_stripped_slash> -> <target> |
|
functional_group_prefix list / elements=string / required |
List of functional group prefixes for node targeting. Mutually exclusive with group. |
|
permissions dict |
Directory ownership and mode applied to mount_point after mount (chown + chmod via runcmd) |
|
owner string |
User owner of the mount point (name or numeric UID) Default: |
|
group string |
Group owner of the mount point (name or numeric GID) Default: |
|
mode string |
Octal permission mode (e.g., 0755, 1777) Default: |
Swap Configuration¶
|
Parameter |
Details |
|---|---|
|
swap list / elements=dict |
Swap file configurations |
|
filename string / required |
Path to the swap file to create |
|
size string / required |
Size in bytes, 'auto', or human-readable format (e.g., 2G, 512M) |
|
maxsize string |
Maximum size (used with size: auto) |
|
functional_group_prefix list / elements=string / required |
List of oChaMI functional group prefixes to apply this swap to. Mutually exclusive with group. |
S3 Configuration¶
|
Parameter |
Details |
|---|---|
|
s3_configurations dict / required |
S3-compatible storage configuration for OpenCHAMI image repository. |
|
provider string / required |
S3 storage provider: 'powerscale' (Dell PowerScale) or 'minio' (local MinIO container) Default: |
|
endpoint_url string |
S3 endpoint URL. Required for powerscale (e.g., https://10.43.1.11:9021). Leave empty for minio. |
Usage example¶
---
mounts:
- name: "nfs_slurm"
source: "172.16.107.168:/mnt/share/omnia"
mount_point: "/share_omnia"
fs_type: "nfs"
mnt_opts: "nosuid,rw,sync,hard,intr"
mount_on_oim: true
functional_group_prefix: ["slurm", "login"]
- name: "nfs_k8s"
source: "172.16.107.121:/mnt/share/omnia_k8s"
mount_point: "/opt/omnia/k8s_mount"
fs_type: "nfs"
mnt_opts: "nosuid,rw,sync,hard,intr"
mount_on_oim: true
functional_group_prefix: ["service_kube"]
- name: "vast_storage"
source: "172.16.107.77:/share/vast"
mount_point: "/mnt/vast"
mount_params: "vast_rdma"
mount_on_oim: true
functional_group_prefix: ["slurm_node", "login"]
mount_params:
# Default NFS mount
nfs_default:
fs_type: "nfs"
mnt_opts: "nosuid,rw,sync,hard"
dump_freq: "0"
fsck_pass: "0"
# VAST NFS RDMA storage over IB - standard configuration
vast_rdma:
fs_type: "nfs"
mnt_opts: "proto=rdma,nconnect=8,timeo=600,retrans=2,rsize=1048576,wsize=1048576,hard"
vast_tcp:
fs_type: "nfs"
mnt_opts: "nosuid,rw,sync,hard"
powervault_config:
- name: powervault1
ip:
- 172.1.2.3
port: 3260
iscsi_initiator: iqn.2025-01.com.dell:scontrol-node
volume_id: 00c0ff4343f1f1f1001c8c4e6901000000
# mount params
mount_point: "/mnt/slurm"
mount_params: "powervault_iscsi"
node_key: "local_hostname" # per_node_id,node_subdir_key
node_mount_point: # bind_paths, sub_mounts
- "/var/lib/mysql" # /mnt/slurm/<local_hostname>/var/lib/mysql
- "/var/spool/slurm" # /mnt/slurm/<local_hostname>/var/spool/slurm
functional_group_prefix: ["slurm_control_node"]
permissions:
owner: "slurm"
group: "slurm"
mode: "0750"
swap:
- name: "compute_swap"
filename: "/swapfile"
size: "2G"
maxsize: "4G"
functional_group_prefix: ["slurm_node"]
s3_configurations:
provider: "powerscale"
endpoint_url: ""
Info
- Configure Mounts -- Detailed how-to for mounts, mount_params, PowerVault, and swap.
- Storage -- Supported storage platforms.
- Disk Space -- Disk space requirements.