How to deploy

EXAScaler Cloud application can be launched on Microsofts Azure platform by navigating to the link below and selecting GET IT NOW

Step by step deployment video

Step by step deployment guide

The steps below will show how to create a EXAScaler Cloud Cluster on Microsoft Azure platform. 

You will need an Azure account. Sign in.

Login to your account and go to the dashboard.

You can get to the dashboard from anywhere by clicking on the blue "Microsoft Azure" in the upper left corner of the GUI. 

To get started click on "Create a resource" to get ready to start deployments of a new instance of EXAScaler Cloud:


In the search box that appears, type "EXAScaler Cloud" and hit return. For some reason the completions that start to show up do not work as expected:

Click "Create" button:

EXAScaler Cloud environment can be deployed as a standard Azure application using the Azure Marketplace. And the installation wizard is used to deploy it. Installation wizard contains few configuration steps:

Basic step contains Project details:

Instance details:

Security step required to select user name and authentication parameters to remote access to the management server. And Microsoft Azure provides two options for
authentication: password and SSH key-based authentication:

Network step to configure Azure Virtual Network which enables resources to securely communicate with each other. And the subnet inside the virtual network where EXAScaler Cloud virtual machines will be deployed to.
We can create a new virtual network for deployment or we can use an existing network, for example, if we already have an environment with clients that need a HPC storage:

Management step to configure EXAScaler Cloud management server. For the Custom Configuration profile we can choose:

For Small and Medium Configuration profiles all configuration options are read-only:

Metadata step to configure EXAScaler Cloud management server. For the Custom Configuration profile we can choose:

For Small and Medium Configuration profiles all configuration options are read-only:

Storage step to configure EXAScaler Cloud object storage servers. For the Custom Configuration profile we can choose:

For Small and Medium Configuration profiles all configuration options are read-only:

Client step: optionally we can deploy client instances and by default the size and number of client instances matches the size and number of object storage servers. As an option we can create and attach local disks to each EXAScaler Cloud client. We can change:

And all storage client options can be changed for any Configuration profile:

Review + create step: at this stage Microsoft Azure checks all selected options against the subscription quota. And we can review and check all the parameters we have chosen before starting the deployment:

And we can press a "Create" button and send the selected configuration for deployment.

Next you will see the dashboard notification with "Deployment is in progress":

Once the status changes to "Your deployment is complete", click on "Outputs" to view the deployment output:

In the "Outputs" screen:

To remote access the EXAScaler Cloud servers (management, metadata, object storage and storage clients), we must go through the management server public IP address, using the  command.

And then using the management server console as a jump host we can open a SSH sessions to all other servers.

localhost$ eval $(ssh-agent)
Agent pid 5095

localhost$ ssh-add 
Identity added: /Users/deiter/.ssh/id_rsa (/Users/deiter/.ssh/id_rsa)

localhost$ ssh -A exacloud@137.135.11.112
[exacloud@exacloud-5606-mgs0 ~]$ ssh 10.1.0.9

[exacloud@exacloud-5606-oss3 ~]$ df -h -t lustre
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc        504G  1.3M  479G   1% /mnt/targets/exacloud-OST0012
/dev/sdd        504G  1.3M  479G   1% /mnt/targets/exacloud-OST0013
/dev/sde        504G  1.3M  479G   1% /mnt/targets/exacloud-OST0014
/dev/sdf        504G  1.3M  479G   1% /mnt/targets/exacloud-OST0015
/dev/sdg        504G  1.3M  479G   1% /mnt/targets/exacloud-OST0016
/dev/sdh        504G  1.3M  479G   1% /mnt/targets/exacloud-OST0017

[exacloud@exacloud-5606-oss3 ~]$ exit
logout
Connection to 10.1.0.9 closed.

[exacloud@exacloud-5606-mgs0 ~]$ ssh 10.1.0.7
[exacloud@exacloud-5606-cls0 ~]$ lfs df
UUID                   1K-blocks        Used   Available Use% Mounted on
exacloud-MDT0000_UUID   315302464        6204   288452716   1% /mnt/exacloud[MDT:0]
exacloud-OST0000_UUID   528246848        1256   501385664   1% /mnt/exacloud[OST:0]
exacloud-OST0001_UUID   528246848        1260   501385660   1% /mnt/exacloud[OST:1]
exacloud-OST0002_UUID   528246848        1260   501385660   1% /mnt/exacloud[OST:2]
exacloud-OST0003_UUID   528246848        1260   501385660   1% /mnt/exacloud[OST:3]
exacloud-OST0004_UUID   528246848        1260   501385660   1% /mnt/exacloud[OST:4]
exacloud-OST0005_UUID   528246848        1264   501385656   1% /mnt/exacloud[OST:5]
exacloud-OST0006_UUID   528246848        1240   501385680   1% /mnt/exacloud[OST:6]
exacloud-OST0007_UUID   528246848        1244   501385676   1% /mnt/exacloud[OST:7]
exacloud-OST0008_UUID   528246848        1244   501385676   1% /mnt/exacloud[OST:8]
exacloud-OST0009_UUID   528246848        1248   501385672   1% /mnt/exacloud[OST:9]
exacloud-OST000a_UUID   528246848        1252   501385668   1% /mnt/exacloud[OST:10]
exacloud-OST000b_UUID   528246848        1252   501385668   1% /mnt/exacloud[OST:11]
exacloud-OST000c_UUID   528246848        1244   501385676   1% /mnt/exacloud[OST:12]
exacloud-OST000d_UUID   528246848        1248   501385672   1% /mnt/exacloud[OST:13]
exacloud-OST000e_UUID   528246848        1248   501385672   1% /mnt/exacloud[OST:14]
exacloud-OST000f_UUID   528246848        1252   501385668   1% /mnt/exacloud[OST:15]
exacloud-OST0010_UUID   528246848        1256   501385664   1% /mnt/exacloud[OST:16]
exacloud-OST0011_UUID   528246848        1260   501385660   1% /mnt/exacloud[OST:17]
exacloud-OST0012_UUID   528246848        1244   501385676   1% /mnt/exacloud[OST:18]
exacloud-OST0013_UUID   528246848        1248   501385672   1% /mnt/exacloud[OST:19]
exacloud-OST0014_UUID   528246848        1248   501385672   1% /mnt/exacloud[OST:20]
exacloud-OST0015_UUID   528246848        1252   501385668   1% /mnt/exacloud[OST:21]
exacloud-OST0016_UUID   528246848        1256   501385664   1% /mnt/exacloud[OST:22]
exacloud-OST0017_UUID   528246848        1256   501385664   1% /mnt/exacloud[OST:23]

