Difference between revisions of "Architecture"

From Tranzman Documentation
Jump to: navigation, search
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
 +
Tranzman comes as an appliance out-of-the-box. It can be deployed in a Virtual machine or physical server using a bootable ISO or OVA.
  
Tranzman comes as an appliance out-of-the-box. It can be deployed in a Virtual machine or physical server using a bootable ISO or OVA. <br>
+
Tranzman is an appliance and not a software binary and so ''it is not available as an executable binary or rpm''.
Tranzman is an appliance and not a software binary and so ''it is not available as an executable binary or rpm''. <br>
 
  
 
Tranzman has two components - An Appliance and an Agent component.
 
Tranzman has two components - An Appliance and an Agent component.
 +
  
 
== Appliance component ==
 
== Appliance component ==
 
The core framework of Tranzman appliance ('''TZM''') has  
 
The core framework of Tranzman appliance ('''TZM''') has  
 +
 
::'''Queue Manager (tzmqm)'''
 
::'''Queue Manager (tzmqm)'''
 +
 
::'''Data Transfer Engine (tzmtd)'''
 
::'''Data Transfer Engine (tzmtd)'''
  
* TZM is built on RHEL8.6 sources and uses an internal database ('''postgresql'''). <br>
+
* TZM is built on RHEL8.6 sources and uses an internal database ('''postgresql''').
* Appliance can be accessed via CLISH and webUI. Hosts an internal web server running nginx for webUI. <br>
+
 
* Additionally, Configuration Converters, Catalog Converters and Data Converters (applicable to CVT and RWV) performs all the manipulation internally. <br>
+
* Appliance can be accessed via CLISH and webUI. Hosts an internal web server running nginx for webUI.
 +
 
 +
* Additionally, Configuration Converters, Catalog Converters and Data Converters (applicable to CVT and RWV) performs all the manipulation internally.
 +
 
  
 
== Agent component ==
 
== Agent component ==
 
* This is an interface between Tranzman and the Backup server
 
* This is an interface between Tranzman and the Backup server
 +
 
* Awaits Actions from the Tranzman Sever
 
* Awaits Actions from the Tranzman Sever
 +
 
* Execute the Actions received from Tranzman server
 
* Execute the Actions received from Tranzman server
 +
 
* Return the Action status result to the Tranzman Server
 
* Return the Action status result to the Tranzman Server
 +
 
Agent is a minimal standalone binary installed on Backup server and it starts tzmclnt and other processes on Backup server
 
Agent is a minimal standalone binary installed on Backup server and it starts tzmclnt and other processes on Backup server
 +
 +
 +
== High Level Process Flow ==
 +
* All processes in the Tranzman Appliance depends on the Relational Database and the QueueManager process.
 +
 +
* The QueueManager is responsible for updating '''Actions''' into the Agents queue and the actions has a list of APIs for the Tranzman Agent. The QueueManager manages the flow of actions for all the migrations.
 +
 +
* Agent communicates with the '''Data Transfer Engine''' to retrieve Actions from the Queue and to PUT/GET catalog data associated with it.
 +
 +
* The '''Actions''' that the Agents retrieve from its Queue perform one of many different actions.
 +
  
 
== Logical design for Same Vendor Transition (SVT) ==
 
== Logical design for Same Vendor Transition (SVT) ==
 
<!-- no need of additional line break here -->
 
<!-- no need of additional line break here -->
 
[[File:SVT.jpg]]
 
[[File:SVT.jpg]]
 +
  
 
== Logical design for Cross Vendor Transition (CVT) ==
 
== Logical design for Cross Vendor Transition (CVT) ==
 
<br>
 
<br>
 
[[File:CVT.jpg]]
 
[[File:CVT.jpg]]
 +
  
 
== Logical design for Recovery Without Vendor (RWV) ==
 
== Logical design for Recovery Without Vendor (RWV) ==
Line 34: Line 57:
 
[[File:CVT.jpg]]
 
[[File:CVT.jpg]]
  
== High Level Process Flow ==
 
* All processes in the Tranzman Appliance depends on the Relational Database and the QueueManager process.
 
* The QueueManager is responsible for updating '''Actions''' into the Agents queue and the actions has a list of APIs for the Tranzman Agent. The QueueManager manages the flow of actions for all the migrations.
 
* Agent communicates with the '''Data Transfer Engine''' to retrieve Actions from the Queue and to PUT/GET catalog data associated with it.
 
* The '''Actions''' that the Agents retrieve from its Queue perform one of many different actions.
 
  
 
== Actions ==
 
== Actions ==
Actions has a sequence of instructions to be executed by the agent on the backup server to complete a specific procedure as part of Transition. <br>
+
Actions has a sequence of instructions to be executed by the agent on the backup server to complete a specific procedure as part of Transition.
  
 
The below table shows all the Actions available in Tranzman.
 
The below table shows all the Actions available in Tranzman.
Line 75: Line 93:
 
|-
 
|-
 
| style="text-align:left;color:darkred;"| ManipulateImages
 
| style="text-align:left;color:darkred;"| ManipulateImages
|| Converts / renames components that are mapped between origin and destination
+
|| Converts / renames components that are mapped between origin and destination.
 +
|-
 +
| style="text-align:left;color:darkred;"| ImportImages
 +
|| Runs cyclic on the destination to import the migrated images.
 +
