The bsr installation package has packages for Windows and Linux, and for Linux it is distributed as an rpm package for RHEL (CentOS) 6.4 or higher, a deb package for Ubuntu 16.04 LTS or higher, and a SUSE package. To obtain an installation package, please contact Mantech Technology Research Institute (bsr@mantech.co.kr).
caution
If bsr is installed and operated together with drbd, conflicts related to system resource use may occur. If drbd was previously installed on your system, you must uninstall it.
Windows
Installation
You can easily install it by running the installer for Windows and following the steps guided by the installation wizard. Once installation is complete, you will need to restart your system.
Install Path
Once installation is completed successfully, the directory will be configured as shown below.
bin
Binary executable files and script (bsrsupport, etc.) files, including the bsr service, are located here.
etc
Configuration file path.
jre
Path to the Java runtime for the installation package.
log
Path to the bsr log file.
Windows bsr uses TCP loopback ports 5678 and 5679 for netlink and service purposes. To change this port, you must change the key value in the following registry path and restart the system.
path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bsr\
key: netlink_tcp_port, daemon_tcp_port
Load
The Windows bsr kernel module is automatically loaded when the OS kernel is loaded.
Service Config.
Automatically configured by the bsr installation package.
Uninstall
Uninstall it from Programs and Features in Control Panel. You must restart the system after uninstall.
Update
Updating is the process of deleting an old version of a program and then installing a new version of the program.
If you reinstall a new version of the package while bsr is installed, the update will be installed automatically. You must restart your system after updating.
You can delete the program from the Control Panel and then reinstall it, but you must restart the system after uninstalling. If you immediately reinstall the program without restarting, a system crash may occur due to abnormal installation. Please note this.
LAN card replacement
If the network LAN card is replaced after installing bsr, you must manually reapply the contents of Disable TCP Delayed ACK using the bsrcon /nodelayedack <resource> command. Failure to do so may result in performance degradation.
RHEL
Kernel package compatibility
Unlike Windows' ABI upward compatibility policy, in Linux, certain versions of Linux kernel packages are generally not compatible with higher kernel versions. Because new features and improvements are incompatible with each kernel version, installing kernel packages from older versions may cause compatibility issues. Even if the package is accidentally installed on a higher version kernel, serious problems such as kernel panic may occur during operation.
Likewise, unless specifically specified, bsr does not guarantee compatibility of lower version packages with higher kernels, and must be installed as a dedicated version of the bsr package built for a specific kernel version.
Install
Utility
[root@bsr-01 x86_64]# rpm -ivh bsr-utils-1.6-A3.el7.x86_64.rpm
Kernel module
[root@bsr-01 bsr]# rpm -ivh kmod-bsr-1.6_3.10.0_957-A3.el7.x86_64.rpm
Installing bsr kernel modules does not require a system restart.
Secure boot
If you are not considering configuring Secure Boot, skip this step.
During the kernel module installation process, the public key is installed in the /etc/pki/mantech/ path. To register (enroll) the public key in the UEFI console, first request registration (import) as follows.
#mokutil --import /etc/pki/mantech/bsr_signing_key_pub.der
input password:
input password again:
Reboot after specifying the password. Enroll the public key in the UEFI console at reboot time.
Install path
/usr/sbin/
Binary executable files (bsradm, bsrcon, bsrmeta, bsrmon, bsrsetup, bsrsupport, bsrwatch) are located here.
/usr/lib/bsr/
Path to the script file (bsr service, notify).
/etc/bsr.d/
Path to the configuration file.
/var/log/bsr/
Path to the bsr log.
/usr/lib/modules/{kernel-version}.{version}.x86_64/extra/bsr/
Path to the bsr.ko module file.
Load
Load the bsr kernel module.
# modprobe bsr
# lsmod |grep bsr
bsr 52113408 0
libcrc32c 16384 4 nf_conntrack,nf_nat,bsr,xfs
[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
If you fail to load the kernel module related to Secure Boot, refer to this link and proceed with the Secure Boot code signing process step by step.
Service config.
If you want bsr to always start automatically when the system starts, you must enable the bsr service and configure the svc-auto-up option. The default value of svc-auto-up is 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; } } ... }
Uninstall
Uninstall goes through the following process.
stop resource
service stop
Delete kernel module
delete utility
bsradm down all
systemctl stop bsr
rpm -e kmod-bsr
rpm -e bsr-utils
Update
Updating involves deleting the already installed version and reinstalling it with a new version.
First, delete the product and then perform the following update processes in order.
Utility
[root@bsr-01 bsr]# rpm -Uvh bsr-utils-1.6-A4.el7.x86_64.rpm
Kernel module
[root@bsr-01 bsr]# rpm -Uvh kmod-bsr-1.6_3.10.0_957-A4.el7.x86_64.rpm
Secure boot
This step only applies if Secure Boot is configured.
If the existing bsr module public key has already been registered, no update is required.
If the private key and public key for Secure Boot have been updated, you must perform the Secure Boot setup process again.
Ubuntu
Install
Required Package
The Ubuntu package uses Dynamic Kernel Module Support (DKMS), which requires installation of the packages below.
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
Depending on the OS version, an error may occur because certain packages are not provided.
E: Package 'python-dbus' has no installation candidate
E: Unable to locate package python-gobject
E: Unable to locate package dh-systemd
Retry the installation, excluding the packages causing the error.
root@ubuntu:/home/mantech# apt-get install git build-essential debhelper dkms docbook-xsl help2man python-all flex autoconf automake
Utility
root@ubuntu:/home/mantech# dpkg -i bsr-utils_1.6-A3_amd64.deb
Kernel module
root@ubuntu:/home/mantech# dpkg -i bsr-dkms_1.6-A3_all.deb
If installation fails due to dependency issues, you can resolve the dependency issues using the command below and try again.
root@ubuntu:/home/mantech# apt-get -f -y install
Installing the bsr kernel module does not require a system restart.
Secure boot
The dkms package automatically creates MOK and signs codes for third-party drivers in the final stage of installation.
If you are not considering configuring Secure Boot, skip this step.
The following screen is displayed during module installation to register the generated public key.
After selecting OK, enter the password to be used for MOK registration.
After rebooting the system, enter the UEFI console and register the public key to the system.
Enroll MOK → Countinue → Yes → Input password → Reboot
Install path
/usr/sbin/
Binary executable files (bsradm, bsrcon, bsrmeta, bsrmon, bsrsetup, bsrsupport, bsrwatch) are located here.
/usr/lib/bsr/
Path to the script file (bsr service, notify).
/etc/bsr.d/
Path to the configuration file.
/var/log/bsr/
Path to the bsr log.
/usr/lib/modules/{kernel-version}-generic/updates/dkms/
Path to the bsr.ko module file.
Load
Load the bsr kernel module.
# modprobe bsr
# lsmod |grep bsr
bsr 52113408 0
libcrc32c 16384 4 nf_conntrack,nf_nat,bsr,xfs
[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
If you fail to load the kernel module related to Secure Boot, refer to this link and proceed with the Secure Boot code signing process step by step.
Service config.
If you want bsr to always start automatically when the system starts, you must enable the bsr service and configure the svc-auto-up option. The default value of svc-auto-up is yes.
systemctl enable bsr
systemctl start bsr
resource r0 { ... on hostname { options { svc-auto-up yes; } } ... }
Uninstall
Uninstall goes through the following process.
stop resource
service stop
delete kernel module
delete utility
bsradm down all
systemctl stop bsr
dpkg -r bsr-dkms
dpkg -r bsr-utils
Update
Updating involves deleting the already installed version and reinstalling it with a new version.
First, Uninstall the product and then perform the following update processes in order.
Utility
root@ubuntu:/home/mantech# dpkg -i bsr-utils_1.6-A4_amd64.deb
Kernel module
root@ubuntu:/home/mantech# dpkg -i bsr-dkms_1.6-A4_all.deb
Secure boot
This step only applies if Secure Boot is configured.
If the existing bsr module public key has already been registered, no update is required.
If the private key and public key for Secure Boot have been updated, you must perform the Secure Boot setup process again.
SUSE
Install
Utility
# rpm -ivh bsr-utils-1.6.5.1_sles12-sp4_20230621151754.rpm
Kernel module
# rpm -ivh bsr-kmp-default-1.6.5.1_sles12-sp4_4.12.14-94.41_20230621151754.rpm
Signature verification failed may occur when using the zypper command, select ignore and proceed with installation.
# 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
Installing the bsr kernel module does not require a system restart.
Secure boot
If you are not considering configuring Secure Boot, skip this step.
During the kernel module installation process, the public key is installed in the /etc/pki/mantech/ path. To register (enroll) the public key in the UEFI console, first request registration (import) as follows.
#mokutil --import /etc/pki/mantech/bsr_signing_key_pub.der
input password:
input password again:
Reboot after specifying the password. Enroll the public key in the UEFI console when rebooting begins.
Install path
/usr/sbin/
Binary executable files (bsradm, bsrcon, bsrmeta, bsrmon, bsrsetup, bsrsupport, bsrwatch) are located here.
/usr/lib/bsr/
Path to the script file (bsr service, notify).
/etc/bsr.d/
Path to the configuration file.
/var/log/bsr/
Path to the bsr log.
/lib/modules/{kernel-version}-default/updates/
Path to the bsr.ko module file.
Load
Load the bsr kernel module.
# modprobe bsr
# lsmod |grep bsr
bsr 52113408 0
libcrc32c 16384 4 nf_conntrack,nf_nat,bsr,xfs
Because SUSE restricts the loading of modules without the supported flag, loading the bsr module basically fails.
# 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
To allow loading of unsupported modules, use the --allow-unsupported option when running modprobe.
# 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
If you fail to load the kernel module related to Secure Boot, refer to the Kernel Module Packages Manual and proceed with the Secure Boot code signing process step by step.
Service config.
If you want bsr to always start automatically when the system starts, you must enable the bsr service and configure the svc-auto-up option. The default value of svc-auto-up is yes.
systemctl enable bsr
systemctl start bsr
resource r0 { ... on hostname { options { svc-auto-up yes; } } ... }
Uninstall
Uninstall goes through the following process.
stop resource
service stop
delete kernel module
delete utility
bsradm down all
systemctl stop bsr
rpm -e bsr-kmp-default
rpm -e bsr-utils
Update
Updating involves deleting the already installed version and reinstalling it with a new version.
First, Uninstall the product and then perform the following update processes in order.
Utility
# rpm -ivh bsr-utils-1.6.5.1_sles12-sp4_20230621151754.rpm
Kernel module
# rpm -ivh bsr-kmp-default-1.6.5.1_sles12-sp4_4.12.14-94.41_20230621151754.rpm
Secure boot
This step only applies if Secure Boot is configured.
If the existing bsr module public key has already been registered, no update is required.
If the private key and public key for Secure Boot have been updated, you must perform the Secure Boot setup process again.