filesystem_summary:  12677924352       30052 12033256028   1% /mnt/exacloud



Copy and paste the "" URL on a new browser tab to view EXAScaler Cloud Web Console:

Some additional information is available on the deployment dashboard: Azure portal → Home → Resource groups → EXAScaler-Cloud:

Click the dashboard name and open the "Go to dashboard" link:

And you can customize the dashboard according to your requirements.

How to stop and start the servers

If you want to stop and start the servers in your EXAScaler Cloud environment (for example, to save cost on weekends) - please use the esc-ctl script.

Prerequisites

Before use the Microsoft Azure CLI for Microsoft Azure, you will need to authenticate under the Microsoft account you used to log into the Microsoft Azure Portal. You will use a Microsoft account and its credentials to allow the shell script to start/stop the EXAScaler Cloud servers.

Steps to authenticate via Microsoft account

Obtains access credentials for your user account via a web-based authorization flow. When this command completes successfully, it sets the active account in the current configuration to the account specified. Learn more.

$ az login

To view the current Azure subscription ID, please use az account show command.

$ az account show
{
  "environmentName": "AzureCloud",
  "homeTenantId": "00000000-0000-0000-0000-000000000000",
  "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
  "isDefault": true,
  "managedByTenants": [],
  "name": "Pay-As-You-Go",
  "state": "Enabled",
  "tenantId": "00000000-0000-0000-0000-000000000000",
  "user": {
    "name": "user@domain.com",
    "type": "user"
  }
}

if you have more than one subscriptions - please set the default subscription. Learn more.

$ az account set --subscription XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Get status of the servers

To get status of EXAScaler Cloud servers:

$ ./esc-ctl.sh resource_group_name status
Name                Private_IP    Public_IP      Status                                                                                         
------------------  ------------  -------------  --------------                                                                                 
exacloud-d101-cls0  10.1.0.4                     VM running                                                                                 
exacloud-d101-cls1  10.1.0.13                    VM running                                                                                     
exacloud-d101-cls2  10.1.0.11                    VM running                                                                                     
exacloud-d101-cls3  10.1.0.6                     VM running                                                                                     
exacloud-d101-mds0  10.1.0.8                     VM running                                                                                     
exacloud-d101-mgs0  10.1.0.10     40.86.178.179  VM running                                                                                     
exacloud-d101-oss0  10.1.0.9                     VM running                                                                                     
exacloud-d101-oss1  10.1.0.12                    VM running                                                                                     
exacloud-d101-oss2  10.1.0.7                     VM running                                                                                     
exacloud-d101-oss3  10.1.0.5                     VM running    
Stop the servers

To stop the EXAScaler Cloud servers:

$ ./esc-ctl.sh resource_group_name stop                                                                
Stop worker exacloud-d101-cls0
Stop worker exacloud-d101-cls1                                                                                                                  
Stop worker exacloud-d101-cls2                                                                                                                  
Stop worker exacloud-d101-cls3                                                                                                                  
Stop ost exacloud-d101-oss0                                                                                                                     
Stop ost exacloud-d101-oss1                                                                                                                     
Stop ost exacloud-d101-oss2                                                                                                                     
Stop ost exacloud-d101-oss3                                                                                                                     
Stop mdt exacloud-d101-mds0                                                                                                                     
Stop mgt exacloud-d101-mgs0                                    
Start the servers

To start the EXAScaler Cloud servers:

$ ./esc-ctl.sh resource_group_name start
Start mgt host exacloud-d101-mgs0
Start mdt host exacloud-d101-mds0
Start ost host exacloud-d101-oss0
Start ost host exacloud-d101-oss1
Start ost host exacloud-d101-oss2
Start ost host exacloud-d101-oss3
Start worker host exacloud-d101-cls0
Start worker host exacloud-d101-cls1
Start worker host exacloud-d101-cls2
Start worker host exacloud-d101-cls3

All required services will automatically start and the file system will be mounted and available on all clients.