Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

1.1. FSR

FSR(File level sync and replication) is a file-level, host-based network-wired replication solution and real-time backup for critical enterprise data.

Users can easily specify replication targets at the file and directory level, and can create flexible replication environments with various configurations such as 1:1, 1:N, N:1 and shared replication. The replication deployment process enables live migration even in a pre-built environment without any downtime in terms of service operations. It also provides various functions such as automatic split brain detection that can occur during redundancy, backup of deleted data, compression/encryption, and snapshot.

1.2. Main Features

Synchronization

Before data replication is performed, the FSR

Table of Contents


Main Features


Synchronization

Inc drawio
simple0
zoom1
custContentId3620143748
pageId1061127806
diagramDisplayNameFSR_resync_basic.drawio
lbox1
hiResPreview0
baseUrlhttps://mantech.jira.com/wiki
diagramNameFSR_resync_basic.drawio
imgPageId1070399557
pCenter0
aspectKh710xyq81amoqJS_zdP 1
includedDiagram1
width530
aspectHashe559920f494dcec6484d3ec2ea05f3920f9a3fbc
linksauto
tbstyletop
height391

Before FSR performs data replication, it copies the entire data from the source node to the target node to match the data of on the source and the target. This process is called synchronization.

When performing the initial synchronization is performed, the entire data is synchronized . Howeverto the target, but if resynchronization is necessary required after the initial synchronization is completed once, the partial synchronization is efficiently performed by incremental synchronization only for the change of changes in the source node data to achieve efficient synchronization. Resynchronization is performed when the replication network is re establishednormalized, such as when the replication network connection is disconnected and reconnected during replication, or when the a node is stopped (rebooted) and then reconnected. In other words, after the initial synchronization, FSR automatically performs incremental partial synchronization whenever necessarysynchronization is required.

Synchronization can also be performed done manually by user intervention, such as synchronization commands and synchronization schedule settings.

Replication

Even when synchronization is complete or synchronization is in progress, the data on the source node can be changed in real time. This behavior of reflecting these changes in real time from the source node to the target node is called replication. Synchronization and replication play the same role in reflecting data from source to target, but FSR separates them.

Replication is divided into synchronous and asynchronous, depending on how replication is handled.

...

the user, for example, by issuing a sync command, configuring periodic synchronization, etc.


Replication

Inc drawio
simple0
zoom1
custContentId3172368511
pageId1061127806
diagramDisplayNamefsr basic concept
lbox1
hiResPreview0
baseUrlhttps://mantech.jira.com/wiki
diagramNamefsr basic concept
imgPageId1070399557
pCenter0
aspectCGzCTaqGlybdCWYpRhP1 1
includedDiagram1
width661
aspectHashe9e4e0c48f07d92594f917b0a89a56951e8afdb9
linksauto
tbstyletop
height421

The behavior of reflecting changes to data to a real-time target is called replication. Changes to data are made even while synchronization is in progress, meaning that synchronization and replication are handled separately. Although synchronization and replication can be said to do the same thing in terms of reflecting data from the source to the target, FSR keeps them separate.

Replication is categorized as synchronous or asynchronous depending on how it is handled.

  • Synchronous methods fully guarantee target congruency by reflecting write I/O

...

  • from one disk to

...

  • the source and target disks simultaneously and then completing it.

...

  • However, there are performance limitations in deploying performance-critical services in a synchronous manner because the replication response performance of the target node affects the local I/O latency

...

  • performance

...

  • .
  • The asynchronous

...

  • approach considers replication complete when disk write I/

...

  • Os are reflected locally and

...

  • replication data is copied to the transfer buffer. This

...

  • method does not fully guarantee target congruency because some data that has been in the process of buffering replication may be lost if there is a sudden node failure on the source side. However, it guarantees high performance with no impact on local I/O latency and is used to build distant replication without transmission bandwidth constraints.

FSR supports asynchronous replication by default. Asynchronous replication performs internal buffering to minimize the impact of local I/O delayslatency, so and the size of the buffer buffers used must should be set appropriately for your operating environment. The buffer is Buffers are provided as a memory buffer buffers and a file bufferbuffers, and its their size is determined based on the contents of the buffer configuration in 4. Configurationsset within the available memory and disk limits of the system.


