Install, Upgrade, or Uninstall FlexSync

When you have met all requirements and enabled the FlexSync license [This ONLY applies if your system is running StorNext 6.x. Beginning with StorNext 7.0, you must purchase and install a Node license on your system (contact your Quantum Sales representative to obtain a Node license)], you can install or upgrade your FlexSync feature. After installation or upgrade is complete, you can access the FlexSync GUI on port 9091 of your appliance and configure data replication.
Note: If you cannot use this port for FlexSync, you can manually reassign a port to the feature. See Manually Assign an Access Port.
There are three basic steps you must perform to configure FlexSync to replicate your data as described in the Configure Replication section.
Note: You can use Flexsync with StorNext Storage Manager managed file systems (source or destination), if the FlexSync version is 2.0 or greater and the StorNext version is 6.3.0 or greater. See FlexSync and Managed Files for configuration considerations when using StorNext Storage Manager.
Note: FlexSync version 2.2.0 or greater is ONLY supported on a system running StorNext 7.0.0 or greater.

Do the following steps to install the FlexSync application.

You can download FlexSync from the StorNext add ons page on the StorNext Connect website.
- From the StorNext Connect website, browse to the StorNext add ons page. See Download StorNext Add-ons in the StorNext Connect Documentation Center.
- Click the FlexSync button to download the FlexSync installer file.
You are prompted to save the file to a local destination.
- Make note of this destination for the installation process.


During the installation process, keep the following in mind:
- You need to download the FlexSync distribution package separately to a local directory on your system. FlexSync is not bundled with the StorNext software distribution package.
-
FlexSync must be able to resolve the host name of the appliance that is the server for the source file system. Typically, this occurs through your DNS server configuration, or you could add the mapping to the /etc/hosts file on the appliance where the source flexsyncd daemon is running (which might not be the same system as where the file appliance is running).
-
You need to install FlexSync on each system using the feature, including the source destination, the target destination, and the managing appliance.
Note: Mixed versions of FlexSync daemons is not supported and results in a communication error. You must install the same version of FlexSync, or upgrade to the same version of FlexSync on all of the hosts or systems using Flexsync. A newer version of the Flexsync daemon cannot communicate with an older version within a configuration, or on another host or system.
- You do not need to stop StorNext when you install FlexSync.
-
In order to leverage metadata capabilities, you must enable StorNext metadata archive (mdarchive) on the source system, but may be turned off on the destination system, reducing the performance impact on the destination system. Only disable mdarchive on the target system if other features such as file system auditing and online stripe group management, which also use mdarchive, are not needed on the source system. For FlexSync to connect to the source MDC, the hostname/IP pairs of the MDCs need to be in DNS or by adding the mapping to /etc/hosts on both sides of the MDC.
If you plan to have truncated files on your source system and you are running FlexSync 2.1.x (or any prior release), Quantum recommends you set the Metadata Archive Cache Size to a minimum of 8 GiB on your source system (the default is 2 GiB). To configure the Metadata Archive Cache Size, see Edit a File System, expand the Manual Configuration drop-down, and then expand the Configuration Parameters > Features Tab drop-down.

