Versions Compared

Key

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

...

Info

Node is a term that is distinguished from host, but it is not strictly distinguished here, and is described as a host only when a distinction is needed.

Volume

Data volume

클러스터 노드 모두에서 동일한 크기의 저장 장치를 준비해야 합니다. 크기가 다른 볼륨으로 구성할 경우, 최소한 타겟 노드의 볼륨의 크기가 소스노드의 볼륨 크기보다 커야합니다.

볼륨은 운영체제에 따라 적당한 파일시스템으로 포맷되어야 하며 윈도우즈와 리눅스에서 제공하는 NTFS/ReFS, ext/xfs 등의 파일시스템을 사용합니다. 볼륨은 파티셔닝 방식에 따라 MBR, GPT, 확장파티션의 논리적드라이브 또는 장치가 될 수 있으며 스팬, 스트라이프, 미러 등 RAID 형식의 동적디스크를 모두 포함하여 구성할 수 있습니다. 만일 볼륨이 이미 포맷된 상태이고 중요한 데이터를 포함하고 있다면 해당 볼륨의 포맷 과정은 할 필요 없이 기존 볼륨을 그대로 사용하여 구성하면 됩니다.

Info
  1. 복제를 위한 볼륨에 가상메모리 운영을 위한 페이징 파일 설정이 있어서는 안됩니다. 페이징 파일 설정이 있을 경우 볼륨에 대한 umount 를 수행할 수 없습니다.

  2. bsr에서 지원하는 복제 볼륨의 최대 크기는 이론적으로 1PB 이며 통상 10TB 이상의 볼륨을 대용량 볼륨으로 간주합니다.

Info

가상화 환경의 thin provisioning 구성 방식은 복제를 구성하는 환경에 부적합 합니다. 복제는 정합성 유지를 위해 볼륨의 전체 영역에 대한 데이터 변경 분을 지속 추적해야 하는데 thin provisioning 환경에선 볼륨의 사용량에 따라 볼륨의 물리적 공간을 늘이거나 줄이는 등 능동적으로 조절하기 때문에 게스트 OS 에 설치된 복제 에이전트는 볼륨의 전체영역에 대한 지속적인 추적을 할 수 없게 됩니다. 이와 같은 이유로 가상화 환경에서 thin provision 방식으로 복제를 구성할 경우 문제가 될 수 있습니다.

이와 다른 옵션인 thick provisioning 방식은 볼륨의 전체 영역을 고정적으로 할당하는 방식이기 때문에 기존의 복제 운영 개념에 부합합니다. 가상화 환경에서 볼륨을 구성할 경우 thick provisioning 구성방식만 사용해야 합니다.

메타 볼륨

bsr은 복제를 운영하기 위해 필요한 부가 정보들을 별도의 비휘발성 저장공간에 보관하고 이 데이터를 실시간 쓰고 읽는 작업을 복제 중에 동시에 수행합니다. 이러한 부가정보를 메타 데이터라고 하고 이를 기록하는 저장장치 볼륨을 메타 볼륨이라고 합니다. 메타 볼륨은 복제 볼륨에 1:1 대응하도록 준비해야 하며, 크기는 1 node 복제를 기준으로 1TB 당 약 33MB의 공간을 요구합니다. 예를 들어 1:2 복제, 3TB 복제 볼륨의 경우 2 * 3 * 33MB = 198MB 크기의 메타 볼륨이 필요합니다.

메타 데이터는 위치하는 경로에 따라 복제볼륨과 같은 디스크 장치에 있을 경우 내부메타(Internal Meta)라고 하며, 복제볼륨이 아닌 다른 외부 디스크에 메타데이터가 위치할 경우 외부메타(External Meta)라고 합니다. 내부메타는 별도의 디스크 장치를 준비할 필요가 없는 장점이 있지만 성능 상으로는 서로 다른 디스크로 I/O를 수행하는 외부메타 방식이 조금이라도 더 유리합니다. 내부메타는 다음의 예와 같이 구성 파일에서 internal 키워드로 기술하면 bsr이 초기화 시점에 복제 볼륨을 파티셔닝하고 구분된 메타 영역 내에서 메타데이터를 자동으로 생성하는 방식입니다. internal 키워드는 Linux 환경에서만 제공합니다.

Linux Internal Meta

Info

resource r0 {
...
meta-disk internal;
...
}

외부 메타 디스크는 메타디스크로 사용할 장치를 구성파일에 몇 가지 방식으로 지정할 수 있으며 운영체제에 따라 Windows 에선 마운트 포인트로, Linux 에서는 디스크 장치의 장치명으로 지정합니다. 그리고 bsr에선 가상디스크 장치에 대한 메타볼륨을 지원하여 별도의 물리적인 디스크 장치가 없더라도 가상의 볼륨을 메타 볼륨으로 사용할 수 있습니다. 가상볼륨장치는 Windows 에선 VHD, Linux 에선 Loop 장치로 준비해야 하며 가상장치가 준비되면 외부메타 디스크로 간주하고 사용할 수 있습니다.