Online File Verification

Online File Verification of FSR is a function to perform file-level hash summarization, list, and real-time comparison of duplicate file SET of source node and target node. If there is a difference in the results of the comparison, the FSR informs the user and can resolve the difference by resync.

...

For more information, refer to 5.3. Online File Verification

Optmization

Replication is difficult to maintain target consistency when the transmission bandwidth is low depending on the operating environment. In situations where the replication environment is not physically backed up, FSR provides the ability to optimize the transmission load by compressing the transmitted data and simultaneously perform real-time encryption as needed.

It also provides the ability to efficiently use the public network band by arbitrarily limiting the replication transmission band according to the operating situation. For more information, refer to 5.6. Etc.

Split brain detect

FSR automatically detects split brains. This feature is not available in other commercial file replication solutions and is a unique feature of the FSR solution. In other file replication solutions, the detection of split brain is left to the operation of the HA solution. However, this approach is dependent on HA operations, and in some situations can cause data loss due to reverse sink. To fundamentally avoid this problem, the replication solution must track the status of the file and automatically detect the split brain to prevent data loss.

For more information, refer to Section 5.4. Split-Brain

Statistics

It provides statistical information that monitors the operation of replication and provides real-time performance monitoring. For more information, refer to 5.2. Checking Status

Snapshot

In addition to performing real-time replication to the target node, it provides a snapshot function to back up data at a specific point in time to a separate space. For more information, refer to 5.5. Snapshot

HA/DR support

FSR provides CLI and Rest-API for HA / DR integration. Refer to Appendix A. System ManualAppendix B. FSR Interface Guide.

1.3. 용어

노드

네트워크에 연결된 장치를 통칭하는 용어이며 그 중 컴퓨터 노드를 호스트라고 합니다. 통상 노드와 호스트는 구분하지 않고 사용되는 경향이 있으며 본 매뉴얼에서도 노드는 호스트와 특별히 구분하지 않고 동등한 의미로 사용합니다.

클러스터

클러스터는 특수한 목적으로 사용하기 위한 컴퓨터 노드의 집합입니다. 여기서 얘기하는 클러스터는 복제 클러스터로서 복제를 수행하기 위해 구성한 소스, 타깃 노드들을 포함하고 FSR에선 이러한 복제 클러스터를 리소스 단위로 표현합니다.

리소스

리소스는 복제 리소스를 의미하며 복제 서비스를 제공하는 하나의 단위입니다. 리소스는 노드, 연결, (복제대상) 파일셋으로 구성되며 FSR 구성파일로 표현할 수 있습니다. FSR은 구성파일을 통해 복제환경과 설정을 해석하고 이를 토대로 복제를 수행합니다. 

소스(Primary)

복제 상의 원본 데이터 노드를 소스 노드 또는 소스라고 합니다. 그리고 복제 클러스터내의 역할(Role)은 Primary 입니다.

Primary, 소스, Active 노드 등의 용어는 복제 또는 HA 환경에 따라 쓰임새가 다르지만 통상 엄격히 구분해서 쓰지는 않습니다. 

타깃(Secondary)

복제 상의 원본 또는 변경분 데이터를 수신하여 사본을 유지하는 노드를 타깃 노드 또는 타깃이라고 합니다. 그리고 복제 클러스터내의 역할(Role)은 Secondary 입니다.

Secondary, 타깃, Standby 노드 등의 용어는 복제 또는 HA 환경에 따라 쓰임새가 다르지만 통상 엄격히 구분해서 쓰지는 않습니다. 

Info

복제의 경우 항상 Primary가 소스이며 Secondary 가 타깃이지만, 동기화의 경우는 Secondary 도 소스가 될 수 있습니다. 이것은 복제 클러스터 상에 Secondary 노드들만 존재하더라도 최신 Secondary 를 기준으로 동기화가 되도록 허용해야 하기 때문입니다.

파일셋 (File Set)

리소스 내의 구성요소로서 복제 대상을 기술한 단위입니다. 파일셋은 복제대상 파일 또는 디렉터리로 기술하며 제외필터를 포함합니다. 제외필터는 복제 대상들 중 일부 파일 또는 디렉터리를 제외할 수 있도록 제공하는 정책으로서 와일드카드 등 정규식 기반으로 기술합니다.

