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 52 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

커널패키지 호환성

윈도우즈의 ABI 상위 호환 정책과는 다르게, 리눅스에선 일반적으로 특정 버전의 리눅스 커널 패키지는 상위 커널 버전에 호환되지 않습니다. 커널 버전이 올라갈수록 새로운 기능과 개선 사항이 추가되기 때문에, 이전 버전의 커널 패키지를 설치하면 호환성 문제가 발생할 수 있습니다. 설치가 불가하거나 설치가 되더라도 동작 중에 커널패닉 등 심각한 문제가 발생할 수 있습니다.

bsr 도 마찬가지로 특별하게 명시하지 않는 한 하위 버전 패키지가 상위 커널에 대한 호환은 지원하지 않습니다. 즉, 특정 커널 버전에 맞는 bsr 패키지로 설치해야 합니다.

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