- Log on to an SSH client, and connect to your system.
- At the prompt, enter the following commands to navigate to the directory where your FlexSync distribution package is located and to view the package:
cd <local_directory>
ls
- At the prompt, enter the following command to extract the binary (bin) package:unzip <FlexSync_distribution_package>
-
At the prompt, enter the following command to unpack the installer files:
For RHEL
./<Redhat_bin_file>For Debian
./<Debian_bin_file> -
After the bin file has been successfully extracted, the end user license agreement (EULA) displays.
- Review the EULA, and enter
y
to accept the terms. - At the prompt, enter the following commands to view the list of available installer files.
cd /tmp/flexsync
ls
Example Redhat RPM Files
flexsync-x.x.x-x.el7.x86_64.rpm
quantum_jansson-x.x.x-x.x86_64.rpm
quantum_libevent-x.x.x-x.x86_64.rpm
quantum_librsync-x.x.x-x.x86_64.rpm
Example Debian deb Files
flexsync-x.x.x-x.x86_64.deb
quantum-libevent_x.x.x-x_x86_64.deb
quantum-jansson_x.x.x-x_x86_64.deb
quantum-librsync_x.x.x-x_x86_64.deb
IMPORTANT
Within the /tmp/flexsync directory, there are four rpm files that must be installed to operate FlexSync correctly. If the StorNext software is already installed on your system, the following two files may already be installed:
quantum_jansson-x.x.x-x.x86_64.rpm
quantum_libevent-x.x.x-x.x86_64.rpm
Keep in mind that these existing rpm files must be upgraded to the same level as the newly unpacked rpm files for proper operation.
-
At the prompt, enter the following commands to check for any existing packages and their respective versions:
For RHEL
rpm -q flexsync
rpm -q quantum_jansson
rpm -q quantum_libevent
rpm -q quantum_librsync
Example Output: Only StorNext Software Installed at the Proper Level
package flexsync-x.x.x-x.el7.x86_64 is not installed
quantum_jansson-x.x.x-x.x86_64
quantum_libevent-x.x.x-x.x86_64
package quantum_librsync-x.x.x-x.x86_64 is not installed
For Debian
dpkg -l flexsync
dpkg -l quantum-libevent
dpkg -l quantum-jansson
dpkg -l quantum-librsync
-
At the prompt, enter the following to install the appropriate files:
For RHEL
rpm -ivh <rpm_file> <rpm_file>...IMPORTANT
You must install the following files in the order listed below:
quantum_librsync-<version>.x86_64.rpm
flexsync-x.x.x-x.<version>.x86_64.rpm
Example
rpm -ivh quantum_jansson-x.x.x-x.x86_64.rpm
rpm -ivh quantum_libevent-x.x.x-x.x86_64.rpm
rpm -ivh quantum_librsync-x.x.x-x.x86_64.rpm flexsync-x.x.x-x.el7.x86_64.rpm
For Debian
dpkg -i <deb_file> <deb file>IMPORTANT
You must install the following files in the order listed below:
quantum-librsync_x.x.x-x_x86_64.deb
flexsync-x.x.x-x.x86_64.deb
Example
dpkg -i quantum_jansson-x.x.x-x.x86_64.deb
dpkg -i quantum_libevent-x.x.x-x.x86_64.deb
dpkg -i quantum-librsync_x.x.x-x_x86_64.deb flexsync-x.x.x-x.x86_64.deb

After installing the FlexSync application, you need to activate one or both of the FlexSync daemons.

In order to leverage metadata capabilities, you must enable StorNext metadata archive (mdarchive) on the source system, but may be turned off on the destination system, reducing the performance impact on the destination system. Only disable mdarchive on the target system if other features such as file system auditing and online stripe group management, which also use mdarchive, are not needed on the source system. For FlexSync to connect to the source MDC, the hostname/IP pairs of the MDCs need to be in DNS or by adding the mapping to /etc/hosts on both sides of the MDC.
If you plan to have truncated files on your source system and you are running FlexSync 2.1.x (or any prior release), Quantum recommends you set the Metadata Archive Cache Size to a minimum of 8 GiB on your source system (the default is 2 GiB). To configure the Metadata Archive Cache Size, see Edit a File System, expand the Manual Configuration drop-down, and then expand the Configuration Parameters > Features Tab drop-down.

The admin daemon (flexsyncadmind) performs centralized management tasks, as follows:
- Provides the management GUI
- Creates tasks
- Provides status

The data mover daemon (flexsyncd) executes data movement tasks, as follows:
- Initiates the data movement (copy) tasks, based on the defined tasks
- Initiates the first copy task to move all files
- Performs incremental updates
- Creates point-in-time versions of files.

The daemons you activate depend upon your StorNext environment and client OS support. See FlexSync Appliance Compatibility.
In addition, your management method will determine the best daemon(s) to activate.

If you use a centralized management, without replication on the admin server, only enable the flexsyncadmind daemon.

If you use local management, enable both the flexsyncd and the flexsyncadmind daemons.

