...
The application writes data to the block device and replicates it in real time.
Real-time replication does not affect other application services or system elements.
Replicate synchronously or asynchronously
The synchronous method protocol treats replication as complete when data is written to the local disk and the target host disk.
The asynchronous method protocol treats replication as completed when data is written to the local disk and data is transferred to socket’s tx buffer.
...
bsr provides Active-Passive clustering by default, not support Active-Active clustering.
관리 도구
...
Management tools
bsr provides management tools for organizing and managing resources. It consists of bsradm, bsrsetup, bsrmeta, and bsrcon 으로 구성됩니다. 관리 명령어를 사용하기 위해 관리자 수준의 권한이 요구됩니다.
bsradm
bsr의 세부 기능들에 대해 추상화한 상위 수준 명령어를 제공하는 유틸리티입니다. bsradm 을 통해 bsr 대부분의 동작을 제어할 수 있습니다.
bsradm은 구성파일 etc\bsr.conf로부터 모든 구성 파라미터를 얻으며, bsrsetup 및 bsrmeta에 적절한 옵션을 주어 명령을 전달하는 역할을 합니다. 즉 실제 동작은 bsrsetup, bsrmeta 에서 수행됩니다.
bsradm은 –d 옵션을 통해 dry-run모드로 실행시킬 수 있습니다. 이는 bsradm이 bsrsetup 및 bsrmeta 명령을 실제 호출하지 않고, 어떤 옵션 조합으로 실행되는지 미리 확인할 수 있는 방법을 제공합니다.
bsradm 명령 옵션에 대한 자세한 사항은 Appendix B. 시스템 매뉴얼의 bsradm을 참고하십시요.
bsrsetup
bsr 커널엔진에 필요한 값들을 설정할 수 있습니다. bsrsetup에 대한 모든 파라미터는 텍스트 인자로 전달해야 합니다.
bsradm과 bsrsetup의 분리를 통해 유연한 명령 체계를 제공합니다.
bsradm에서 받아들인 파라미터는 보다 복잡한 파라미터로 치환하여 bsrsetup을 호출합니다.
bsradm은 리소스 구성파일의 문법적 오류 등을 확인하여 사용자 실수를 방지하지만, bsrsetup은 이러한 문법적 오류를 확인하지 않습니다.
대부분의 경우에선 bsrsetup을 직접 사용할 필요는 없으나 노드 간 개별제어 라든지 특수한 기능을 수행하기 위해 사용합니다.
bsrsetup 명령 옵션에 대한 자세한 사항은 Appendix B. 시스템 매뉴얼의 bsrsetup 을 참고하십시요.
bsrmeta
복제 구성을 위한 메타 데이터 파일을 생성하거나, 메타에 대한 덤프, 복원 및 수정 기능을 제공합니다. bsrsetup처럼 대부분의 경우에 있어선 직접 bsrmeta를 사용할 필요가 없고 bsradm에서 제공하는 명령을 통해 메타 데이터를 제어합니다.
bsrsetup 명령 옵션에 대한 자세한 사항은 Appendix B. 시스템 매뉴얼의 bsrmeta 를 참고하십시요.
bsrcon
bsr 관련 정보를 확인하거나 기타 필요한 설정을 조정할 수 있습니다.
bsrcon 명령 옵션에 대한 자세한 사항은 Appendix B. 시스템 매뉴얼의 bsrcon 을 참고하십시요.
리소스
리소스는 복제 데이터 세트를 구성하기 위해 필요한 모든 것을 추상화한 대상입니다. 사용자는 리소스를 구성한 후 이를 제어함으로써 복제 환경을 운영합니다.
리소스를 구성하기 위해서 다음의 기본적인 내용들(리소스 이름, 볼륨, 네크워크 연결)을 지정해야 합니다.
리소스 이름
공백없이 US-ASCII 형태로 이름을 지정합니다.
볼륨
리소스는 공통의 복제 스트림을 공유하는 하나 이상의 볼륨으로 구성된 복제 그룹이며 리소스내의 모든 볼륨의 쓰기 정합성을 보장합니다.
볼륨은 하나의 장치로 기술하며 윈도우즈의 경우 드라이브 레터(drive letter)로 지정합니다.
하나의 복제 셋에는 데이터 복제를 위한 볼륨 한 개와 볼륨과 연계된 메타데이터를 저장하는 별도의 볼륨이 필요합니다. 메타 볼륨은 복제를 위한 내부 정보를 저장하고 관리하는 용도로 사용합니다.
메타데이터는 저장하는 위치에 따라 외부 메타 형식(External Meta Type)과 내부 메타 형식(Internal Meta Type)으로 구분합니다. 예를 들어, 복제 대상 볼륨의 디스크내에 메타 데이터가 위치하면 내부 메타이고, 다른 장치 또는 다른 디스크에 위치하면 외부 메타가 됩니다.
bsr은 운영 중 복제 I/O 와 메타 데이터 쓰기가 동시에 수행될 수 있기 때문에 성능적인 측면에서 외부 메타 형식이 내부 메타에 비해 유리합니다. 그리고 메타 디스크의 I/O성능은 복제 성능에 직접적으로 영향을 주기 때문에, 되도록 이면 좋은 성능의 디스크로 구성하는게 좋습니다.
주의할 점은, 메타를 위한 볼륨은 NTFS같은 파일시스템으로 포맷하지 않고 RAW 상태로 구성해야 한다는 것 입니다.
네트워크 연결(Connection)
Connection은 두 호스트 사이의 복제 데이터 세트를 위한 통신 링크입니다.
각 리소스들은 다중 호스트들 간에 완전 메시(full-mesh) 연결 설정을 포함한 다중 호스트로 정의합니다.
연결 Name은 특별히 지정되지 않았을 경우 bsradm 수준에서 리소스 Name으로 자동 지정됩니다.
리소스 역할
리소스는 프라이머리(Primary) 또는 세컨더리(Secondary)의 역할을 가집니다.
Primary는 리소스에 제한 없이 읽기, 쓰기 작업을 할 수 있습니다.
Secondary는 상대 노드로부터 디스크의 변경된 모든 내용을 수신하여 기록하며 볼륨에 대한 액세스를 허용하지 않습니다. 따라서 응용 프로그램에서는 Secondary 볼륨에 대해선 읽거나 쓸 수 없습니다.
리소스의 역할은 bsr유틸리티 명령을 통해 변경할 수 있습니다. 리소스 역할을 Secondary에서 Primary로 변경할 때는 승격(Promotion)이라고 하고 반대는 강등(Demotion)입니다described below. Administrator-level privileges are required to use administrative commands.
bsradm
It is a utility that provides high-level commands abstracting detailed functions of bsr. bsradm allows you to control most of the behavior of bsr.
bsradm gets all configuration parameters from the configuration file etc/bsr.conf, and serves to pass commands by giving appropriate options to bsrsetup and bsrmeta. That is, the actual operation is performed in bsrsetup, bsrmeta.
bsradm can be run in dry-run mode via the -d option. This provides a way to see in advance which bsradm will run with which combination of options without actually invoking the bsrsetup and bsrmeta commands.
For more information about the bsradm command option, refer to bsradm in the Appendix B. System Manual.
bsrsetup
bsrsetup can set option values for the bsr kernel engine. All parameters to bsrsetup must be passed as text arguments.
The separation of bsradm and bsrsetup provides a flexible command system.
The parameters accepted by bsradm are replaced with more complex parameters, and then invoke bsrsetup.
bsradm prevents user errors by checking for grammatical errors in resource configuration files, etc., but bsrsetup does not check for these grammatical errors.
In most cases, it is not necessary to use bsrsetup directly, but it is used to perform individual functions or individual control between nodes.
For details on the bsrsetup command options, refer to bsrsetup Appendix B. System Manual.
bsrmeta
Create metadata files for replication configuration, or provide dump, restore, and modification capabilities for meta data. In most cases, like bsrsetup, you do not need to use bsrmeta directly, and control the metadata through the commands provided by bsradm.
For details on the bsrmeta command options, refer to bsrmeta of Appendix B. System Manual.
bsrcon
Check bsr related information or adjust other necessary settings.
For more information about the bsrcon command option, refer to BSrcon in Appendix B. System Manual.
Resource
Resources are the abstraction of everything needed to construct a replicated data set. Users configure a resource and then control it to operate a replication environment.
In order to configure resources, the following basic options (resource name, volume, network connection) must be specified.
Resource Name
Name it in US-ASCII format without spaces.
Volume
A resource is a replication group consisting of one or more volumes that share a common replication stream, ensuring write consistency of all volumes in the resource.
The volume is described as a single device and is designated as a drive letter in Windows.
One replication set requires one volume for data replication and a separate volume for storing metadata associated with the volume. Meta volumes are used to store and manage internal information for replication.
Metadata is divided into External Meta Type and Internal Meta Type according to the storage location. For example, if meta data is located on the disk of the replication volume, it is the internal meta, and if it is located on another device or another disk, it is the external meta.
In terms of performance, the external meta type is advantageous over the internal meta, because bsr can perform replication I/O and write metadata simultaneously during operation. And since the I/O performance of the meta disk directly affects the replication performance, it is recommended to configure the disk as good as possible.
Note that the volume for the meta should be configured in RAW without formatting to a file system(such as NTFS).
Network Connection
Connection is a communication link for a replication data set between two hosts.
Each resource is defined as multiple hosts, including full-mesh connections between multiple hosts.
The connection name is automatically assigned as the resource name at the bsradm level, unless otherwise specified.
Resource Role
Resources have the role of a Primary or Secondary.
Primary can read and write without limitation on resources.
Secondary receives and records any changes made to the disk from the other node and does not allow access to the volume. Therefore, the application cannot read or write to the secondary volume.
The role of a resource can be changed through the bsr utility command. When changing the resource role from Secondary to Primary, it is called Promotion, and the opposite is Demotion.
주요 기능
복제 클러스터
bsr은 복제를 위한 노드들의 집합을 복제 클러스터로 정의하며 기본적으로 복제 클러스터 멤버 중 하나의 노드에서만 프라이머리 리소스 역할을 할 수 있는 단일 프라이머리 모드를 지원합니다. 이중 또는 다중 프라이머리 모드는 지원하지 않습니다. 단일 프라이머리 모드 즉, Active-Passive 모델은 페일오버를 위한 고 가용 클러스터에서 데이터 저장매체를 다루는 표준적인 접근 방식입니다.
...