정합성

복제 데이터 정합성을 뜻하며 소스와 타깃의 데이터가 일치하는 상태를 말합니다. 파일복제에서는 바이트 수준의 데이터 정합성을 보장합니다.

스플릿 브레인

복제 클러스터내에서 특정시점에 2개 이상의 노드가 Primary 역할을 가져서 잠재적으로 데이터 유실이 발생할 수 있는 상태를 스플릿 브레인이라고 합니다. 스플릿 브레인이 발생하면 사용자는 Primary 역할을 가졌던 노드들 중 희생할 노드를 결정하고 스플릿 브레인 해결을 통해 복제를 정상화할 수 있습니다.

RID

FSR은 복제 대상 파일셋의 파일 상태를 표현하는 ULID 기반의 고유번호를 유지하고 관리합니다. 이 값을 RID(Revision Identifier)라고 합니다. FSR은 RID 를 통해 동기화의 방향을 결정하고 스플릿 브레인을 식별합니다.

토폴로지

...


Split-brain detection

In the event of an unintended abnormal situation during replication operations, measures are required to protect the data on the source side. Among them, if it becomes the 2 primary at some point after disconnection (spli-brain), potentially causing data loss, it must be automatically detected and acted upon to block replication, a feature called split-brain detection. For more information about this, see Split-brain in Troubleshooting.


Snapshot

There may be times when failover fails due to a failure during replication operations, or when it is not possible to recover to the replication target due to security issues such as malware infection. In general, you should be prepared to recover in such cases by backing up your data. FSR supports recovery to a specific point in time through the snapshot feature and provides all the interfaces related to snapshot point-in-time recovery, including creating and managing snapshots and adjusting the space in the snapshot storage. For more information on this, see the snapshots section.



Terms


Node

A generic term for devices connected to a network, of which computer nodes are called hosts. Normally, node and host tend to be used without distinction. In this manual, node is used with the same meaning without distinguishing from host.

Cluster

A cluster is a collection of computer nodes for special purposes. The cluster here is a replication cluster, which contains the source and target nodes that are configured to perform replication, and the FSR represents these replication clusters on a resource basis.

Resource

A resource refers to a replication resource and is a unit that provides replication services. A resource consists of a node, a connection, and a (set of replication) filesets, which can be represented by an FSR configuration file. FSR interprets the replication environment and settings through a configuration file and performs replication based on this.

Source(Primary)

Source data nodes on a replication cluster are called source nodes or sources. And the role in the replication cluster is Primary.

Terms such as primary, source, and active nodes are used differently depending on the replication or HA environment, but are not usually strictly distinguished.

Target(Secondary)

The node that receives the original or incremental data on the replication cluster and maintains a copy is called the target node or target. And the role in the replication cluster is Secondary.

The terms Secondary, Target, and Standby Node are used differently depending on the replication or HA environment, but are not usually strictly distinguished.

Info

For replication, Primary is always the source and Secondary is the target, but for synchronization, the secondary can also be the source. This is because even if only secondary nodes exist in the replication cluster, they must be allowed to synchronize based on the latest secondary.

File Set

A unit within a resource that describes a replication target. A fileset is described as a file or directory to be replicated and contains an exclusion filter. An exclusion filter is a policy that allows you to exclude some files or directories from replication targets. It is based on regular expressions such as wildcards.

Consistency

Represents data integrity, which means that the data on the source and target is exactly the same. File replication ensures byte-level data consistency.

Split-Brain

A split brain is a condition or status in which two or more nodes have a primary role at any point in the replication cluster, potentially causing data loss. When a split brain occurs, the user can decide which node has the primary role to sacrifice and resolve the split brain to normalize the replication.

RID

FSR maintains and tracks a ULID-based unique number that represents the file state of a fileset to be replicated. This value is called the revision identifier (RID). The FSR uses the RID to determine the direction of synchronization and identify the split brain.

Topology

FSR can configure various connections between nodes depending on the replication configuration. Typically operating in a mesh or star topology.