EXAScaler Cloud application can be launched on Microsofts Azure Portal by navigating to the link below and and clicking the Create button.
Step by step deployment video
Widget Connector
url
https://www.youtube.com/watch?v=hGBujIKe3H8
Step by step deployment guide
The steps below will show how to create a EXAScaler Cloud Cluster on Microsoft Azure platform.
...
Azureregion for our deployment. For example, we can select the location closest to us. And we must have enough resources in this location for the deployment (number of available CPU cores).
DDN EXAScaler Cloud in the Azure Marketplace have additional license and purchase terms that you must accept before you can deploy them programmatically. To deploy an environment from this image, you'll need to accept the image's terms the first time you use it, once per subscription.
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 about Azure authentication.
...
Please use the value of id property as an Azure subscription ID for Terraform based deployments.
Steps to accept the terms of use for DDN EXAScaler Cloud images
To deploy DDN EXAScaler Cloud, you need to accept the Azure Marketplace image terms so that the image can be used to create a deployment.
Availability type: none - no infrastructure redundancy required, set - to create an availability set and automatically distribute resources across multiple fault domains, zone - to physically separate resources within an Azure region. Learn more about Azure availability options.
availability.zone
integer
1
Availability zone - unique physical locations within a Azure region. Use 1, 2 or 3 to explicitly specify the availability zone. Learn more about Azure availability zones.
Resource group options
Variable
Type
Default
Description
resource_group.new
bool
true
Create a new resource group, or use an existing one: true or false.
Initialize a working directory containing Terraform configuration files. This is the first command that should be run after writing a new Terraform configuration or cloning an existing one from version control. It is safe to run this command multiple times:
...
Code Block
language
bash
theme
Midnight
$ terraform apply
...
Enter a value: yes
...
Apply complete! Resources: 103 added, 0 changed, 0 destroyed.
Outputs:
azure_dashboard = "https://portal.azure.com/#@00000000-0000-0000-0000-000000000000/dashboard/arm/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exascaler-cloud-a108-resource-group/providers/Microsoft.Portal/dashboards/exascaler-cloud-a108-dashboard"
client_config = <<EOT
#!/bin/sh
# install new EXAScaler Cloud clients:
# all instances must be in the same location westus
# and connected to the network exascaler-cloud-a108-virtual-network
# and subnet exascaler-cloud-a108-subnet
# to set up EXAScaler Cloud filesystem on a new client instance,
# run the folowing commands on the client with root privileges:
cat >/etc/esc-client.conf<<EOF
{
"Version": "2.0.0",
"MountConfig": {
"ClientDevice": "10.0.0.10@tcp:/exacloud",
"Mountpoint": "/mnt/exacloud",
"PackageSource": "http://10.0.0.10/client-packages"
}
}
EOF
curl -fsSL http://10.0.0.10/client-setup-tool -o /usr/sbin/esc-client
chmod +x /usr/sbin/esc-client
esc-client auto setup --config /etc/esc-client.conf
EOT
http_console = "http://exascaler-cloud-a108-mgs0.westus.cloudapp.azure.com"
mount_command = "mount -t lustre 10.0.0.10@tcp:/exacloud /mnt/exacloud"
private_addresses = {
"exascaler-cloud-a108-cls0" = "10.0.0.8"
"exascaler-cloud-a108-cls1" = "10.0.0.7"
"exascaler-cloud-a108-cls2" = "10.0.0.11"
"exascaler-cloud-a108-cls3" = "10.0.0.12"
"exascaler-cloud-a108-mds0" = "10.0.0.13"
"exascaler-cloud-a108-mgs0" = "10.0.0.10"
"exascaler-cloud-a108-oss0" = "10.0.0.9"
"exascaler-cloud-a108-oss1" = "10.0.0.4"
"exascaler-cloud-a108-oss2" = "10.0.0.5"
"exascaler-cloud-a108-oss3" = "10.0.0.6"
}
ssh_console = {
"exascaler-cloud-a108-mgs0" = "ssh -A stack@exascaler-cloud-a108-mgs0.westus.cloud
app.azure.com"
}
Access the EXAScaler Cloud environment
Now you can access the EXAScaler Cloud environment:
Add storage capacity in an existing EXAScaler Cloud environment
The storage capacity can be added by increasing the number of storage servers. To add storage capacity in an existing EXAScaler Cloud environment, just modify the terraform.tfvars file and increase the number of storage servers (the value of the oss.node_countvariable) as required:
A software upgrade for an existing EXAScaler Cloud environment is possible by recreating the running VM instances using a new version of the OS image. And it requires some manual steps.
$ terraform destroy
...
Enter a value: yes
...
Destroy complete! Resources: 103 destroyed.
How to access a deployment
To remote access the EXAScaler Cloud deployment (management, metadata, storage servers and compute clients), we must go through the management server public IP address, using the command.
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.
...
Code Block
language
bash
theme
Midnight
$ az account set --subscription XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
List of existing resource groups
Code Block
language
bash
theme
Midnight
$ ./esc-ctl list
Name Location Status
---------------- ---------- ---------
EXAScaler-Cloud eastus Succeeded
List of existing deployments for the given resource group
Code Block
language
bash
theme
Midnight
$ ./esc-ctl EXAScaler-Cloud list
Name Created Status
------------------------------ ------------------------- ---------
exascaler-cloud-65f1 2021-08-24T18:56:27+00:00 Succeeded
List of EXAScaler Cloud servers for the given deployment
Code Block
language
bash
theme
Midnight
$ ./esc-ctl EXAScaler-Cloud exascaler-cloud-65f1 list
Name Size Role Version PrivateIP PublicIP Status
------------------------- ---------------- ------ --------- ----------- ------------ ----------
exascaler-cloud-65f1-cls0 Standard_D16s_v3 clt 5.2.3 10.0.0.7 VM running
exascaler-cloud-65f1-cls1 Standard_D16s_v3 clt 5.2.3 10.0.0.5 VM running
exascaler-cloud-65f1-cls2 Standard_D16s_v3 clt 5.2.3 10.0.0.8 VM running
exascaler-cloud-65f1-cls3 Standard_D16s_v3 clt 5.2.3 10.0.0.13 VM running
exascaler-cloud-65f1-mds0 Standard_E8s_v3 mdt 5.2.3 10.0.0.12 VM running
exascaler-cloud-65f1-mgs0 Standard_F4s mgt 5.2.3 10.0.0.11 20.62.171.73 VM running
exascaler-cloud-65f1-oss0 Standard_D16s_v3 ost 5.2.3 10.0.0.10 VM running
exascaler-cloud-65f1-oss1 Standard_D16s_v3 ost 5.2.3 10.0.0.4 VM running
exascaler-cloud-65f1-oss2 Standard_D16s_v3 ost 5.2.3 10.0.0.6 VM running
exascaler-cloud-65f1-oss3 Standard_D16s_v3 ost 5.2.3 10.0.0.9 VM running
Stop the EXAScaler Cloud servers
Code Block
language
bash
theme
Midnight
$ ./esc-ctl EXAScaler-Cloud exascaler-cloud-65f1 stop
Stop compute client exascaler-cloud-65f1-cls0
Stop compute client exascaler-cloud-65f1-cls1
Stop compute client exascaler-cloud-65f1-cls2
Stop compute client exascaler-cloud-65f1-cls3
Stop storage server exascaler-cloud-65f1-oss0
Stop storage server exascaler-cloud-65f1-oss1
Stop storage server exascaler-cloud-65f1-oss2
Stop storage server exascaler-cloud-65f1-oss3
Stop metadata server exascaler-cloud-65f1-mds0
Stop management server exascaler-cloud-65f1-mgs0
Start the EXAScaler Cloud servers
Code Block
language
bash
theme
Midnight
$ ./esc-ctl EXAScaler-Cloud exascaler-cloud-65f1 start
Start management server exascaler-cloud-65f1-mgs0
Start metadata server exascaler-cloud-65f1-mds0
Start storage server exascaler-cloud-65f1-oss0
Start storage server exascaler-cloud-65f1-oss1
Start storage server exascaler-cloud-65f1-oss2
Start storage server exascaler-cloud-65f1-oss3
Start compute client exascaler-cloud-65f1-cls0
Start compute client exascaler-cloud-65f1-cls1
Start compute client exascaler-cloud-65f1-cls2
Start compute client exascaler-cloud-65f1-cls3
All required services will automatically start and the filesystem will be mounted and available on all compute clients.
How to upgrade an existing deployment
Anchor
Upgrade
Upgrade
A software upgrade for an existing EXAScaler Cloud deployment is possible by creating a new deployment using a copy of the existing file system.