Eyeglass Solutions Publication
ADAF - Installation Guide




Solution Description

This solution consists of two modules:

  1. Autonomous Storage Failover
  2. System Information Gathering


Autonomous Storage Failover


Autonomous Storage Failover is part of DR Solution that provides the capability to perform storage failover automatically. This storage failover solution is based on condition criteria set by the administrator for triggering the failover. The solution will perform continuous monitoring and upon detecting certain event matches failover criteria, it will trigger storage failover through Eyeglass DR appliance. One of the examples of failover criteria is based on the accessibility of the storage from the application server.


Solution Diagram


The solution is based on the integration of the following components



  1. Superna
    1. Eyeglass DR
      1. Manage storage configuration replication
      2. Failover readiness
      3. Failover execution, monitoring, reporting
  2. Dell EMC
    1. PowerScale Clusters: Production and DR clusters
      1. SMB or NFS for data access
      2. SyncIQ data replication
  3. Application Servers
    1. LInux servers
    2. Windows server
    3. Optional Integration with Load Balancing (Example: Kemp Load Master, Microsoft Cluster Network Load Balancing)
  4. Autonomous Failover Code
    1. Stored and run from Eyeglass Appliance  and / or Application server




Solution Overview

  1. Application Service is running on both Application Servers. The data for this application is stored on the PowerScale Cluster (Prod) and accessed through SMB / NFS.
  2. Stored data on the Prod PowerScale storage is replicated to DR PowerScale storage through SyncIQ Policy replication
  3. Eyeglass DR is configured to replicate PowerScale Cluster configuration (e.g. SMB Shares / NFS exports  configuration), provide Failover Readiness status, and manage storage failover.
  4. The Autonomous Failover Code
    1. Monitor application server (Primary Application Server) and the data accessibility from Production PowerScale
    2. Upon detecting event condition Primary Application Server due to storage accessibility criteria from Production PowerScale, then send alert and initiate failover through Eyeglass
    3. Execute Pre-Failover and / or Post-Failover steps
  5. Optional integration with Load Balancing (Example : Kemp Load Master, Microsoft Cluster Network Load Balancing)




System Information Gathering

The second module is System Information Gathering. System Information is a collection of technical information on the overall system and resources that also includes diagnostic and troubleshooting information related to the system.


The common use case is for collecting system information of remote systems from a local management system for inventory collection tasks and troubleshooting.



Solution Diagram




Solution Overview


This module is to gather system information of remote machines from a local management system (Eyeglass appliance).

This module is based on Python3 code that calls and executes Operating System command / script remotely over SSH. It consists of 3 sub-modules to gather system information from three different components: Powerscale cluster, Linux server, Windows server.


This module consists of 3 sections that collects the following information (can be added with additional information gathering):



SectionSystem Information Gathering
  • OneFS version
  • Status
Linux Machine
  • OS version
  • Python version
  • System Information (e.g. hostname, cpu/memory usage)
  • Network information
  • Log collection from /var/log directory
Windows Machine
  • System Information
  • Event Logs
  • Network Information


PowerScale System Information

Two information is gathered from PowerScale Cluster:



System InformationCommand
OneFS versionisi version
PowerScale statusisi status -v


The SSH session from Eyeglass to PowerScale is using eyeglass service account that has been configured on the PowerScale with permissions and privileges by following this Eyeglass documentation

If need additional command to run on PowerScale using eyeglass service account, we need to update the permissions and privileges accordingly


Linux Server System Information

The following information is gathered from Linux Server:



System InformationCommand
Linux OS versioncat /etc/os-release
Python versionpython3 -V
Network informationIfconfig
Log zip /var/log and copy zip file to local




Product Name


Serial Number

Machine Type

Operating System



Processor Name

Active User

System Main IP



cat /sys/class/dmi/id/chassis_vendor

cat /sys/class/dmi/id/product_name

cat /sys/class/dmi/id/product_version

cat /sys/class/dmi/id/product_serial



uname -r




hostname -I

Memory Usage

Swap Usage

CPU Usage



cat /proc/stat


The SSH session from Eyeglass to Linux Server is using root account

Using a non root account on the linux server might require additional sudo privileges configuration.



Windows Server System Information

The following information is gathered from Windows Server:



System InformationCommand
Event Logwevtutil epl
Overall System Informationmsinfo32
Network informationGet-NetAdapter


The SSH session from Eyeglass to Windows Server is using Administrator account

Using a non Administrator account on the Windows server might require additional permission configuration on Windows server.




Firewall Requirements


SSH connections need to be established from Eyeglass Appliance to PowerScale, Linux Servers, and Windows Servers.


22TCPEyeglass appliance → Isilon/PowerScale clusterSSH
22TCPEyeglass appliance → Linux machinesSSH
22TCPEyeglass appliance → Windows machinesSSH






Eyeglass Installation

Refer to Eyeglass Installation Document for installation procedure



We can use the  default python3 that is already installed on the Eyeglass appliance.


Additional Python Module

The following additional Python module is required:

  • urllib3


To install this additional module on the Eyeglass we can use this command:

pip install urllib3





OpenSSH on Windows installation


We need to install OpenSSH Server on the Windows servers to allow Eyeglass to establish SSH sessions to those servers for command execution. For installation OpenSSH on Windows, refer to Microsoft documentation


Example for installing OpenSSH Server on Windows Server 2019



  1. Open Settings, select Apps, then select Optional Features.
  2. Scan the list to see if OpenSSH is already installed. If not, at the top of the page, select Add a feature, then find OpenSSH Server then select Install
  3. Once setup completes, return to Apps and Optional Features and confirm OpenSSH is listed.
  4. Open the Services desktop app. (Select Start, type services.msc in the search box, and then select the Service app or press ENTER.)
  5. In the details pane, double-click OpenSSH SSH Server.
  6. On the General tab, from the Startup type drop-down menu, select Automatic.
  7. To start the service, select Start.


Start SSH services on windows


From PowerShell console, we can use the following command to show the status of the SSHD service:


PS C:\Users\Administrator> get-service | findstr ssh


Stopped  ssh-agent          OpenSSH Authentication Agent

Stopped  sshd               OpenSSH SSH Server



To start the service:


PS C:\Users\Administrator> Start-Service sshd

PS C:\Users\Administrator> Start-Service ssh-agent


Once started it should show the running state


PS C:\Users\Administrator> get-service | findstr ssh

Running  ssh-agent          OpenSSH Authentication Agent

Running  sshd               OpenSSH SSH Server





© Superna Inc