Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel2
outlinefalse
typelist
printablefalse

Some Swarm configuration settings are site-specific and related to: 

  • DNS settings Settings - There These are queried required for proper DHCP configuration 

  • Administrative username and password - Once the administrator username and password are set, SCS will not accept any unauthenticated commands. 

  • Disk encryption settings DHCP configuration.

  • Disk Encryption Settings - These settings are related to “Encryption at Rest” and should be ideally skipped unless specified by DataCore Support. 

...

Finalize Configuration Settings

...

Info

Once the administrative username and password are set, this process will be interrupted to allow scsctl to be configured with the administrative username and password for the future interaction with SCS. To perform this configuration, run: 

scsctl auth login --user [administrative user name] 

This command will securely prompt the administrative password and authenticate to SCS. Once the CLI is logged in, re-run the configuration scan command to resume:

scsctl diagnostics config scan_missing

Finalize configuration settings

Note

When configuring Swarm settings, input characters are hidden such as ‘admin.userName’, ‘admin.password’, ‘encryptionKeys’, etc. It is advised to use inputs on a raw text editor and do copy & paste to prevent any typo mistakes. 

Run scsctl diagnostic config scan_missing.

...

languagebash

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. 

  1. Run

    Code Block
    scsctl diagnostics config scan_missing

    Code Block
    languagebash
    ======================================================================================================

...

  1.  
    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. 

...

  1. Click ‘Enter‘ to apply the settings when prompted for the DNS servers

...

  1. .

    Code Block
    languagebash
    ---------------------------------------------- 
    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 

...

  1. Provide the DNS servers.

    Code Block
    languagebash
    ---------------------------------------------- 
    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: 

...

  1. network.

...

  1. dnsDomain 
    Type: str 
    Description:

...

  1.  Required. The DNS domain name that will be used. 
    ------------------------------------------------------------- 

...

  1. Click ‘Enter‘ to apply at the group level when prompted for the DNS domain.

    Code Block
    languagebash
    ------------------------------------------------------------- 
    Name: network.dnsDomain 
    Type: str 
    Description: Required. The DNS domain name that will be used. 
    ------------------------------------------------------------- 

...

When prompted for the administrative password, hit ‘Enter’ to apply the password at the group level.

...

languagebash
  1. 
    Missing setting: platform/

...

  1. network.

...

  1. 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 

...

  1. 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: 

When prompted for the administrative user name, hit ‘Enter‘ to apply the user name at the group level.

...

languagebash
  1. Set the DNS domain.

    Code Block
    languagebash
    ------------------------------------------------------------- 
    Name: network.dnsDomain 
    Type: str 
    Description: Required. The DNS domain name that will be used. 
    ------------------------------------------------------------- 
    Missing setting: platform/

...

  1. network.

...

  1. dnsDomain 
    
    

...

Enter the administrator username (e.g., dcadmin). The input characters are hidden for the administrator username.

Code Block
languagebash
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. Login 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
languagebash
[root@zorc Platform]# scsctl auth login --user dcadmin 
Enter password for user "dcadmin": 

Logged in 

Once you are logged in, continue finalizing configuration settings via scsctl diagnostics config scan_missing command.

...

  1.  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. 
    --------------------------------------------------------------

...

  1. ----------------------------------------

...

  1.  
    

...

  1. Name: 

...

  1. disk.encryptionKeys 
    Type: dict[str,str] 
    Description: A comma-separated list of mnemonic name and encryption key pairs, used for accessing encrypted Swarm volumes. 
    ------------------------------------------------------------------------------------------------------

...

  1.  
    Name: support.proxyPassword 
    Type: str 
    Description: 

...

  1. Proxy authentication 

...

  1. password 

...

  1. 
    ------------------------------------------------------------------------------------------------------

...

  1.  

...

  1. 
    

...

  1. 
    

...

  1. 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.
    --------------------------------------------------------------------------------------------

...

  1. ---------- 
    Name: 

...

  1. disk.

...

  1. encryptionKeyPrimary 
    Type: 

...

  1. str 
    Description:

...

  1.  The 

...

  1. mnemonic 

...

  1. name 

...

  1. of 

...

  1. 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.
    ------------------------------------------------------------------------------------------------------

...

  1.  
    Name: 

...

  1. disk.

...

  1. encryptionKeys 
    Type: 

...

  1. dict[str,str]

...

  1.  
    Description: 

...

  1. 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 
    ------------

...

When prompted for the DNS domain, hit ‘Enter‘ to apply it at the group level.

...

languagebash

...

  1. ---------------------------------------------------------------------------------

...

Set the DNS domain.

Code Block
languagebash
------------------------------------------------------------- 
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 hit 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 hit Enter.

Code Block
languagebash
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:

...

  1. --------- 

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
languagebash
scsctl platform config set -d "admin.userName={existing cluster administrative user name}" --allow-notification-failures
Info

Info

Any time the administrative credentials are updated, you will need to run the following to re-authenticate scsctl with the API server.

scsctl auth login --user [administrative user name]

This command securely prompts the administrative password and authenticates to SCS.

Tip

Next, Configure DHCP.