Configuration environments
bsr has no restrictions on the target environment such as physical system and virtual machine (VM), hyperconverged infrastructure (HCI) environment, and can flexibly configure replication in any network environment such as a local network and a remote network environment between WANs.
Specifications
The following are the physical requirements of the platforms and target systems supported by the BSR.
Platforms
Supports Windows 2012 or higher, Linux CentOS 6.4, Ubuntu 16.04 LTS or higher x64 environment.
File systems
Block replication solutions usually work regardless of the type of file system. However, bsr has a specification for supported file systems, as it implements fast synchronization that only synchronizes to the areas used by the file system.
Recently, the capacity of the replication volume has been increasing in capacity (several tens to hundreds of terabytes), and accordingly, the time required to initially synchronize the replication volume is increasing significantly. In many cases, it may take days to dozens of days. This is because the volume is initially synchronized because it targets the entire disk volume. If the volume is 10 terabytes in 1 Gbps network bandwidth, it will take at least 27 hours at least as fast as possible to complete the entire synchronization, and over 10 days if 100 TB.
We have implemented Fast Sync (FastSync) to solve this excessive sync time issue. FastSync is a function that synchronizes only the area used in the file system of the replication volume, dramatically improving the initial synchronization time. For example, if you are using only 10 GB of actual volume at 100 TB capacity, FastSync will complete synchronization within 1 minute in the 1 Gbps band. However, since it is a function developed using the characteristics of a file system, it depends on the file system type and has a support specification for the file system type accordingly.
bsr supports NTFS and ReFS file systems commonly used in Windows, and Ext-like file systems (ext3 or higher) and xfs file systems in Linux. These file systems are the types of file systems most commonly used by general users, and we plan to gradually support other file systems.
For types of filesystems not supported by FastSync, it behaves as a traditional full sync.
CPU
It is recommended to configure at least 2GHz, 4 core or higher, x64 compatible processor. There is no problem in operating in a processor environment with a lower specification, but considering the I / O performance of the system, it is necessary to secure the specification of the configuration machine as high as possible.
Memory
Systems typically start paging virtual memory when memory usage exceeds 70%, depending on kernel settings, and paging behavior degrades system I/O performance. To prevent replication from operating on poorly performing systems, it is in replication's best interest to always have at least 30% free physical memory so that paging is suppressed.
The memory used by BSR is based on non-paged physical memory, and on Windows, the maximum memory usage is determined by the maximum write request value (max-req-write-count) in the BSR settings and the size of the transmit buffer.
For synchronous without a send buffer
At the default setting for write requests (10k), use a maximum of 1.5 GB per resource.
At the maximum write requests setting (100k), use a maximum of 3GB per resource.
For asynchronous with a 1GB send buffer setting, use a maximum of 3GB per resource in the
Use a maximum of 2.5 GB per 1 resource at the write request default setting.
Use a maximum of 4 GB per resource at the Write Request Max setting.
For example, a server with 64 GB of physical memory requires approximately 20 GB (30%) of memory free, and of the memory space used, BSR requires a maximum of 2.5 GB of memory space per 1 resource in the Async preference.
If you don't have 30% free memory, you'll have to live with basic I/O performance degradation due to paging. However, the 3-4 GB NP memory usage per resource required by replication must be kept free, or it can lead to failures due to insufficient memory resources.
When paging occurs can vary depending on your system's memory capacity, platform, and OS version. The 70% figure described above is typical and should be understood in the context of your environment.
BSR memory usage on Linux is similar or less than on Windows. It uses a bit more memory on Windows due to some differences in the replication architecture.
Replication configurations with VMs are becoming increasingly common in virtualized environments. A characteristic of these environments is that the CPU or memory resources allocated to individual VMs are not always sufficient. For example, if an individual VM is configured with 2 cores and 2-4 GB of memory, it may not meet the minimum configuration specifications for bsr. When a replication environment is configured with such low-spec VMs, it is more likely to experience frequent performance delays inside the bsr engine and network communication (keep alive) delays between nodes. While there is no problem with the basic behavior, as the I/O load increases or the frequency of interrupts in the HW layer of the system increases, the performance of the VM as a whole will decrease, and bsr will be affected accordingly. The bottom line is that building a replication environment on low-specification VMs has limitations.
There's not much you can do about it except to make sure you have plenty of system configuration resources.
Disk
Basic installation space
It requires about 200MB to install all the binary execution modules of bsr, and 1GB is required to store the log of bsr, which requires about 2GB of disk installation space.
Mirror Disk
Theoretically, the capacity of the mirror disk of bsr is unlimited, but the size of the mirror volume we verified is 40TB. Limit the size of the maximum mirror volume to 40 TB.
Meta Disk
Depending on the capacity of the replication volume, you need to estimate the capacity of the metadisk. It requires about 33MB of meta disk space per 1TB of the replication volume, and for more accurate size, see Metadata Size Estimation.
Network
In a recent corporate environment, mirroring on a local network is generally configured with a bandwidth of 1 Gbps to 10 Gbps, and a remote replication environment (Disaster Recovery) for DR (Disaster Recovery) is generally operated with a lower bandwidth. That is, it is applied to a wide range of network environments from very low bandwidth (10 ~ 100Mbps) to high bandwidth. However, because replication in a low-band network environment is bound to affect replication performance due to bandwidth limitations, consider such as linking replication accelerators for performance improvement.
Storage provisioning
It is only supported for the THICK provisioning method of storage provisioning. Thin provisioning environments with disk space reclamation are not compatible with BSR.
In a THIN provisioning environment, disk space reclamation causes data inconsistency issues under certain circumstances, and care should be taken to avoid installing or operating in thin environments.