Creating a Rack

From truxwiki.com
Revision as of 15:34, 16 August 2021 by Sam (talk | contribs)
Jump to navigation Jump to search

If you have a plethora of equipment lying around, you can make your own Truxton Forensic Rack solution. This article will discuss how to configure the rack as a Truxton solution.

Equipment

The number and type of equipment that make up the rack is up to you. All Truxton needs is Windows OS.

Storage

Truxton ETL servers require a single view of depot storage. When an ETL process writes to a depot file, a process on a different machine must be able to read from it. ETL's require fast IO. For this reason we leave this to the operating system. One possible solution is to use Windows Storage Spaces Direct. The remainder of this article will assume that all rack servers will have the mount point for the shares file system to be C:\ClusterStorage.

Each server will have a rather small C: drive which will host the operating system and applications. They will also contain a larger D:\ drive to hold logs file, sets, and temporary files. Ideally these will SSDs.

Sample Rack

Let's assume you have three servers lying around. You might populate the rack thusly:

Location Equipment IP Address
U18 Network Switch 10.10.1.200
U17 KVM 10.10.1.100
U13 Server 3 10.10.1.133
U09 Server 2 10.10.1.132
U05 Server 1 10.10.1.131
U01 UPS 10.10.1.50

Responsibilities

Decide which machines will have which responsibilities. There are a handful of singleton pieces of Truxton:

  1. Database
  2. Message Bus
  3. Load Status Monitor

These do not need to be hosted on every server.

Configurations

You may want to play with different configurations of Truxton on the rack. To reconfigure Truxton, you just stop Truxton, replace the TruxtonSettings.xml file, replace the TruxtonService.xml file, and restart Truxton. You can make this process easier by using scripts and a configuration library.

Scripts

In the root of D:\, place batch files that will reconfigure that specific server by stopping the services, replacing the configuration files and restarting.

Configuration Library

In C:\ClusterStorage, create a folder called Configuration, then create, in this folder, another folder to hold the configuration files for each configuration. Create the settings and service files and place them here. The naming convention used by Truxton Forensics for machine specific files to begin with their rack location and IP address.

Managing Configuration

Keeping track of these different configurations can get out of hand quickly. We recommend using Truxton's [Configuration System|configuration system] to help you know how a server is configured. By adding your own items to TruxtonSettings.xml and using a script to display them, you can instantly determine that machine's configuration.

We recommend using

import sys
sys.path.append('C:/Program Files/Truxton/SDK')
import truxton

def main():
  options = truxton.options()

  print( options.getstring("nodename") )
  print( options.getstring("nodeconfig") + " configuration" )
  print( options.getstring("nodedescription") )
  print( "C:\ProgramData\Truxton\Settings\TruxtonSettings.xml came from " + options.getstring("nodesettings") )
  print( "C:\ProgramData\Truxton\Settings\TruxtonService.xml came from " + options.getstring("nodeservice") )

if __name__ == "__main__":
  main()

Samples

Here are a couple of examples of shared configuration as well as individual.