Skip to content

Service Installation

Eric Ren edited this page Nov 22, 2022 · 37 revisions

3.1+

The ecs-sync distribution comes with scripts to aid in configuring a Linux VM to run ecs-sync (and optionally the UI) as a service. This is the standard configuration for all methods of running the tool (CLI, XML or Web UI). Here is a rough diagram of the service architecture.

ecs-sync 3.1 architecture

All storage plugins and filters are supported in the UI. Any type of configuration can be submitted via CLI, XML or Web UI using essentially the same structure.

The installation scripts will install a number of dependencies, including Sqlite, MariaDB (OSS mySQL), Java, some standard analysis tools, etc. The procedure for preparing a VM and running these scripts is outlined below.

  1. Create a 64-bit Linux VM (CentOS or RHEL 6.4+ is supported).
    • Ideally, the VM should have at least 8 vCores and 16GB memory, but the biggest requirement is to maximize the network pipe to both the source and the target.
    • Our internal deployments use CentOS 7 minimal.
    • The OS used for ecs-sync deployment and the software running on the OS shall be well maintained by the user to prevent security vulnerabilities.
  2. Upload the ecs-sync distribution zip and UI jar file to the VM.
    • Get these files from the latest release page here.
    • Unzip the distribution zip (after which you can delete the zip file), then move the UI jar into the folder that was created (next to the ecs-sync jar).
  3. Update installed packages to latest version: sudo yum update
  4. Make sure your umask is set to 022 (or you will have several permission problems you will have to correct)
    • umask 022
  5. Run the OS configuration script.
    • NOTE: RHEL & CentOS 6.x require manual execution of some tasks in this script. If you are installing on an older OS that does not support systemd, use the corresponding sysV commands instead.
    • Change directories to the distribution folder.
    • As root (or with sudo), run ova/configure-centos.sh.
    • At some point, you will be guided through the mysql_secure_installation script. There is no mySQL root password by default; you should set one.
    • You will be prompted again for the mySQL root password to create the ecs-sync DB user.
  6. Run the ecs-sync install script.
    • This will install the ecs-sync and ecs-sync-ui services. If you are running 2.1 in CLI-only, you can skip this step.
    • From within the distribution folder, run as root (or with sudo) ova/install.sh.
  7. If you are performing any CAS migrations, install the CAS SDK.
  8. If you are writing to a filesystem (NFS, SMB, etc.), install iozone to test write performance.
    • You should build an RPM from the SRPM, since there is no published package available for RedHat.
  9. If you are writing to ECS via S3, install bucket-perf to test S3 write performance.
    • This is just a self-executing jar file, so place it in an accessible location on the VM.