- Log on to an SSH client, and connect to your system.
- At the prompt, enter one of the following commands, depending on your RHEL version, to enable the daemon(s):
For RHEL 6
chkconfig flexsyncd on
chkconfig flexsyncadmind on
For RHEL 7, RHEL 8
systemctl enable flexsyncd
systemctl enable flexsyncadmind
For Debian
systemctl enable flexsyncd
systemctl enable flexsyncadmind
Example Output: Central Management
Created symlink from /etc/systemd/system/multi-user.target.wants/flexsyncadmind.service to /usr/lib/systemd/system/flexsyncadmind.service
- At the prompt, enter one of the following commands depending on your RHEL version to activate the daemon:
For RHEL 6
service flexsyncd start
service flexsyncadmind start
For RHEL 7, RHEL 8
systemctl start flexsyncd
systemctl start flexsyncadmind
For Debian
systemctl start flexsyncd
systemctl start flexsyncadmind

After installing FlexSync and enabling the FlexSync daemons, you need to add FlexSync users through the FlexSync CLI.

- All FlexSync users have administrator privileges.
- For enhanced security, FlexSync provides Password-Based Key Derivation Function (PBKDF2). With PBKDF2, you must create login credentials before you can log in to the FlexSync GUI. When creating login credentials, keep the following in mind:
- The username cannot exceed sixteen (16) characters.
The password must have a minimum of 8 characters, and cannot exceed 32 characters.
- You must create a user account with each daemon that you have activated.
Example
If you have activated both flexsyncd and flexsyncadmin, then you must create an account for the user with each of those daemons.
- After initially adding FlexSync users, you can manage them at any time. Keep in mind that any changes to users are effective immediately, unless a user is already logged in. In that case, updates will not take effect until the user logs out.

Note: You must create a user account with each daemon that you have activated. If you have activated both flexsyncd and flexsyncadmin, then you must create an account for the user with each of those daemons.
- Log on to an SSH client, and connect to your system.
- At the prompt, enter the following command to create a FlexSync user account for the activated FlexSync daemon:
/opt/quantum/flexsync/bin/flexsyncauth -a -U <USERNAME> -P <PASSWORD> -d <daemon>
Example
/opt/quantum/flexsync/bin/flexsyncauth -a -U TJONES -P Tjpassword! -d flexsyncd

- Log on to an SSH client, and connect to your system.
- Change the password for the flexsyncadmind daemon.
- At the prompt, enter the following command to update the password for a FlexSync user account:
/opt/quantum/flexsync/bin/flexsyncauth -a -U <USERNAME> -P <NEW_PASSWORD> -d <daemon>
Example
/opt/quantum/flexsync/bin/flexsyncauth -a -U TJONES -P Newpassword! -d flexsyncadmind
- If you have an active FlexSync GUI session, then log out of the active session.
- Log in to your FlexSync GUI. See Access the FlexSync GUI.
- Verify your system and tasks are operational.
- At the prompt, enter the following command to update the password for a FlexSync user account:
- Use the new password from Step 2 to change the password for the flexsyncd daemon.
- At the prompt, enter the following command to update the password for a FlexSync user account:
/opt/quantum/flexsync/bin/flexsyncauth -a -U <USERNAME> -P <NEW_PASSWORD> -d <daemon>
Example
/opt/quantum/flexsync/bin/flexsyncauth -a -U TJONES -P Newpassword! -d flexsyncd
- Use the FlexSync GUI to update the password for the host on which the flexsyncd password was changed. See Edit a Host.
- Verify your system and tasks are operational.
- At the prompt, enter the following command to update the password for a FlexSync user account:

- Log on to an SSH client, and connect to your system.
- At the prompt, enter the following command to delete a FlexSync user account for the activated FlexSync daemon:
/opt/quantum/flexsync/bin/flexsyncauth -r -U <USERNAME> -d <daemon>
Example
/opt/quantum/flexsync/bin/flexsyncauth -r -U TJONES -d flexsyncd

- Log on to an SSH client, and connect to your system.
- At the prompt, enter the following command to view active FlexSync user accounts for the activated FlexSync daemon:
/opt/quantum/flexsync/bin/flexsyncauth -l -d <daemon>
Example
/opt/quantum/flexsync/bin/flexsyncauth -l -d flexsyncd

