Difference between revisions of "Architecture"

From Tranzman Documentation
Jump to: navigation, search
(Cross Vendor Migration Flow)
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
Tranzman is delivered as an appliance out-of-the-box.
 
  
It can be deployed on either a virtual machine or a physical server using a bootable ISO or OVA. Unlike a software binary, Tranzman is an appliance and therefore '''not available as an executable binary or RPM'''.  
+
Tranzman is delivered as an appliance, ready for deployment out-of-the-box.
  
Tranzman consists of two main components: the '''Appliance''' and the '''Agent'''.
+
It can be installed on either a virtual machine or a physical server using a bootable ISO or OVA. Unlike traditional software binaries, Tranzman is an appliance and therefore '''not available as an executable binary or RPM'''. 
 +
 
 +
Tranzman consists of two primary components: the '''Appliance''' and the '''Agent'''.
  
 
=== Appliance Component ===
 
=== Appliance Component ===
 +
 
The core framework of the Tranzman appliance ('TZM') includes:
 
The core framework of the Tranzman appliance ('TZM') includes:
 
# Queue Manager (tzmqm)
 
# Queue Manager (tzmqm)
 
# Data Transfer Engine (tzmtd)
 
# Data Transfer Engine (tzmtd)
  
Additional details about the appliance:
+
Additional details:
* TZM is built on '''Rocky Linux''' sources and utilizes an internal database ('''PostgreSQL''').
+
* TZM is built on '''Rocky Linux''' sources and utilizes an internal '''PostgreSQL''' database.
* The appliance can be accessed via CLISH (Command Line Interface Shell) and a web user interface (webUI). It hosts an internal web server running '''nginx''' for the webUI.
+
* Accessible via CLISH (Command Line Interface Shell) and web user interface (webUI), hosted on an internal web server running '''nginx'''.
* Configuration Converters, Catalog Converters, and Data Converters (applicable to CVT and RWV) handle all manipulations internally.
+
* Configuration Converters, Catalog Converters, and Data Converters manage all data manipulations internally.
  
 
=== Agent Component ===
 
=== Agent Component ===
The Agent serves as the interface between Tranzman and the backup server. Here are its key functions:
 
* Awaits actions from the Tranzman Server.
 
* Executes the received actions from the Tranzman server.
 
* Returns the action status result to the Tranzman Server.
 
  
The Agent is a minimal standalone binary installed on the backup server. It initiates '''tzmclnt''' and other processes on the backup server.
+
The Agent acts as the communication bridge between Tranzman and the backup server, with key functions including:
 +
* Waiting for instructions from the Tranzman Server.
 +
* Executing received actions from the Tranzman Server.
 +
* Reporting action status results back to the Tranzman Server.
 +
 
 +
The Agent is a minimal standalone binary installed on the backup server, initiating '''tzmclnt''' and other necessary processes.
  
 
== High-Level Process Flow ==
 
== High-Level Process Flow ==
* All processes within the Tranzman Appliance rely on the Relational Database and the QueueManager process.
 
* The '''QueueManager''' is responsible for updating '''Actions''' into the Agents' queue. These actions are associated with a list of APIs for the Tranzman Agent. The QueueManager effectively manages the flow of actions for all migrations.
 
* The '''Agent''' communicates with the '''Data Transfer Engine''' to retrieve actions from the queue and to perform PUT/GET operations related to catalog data.
 
* The actions retrieved by the Agents can trigger various procedures.
 
  
=== Logical design for Same Vendor Transition (SVT) ===
+
* All Tranzman Appliance processes rely on the relational database and the QueueManager.
 +
* The '''QueueManager''' updates action queues for Agents, handling all migration-related operations.
 +
* The '''Agent''' interacts with the '''Data Transfer Engine''', fetching instructions and performing PUT/GET operations for catalog data.
 +
* Actions retrieved by the Agents trigger various migration procedures.
 +
 
 +
=== Logical Design for Same Vendor Transition (SVT) ===
 
[[File:SVT.jpg|480px]]
 
[[File:SVT.jpg|480px]]
  
=== Logical design for Cross Vendor Transition (CVT) ===
+
=== Logical Design for Cross Vendor Transition (CVT) ===
 
[[File:CVT.jpg|480px]]
 
[[File:CVT.jpg|480px]]
  
=== Logical design for Recovery Without Vendor (RWV) ===
+
=== Logical Design for Recovery Without Vendor (RWV) ===
 
[[File:CVT.jpg|480px]]
 
[[File:CVT.jpg|480px]]
  
 
== Actions ==
 
== Actions ==
Actions consist of a sequence of instructions to be executed by the agent on the backup server as part of the transition process. The following table shows all the available actions in Tranzman:
+
 
 +
