Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 49 Next »

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 의 내용을 다시 적용해야 합니다. 이를 하지 않을 경우 지연 ACK 로 인한 복제 성능 저하가 발생할 수 있습니다.

Linux

설치 - RHEL

유틸리티

[root@bsr-01 x86_64]# rpm -ivh bsr-utils-1.6-A3.el7.x86_64.rpm

커널모듈

[root@bsr-01 bsr]# rpm -ivh kmod-bsr-1.6_3.10.0_957-A3.el7.x86_64.rpm

시큐어 부트 설정

시스템의 시큐어 부트가 비활성화되어 있으면 시큐어 부트 설정은 필요 없습니다.

커널 모듈 설치 과정에 /etc/pki/mantech/ 경로에 공개키가 설치됩니다. 해당 공개키를 UEFI 콘솔에 등록(Enroll)하기 위해 먼저 다음과 같이 등록을 요청(import) 합니다.

#mokutil --import /etc/pki/mantech/bsr_signing_key_pub.der

input password:

input password again:

비밀번호 지정 후 리부팅 합니다. 리부팅 시점에 UEFI 콘솔에서 해당 공개키를 등록(Enroll)합니다.

설치 - 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

os 버전에 따라 특정 패키지가 제공되지 않아 에러가 발생할 수 있습니다.

E: Package 'python-dbus' has no installation candidate

E: Unable to locate package python-gobject

E: Unable to locate package dh-systemd

에러가 발생하는 패키지들은 제외하고 설치를 다시 시도하십시오.

root@ubuntu:/home/mantech# apt-get install git build-essential debhelper dkms docbook-xsl help2man python-all flex autoconf automake

유틸리티

root@ubuntu:/home/mantech# dpkg -i bsr-utils_1.6-A3_amd64.deb

커널모듈

root@ubuntu:/home/mantech# dpkg -i bsr-dkms_1.6-A3_all.deb

의존성 문제로 인해 설치에 실패할 경우 아래 명령을 통해 의존성 문제를 해결하고 재 시도 하면 됩니다.

root@ubuntu:/home/mantech# apt-get -f -y install

시큐어부트 설정

dkms 패키지는 설치 최종 단계에서 third-party drivers 를 위한 MOK 생성 및 코드서명을 자동으로 진행합니다.

시스템의 시큐어부트가 비활성화 되어 있으면 이 단계를 건너 뜁니다.

생성된 공개키 등록을 위해 모듈 설치 중 아래와 같은 화면이 출력됩니다.

OK 선택 후, MOK 등록에 사용될 암호를 입력합니다.

시스템 리부팅 후 UEFI 콘솔에 진입하여, 공개 키를 시스템에 등록합니다.

Enroll MOK → Countinue → Yes → 암호 입력 → Reboot

설치 - SUSE

유틸리티

# rpm -ivh bsr-utils-1.6.5.1_sles12-sp4_20230621151754.rpm

커널모듈

# rpm -ivh bsr-kmp-default-1.6.5.1_sles12-sp4_4.12.14-94.41_20230621151754.rpm

zypper 명령 사용 시 Signature verification failed 가 발생할 수 있으며, ignore 를 선택하고 설치를 진행합니다.

# zypper install bsr-kmp-default-1.6.5.1_sles12-sp4_4.12.14-94.41_20230621151754.rpm


bsr-kmp-default-1.6.5.1_sles12-sp4_4.12.14-94.41_20230621151754.rpm:
Package is not signed!

bsr-kmp-default-1.6.5.1_k4.12.14_94.41-1.x86_64 (Plain RPM files cache): Signature verification failed [6-File is unsigned]
Abort, retry, ignore? [a/r/i] (a): i

시큐어 부트 설정

RHEL https://mantech.jira.com/wiki/spaces/BSRUG/pages/1186103297#%EC%8B%9C%ED%81%90%EC%96%B4-%EB%B6%80%ED%8A%B8-%EC%84%A4%EC%A0%95 을 참고하세요.

모듈 로드

리부팅 후 bsr 모듈을 로드하고 성공했는지 확인합니다.

# modprobe bsr

# lsmod |grep bsr

bsr                 52113408  0

libcrc32c              16384  4 nf_conntrack,nf_nat,bsr,xfs

SUSE 에서는 supported 플래그가 없는 모듈 로드를 제한하고 있기 때문에, bsr 모듈 로드를 실패합니다.

# modprobe bsr

modprobe: ERROR: module 'bsr' is unsupported
modprobe: ERROR: Use --allow-unsupported or set allow_unsupported_modules 1 in
modprobe: ERROR: /etc/modprobe.d/10-unsupported-modules.conf
modprobe: ERROR: could not insert 'bsr': Operation not permitted

unsupported 모듈 로드를 허용하기 위해서 modprobe 수행 시 --allow-unsupported 옵션을 사용합니다.

# modprobe bsr --allow-unsupported

[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

만약 bsr 모듈 로드에 실패한다면 /wiki/spaces/B/pages/3596976727 문서의 수동 코드 서명 과정을 참고하여 서명과정을 단계 별로 수행해 보세요.

서비스 구성

시스템이 시작될 때 항상 bsr을 자동으로 기동 시키려면 bsr 서비스를 활성화 하고 svc-auto-up 옵션을 구성해야 합니다. svc-auto-up 의 기본값은 yes 입니다.

  • RHEL 6

    • chkconfig bsr on

    • service bsr start

  • RHEL 7 or Ubuntu

    • systemctl enable bsr

    • systemctl start bsr

resource r0 {
        ...
        on hostname {
          options {
                svc-auto-up yes;
          }
        }
        ...
}

삭제

삭제는 다음의 과정을 거칩니다.

  • 리소스 중지

  • 서비스 중지

  • 커널 모듈 삭제

  • 유틸리티 삭제

RHEL

rpm -e kmod-bsr

rpm -e bsr-utils

Ubuntu

dpkg -r bsr-dkms

dpkg -r bsr-utils

SUSE

rpm -e bsr-kmp-default

rpm -e bsr-utils

업데이트

업데이트는 이미 설치된 버전을 삭제하고 새 버전으로 재 설치하는 작업입니다.

먼저 제품을 삭제한 후 다음의 업데이트 과정을 차례로 수행합니다.

유틸리티 업데이트

RHEL

[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

SUSE

# rpm -ivh bsr-utils-1.6.5.1_sles12-sp4_20230621151754.rpm

커널 모듈 업데이트

RHEL

[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

SUSE

# rpm -ivh bsr-kmp-default-1.6.5.1_sles12-sp4_4.12.14-94.41_20230621151754.rpm

시큐어 부트 설정

기존의 bsr 모듈 공개키가 이미 등록된 상태이면 추가 설정은 필요하지 않습니다.

만약 코드 사인을 위한 개인키-공개키가 갱신된 경우라면 위에서 설명한 시큐어 부트 설정 과정을 다시 수행해야 합니다.

  • No labels