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 copies the entire data from the source node to the target node to match the data of the source and the target. This process is called synchronization.
When the initial synchronization is performed, the entire data is synchronized. However, if resynchronization is necessary after the synchronization is completed once, the synchronization is efficiently performed by incremental synchronization only for the change of the source node data.
Resynchronization is performed when the replication network is re established, such as when the replication network is disconnected and reconnected, or when the node is rebooted. In other words, after initial synchronization, FSR automatically performs incremental synchronization whenever necessary.
Synchronization can also be performed 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.
- Synchronous method guarantees target consistency by reflecting write I/O of one disk to disk of source and target simultaneously and completing. On the other hand, because the replication response performance of the target node affects local I/O latency, there is a performance constraint on deploying performance-critical services synchronously.
- The asynchronous method considers replication complete when disk write I/O is reflected locally and the replicated data is copied to the transfer buffer. This approach is ideal for building long-distance replication with no bandwidth constraints, while ensuring that some data in the replication buffering process could be lost when the fail-over occurred.
FSR natively supports asynchronous replication. Asynchronous replication performs internal buffering to minimize the impact of local I/O delays, so the size of the buffer used must be set appropriately for your operating environment. The buffer is provided as a memory buffer and a file buffer, and its size is determined based on the contents of the buffer configuration in 4. Configurations.
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.
The FSR does not need to verify the integrity of the source and target under normal operating conditions. Online File Verification is useful in the following situations:
When you need to resolve unintentional operating situations, such as data being manipulated or deleted if the target's files are not protected, and you need to compare source and target differences.
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
스냅샷
타깃노드에 실시간 복제를 수행함과 더불어 특정 시점의 데이터를 별도 공간으로 실시간 백업하는 스냅샷 기능을 제공합니다. 이와 관련한 자세한 내용은 5.5. Snapshot 을 참고하세요.
HA/DR 연동
FSR은 HA/DR 연동을 위한 CLI와 Rest-API 를 제공합니다. Appendix A. System Manual, Appendix B. FSR Interface Guide 의 내용을 참고하세요.
1.3. 용어
노드
네트워크에 연결된 장치를 통칭하는 용어이며 그 중 컴퓨터 노드를 호스트라고 합니다. 통상 노드와 호스트는 구분하지 않고 사용되는 경향이 있으며 본 매뉴얼에서도 노드는 호스트와 특별히 구분하지 않고 동등한 의미로 사용합니다.
클러스터
클러스터는 특수한 목적으로 사용하기 위한 컴퓨터 노드의 집합입니다. 여기서 얘기하는 클러스터는 복제 클러스터로서 복제를 수행하기 위해 구성한 소스, 타깃 노드들을 포함하고 FSR에선 이러한 복제 클러스터를 리소스 단위로 표현합니다.
리소스
리소스는 복제 리소스를 의미하며 복제 서비스를 제공하는 하나의 단위입니다. 리소스는 노드, 연결, (복제대상) 파일셋으로 구성되며 FSR 구성파일로 표현할 수 있습니다. FSR은 구성파일을 통해 복제환경과 설정을 해석하고 이를 토대로 복제를 수행합니다.
소스(Primary)
복제 상의 원본 데이터 노드를 소스 노드 또는 소스라고 합니다. 그리고 복제 클러스터내의 역할(Role)은 Primary 입니다.
Primary, 소스, Active 노드 등의 용어는 복제 또는 HA 환경에 따라 쓰임새가 다르지만 통상 엄격히 구분해서 쓰지는 않습니다.
타깃(Secondary)
복제 상의 원본 또는 변경분 데이터를 수신하여 사본을 유지하는 노드를 타깃 노드 또는 타깃이라고 합니다. 그리고 복제 클러스터내의 역할(Role)은 Secondary 입니다.
Secondary, 타깃, Standby 노드 등의 용어는 복제 또는 HA 환경에 따라 쓰임새가 다르지만 통상 엄격히 구분해서 쓰지는 않습니다.
복제의 경우 항상 Primary가 소스이며 Secondary 가 타깃이지만, 동기화의 경우는 Secondary 도 소스가 될 수 있습니다. 이것은 복제 클러스터 상에 Secondary 노드들만 존재하더라도 최신 Secondary 를 기준으로 동기화가 되도록 허용해야 하기 때문입니다.
파일셋 (File Set)
리소스 내의 구성요소로서 복제 대상을 기술한 단위입니다. 파일셋은 복제대상 파일 또는 디렉터리로 기술하며 제외필터를 포함합니다. 제외필터는 복제 대상들 중 일부 파일 또는 디렉터리를 제외할 수 있도록 제공하는 정책으로서 와일드카드 등 정규식 기반으로 기술합니다.
정합성
복제 데이터 정합성을 뜻하며 소스와 타깃의 데이터가 일치하는 상태를 말합니다. 파일복제에서는 바이트 수준의 데이터 정합성을 보장합니다.
스플릿 브레인
복제 클러스터내에서 특정시점에 2개 이상의 노드가 Primary 역할을 가져서 잠재적으로 데이터 유실이 발생할 수 있는 상태를 스플릿 브레인이라고 합니다. 스플릿 브레인이 발생하면 사용자는 Primary 역할을 가졌던 노드들 중 희생할 노드를 결정하고 스플릿 브레인 해결을 통해 복제를 정상화할 수 있습니다.
RID
FSR은 복제 대상 파일셋의 파일 상태를 표현하는 ULID 기반의 고유번호를 유지하고 관리합니다. 이 값을 RID(Revision Identifier)라고 합니다. FSR은 RID 를 통해 동기화의 방향을 결정하고 스플릿 브레인을 식별합니다.
토폴로지
FSR은 복제 구성환경에 따라 노드들간의 연결을 다양하게 구성할 수 있습니다. 대표적으로 메쉬(mesh)형 또는 스타(star)형 토폴로지로 운영합니다.