Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Some Swarm configuration settings are site-specific and related to:
DNS settings Settings - These are required for DHCP configuration.Administrative username and password - SCS does not accept any unauthenticated commands once the administrator username and password are set.
Disk encryption settings Encryption Settings - These settings are related to “Encryption at Rest” and should be skipped unless specified by DataCore Support.
...
Finalize Configuration Settings
...
Info
This process is interrupted to allow scsctl
to be configured with the administrative username and password for future interactions with SCS once the administrative username and password are set. To perform this configuration run:
scsctl auth login --user [administrative user name]
This command securely prompts the administrative password and authenticates to SCS. Re-run the configuration scan command to resume once the CLI is logged in:
scsctl diagnostics config scan_missing
Finalize configuration settings
Note
Input characters such as ‘admin.userName’, ‘admin.password’, ‘encryptionKeys’ are hidden when configuring Swarm settings. Best practice is to copy and paste inputs from a raw text editor to prevent any transcription or transposition errors.
Run
Code Block |
---|
scsctl diagnostics config scan_missing |
...
language | bash |
---|
Note
Input characters such as encryptionKeys
are hidden when configuring Swarm settings. The best practice is to copy and paste inputs from a raw text editor to prevent any transcription or transposition errors.
Run
Code Block scsctl diagnostics config scan_missing
Code Block language bash ======================================================================================================
...
Component: network_boot ---------------------------------------------- Name: network.dnsServers Type: array[str] Description: Required. DNS servers to be used. ---------------------------------------------- Component Group: network_boot/192.168.9.0x24.network_boot.scs-lab1.datacore.internal [DEFAULT GROUP] Instances cannot currently inherit these from the group (since they have not been defined at the group level), so these settings must instead be defined for each instance! If any new instances are added, please define these settings, or define them at the group level to apply to all instances. Best practice is to define them at the group level if possible.
...
Click ‘Enter‘ to apply the settings when prompted for the DNS servers.
Code Block language bash ---------------------------------------------- Name: network.dnsServers Type: array[str] Description: Required. DNS servers to be used. ---------------------------------------------- Missing setting: network_boot/network.dnsServers Where would you like to update this setting? > As a default at group level For each instance in the group Skip this setting for now
Provide the DNS servers.
Code Block language bash ---------------------------------------------- Name: network.dnsServers Type: array[str] Description: Required. DNS servers to be used. ---------------------------------------------- Missing setting: network_boot/network.dnsServers network.dnsServers [type: array[str]] (Required. DNS servers to be used.): 172.16.33.4,172.16.33.5 ====================================================================================================== Component: platform ------------------------------------------------------------------------------------------------------ Name: admin.password Type: str Description: Administrative user password ------------------------------------------------------------------------------------------------------ Name: admin.userName Type: str Description: Administrative user name ------------------------------------------------------------------------------------------------------ Name: logging.syslogHost Type: str Description: If defined, then the host that component instances should use for syslog logging. ------------------------------------------------------------------------------------------------------ Name: network.dnsDomain Type: str Description: Required. The DNS domain name that will be used. ------------------------------------------------------------------------------------------------------ Name: network.ntpServers Type: array[str] Description: Required. The IP address(es) of one or more NTP servers. If the nodes cannot access public NTP servers, they will time out waiting for a connection and automatically restart. Only use trusted NTP servers, whether they are dedicated hardware solutions in your internal network or external, public servers that the nodes can access over the network. ------------------------------------------------------------------------------------------------------ Component Group: platform/global.platform.scs-lab1.datacore.internal [DEFAULT GROUP] Instances cannot currently inherit these from the group (since they have not been defined at the group level), so these settings must instead be defined for each instance! If any new instances are added, please define these settings, or define them at the group level to apply to all instances. Best practice is to define them at the group level if possible. ------------------------------------------------------------- Name:
...
network.
...
dnsDomain Type: str Description:
...
Required. The DNS domain name that will be used. -------------------------------------------------------------
...
Click ‘Enter‘ to apply at the group level when prompted for the DNS domain.
Code Block language bash ------------------------------------------------------------- Name: network.dnsDomain Type: str Description: Required. The DNS domain name that will be used. -------------------------------------------------------------
...
Press ‘Enter’ to apply the password at the group level when prompted for the administrative password.
...
language | bash |
---|
...
Missing setting: platform/
...
network.
...
dnsDomain Where would you like to update this setting? > As a default at group level For each instance in the group Skip this setting for
...
now
...
Enter the administrator password (e.g., datacore
). The input characters are hidden for the password.
Code Block |
---|
Missing setting: platform/admin.password
admin.password [type: str ***SECURE***] (Administrative user password):
Please re-enter to confirm:
|
Press ‘Enter‘ to apply the user name at the group level when prompted for the administrative user name.
...
language | bash |
---|
Set the DNS domain.
Code Block language bash ------------------------------------------------------------- Name: network.dnsDomain Type: str Description: Required. The DNS domain name that will be used. ------------------------------------------------------------- Missing setting: platform/
...
network.
...
dnsDomain
...
Enter the administrator username (e.g., dcadmin
). The input characters are hidden for the administrator username.
Code Block | ||
---|---|---|
| ||
Missing setting: platform/admin.userName
admin.userName [type: str ***SECURE***] (Administrative user name):
Please re-enter to confirm:
Authentication state may have changed in the API!
Please log in, then re-run this command to resume:
> scsctl auth login --user "{administrative user name}"
> scsctl diagnostics config scan_missing |
...
At this point the SCS API is locked and all requests must be authenticated. Log in to SCS CLI via scsctl auth login --user [administrative user name]
. The below example uses the sample administrative user name from above. The input characters are hidden.
Code Block | ||
---|---|---|
| ||
[root@zorc Platform]# scsctl auth login --user dcadmin
Enter password for user "dcadmin":
Logged in |
Continue finalizing configuration settings using scsctl diagnostics config scan_missing
command once logged in.
Code Block |
---|
scsctl diagnostics config scan_missing |
...
network.dnsDomain [type: str] (Required. The DNS domain name that will be used.): datacore.internal ====================================================================================================== Component: storage ------------------------------------------------------------------------------------------------------ Name: disk.encryptionKeyPrimary Type: str Description: The mnemonic name of the encryption key to use for encrypting new Swarm volumes. Do not use quotes. For this key to be used, disk.encryptNewVolumes must be set to True. ------------------------------------------------
...
----------------------------------------------
...
-------- Name: disk.encryptionKeys Type: dict[str,str] Description: A comma-separated list of mnemonic name and encryption key pairs, used for accessing encrypted Swarm volumes. ------------------------------------------------------------------------------------------------------
...
Name: support.proxyPassword Type: str Description:
...
Proxy authentication
...
password
...
------------------------------------------------------------------------------------------------------
...
Component Group: storage/objstor.scs-lab1.datacore.internal [DEFAULT GROUP] Instances cannot currently inherit these from the group (since they have not been defined at the group level), so these settings must instead be defined for each instance! If any new instances are added, please define these settings, or define them at the group level to apply to all instances. Best practice is to define them at the group level if possible. ------------------------------------------------------------------------------------------------------
...
Name:
...
disk.
...
encryptionKeyPrimary Type: str
...
Description:
...
The mnemonic name of the encryption key to use for encrypting new Swarm volumes. Do not use quotes. For this key to be used, disk.encryptNewVolumes must be set to True. ------------------------------------------------------------------------------------------------------
...
Name:
...
disk.
...
encryptionKeys Type:
...
dict[str,str]
...
Description:
...
A comma-separated list of mnemonic name and encryption key pairs, used for accessing encrypted Swarm volumes. ------------------------------------------------------------------------------------------------------
...
Press ‘Enter‘ to apply it at the group level when prompted for the DNS domain.
...
language | bash |
---|
...
Name: support.proxyPassword Type: str Description: Proxy authentication password ---------------------------------------------------------------------------------------------
...
Set the DNS domain.
Code Block | ||
---|---|---|
| ||
-------------------------------------------------------------
Name: network.dnsDomain
Type: str
Description: Required. The DNS domain name that will be used.
-------------------------------------------------------------
Missing setting: platform/network.dnsDomain
network.dnsDomain [type: str] (Required. The DNS domain name that will be used.):
datacore.internal
======================================================================================================
Component: storage
------------------------------------------------------------------------------------------------------
Name: disk.encryptionKeyPrimary
Type: str
Description: The mnemonic name of the encryption key to use for encrypting new Swarm volumes. Do not use quotes. For this key to be used, disk.encryptNewVolumes must be set to True.
------------------------------------------------------------------------------------------------------
Name: disk.encryptionKeys
Type: dict[str,str]
Description: A comma-separated list of mnemonic name and encryption key pairs, used for accessing encrypted Swarm volumes.
------------------------------------------------------------------------------------------------------
Name: support.proxyPassword
Type: str
Description: Proxy authentication password
------------------------------------------------------------------------------------------------------
Component Group: storage/objstor.scs-lab1.datacore.internal [DEFAULT GROUP]
Instances cannot currently inherit these from the group (since they have not been defined at the group level), so these settings must instead be defined for each instance!
If any new instances are added, please define these settings, or define them at the group level to apply to all instances. Best practice is to define them at the group level if possible.
------------------------------------------------------------------------------------------------------
Name: disk.encryptionKeyPrimary
Type: str
Description: The mnemonic name of the encryption key to use for encrypting new Swarm volumes. Do not use quotes. For this key to be used, disk.encryptNewVolumes must be set to True.
------------------------------------------------------------------------------------------------------
Name: disk.encryptionKeys
Type: dict[str,str]
Description: A comma-separated list of mnemonic name and encryption key pairs, used for accessing encrypted Swarm volumes.
------------------------------------------------------------------------------------------------------
Name: support.proxyPassword
Type: str
Description: Proxy authentication password
------------------------------------------------------------------------------------------------------ |
...
Select Skip this setting for now and press ‘Enter‘.
Code Block |
---|
Missing setting: storage/disk.encryptionKeyPrimary
Where would you like to update this setting?
As a default at group level
For each instance in the group
> Skip this setting for now |
...
The support proxy password applies if an HTTP proxy is needed for automatic health report submission. Select As a default at group level now and press ‘Enter‘.
Code Block | ||
---|---|---|
| ||
Missing setting: storage/support.proxyPassword
Where would you like to update this setting?
> As a default at group level
For each instance in the group
Skip this setting for now |
...
Enter Proxy Password (e.g., datacore
). The input characters are hidden for the password.
Code Block |
---|
Missing setting: storage/support.proxyPassword
support.proxyPassword [type: str ***SECURE***] (Proxy authentication password):
Please re-enter to confirm:
|
...
---------
Notes on Administrative User Name
If SCS is being installed with an existing Swarm storage cluster, then care must be taken to ensure that the SCS administrative user name matches the administrative user name within the storage cluster. This must occur before booting any nodes with SCS. To update the administrative user name at this point:
Code Block | ||
---|---|---|
| ||
scsctl platform config set -d "admin.userName={existing cluster administrative user name}" --allow-notification-failures |
Info |
---|
InfoAny time the administrative credentials are updated, you will need to run the following to re-authenticate
This command securely prompts the administrative password and authenticates to SCS. |
Tip |
---|
Next, Configure DHCP. |