Versions Compared

Key

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

Table of Contents

...

Configuration Type

FSR typically supports the following configuration types:

...

1

...

:1

...

1:1 replication configuration for source and target nodes.

<그림>

...

Inc drawio
simple0
zoom1
custContentId3634135140
pageId1063420292
diagramDisplayNamefsr-1_1repl
lbox1
hiResPreview0
baseUrlhttps://mantech.jira.com/wiki
diagramNamefsr-1_1repl
imgPageId1070432319
pCenter0
aspectDfhwO3ASq3jPg0y9Jm-4 1
includedDiagram1
width361
aspectHash11dd87c15e6a98086df409a764e929506f73d6c7
linksauto
tbstyletop
height61

1:N

1: N replication configuration that simultaneously replicates one source node to multiple target nodes.

<그림>

...

Inc drawio
simple0
zoom1
custContentId3634069575
pageId1063420292
diagramDisplayNamefsr-1_n_repl
lbox1
hiResPreview0
baseUrlhttps://mantech.jira.com/wiki
diagramNamefsr-1_n_repl
imgPageId1070432319
pCenter0
aspectDfhwO3ASq3jPg0y9Jm-4 1
includedDiagram1
width361
aspectHash11dd87c15e6a98086df409a764e929506f73d6c7
linksauto
tbstyletop
height161

N:1

N:1 replication method with multiple nodes as source and one node as target.

<그림>

...

Inc drawio
simple0
zoom1
custContentId3634135155
pageId1063420292
diagramDisplayNamefsr-n_1repl
lbox1
hiResPreview0
baseUrlhttps://mantech.jira.com/wiki
diagramNamefsr-n_1repl
imgPageId1070432319
pCenter0
aspectDfhwO3ASq3jPg0y9Jm-4 1
includedDiagram1
width321
aspectHash11dd87c15e6a98086df409a764e929506f73d6c7
linksauto
tbstyletop
height161

Local Replication

This is a way to specify the source and target of replication to one node. It is used to do local backup or local migration without separate target node.

<그림>

...

Inc drawio
simple0
zoom1
custContentId3633971302
pageId1063420292
diagramDisplayNamefsr-local_mirror
lbox1
hiResPreview0
baseUrlhttps://mantech.jira.com/wiki
diagramNamefsr-local_mirror
imgPageId1070432319
pCenter0
aspectnCd3PPC699L685Kcv_-6 1
includedDiagram1
width141
aspectHashe8c8d915d7ee6705b538e7fe50095df49b4bcc74
linksauto
tbstyletop
height201

Shared Volume Replication

A configuration in which one source data is shared by two (active-standby) nodes and replicates this source data to the target node. Shared volumes can be storage volumes in the form of SANs, shared volumes in NFS.However, replication for NFS shared volumes cannot track real-time changes of data to be replicated because FSR cannot control all client hosts that access the shared volume a third target node. This approach is used when a SAN-like storage shared volume is shared by two nodes simultaneously and replicated to DR in real time.

Inc drawio
simple0
zoom1
custContentId3634200785
pageId1063420292
diagramDisplayNamefsr-sharedDRrepl
lbox1
hiResPreview0
baseUrlhttps://mantech.jira.com/wiki
diagramNamefsr-sharedDRrepl
imgPageId1070432319
pCenter0
aspectYKHDIKsmgZxjhwws9mc6 1
includedDiagram1
width531
aspectHash54eb94bd67da83364eb6b9a0a6a0ffad1b41a942
linksauto
tbstyletop
height191


Periodic synchronization

This is a configuration method for volumes that only perform periodic synchronization. It does not perform real-time replication. In particular, volumes that cannot perform real-time replication, such as remote NAS shared volumes, can be backed up periodically using this method.

The target can be DAS or NAS, but in the case of NAS targets, FSR cannot be installed on the NAS, so it must be ensured that no writes occur to the target resource (to maintain consistency).

Inc drawio
simple0
zoom1
custContentId3633742093
pageId1063420292
diagramDisplayNamefsr-nfs_periodic_sync
lbox1
hiResPreview0
baseUrlhttps://mantech.jira.com/wiki
diagramNamefsr-nfs_periodic_sync
imgPageId1070432319
pCenter0
aspect1DDqB_41cUf_L4JS1wRE 1
includedDiagram1
width461
aspectHashae99ae06c3a90fd06e498e2cace66d21d5ce127a
linksauto
tbstyletop
height311