|-
 +
| style="text-align:left;color:darkred;"| CreateMedia
 +
|| Runs cyclic on the destination to create / update the media.
 +
|-
 +
| style="text-align:left;color:darkred;"| CheckConn
 +
|| Runs on demand on origin and destination to test connectivity of clients, and to push NetBackup certificates
 +
|-
 +
| style="text-align:left;color:darkred;"| FinalizeOrigin
 +
|| Runs once on origin during final switchover.
 +
|-
 +
| style="text-align:left;color:darkred;"| FinalizeDestination
 +
|| Runs once on destination as part of final switchover.
 +
|-
 +
| style="text-align:left;color:darkred;"| Assessment
 +
|| Runs on demand to run Pre-Assessment and Post Acceptance tests before and after migration respectively.
 +
|-
 +
| style="text-align:left;color:darkred;"| HouseKeeping
 +
|| Runs cyclic to cleanup the completed info from the Tranzman Database.
 +
|-
 +
| style="text-align:left;color:darkred;"| PreDuplication
 +
|| Runs cyclic based on rules to perform Duplications on the Origin if required, as part of a split.
 +
|-
 +
| style="text-align:left;color:darkred;"| PostDuplication
 +
|| Runs cyclic based on rules to perform Duplications on the Destination if required,as part of storage migration.
 +
|-
 +
 
 
|}
 
|}
 
 
 +
 +
== Migration Flow ==
 +
=== Same Vendor migration flow ===
 +
 +
=== Cross Vendor Migration flow ===
 +
 +
 +
  
 
{| class="wikitable"  style="margin:auto;width:100%;color:blue;text-align:center;borderstyle=ridge;"
 
{| class="wikitable"  style="margin:auto;width:100%;color:blue;text-align:center;borderstyle=ridge;"

Revision as of 08:05, 27 January 2023

Introduction

Tranzman comes as an appliance out-of-the-box. It can be deployed in a Virtual machine or physical server using a bootable ISO or OVA.

Tranzman is an appliance and not a software binary and so it is not available as an executable binary or rpm.

Tranzman has two components - An Appliance and an Agent component.


Appliance component

The core framework of Tranzman appliance (TZM) has

Queue Manager (tzmqm)
Data Transfer Engine (tzmtd)
  • TZM is built on RHEL8.6 sources and uses an internal database (postgresql).
  • Appliance can be accessed via CLISH and webUI. Hosts an internal web server running nginx for webUI.
  • Additionally, Configuration Converters, Catalog Converters and Data Converters (applicable to CVT and RWV) performs all the manipulation internally.


Agent component

  • This is an interface between Tranzman and the Backup server
  • Awaits Actions from the Tranzman Sever
  • Execute the Actions received from Tranzman server
  • Return the Action status result to the Tranzman Server

Agent is a minimal standalone binary installed on Backup server and it starts tzmclnt and other processes on Backup server


High Level Process Flow

  • All processes in the Tranzman Appliance depends on the Relational Database and the QueueManager process.
  • The QueueManager is responsible for updating Actions into the Agents queue and the actions has a list of APIs for the Tranzman Agent. The QueueManager manages the flow of actions for all the migrations.
  • Agent communicates with the Data Transfer Engine to retrieve Actions from the Queue and to PUT/GET catalog data associated with it.
  • The Actions that the Agents retrieve from its Queue perform one of many different actions.


Logical design for Same Vendor Transition (SVT)

SVT.jpg


Logical design for Cross Vendor Transition (CVT)


CVT.jpg


Logical design for Recovery Without Vendor (RWV)


CVT.jpg


Actions

Actions has a sequence of instructions to be executed by the agent on the backup server to complete a specific procedure as part of Transition.

The below table shows all the Actions available in Tranzman.

Init Runs once on origin and destination as part of the initial discovery to get system information.
QueryProduct Runs once on origin and destination as part of the initial discovery for detecting the backup product on the system.
QueryConfig Runs once on the origin and destination to determine the configuration objects (storage, credentials, workloads, etc) on the system.
QueryMedia Runs cyclic on the origin and destination to determine the media information.
QueryImages Runs cyclic on the origin and destination to discover all backup images.
CreateConfig Runs once on the target to create required configuration components.
CreateWorkloads Runs once on the target to create required backup configuration components.
CrossCheck Runs daily during data transfer to compare origin and destination data.
ExportImages Runs cyclic on the origin to export the selected images.
ManipulateImages Converts / renames components that are mapped between origin and destination.
ImportImages Runs cyclic on the destination to import the migrated images.
CreateMedia Runs cyclic on the destination to create / update the media.
CheckConn Runs on demand on origin and destination to test connectivity of clients, and to push NetBackup certificates
FinalizeOrigin Runs once on origin during final switchover.
FinalizeDestination Runs once on destination as part of final switchover.
Assessment Runs on demand to run Pre-Assessment and Post Acceptance tests before and after migration respectively.
HouseKeeping Runs cyclic to cleanup the completed info from the Tranzman Database.
PreDuplication Runs cyclic based on rules to perform Duplications on the Origin if required, as part of a split.
PostDuplication Runs cyclic based on rules to perform Duplications on the Destination if required,as part of storage migration.


Migration Flow

Same Vendor migration flow

Cross Vendor Migration flow

Go to Security Return to Overview