다음은 외부 메타디스크에 대한 지정의 예 입니다.

Windows Letter Mount Point

...

Storage units of the same size must be prepared on all cluster nodes. If configuring a volume of a different size, the minimum target node's volume size must be larger than the source node's volume size.

The volume must be formatted with an appropriate file system according to the operating system, and uses file systems such as NTFS/ReFS and ext/xfs provided by Windows and Linux. Depending on the partitioning method, the volume can be a logical drive or device of MBR, GPT, or extended partition, and can be configured to include all dynamic disks in RAID format such as span, stripe, and mirror. If the volume is already formatted and contains important data, you can use the existing volume as it is without needing to format the volume, obviously.

Info
  • The volume for replication should not have paging file settings for virtual memory operation. If there is a paging file setting, umount to the volume cannot be performed.

  • The maximum size of a replication volume supported by bsr is theoretically 1 PB, and a volume larger than 10 TB is generally considered as a large volume.

Info

The method of configuring thin provisioning in a virtualized environment is not suitable for the environment in which replication is configured. In order to maintain consistency, replication requires continuous tracking of data changes over the entire area of the volume. In a thin provisioning environment, the volume's physical space is actively adjusted by increasing or decreasing the volume's physical space. Therefore, the replication agent installed in the guest OS cannot continuously track the entire area of the volume. For this reason, configuring replication in a thin provision method in a virtualized environment can be problematic.

Another option, the thick provisioning method, is a method that allocates the entire area of the volume in a fixed manner, so it conforms to the existing concept of replication operation. When configuring volumes in a virtualized environment, only the thick provisioning configuration should be used.

Meta Volume

bsr keeps additional information necessary to operate replication in a separate non-volatile storage space and simultaneously writes and reads this data during replication. This additional information is called meta data, and the storage volume that records it is called meta volume. The meta volume must be prepared to correspond 1: 1 to the replication volume, and the size requires about 33MB of space per 1TB based on 1 node replication. For example, for a 1: 2 replication, 3TB replication volume, you need a meta volume with size of 2 * 3 * 33MB = 198MB.

Meta data is classified into internal meta if it is on the same disk device as the replica volume, or external meta if metadata is located on an external disk other than the replica volume.

The internal meta has the advantage of not having to prepare a separate disk device, but in terms of performance, the external meta method of performing I / O to different disks is more advantageous. Internal meta is described by the internal keyword in the configuration file as shown in the following example, where bsr partitions the replication volume at initialization time and automatically generates metadata within the delimited meta area. The internal keyword is provided only in the Linux environment.

Info

Internal Meta

resource r0 {
...
meta-disk internal;
...
}

The external meta disk can specify the device to be used as the meta disk in the configuration file in several ways, depending on the operating system, as the mount point in Windows, and as the device name of the disk device in Linux. In addition, bsr supports meta-volumes for virtual disk devices, so virtual volumes can be used as meta volumes even if there is no separate physical disk device. Virtual volume device must be prepared separately as VHD on Windows and Loop device on Linux and can be used in the same way as an external meta disk.

The following is an example of configuration for an external metadisk.

Info

External Meta - Windows Letter Mount Point

resource r0 {
...
meta-disk m;
...
}

Info

External Meta - Windows GUID Mount Point

Info

resource r0 {
...
meta-disk "\\\\?\\Volume{d41d41d8-17fb-11e6-bb93-000c29ac57ee}\\";
...
}

Info

External Meta - Windows GUID Mount Point + VHD

...

info

resource r0 {
...
meta-disk "\\\\?\\Volume{ed8a8f02-18b3-11e6-91b4-000c29ac57f8}\\" "c:\r0_meta.vhd"
...
}

가상디스크는 파일디스크의 일종으로 한번 구성하여 마운트 시켰다 하더라도 시스템이 재 시작 될 경우 자동으로 재마운트 하지 않습니다. 그렇기 때문에 BSR은 따라서 bsr은 구성파일에 기술한 가상디스크 파일의 절대경로를 통해 시스템 재 시작 시 자동으로 마운트하도록 조치합니다. 이 과정은 bsr 서비스와 스크립트를 통해 자동 처리합니다.

Info

External Meta - Linux device name

...

info

resource r0 {
...
meta-disk /dev/sdc1;
...
}

Info

External Meta - Linux loop device

...

resource r0 {
...
meta-disk /dev/loop0 /bsr_meta/r0_meta;
...
}

Note

메타 디스크 볼륨은 일반적인 파일시스템으로 포맷하지 않고 RAW 파일시스템 상태로 준비해야 합니다.

네트워크

bsr은 복제셋 구성 시 전용선의 사용을 권장하지만 절대적인 것은 아닙니다. 전용선이나 back-to-back 연결, Gigabit 이더넷 연결이 가장 합리적인 선택이지만, 스위치 장비를 넘어서 복제를 할 경우엔 라우터를 통한 처리율과 지연률등의 성능 문제를 감안해야 합니다.

...