However, be sure to specify synchronization for NFS shared volumes as a source only, and not as a synchronization target. Because NFS shared volumes are written to by multiple clients, you cannot control the FSR engine as a single synchronization target. For more information on this, see Periodic synchronization in the appendix.

Info

Replication to an NFS shared volume is technically impossible to track every change to the data being replicated in real time because, due to the nature of network shares

...

<그림- 공유 스토리지>

<그림- NFS 공유>

...

, you cannot control every random client host that accesses the shared volume.


Configuration File

The configuration file is a json format text file that describes the configuration type and attributes of the replication. It is described as a system configuration file and a resource configuration file. The system configuration file specifies node global paths necessary for FSR operation, and the resource configuration file describes the specifics of replication such as ip address, replication target, and handler. Basically, the configuration file should be created by hand. If you want to change the properties of a running resource, modify the configuration file and apply it by executing adjust command using CLI or REST-API.

The FSR engine prepares replication services by interpreting configuration files at resource startup and initializing node-to-node connections and replication target paths according to the configuration.

For details on the configuration file format, refer to Appendix CAttributes. Configuration Files.

...

System Config.

The system configuration file is a config.json file. If you do not specify a separate path, it is located in the path in %FSR_HOME%/conf/config.json.

After modifying the configuration file, run the program again or run the following update command.

fsradm config adjust

...

Resource Config.

The file format of the resource file is '*.res' and the path is specified in the 'options/resource_path' entry in the system configuration file.
The default value of resource_path is the current location ('.') and based on the location of the system configuration file, the default location is the same as the location of the config.json file.

...

Info

The configuration file of an FSR is described in the json format, which describes one attribute as a key and value pair according to the json format. Depending on the type of property, it can be described in the form of object and array, with the object separated by braces and the array separated by square brackets. In addition, objects and arrays can be described in a mixture.

Basic

...

Config.

  • Describes an ID to identify a resource.
  • The replication target nodes are described in an array format in the nodes item. Describe the hostname, ip address: port in the node entry. You can also describe the name entry by IP address without describing hostname.
  • The replication target is described as directories and files in the directories item. If necessary, provide additional exclusion patterns.

개별 연결 구성

...

Connection Config.

Unless otherwise noted in the connections entry, all replicated nodes individually establish TCP connections. This is called a mesh network. In a mesh network, duplicate connections for n nodes are created by n * (n-1) / 2 만큼 생성됩니다.

운영 상황에 따라 복제 연결을 제한하거나 연결 정보를 별도 기술할 필요가 있을 때 connections 항목을 기술합니다. connections 는 개별 연결에 대해 배열로 기술합니다.

각각의 연결은 2 개의 노드에 대한 연결을 의미하여 node1, node2로 고정된 항목에서 기술합니다. node1.name, node2.name 의 항목은 앞서 node 항목에서 기술한 name 내용을 동일하게 기술하여 node 항목과 connections.node1, connections.node2 의 항목이 매칭되도록 합니다.

보통의 경우에 있어서는 개별연결을 구성하지 않고 mesh 네트워크로 구성하여 복제합니다.

제외 패턴

복제 대상에서 배제할 필요가 있는 파일에 대해선 제외 패턴을 통해 복제 대상에서 제외할 수 있습니다. 제외 패턴은 와일드카드(*, !) 기호를 사용하여 손쉽게 기술할 수 있습니다.

버퍼 구성

비동기 복제에 있어서 실시간 I/O 변경 분은 버퍼에 축적되어 타깃에 순차적으로 반영되기 때문에 버퍼링이 지속되는 한 타깃이 데이터는 최신의 복제 상태를 유지할 수 있게 됩니다. 따라서 버퍼를 구성하는 것은 FSR 구성에 있어서 가장 중요한 사항으로 리소스를 기동하기 전에 버퍼 용량과 관련한 사항들을 운영환경에 맞게 구성해야 합니다. 