Do the following to upgrade your FlexSync application.
Note: To upgrade to FlexSync 2.2.x, you must be running FlexSync 1.3.0 (or later).
Caution: Before you perform an upgrade, you must log out of any existing FlexSync GUI sessions. If you do not log out of an existing FlexSync GUI session, any changes and updates resulting from an upgrade are not reflected in your user interface.

During the upgrade process, keep the following in mind:
- You need to download the FlexSync distribution package separately to a local directory on your system. FlexSync is not bundled with the StorNext software distribution package.
-
FlexSync must be able to resolve the host name of the appliance that is the server for the source file system. Typically, this occurs through your DNS server configuration, or you could add the mapping to the /etc/hosts file on the appliance where the source flexsyncd daemon is running (which might not be the same system as where the file appliance is running).
-
You need to upgrade FlexSync on each system using the feature, including the source destination, the target destination, and the managing appliance.
Note: Mixed versions of FlexSync daemons is not supported and results in a communication error. You must install the same version of FlexSync, or upgrade to the same version of FlexSync on all of the hosts or systems using Flexsync. A newer version of the Flexsync daemon cannot communicate with an older version within a configuration, or on another host or system.
- You do not need to stop StorNext when you upgrade FlexSync.
- After upgrading FlexSync, you need to restart the FlexSync daemons if they were not stopped prior to the upgrade.
-
Restart the FlexSync Daemons
- Log on to an SSH client, and connect to your system.
- At the prompt, enter one of the following commands depending on your RHEL version to restart the daemon:
For RHEL 6
service flexsyncd | flexsyncadmind restartFor RHEL 7, RHEL 8 or Debian
systemctl restart flexsyncd | flexsyncadmind
-
In order to leverage metadata capabilities, you must enable StorNext metadata archive (mdarchive) on the source system, but may be turned off on the destination system, reducing the performance impact on the destination system. Only disable mdarchive on the target system if other features such as file system auditing and online stripe group management, which also use mdarchive, are not needed on the source system. For FlexSync to connect to the source MDC, the hostname/IP pairs of the MDCs need to be in DNS or by adding the mapping to /etc/hosts on both sides of the MDC.
If you plan to have truncated files on your source system and you are running FlexSync 2.1.x (or any prior release), Quantum recommends you set the Metadata Archive Cache Size to a minimum of 8 GiB on your source system (the default is 2 GiB). To configure the Metadata Archive Cache Size, see Edit a File System, expand the Manual Configuration drop-down, and then expand the Configuration Parameters > Features Tab drop-down.

- Log on to an SSH client, and connect to your system.
- At the prompt, enter the following commands to navigate to the directory where your FlexSync distribution package is located and to view the package:
cd <local_directory>
ls
- At the prompt, enter the following command to extract the binary (bin) package:unzip <FlexSync_distribution_package>
-
At the prompt, enter the following command to unpack the installer files:
For RHEL
./<Redhat_bin_file>For Debian
./<Debian_bin_file> -
After the bin file has been successfully extracted, the end user license agreement (EULA) displays.
- Review the EULA, and enter
y
to accept the terms. - At the prompt, enter the following commands to view the list of available installer files.
cd /tmp/flexsync
ls
Example Redhat RPM Files
flexsync-x.x.x-x.el7.x86_64.rpm
quantum_jansson-x.x.x-x.x86_64.rpm
quantum_libevent-x.x.x-x.x86_64.rpm
quantum_librsync-x.x.x-x.x86_64.rpm
Example Debian deb Files
flexsync-x.x.x-x.x86_64.deb
quantum-libevent_x.x.x-x_x86_64.deb
quantum-jansson_x.x.x-x_x86_64.deb
quantum-librsync_x.x.x-x_x86_64.deb
IMPORTANT
Within the /tmp/flexsync directory, there are four rpm files that must be installed to operate FlexSync correctly. If the StorNext software is already installed on your system, the following two files may already be installed:
quantum_jansson-x.x.x-x.x86_64.rpm
quantum_libevent-x.x.x-x.x86_64.rpm
Keep in mind that these existing rpm files must be upgraded to the same level as the newly unpacked rpm files for proper operation.
-
At the prompt, enter the following commands to check for any existing packages and their respective versions:
For RHEL
rpm -q flexsync
rpm -q quantum_jansson
rpm -q quantum_libevent
rpm -q quantum_librsync
Example Output: Only StorNext Software Installed at the Proper Level
package flexsync-x.x.x-x.el7.x86_64 is not installed
quantum_jansson-x.x.x-x.x86_64
quantum_libevent-x.x.x-x.x86_64
package quantum_librsync-x.x.x-x.x86_64 is not installed
For Debian
dpkg -l flexsync
dpkg -l quantum-libevent
dpkg -l quantum-jansson
dpkg -l quantum-librsync
-
At the prompt, enter the following to install the appropriate files:
For RHEL
rpm -U <rpm_file> <rpm_file>...IMPORTANT
You must install the following files in the order listed below:
quantum_librsync-<version>.x86_64.rpm
flexsync-x.x.x-x.<version>.x86_64.rpm
Example
rpm -U quantum_jansson-x.x.x-x.x86_64.rpm
rpm -U quantum_libevent-x.x.x-x.x86_64.rpm
rpm -U quantum_librsync-x.x.x-x.x86_64.rpm flexsync-x.x.x-x.el7.x86_64.rpm
For Debian
dpkg -i <deb_file> <deb file>IMPORTANT
You must install the following files in the order listed below:
quantum-librsync_x.x.x-x_x86_64.deb
flexsync-x.x.x-x.x86_64.deb
Example
dpkg -i quantum_jansson-x.x.x-x.x86_64.deb
dpkg -i quantum_libevent-x.x.x-x.x86_64.deb
dpkg -i quantum-librsync_x.x.x-x_x86_64.deb flexsync-x.x.x-x.x86_64.deb
-
After you upgrade the FlexSync Application, you need to restart the FlexSync daemons if they were not stopped prior to the upgrade. See Restart the FlexSync Daemons.

