bsr 설치 패키지는 Windows 와 Linux 용 패키지가 있으며, Linux 용은 CentOS(RHEL) 6.4 이상 rpm 패키지와 Ubuntu 16.04 LTS 이상 deb 패키지로 구분하여 배포합니다. 설치 패키지를 구하려면 맨텍 기술연구소로 문의하시기 바랍니다.(bsr@mantech.co.kr)
주의 사항
bsr 은 drbd 와 같이 설치해 운용할 경우 시스템 자원 사용에 대한 충돌이 발생합니다. 시스템에 drbd가 기존에 설치되어 있었다면 이를 제거하고 사용해야 합니다.
Windows
설치
Windows 용 인스톨러를 실행시키고 설치 위자드에서 안내하는 단계에 따라 손쉽게 설치할 수 있습니다. 설치가 완료되면 시스템을 리부팅해야 합니다.
설치 정보
설치가 성공적으로 완료되면 아래와 같이 디렉토리가 구성됩니다.
bin
bsr을 구성하는 바이너리 프로그램들이 위치합니다.etc
구성 파일 경로 입니다.jre
설치 패키지를 위한 Java runtime environment 경로입니다.bsrservice
bsr service 바이너리의 경로입니다.
bsr service 는 복제 수행을 위한 초기화 작업을 수행합니다. 서비스가 중단 될 경우 복제가 중단될 수 있기 때문에 서비스 제어에 주의를 요합니다.
Windows bsr 은 넷링크와 서비스 용도로 TCP 루프백 5678, 5679 포트를 사용합니다. 이 포트를 변경 하려면 다음 레지스트리 경로의 키 값을 변경하고 시스템을 재 시작 해야 합니다.
경로: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bsr\
키: netlink_tcp_port, daemon_tcp_port
업데이트
bsr이 설치된 상태에서 신규 버전의 패키지를 재 설치하면 업데이트 설치가 자동으로 수행됩니다.
제어판에서 프로그램을 삭제한 후 재 설치 할 수도 있지만 삭제 후 시스템 재 시작을 반드시 해야 합니다. 만약 재 시작 없이 프로그램 재 설치를 바로 진행할 경우 비정상적인 설치로 인한 시스템 크래쉬가 발생하므로 주의해야 합니다.
삭제
bsr의 삭제는 제어판의 프로그램 및 기능에서 bsr 패키지를 삭제할 수 있습니다. 삭제 후 머신을 리부팅해야 합니다.
랜카드 교체
bsr 설치 이후 랜카드를 교체하게 되면 bsrcon /nodelayedack <resource> 명령을 사용하여 Disable TCP Delayed ACK 의 내용을 다시 적용해야 합니다.
Linux
리눅스는 커널모듈과 유틸리티 패키지를 구분하여 배포하기 때문에 각각 개별적으로 설치해야 합니다.
시큐어 부트 지원
bsr은 시큐어 부트 지원을 위해 커널 모듈 파일을 서명하여 배포합니다. 그리고 rpm 패키지로 함께 배포된 공개키를 등록 해야만 시큐어부트 모드에서 커널모듈을 사용할 수 있습니다. 공개키는 /etc/pki/mantech/ 에 설치되고 다음과 같이 등록합니다.
#mokutil --import /etc/pki/mantech/bsr_signing_key_pub.der
input password:
input password again:
비밀번호는 자유롭게 선택할 수 있으며 리부팅을 한 후 적용됩니다.
설치
유틸리티 설치
CentOS
[root@bsr-01 x86_64]# rpm -ivh bsr-utils-1.6-A3.el7.x86_64.rpm
Ubuntu
root@ubuntu:/home/mantech# dpkg -i bsr-utils_1.6-A3_amd64.deb
커널 모듈 설치
CentOS
[root@bsr-01 bsr]# rpm -ivh kmod-bsr-1.6_3.10.0_957-A3.el7.x86_64.rpm
Ubuntu
Ubuntu 패키지는 Dynamic Kernel Module Support(DKMS)를 사용하고 있으며 이와 관련한 아래의 패키지 설치가 요구됩니다.
root@ubuntu:/home/mantech# apt-get install git build-essential debhelper dkms docbook-xsl help2man python-all python-dbus python-gobject dh-systemd flex autoconf automake
bsr-dkms 패키지를 설치합니다.
root@ubuntu:/home/mantech# dpkg -i bsr-dkms_1.6-A3_all.deb
의존성 문제로 인해 설치에 실패할 경우 아래 명령을 통해 의존성 문제를 해결하고 재 시도 하면 됩니다.
root@ubuntu:/home/mantech# apt-get -f -y install
적재
bsr 모듈을 적재 합니다.
[root@bsr-01 bsr]# modprobe bsr
서비스 구성
시스템이 시작될 때 항상 bsr을 자동으로 기동 시키려면 bsr 서비스를 활성화 하고 svc-auto-up 옵션을 구성해야 합니다. svc-auto-up 의 기본값은 yes 입니다.
CentOS 6
chkconfig bsr on
service bsr start
CentOS 7 or Ubuntu
systemctl enable bsr
systemctl start bsr
resource r0 { ... on hostname { options { svc-auto-up yes; } } ... }
설치 정보
설치 후 정상 설치 여부를 모듈 정보를 통해 확인 합니다.
[root@bsr-01 bsr]# modinfo bsr
filename: /lib/modules/3.10.0-957.el7.x86_64/extra/bsr/bsr.ko
license: GPL
alias: block-major-147-*
license: GPL
version: 1.6-A3
description: bsr - Block Sync and Replication v1.6-A3
author: Man Technology Inc. bsr@mantech.co.kr
retpoline: Y
rhelversion: 7.6
srcversion: F4B39BD44212C22841949F8
depends: libcrc32c
vermagic: 3.10.0-957.el7.x86_64 SMP mod_unload modversions
signer: Man Technology Inc.: BSR Secure Boot Key
sig_key: D6:97:B5:89:F6:BC:A4:D5:28:02:25:57:4E:55:51:9F:F0:8F:EC:74
sig_hashalgo: sha256
parm: minor_count:Approximate number of bsr devices (1-255) (uint)
parm: disable_sendpage:bool
parm: allow_oos:DONT USE! (bool)
parm: debug_fast_sync:bool
parm: enable_faults:int
parm: fault_rate:int
parm: fault_count:int
parm: fault_devs:int
parm: two_phase_commit_fail:int
parm: usermode_helper:string
[root@bsr-01 x86_64]# bsradm -V
BSRADM_BUILDTAG=GIT-hash:\ 35649dbca524e37a7a8fcddb199db17efb8b7aba\ build\ by\ root@bsrc76,\ 2020-08-25\ 13:46:17
BSRADM_API_VERSION=2
BSR_KERNEL_VERSION_CODE=0x000000
BSR_KERNEL_VERSION=0.0.0
BSRADM_VERSION_CODE=0x000000
BSRADM_VERSION=1.6-A3
업데이트
이전 버전 제거
리소스 비활성화
서비스 중지
커널 모듈 삭제
유틸리티 삭제
유틸리티 업데이트
CentOS
[root@bsr-01 bsr]# rpm -Uvh bsr-utils-1.6-A4.el7.x86_64.rpm
Ubuntu
root@ubuntu:/home/mantech# dpkg -i bsr-utils_1.6-A4_amd64.deb
커널 모듈 업데이트
CentOS
[root@bsr-01 bsr]# rpm -Uvh kmod-bsr-1.6_3.10.0_957-A4.el7.x86_64.rpm
Ubuntu
root@ubuntu:/home/mantech# dpkg -i bsr-dkms_1.6-A4_all.deb
삭제
다음은 bsr을 삭제하는 명령 입니다.
CentOS
rpm -e kmod-bsr
rpm -e bsr-utils
Ubuntu
dpkg -r bsr-dkms
dpkg -r bsr-utils