Actions are sequences of instructions executed by the agent on the backup server to facilitate transitions. Below is a list of available actions in Tranzman:
  
 
{| class="wikitable" style="margin:auto;width:100%;color:darkblue;text-align:left;border-style:ridge;"
 
{| class="wikitable" style="margin:auto;width:100%;color:darkblue;text-align:left;border-style:ridge;"
Line 48: Line 53:
 
|-
 
|-
 
| '''Init'''
 
| '''Init'''
| Runs once on both the origin and destination during the initial discovery to retrieve system information.
+
| Runs once on both origin and destination during initial system discovery.
 
|-
 
|-
 
| '''QueryProduct'''
 
| '''QueryProduct'''
| Runs once on both the origin and destination as part of the initial discovery to detect the backup product installed on the system.
+
| Identifies the backup product installed on both origin and destination.
 
|-
 
|-
 
| '''QueryConfig'''
 
| '''QueryConfig'''
| Runs once on both the origin and destination to determine configuration objects (such as storage, credentials, workloads, etc.) present in the system.
+
| Detects configuration objects (e.g., storage, credentials, workloads) on both systems.
 
|-
 
|-
 
| '''QueryMedia'''
 
| '''QueryMedia'''
| Runs cyclically on both the origin and destination to gather media-related information.
+
| Continuously collects media-related data on both systems.
 
|-
 
|-
 
| '''QueryImages'''
 
| '''QueryImages'''
| Runs cyclically on both the origin and destination to discover all backup images.
+
| Continuously discovers all backup images on origin and destination.
 
|-
 
|-
 
| '''CreateConfig'''
 
| '''CreateConfig'''
| Runs once on the target system to create necessary configuration components.
+
| Creates necessary configuration components on the target system.
 
|-
 
|-
 
| '''CreateWorkloads'''
 
| '''CreateWorkloads'''
| Runs once on the target system to create required backup configuration components.
+
| Establishes required backup configurations on the target system.
 
|-
 
|-
 
| '''CrossCheck'''
 
| '''CrossCheck'''
| Runs daily during data transfer to compare data between the origin and destination.
+
| Performs daily data comparisons between origin and destination.
 
|-
 
|-
 
| '''ExportImages'''
 
| '''ExportImages'''
| Runs cyclically on the origin system to export selected images.
+
| Cyclically exports selected images from the origin system.
 
|-
 
|-
 
| '''ManipulateImages'''
 
| '''ManipulateImages'''
| Converts or renames components that are mapped between the origin and destination.
+
| Renames or converts components mapped between origin and destination.
 
|-
 
|-
 
| '''ImportImages'''
 
| '''ImportImages'''
| Runs cyclically on the destination system to import the migrated images.
+
| Imports migrated images cyclically into the destination system.
 
|-
 
|-
 
| '''CreateMedia'''
 
| '''CreateMedia'''
| Runs cyclically on the destination to create or update the media.
+
| Updates or creates new media on the destination system.
 
|-
 
|-
 
| '''CheckConn'''
 
| '''CheckConn'''
| Runs on demand on both the origin and destination to test connectivity of clients and to push NetBackup certificates.
+
| Tests client connectivity and pushes NetBackup certificates.
 
|-
 
|-
 
| '''FinalizeOrigin'''
 
| '''FinalizeOrigin'''
| Runs once on the origin during the final switchover.
+
| Completes final origin system preparations before switchover.
 
|-
 
|-
 
| '''FinalizeDestination'''
 
| '''FinalizeDestination'''
| Runs once on the destination as part of the final switchover.
+
| Completes final destination system preparations post-switchover.
 
|-
 
|-
 
| '''Assessment'''
 
| '''Assessment'''
| Runs on demand to perform Pre-Assessment and Post Acceptance tests before and after migration, respectively.
+
| Executes pre-assessment and post-transition validation tests.
 
|-
 
|-
 
| '''HouseKeeping'''
 
| '''HouseKeeping'''
| Runs cyclically to clean up completed information from the Tranzman Database.
+
| Cyclically clears completed records from the Tranzman Database.
 
|-
 
|-
 
| '''PreDuplication'''
 
| '''PreDuplication'''
| Runs cyclically based on rules to perform duplications on the origin if required, as part of a split.
+
| Performs pre-duplication on the origin based on split migration rules.
 
|-
 
|-
 
| '''PostDuplication'''
 
| '''PostDuplication'''
| Runs cyclically based on rules to perform duplications on the destination if required, as part of storage migration.
+
| Performs post-duplication on the destination storage as part of migration.
 
|}
 
|}
  
Line 112: Line 117:
 
=== Cross Vendor Migration Flow ===
 
=== Cross Vendor Migration Flow ===
  
'''If the backup data is on Tape'''
+
'''If the backup data is stored on Tape'''
 
[[File:Migration_flow-cross_vendor_onTape.jpg|480px]]
 
[[File:Migration_flow-cross_vendor_onTape.jpg|480px]]
* (1) The data converter in the Tranzman server reads the data directly from tapes.
+
* (1) The Tranzman server reads data directly from tapes via its Data Converter.
* (2) Optionally, the converted data can be duplicated to a destination storage.
+
* (2) Optionally, converted data may be duplicated onto a destination storage system.
  
'''If the backup data is on Disk'''
+
'''If the backup data is stored on Disk'''
 
[[File:Migration_flow-cross_vendor_onDisk.jpg|480px]]
 