Do the following on each host to uninstall your FlexSync application.
If you are removing a remote host that is communicating with a central flexsyncadmind daemon, you must remove the target versions, the data, and its respective tasks.
Caution: Before you perform this procedure, Quantum recommends you log out of any existing FlexSync GUI sessions.

- Log on to an SSH client, and connect to your system.
-
At the prompt, enter the following commands to stop both the flexsyncd and the flexsyncadmind daemons.
systemctl stop flexsyncadmind
systemctl stop flexsyncd
-
At the prompt, enter the following commands to remove the flexsync .rpm file(s):
rpm -qa | grep flexsync <-- This command lists the FlexSync .rpm file(s) to remove.
rpm -evh flexsync-XXX <-- Where XXX is the flexsync information from above.
rm -rf /opt/quantum/flexsync <-- This command removes the directory and contents of opt/quantum/flexsync.
-
At the prompt, enter the following commands to remove the libsync .rpm file(s):
rpm -qa | grep librsync <-- This command lists the librsync .rpm file(s) to remove.
rpm -evh quantum_librsync-YYY <-- Where YYY is the librsync information from above.
rm -rf /opt/quantum/librsync <-- This command removes the directory and contents of opt/quantum/librsync.
-
If StorNext is NOT running on your system, then enter the following commands at the prompt to remove both the jansson and libevent .rpm file(s):
-
To remove the jansson .rpm file(s):
rpm -qa | grep quantum_jansson <-- This command lists the quantum_jansson .rpm file(s) to remove.
rpm -evh quantum_jansson_ZZZ <-- Where ZZZ is the quantum_jansson information from above.
rm -rf /opt/qauntum/jansson <-- This command removes the directory and contents of opt/quantum/jansson.
-
To remove the libevent .rpm file(s):
rpm -qa | grep quantum_libevent <-- This command lists the quantum_libevent .rpm file(s) to remove.
rpm -evh quantum_libevent_QQQ <-- Where QQQ is the quantum_libevent information from above.
rm -rf /opt/quantum/libevent <-- This command removes the directory and contents of opt/quantum/libevent.
-
-
At the prompt, enter the following command to remove the FlexSync log file(s):
rm /var/log/flexsync*

The FlexSync Administration (GUI Interface), and FlexSync Agent and Data Mover can be accessed on port 9091 of your Quantum appliance. Under certain circumstances, you might need to change the port from which to access the port.
Example Scenarios
You may need to change the FlexSync Admin Interface access port if:
- Port 9091 is already be taken by another in-house configuration.
- Port 9091 is blocked by an in-house firewall rule.

