When compute nodes are booted, the Scalable Boot Projection Service (SBPS)
projects the root file system (rootfs
) over the network to the compute nodes using iSCSI.
This page covers the necessary configuration of a BOS session template in order to use SBPS.
rootfs_provider
parameterrootfs_provider_passthrough
parameter
root=
kernel parameterThe Scalable Boot Projection Service (SBPS) is the default provider for the rootfs
on compute nodes.
Two parameters need to be set to configure SBPS, the rootfs_provider
and the rootfs_provider_passthrough
.
rootfs_provider
parameterIn the boot set of the session template, the rootfs_provider
field must be set to sbps
in order to make SBPS the rootfs
provider.
rootfs_provider_passthrough
parameterIn a BOS session template, the rootfs_provider_passthrough
parameter should be set to the following string.
sbps:v1:iqn.2023-06.csm.iscsi:_sbps-hsn._tcp.my-system.my-site-domain:300
The two parameters/strings that need to be customized are ‘my-system’ and ‘my-site-domain’.
(ncn-mw#
) Use the following commands to find the values for these parameters/strings.
Parameter | Command |
---|---|
my-system |
craysys metadata get system-name |
my-site-domain |
craysys metadata get site-domain |
Note: These two elements should be joined with a ‘.’ in the rootfs_provider_passthrough
string.
<my-system>.<my-site-domain>
Here is a detailed explanation of each of the elements of the rootfs_provider_passthrough
parameter.
For SBPS, the rootfs_provider_passthrough
string should adhere to this format:
<transport>:<schema version>:<IQN Domain>:<DNS SRV record>:<client discovery timeout in seconds>:<ramroot>
Here is an example string for reference.
sbps:v1:iqn.2023-06.csm.iscsi:_sbps-hsn._tcp.my-system.my-site-domain:300
The variables used in this parameter represent the following:
<transport>
File system network transport. For example, sbps
or dvs
.
Set to sbps
to use SBPS.
<schema version>
The version of the SBPS schema. v1
is the only supported version.
<IQN Domain>
The domain name portion of the iSCSI Qualified Name (IQN).
For example, an IQN might look like this:
iqn.2023-06.csm.iscsi:ncn-w002
In this example:
iqn.2023-06.csm.iscsi
is the IQN domain.ncn-w002
is a unique identifier (e.g. hostname) of the target storage device.The IQN domain helps in ensuring unique identification of iSCSI targets within a given namespace, allowing for proper routing and management of storage resources over the network
For SBPS, only the domain portion of the IQN needs to be supplied, not the entire IQN. The target storage device is optional does not need to be specified.
<DNS Service (SRV) record reference>
A DNS SRV (Service) record is a type of Domain Name System (DNS) resource record used to specify information about services offered by a particular domain.
A DNS SRV record is structured as follows:
<service>.<protocol>.<domain name>
For example, DNS SRV record might look like this:
_sbps-hsn._tcp.my-system.my-site-domain
The following is an explanation of the values used in this example:
_sbps-hsn
is the symbolic name of the service.
_tcp
is the transport protocol.my-system.my-site-domain
is the domain name for which the record is valid.
my-system
and the site domain name my-site-domain
.To use the Node Management Network (NMN) for content projection, the service is set to _sbps-nmn
.
"rootfs_provider_passthrough"
: Set to "sbps:v1:iqn.2023-06.csm.iscsi:_sbps-nmn._tcp.my-system.my-site-domain:300"
To use the High Speed Network (HSN) for content projection, the service is set to _sbps-hsn
.
"rootfs_provider_passthrough"
: Set to "sbps:v1:iqn.2023-06.csm.iscsi:_sbps-hsn._tcp.my-system.my-site-domain:300"
Reminder: The DNS SRV record should contain the system’s actual DNS domain.
In this example, the system-name
is my-system
and the site domain name is my-site-domain
. These need to be
replaced with the system’s actual system name and site DNS Domain. Refer to the previous instructions to determine the system-name and site-domain.
<client discovery timeout in seconds>
The timeout, in seconds, for attempting to mount the rootfs
via SBPS.
This can be left as an empty string to use the default value of 300 seconds.
<ramroot>
Indicates that the specified S3 path should be copied to RAM (tmpfs
) and mounted locally instead of persisting as a remote file system mount.
This can be left empty. Any string except "0"
is interpreted as true. The example above does specify a value for the ramroot.
rootfs_provider_passthrough
Here is the example once again.
sbps:v1:iqn.2023-06.csm.iscsi:_sbps-hsn._tcp.my-system.my-site-domain:300
The following is an example of an input file to use with the Cray CLI:
{
"enable_cfs": true,
"description": "Template for booting compute nodes, generated by the installation",
"boot_sets": {
"computes": {
"rootfs_provider": "sbps",
"rootfs_provider_passthrough": "sbps:v1:iqn.2023-06.csm.iscsi:_sbps-hsn._tcp.my-system.my-site-domain:300",
"kernel_parameters":"ip=dhcp quiet spire_join_token=${SPIRE_JOIN_TOKEN}",
"node_roles_groups": [
"Compute"
],
"type": "s3",
"path": "s3://boot-images/ef97d3c4-6f10-4d58-b4aa-7b70fcaf41ba/manifest.json",
"etag": "b0ace28163302e18b68cf04dd64f2e01"
}
},
"cfs": {
"configuration": "compute-configuration"
}
}
Refer to Manage a Session Template for more information about creating a session template.
root=
kernel parameterThis section supplies additional information about how BOS constructs the root=
kernel parameter. This section does not require any
action to be taken. It is merely supplemental information.
BOS will construct the root=
kernel parameter, which will be used by the node when it boots, based on the rootfs_provider
and rootfs_provider_passthrough
values.
For SBPS, BOS supplies a protocol sbps-s3
, the S3 path to the rootfs
, and the etag
value (if it exists).
The rest of the parameters are supplied from the rootfs_provider_passthrough
values as specified above.
BOS will construct it in the following format:
root=sbps-s3:s3-path:<etag>:<transport>:<schema version>:<IQN Domain>:<DNS SRV record reference>:<client discovery timeout in seconds>:<ramroot>
root=sbps-s3:s3://boot-images/4fab0408-0bfe-4668-b957-964f8ff0e4e9/rootfs:b6ea7a2314d54dead0c94223863b3488-1977:sbps:v1:iqn.2023-06.csm.iscsi:_sbps-hsn._tcp.my-system.my-site-domain:30
0```