[[File:Migration_flow-cross_vendor_onDisk.jpg|480px]]
* (1) The converter reads the data from the origin storage over ''NFS/CIFS''.
+
* (1) The converter reads data from the origin storage over ''NFS/CIFS''.
* (2) Optionally, the converted images can be duplicated to the native destination storage.
+
* (2) Optionally, converted images may be duplicated onto the native destination storage.
  
 
'''If the backup data is encrypted or deduplicated'''
 
'''If the backup data is encrypted or deduplicated'''
 
[[File:Migration_flow-cross_vendor_encryptedBackup.jpg|480px]]
 
[[File:Migration_flow-cross_vendor_encryptedBackup.jpg|480px]]
* (1) Pre-duplicate the data to shared storage.
+
* (1) Pre-duplicate the data onto shared storage.
* (2) The converter reads the data from the shared storage.
+
* (2) The converter reads the data from shared storage.
* (3) Optionally, the data can be duplicated to the native destination storage.
+
* (3) Optionally, data may be duplicated onto native destination storage.
 
 
 
 
  
 
{| class="wikitable" style="margin:auto;width:100%;color:blue;text-align:center;border-style:ridge;"
 
{| class="wikitable" style="margin:auto;width:100%;color:blue;text-align:center;border-style:ridge;"

Revision as of 15:15, 27 May 2025

Introduction

Tranzman is delivered as an appliance, ready for deployment out-of-the-box.

It can be installed on either a virtual machine or a physical server using a bootable ISO or OVA. Unlike traditional software binaries, Tranzman is an appliance and therefore not available as an executable binary or RPM.

Tranzman consists of two primary components: the Appliance and the Agent.

Appliance Component

The core framework of the Tranzman appliance ('TZM') includes:

  1. Queue Manager (tzmqm)
  2. Data Transfer Engine (tzmtd)

Additional details:

  • TZM is built on Rocky Linux sources and utilizes an internal PostgreSQL database.
  • Accessible via CLISH (Command Line Interface Shell) and web user interface (webUI), hosted on an internal web server running nginx.
  • Configuration Converters, Catalog Converters, and Data Converters manage all data manipulations internally.

Agent Component

The Agent acts as the communication bridge between Tranzman and the backup server, with key functions including:

  • Waiting for instructions from the Tranzman Server.
  • Executing received actions from the Tranzman Server.
  • Reporting action status results back to the Tranzman Server.

The Agent is a minimal standalone binary installed on the backup server, initiating tzmclnt and other necessary processes.

High-Level Process Flow

  • All Tranzman Appliance processes rely on the relational database and the QueueManager.
  • The QueueManager updates action queues for Agents, handling all migration-related operations.
  • The Agent interacts with the Data Transfer Engine, fetching instructions and performing PUT/GET operations for catalog data.
  • Actions retrieved by the Agents trigger various migration procedures.

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 are sequences of instructions executed by the agent on the backup server to facilitate transitions. Below is a list of available actions in Tranzman:

Action Description
Init Runs once on both origin and destination during initial system discovery.
QueryProduct Identifies the backup product installed on both origin and destination.
QueryConfig Detects configuration objects (e.g., storage, credentials, workloads) on both systems.
QueryMedia Continuously collects media-related data on both systems.
QueryImages Continuously discovers all backup images on origin and destination.
CreateConfig Creates necessary configuration components on the target system.
CreateWorkloads Establishes required backup configurations on the target system.
CrossCheck Performs daily data comparisons between origin and destination.
ExportImages Cyclically exports selected images from the origin system.
ManipulateImages Renames or converts components mapped between origin and destination.
ImportImages Imports migrated images cyclically into the destination system.
CreateMedia Updates or creates new media on the destination system.
CheckConn Tests client connectivity and pushes NetBackup certificates.
FinalizeOrigin Completes final origin system preparations before switchover.
FinalizeDestination Completes final destination system preparations post-switchover.
Assessment Executes pre-assessment and post-transition validation tests.
HouseKeeping Cyclically clears completed records from the Tranzman Database.
PreDuplication Performs pre-duplication on the origin based on split migration rules.
PostDuplication Performs post-duplication on the destination storage as part of migration.

Migration Flow

Same Vendor Migration Flow

Migration flow-same vendor.jpg

Cross Vendor Migration Flow

If the backup data is stored on Tape Migration flow-cross vendor onTape.jpg

  • (1) The Tranzman server reads data directly from tapes via its Data Converter.
  • (2) Optionally, converted data may be duplicated onto a destination storage system.

If the backup data is stored on Disk Migration flow-cross vendor onDisk.jpg

  • (1) The converter reads data from the origin storage over NFS/CIFS.
  • (2) Optionally, converted images may be duplicated onto the native destination storage.

If the backup data is encrypted or deduplicated Migration flow-cross vendor encryptedBackup.jpg

  • (1) Pre-duplicate the data onto shared storage.
  • (2) The converter reads the data from shared storage.
  • (3) Optionally, data may be duplicated onto native destination storage.
Prev icon.jpg Next icon.jpg