- Log on to an SSH client, and connect to your system.
-
At the prompt, enter the following command to access and edit the flexsyncadmind file:
vi /etc/sysconfig/flexsyncadmind - At the prompt, enter the following command to change the OPTIONS value to a new port number:OPTIONS="-p <port_number>"
- Enter
:w
to write the changes to the file. - Enter
:q
to exit the editor. - At the shell prompt, enter the following command — depending on your StorNext 6 client version — to activate the flexsyncadmind daemon.
RHEL 6 Activation Command
service flexsyncadmind restartRHEL 7, RHEL 8 Activation Command
systemctl restart flexsyncadmind

- Log on to an SSH client, and connect to your system.
-
At the prompt, enter the following command to access and edit the flexsyncd file:
vi /etc/sysconfig/flexsyncd -
At the prompt, enter the following command to change the OPTIONS value to a new port number:
OPTIONS="-a <port_number> -d <port_number> -p <port_number>" - Enter
:w
to write the changes to the file. - Enter
:q
to exit the editor. - At the shell prompt, enter the following command — depending on your StorNext 6 client version — to activate the flexsyncd daemon.
RHEL 6 Activation Command
service flexsyncd restart
RHEL 7, RHEL 8 Activation Command
systemctl restart flexsyncd

You can use Flexsync with StorNext Storage Manager managed file systems (source or destination), if the FlexSync version is 2.0 or greater and the StorNext version is 6.3.0 or greater. See FlexSync and Managed Files for configuration considerations when using StorNext Storage Manager.
Note: FlexSync version 2.2.0 or greater is ONLY supported on a system running StorNext 7.0.0 or greater.
Caution: Use caution if you attempt to mix Bandwidth Throttling and Storage Manager. If you run FlexSync on a throttled link or if the link is substantially slower than the minimum tape drive read speed, see Considerations for Low Network Bandwidth Tape Retrieval for configuration options.
If FlexSync is replicating files managed by Storage Manager, it is possible that some of the files may have been truncated before the replication starts. For these files, Storage Manager subsequently retrieves the file data from the first available tertiary storage (for example, tape, or object storage) copy and transfers it directly to the FlexSync destination.

In the case where the file has been truncated and there are multiple copies in tertiary storage, FlexSync retrieves the first copy in the retrieve order of the managed files’ policy class. If a different copy is desired, you can change the retrieve order using the following CLI command:
For example, if there are two copies, the first on tape, and the second on object storage, then the tape copy is preferred if the retrieve order is 1,2, and the object storage copy is preferred if the retrieve order is 2,1.

By default, FlexSync stages data through Storage Manager’s in-memory buffers when processing a FlexSync request. However, in the case where the data is stored on tape media and the available network bandwidth is low in comparison with the tape bandwidth, the buffers might fill completely, requiring the tape to stop intermittently to wait for the network to catch up. Since this behavior is undesirable, it might be appropriate to stage incoming data through temporary disk files rather than through memory. You can configure the behavior by setting the FS_DIRECT_STAGE_ENABLE_SIZE and FS_DIRECT_STAGE_DISK configuration parameters using the following guidelines:
- The parameter, FS_DIRECT_STAGE_ENABLE_SIZE, specifies the minimum request size. If the total amount of data requested for transfer equals or exceeds this value, staging files are used to transfer data from tape to FlexSync. You must specify the value in bytes.
- When staging is enabled, the size of the staging files must also be configured by setting the parameter FS_DIRECT_STAGE_DISK. You must specify the value in bytes.
- While the optimal settings for the above parameters differ depending on multiple external factors, the values of FS_DIRECT_STAGE_ENABLE_SIZE greater than or equal to 2 GB and FS_DIRECT_STAGE_DISK greater than or equal to 5 GB are appropriate, under most circumstances.
Note: The parameters affect only retrieval from tape and are not required for retrieving explicitly from object storage media.

If a source file is truncated and has never been replicated:
- The file is requested from Storage Manager and streamed to the destination.
- The file is not rehydrated on the source.
If a source file has been replicated and is also truncated, then FlexSync ignores the file.