Table of Contents |
---|
Operatings
When the configuration file is ready, it moves to the step of operating the replication. Operation examples such as resource start, stop, synchronization/replication, and transfer are explained in sequence.
...
fsradm down [
]
resource name
...
Synchronizations
초기동기화
소스와 타깃 양노드의 리소스를 기동하여 복제 연결을 성립하면 동기화를 시작하기 전 상태로 대기 합니다. 초기 동기화의 방향이 결정되지 않은 평형상태 입니다. 이 상태에서 소스가 될 노드의 리소스 역할을 Primary로 승격하여 초기 동기화를 시작합니다. 동기화가 시작됨과 동시에 소스 측 데이터의 변경분이 발생하면 해당 변경분에 대해서도 실시간 복제합니다. FSR은 기본적으로 동기화와 복제를 동시에 수행합니다.
리소스를 승격하기 위한 명령은 다음과 같습니다.
fsradm primary [리소스명]
...
Initial Sync
When a replication connection is established by starting up the resources of both the source and target nodes, it waits in the state before starting synchronization. It is an equilibrium state where the direction of initial synchronization is not determined. In this state, the initial synchronization starts by promoting the resource role of the node to be the source to Primary. As soon as synchronization starts, if there is a change in the source-side data, the change is also replicated in real time. FSR essentially performs synchronization and replication simultaneously.
The command to promote a resource is:
fsradm primary [resource name]
Local files at the time of initial synchronization are defaulted to the Inconsistent state, which is not consistent with both nodes, so promotion is denied by default. During initial promotion, the user must explicitly inform the user that the resource will be sourced through forced (-f option) promotion.
Code Block |
---|
c:\>fsradm primary r0 declined r0: not up to date c:\>fsradm primary r0 -f done |
강제 승격이 성공하면, 소스 노드는 자신의 파일 상태를 UpToDate로 변경하고 자신과 연결된 타깃 노드들을 대상으로 초기동기화를 시작합니다.
초기 동기화는 전체 파일셋을 대상으로 진행하지만 한번 동기화가 완료된 후 다시 동기화를 할 경우에는 소스 측의 변경분에 대해서만 부분 동기화 합니다. 예를 들어 초기 동기화 후 복제 연결이 단절되었다가 재연결될 경우 부분 동기화로 진행됩니다.
동기화가 진행되는 도중에 타깃의 파일상태는 Inconsistent이며 동기화가 완료되면 소스와 타깃의 정합성이 일치하는 UptoDate 상태가 됩니다. Inconsistent 상태는 최신의 데이터가 아니므로 복제 운영 측면에선 가능한 Inconsistent 상태를 짧게 유지하는게 바람직합니다.
수동 동기화
운영 도중 동기화를 수동으로 해야할 경우에 invalidate-remote 명령을 통해 수행합니다. 로컬을 소스로 하여 피어노드를 동기화 하는 명령입니다.
Code Block |
---|
c:\>fsradm invalidate-remote r0 |
invalidate 명령은 피어노드를 소스로 하여 동기화하는 명령입니다When the forced promotion is successful, the source node changes its file status to UpToDate and starts initial synchronization with target nodes connected to it.
Initial synchronization is performed for the entire fileset, but when synchronization is performed again after synchronization is completed, partial synchronization is performed only for the changes on the source side. For example, if the replication connection is disconnected and then reconnected after the initial synchronization, it proceeds to partial synchronization.
While synchronization is in progress, the target file status is Inconsistent, and when synchronization is complete, the source and target are in the UptoDate status. Inconsistent status is not up-to-date, so it is desirable to keep the Inconsistent status as short as possible in terms of replication operations.
Manually Sync
If you need to synchronize manually during operation, this is done via the invalidate-remote command. This command synchronizes peer nodes with local as a source.
Code Block |
---|
c:\>fsradm invalidate-remote r0 |
복제
Secondary 노드가 승격되어 동기화가 시작됨과 함께 소스노드의 데이터에 실시간 변경분이 발생할 경우 변경분에 대한 반영을 자동으로 병행합니다. 복제는 로컬 데이터의 실시간 변경 분을 타깃으로 실시간 반영하는 동작으로 정의 되며 Primary 노드에서 Secondary 노드의 방향으로 진행됩니다.
동기화와 복제가 진행되는 도중에도 각 노드의 Role 은 사용자 명령에 의해 수동으로 변경될 수 있으며, Primary 노드가 강등되면 복제는 중단됩니다.
승격된 리소스를 강등 시키기 위한 명령은 다음과 같습니다.
fsradm secondary [리소스명]
복제는 Primary 역할로 승격된 노드를 소스로 하지만 동기화는 역할에 관계없이 동기화가 필요할 경우 수행됩니다. 복제할 변경분이 없거나 강등에 의해 복제가 중단되더라도 동기화가 진행중이었다면 완료될 때 까지 동기화는 지속됩니다.
Info | ||
---|---|---|
| ||
동기화를 끝내고 복제를 수행하던 도중에 복제대상에 없었던 파일이 갑자기 복제대상 경로에 포함될 수 있습니다. 이러한 파일을 누락파일이라고 하며 다음과 같은 운영상황에서 발생할 수 있습니다.
첫 번째의 경우 FSR은 해당 파일에 대한 Filesystem I/O를 캡처할 수 없으며 단지 파일경로에 대한 이름 변경(rename)만 수신하게 되어 복제로 처리할 수 없습니다. 이런 경우 FSR 은 일단 복제상태를 유지하고 이와 동시에 해당 누락파일에 대해서 개별적으로 동기화를 수행하여 처리합니다. 두 번째 제외패턴 변경에 따른 누락의 경우는 파일시스템 I/O 연산이 없는 상태에서 복제 대상만 변경된 경우이기 때문에 기본적으로 재동기화로 처리합니다. |
Info | ||
---|---|---|
| ||
고아파일은 누락파일과 달리 타깃의 복제 경로에 연고없이 남겨진 파일로 정의합니다. 이것은 일반적인 복제 상황에선 발생하지 않지만 타깃의 파일이 보호되지 않는 상황에서 의도치 않은 파일 조작이 있을 경우에 발생합니다. 고아파일이 발생하면 FSR 의 고아파일 대응 정책에 따라 처리가 되고 기본적으로 타깃의 특정 경로에 백업하는 것으로 처리됩니다. 백업 필요없이 바로 삭제 처리하도록 옵션을 지정할 수도 있습니다. |
절체
절체는 통상 장애가 발생한 상황을 극복하는 절차로 정의됩니다. 여기에서 얘기하는 절체는 계획된 절체로서 복제 클러스터 내의 소스노드를 강등시키고 이후 타깃노드를 소스노드 역할로 변경하여 서비스를 위한 데이터를 활성화하는 과정을 말합니다.
소스노드에서 리소스를 강등합니다.
The invalidate command is a command that synchronizes with the peer node as a source.
Code Block |
---|
c:\>fsradm invalidate r0 |
Replications
As the secondary node is promoted and synchronization starts, if a real-time change occurs in the data of the source node, the change is automatically reflected in parallel. Replication is defined as an action that reflects real-time changes in local data to a target in real time, and proceeds from the primary node to the secondary node.
Even during synchronization and replication, the role of each node can be manually changed by user command, and replication is stopped when the primary node is demoted.
The command to demote the promoted resource is as follows.
fsradm secondary [resource name]
Replication is sourced from the node promoted to the Primary role, but synchronization occurs when synchronization is required regardless of role. Even if there are no changes to be replicated or replication is interrupted by demoting, if synchronization was in progress, synchronization will continue until completion.
Info | ||
---|---|---|
| ||
During replication after synchronization is complete, files that did not exist on the replication destination may suddenly be included in the replication destination path. These files are called missing files and can occur in the following operating situations.
In the first case, the FSR cannot capture Filesystem I/O for that file, it only receives the rename of the file path, so it cannot be processed as a duplicate. In this case, the FSR maintains the replication status once and at the same time performs synchronization for the missing files individually and processes them. In the case of omission due to the second exclusion pattern change, it is basically treated as resynchronization because only the replication target is changed without file system I/O operation. |
Info | ||
---|---|---|
| ||
Unlike missing files, orphaned files are defined as files left without any connection to the target's replication path. This doesn't happen in normal duplication situations, but it happens when there is unintentional file manipulation in a situation where the target file is not protected. When an orphaned file occurs, it is processed according to the FSR's orphaned file response policy, and basically, it is processed as a backup to a specific path of the target. You can also specify the option to process the deletion immediately without the need for backup. |
Failover
Failover is usually defined as a procedure to overcome a failure situation. Failover mentioned here is a planned failover, which refers to the process of demoting the source node in the replication cluster and then changing the target node to the source node role to activate data for service.
Demote the resource on the source node.
Code Block |
---|
c:\>fsradm secondary r0 done |
타깃노드의 리소스를 승격합니다Promote the target node's resource.
Code Block |
---|
c:\>fsradm primary r0 done |
승격이 성공하면 절체 완료로 간주합니다If the promotion is successful, the transfer is considered complete.
Info |
---|
고려사항 절체 시 타깃노드의 리소스 파일상태는 UpToDate 상태일 때 복제 정합성이 보장됩니다. 만약 복제 연결이 단절되어 타깃이 최신 데이터를 가지지 못한 경우 이거나 타깃노드의 리소스가 동기화 중인 Inconsistent 상태일 경우에는 소스와 정합하지 않은 상태이므로 절체를 제한해야 합니다Considerations When switching over, the resource file status of the target node is guaranteed to be in the UpToDate status. If the target does not have the latest data due to disconnection of the replication connection, or if the resource of the target node is in an inconsistent state that is being synchronized, it is a state that does not match with the source, so you must limit the transfer. |
파일잠금
타깃에 복제된 파일들은 소스로부터 수신하는 미러링 데이터 이외의 다른 쓰기 I/O 로 부터 보호되어야 합니다. 그렇지 않으면 복제 사본을 유지하기 위한 데이터 일관성이 보장되지 않습니다. 특히 HA를 운영하는 경우 Secondary의 파일 잠금은 항상 활성화 시켜서 데이터를 보호할 수 있어야 합니다.
...