버퍼는 커널에 고정적으로 할당되는(비페이징 풀) 커널 메모리 버퍼와 파일로 할당되는 파일버퍼로 제공됩니다. 시스템의 가용한 커널 메모리는 한정적이기 때문에 시스템의 메모리 상황에 맞게 메모리 버퍼를 산정해야 하고 메모리 버퍼 공간이 부족할 경우 추가적으로 파일버퍼로 충당할 수 있습니다. FSR은 메모리버퍼를 우선하여 사용하고 메모리 버퍼가 다 사용될 경우 파일버퍼링으로 전환하여 처리합니다. 만약 두 버퍼가 모두 오버플로우 된다면 버퍼링은 중단되어 버퍼링되었던 데이터들은 버려지고 재동기화 단계로 이행하게 됩니다. 따라서 가능한 한 버퍼링 공간을 많이 확보하여 동기화 상태로 전환되지 않도록 복제 상태를 유지할 필요가 있습니다.

또한 이 두가지 방식의 버퍼는 메모리와 파일을 대상으로 I/O를 수행하기 때문에 근본적으로 성능에 큰 차이를 보입니다. 로컬 시스템의 I/O 부하가 큰 상황에서는 메모리 버퍼를 많이 확보하는 운영방식이 성능에 유리합니다.

버퍼는 복제 연결 단위로 작동하기 때문에 1:N 복제의 경우 연결 개수(N) 만큼 개별적으로 지정해야 합니다.

메모리 버퍼

커널에서 할당되는 메모리는 가용 용량이 제한적입니다. 시스템 가용 용량에 비해 너무 많이 할당할 경우 시스템 성능에 영향을 줄 수 있으므로 적정한 수준으로 할당해야 합니다.

최대 수십GB 까지 할당할 수 있으며 보통 수GB 수준으로 할당합니다.

파일 버퍼

파일버퍼는 파일버퍼가 위치하는 디스크의 공간이 허용되는 용량 만큼 할당할 수 있습니다. 최대 수십TB 까지 할당할 수 있으며 보통 수십GB 수준의 대용량으로 운영할 수 있습니다. 파일버퍼는 시스템 볼륨의 경로로 구성할 경우 파일버퍼의 읽기,쓰기 I/O 로 인해 시스템 전반의 성능에 영향을 줄 수 있기 때문에 별도의 디스크 경로로 운영하는 것을 권장합니다. .

If you need to limit the replication connection or describe the connection information according to the operating situation, additionally describe the “connections” item. connections describes an individual connection as an array.

Each connection is a connection to two nodes and is described in the fixed items of node1 and node2. The node1.name and node2.name entries describe the same name as described in the node entry above so that the node entries match the connections.node1 and connections.node2 entries.

In the normal case, the network is replicated by configuring a mesh network instead of configuring individual connections.

Exclusion Pattern

Files that need to be excluded from the replication target can be excluded from the replication target through the exclusion pattern. Exclusion patterns can easily be described using wildcard (*,!) Symbols.

Buffer Config.

In asynchronous replication, real-time I/O changes are accumulated in the buffer and reflected in the target sequentially so that the target data can be kept up to date as long as buffering continues. Therefore, configuring a buffer is the most important aspect of FSR configuration. Before starting resources, the buffer capacity must be configured according to the operating environment.

The buffers are provided as kernel memory buffers that are fixedly allocated to the kernel (nonpaged pool) and file buffers that are allocated as files. Since the available kernel memory of the system is limited, it is necessary to estimate the memory buffer according to the memory situation of the system, and if the memory buffer space is insufficient, additional file buffers can be used. FSR takes priority of the memory buffer and switches to file buffering when the memory buffer is used up. If both buffers overflow, the buffering stops and the buffered data is discarded and moved to the resynchronization phase. Therefore, it is necessary to reserve as much buffering space as possible so that replication status remains.

In addition, these two types of buffers perform I/O to memory and files, so there is a fundamental difference in performance. In situations where the local system has a high I/O load, operating with more memory buffers is advantageous for performance.

Because buffers operate on a per-connection basis, for 1:N replication, you must separately specify as many as the number of connections.

Memory Buffer

Memory allocated by the kernel is limited in its available capacity. Allocating too much for the system's usable capacity can affect system performance and should be allocated at an appropriate level.

You can allocate up to several tens of gigabytes, and usually assign several gigabytes.

File Buffer

The file buffer can be allocated as much space as the space on the disk where the file buffer is located. Up to several tens of Tera Bytes can be allocated and can operate at large capacity, typically tens of gigabytes. If a file buffer is configured as a path of the system volume, it is recommended to operate as a separate disk path because file buffer read/write I/O can affect the overall system performance.


Configure DRX integration

To configure DRX integration for building a DR site, see Configuring file replication.