Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

bsradm knows most of the options in bsrsetup and passes all double dash options or no double dash options to the specified low-level utility.

OPTIONS

-V, --version

Print the version information of the BSR.

-d, --dry-run

Displays commands to execute without actually executing, such as bsradm -d up <resource>. This can be a useful way to learn how to use bsrsetup and bsrmeta.

...

Remove the connection to the peer host.

disk-options {device}

적재된 장치의 disk 옵션을 변경합니다Change the disk options of the attached device.

down {resource}

이 명령을 통해 모든 볼륨과 연결 그리고 리소스 자체를 제거하여 중지 합니다This command stops all volumes, connections, and the resource itself.

dstate {device}

하위 장치의 현재 디스크 상태를 출력합니다Prints the current disk status of the lower device.

dump {resource}

구성파일은 파싱하여 stdout 으로 출력합니다Parse the configuration file and print it to stdout.

dump-md {device}

장치의 메타데이터를 텍스트 형식으로 덤프합니다. 비트맵과 액티비트 로그도 포함됩니다Dumps the device's metadata in text format. Bitmaps and activity logs are also included.

get-gi {peer_device}

특정 연결의 장치를 위한 생성 식별자Outputs the generatation identifiers(GI) 를 출력합니다. 적재된 장치에는 bsrsetup, 적재되지 않은 장치에는 bsrmeta 를 사용합니다for a device on a specific connection. Use bsrsetup for attached devices and bsrmeta for detached devices.

hidden-commands

명시적으로 문서화되지 않은 모든 명령을 표시합니다Displays all commands that are not explicitly documented.

invalidate {peer_device}

장치의 로컬 데이터를 피어의 데이터로 동기화 합니다Synchronize the device's local data with the peer's data.

invalidate-remote {peer_device}

피어 장치의 데이터를 로컬 노드의 장치로 동기화 합니다Synchronize data from peer devices to devices on the local node.

net-options {connection}

기존 연결의 net 옵션을 변경합니다Change the net options of an existing connection.

new-current-uuid {device}

Create a new current UUID.

new-current-uuid --no-rotate-bitmap {device}

새로운 current UUID 를 생성합니다Creates a new current UUID but does not rotate the bitmap UUID. Gives the effect that I/O occurred locally.

outdate {device}

하위 장치의 데이터를 outdated 로 지정합니다Set the data of the child device to outdated.

pause-sync {peer_device}

로컬 일시 정지 플래그를 설정하여 로컬 장치와 피어 장치 간의 재 동기화를 중지합니다Set the local pause flag to stop resynchronization between local and peer devices.

primary {resource}

리소스에서 노드의 역할을 primary로 변경합니다Change the role of the node in the resource to primary.

resize {device}

모든 노드에서 복제장치의 하위 장치 크기를 조정합니다. 이것은 Resize the lower device of the replica on all nodes. This is done by combining check-resize resize 하위 레벨 명령을 결합하여 수행합니다and resize low-level commands.

resource-options {resource}

기존 리소스의 리소스 옵션을 변경합니다Change resource options for an existing resource.

resume-sync {peer_device}

로컬 동기화 일시 정지 플래그를 지워서 재 동기화가 재개 되도록 합니다Clear the local sync pause flag so that resynchronization resumes.

role {resource}

리소스의 현재 역할을 출력합니다Print the current role of the resource.

secondary {resource}

리소스의 역할을 Secondary 로 변경(강등)합니다. 만약 리소스의 복제 장치가 사용 중 이라면 리눅스에서 이 명령은 실패합니다. 윈도우즈에선 장치 사용 여부와 관계없이 강등합니다Change the role of the resource to Secondary. This command will fail on Linux if the resource's replicated device is in use. On Windows, it is demoted whether or not the device is used.

show-gi {peer_device}

특정 연결에서 장치의 데이터 생성 식별자를 표시합니다. 또한 출력에 대해 부연설명 합니다Displays the data generation identifier of the device on a specific connection. Also, the output is explained in detail.

up {resource}

다음의 과정으로 리소스를 기동합니다

...

Start the resource in the following procedure.

  • Apply activity log of all volumes: bsrmeta apply-al

  • 리소스 생성Create resource: bsrsetup new-resource

  • 복제 장치 생성Create a replicated device: bsrsetup new-device, bsrsetup new-minor

  • 하위 장치 적재Attach the lower device: bsrsetup attach

  • 모든 피어에 연결Connect to all peers: bsrsetup connect

verify {peer_device}

온라인 검증을 시작Start, 중지, 또는 특정 부분에 대한 검증을 지정할 수 있습니다stop, or specify verification for specific parts of online verification.

wait-connect {[device] | [connection] | [resource]}

피어 상의 장치, 연결 상의 모든 장치들, 모든 피어상의 모든 장치들이 확인 될 때까지 기다립니다Wait for devices on the peer, all devices on the connection, all devices on all peers to be verified.

wait-sync {[device] | [connection] | [resource]}

장치가 연결되고 최종 재 동기화 작업이 완료 될 때까지 기다립니다. 연결 및 리소스 수준에서도 사용할 수 있습니다Wait for the device to connect and the final resync operation to complete. Also available at the connection and resource level

wipe-md {device}

장치의 bsr 메타 데이터를 지웁니다Clears the device's bsr metadata.

forget-peer {connection}

메타 데이터에서 연결되지 않은 피어에 대한 참조를 완전히 제거합니다Removes references to unconnected peers completely from metadata.

bsrsetup

bsrsetup command {argument...} [option...]

DESCRIPTION

The bsrsetup 유틸리티는 bsr 커널 모듈을 구성하고 현재 구성을 표시합니다. 사용자는 일반적으로 bsrsetup보다 bsr에 더 높은 수준의 인터페이스를 제공하는 bsradm 유틸리티와 상호 작용합니다. (bsradm에서 bsrsetup을 사용하는 방법을 보려면 bsradm의 utility configures the bsr kernel module and displays the current configuration. Users typically interact with the bsradm utility, which provides a higher level interface to bsr than bsrsetup. (See bsradm's --dry-run 옵션을 참조하십시오.) 일부 옵션 인수에는 일반 숫자를 지정할 때 적용되는 기본 스케일이 있습니다 (예: Kilo). 이러한 기본 스케일은 접미사 (예: M의 경우 Mega)를 사용하여 재정의 할 수 있습니다. 공통 접미사 option to see how to use bsrsetup in bsradm.) Some option arguments have a default scale applied when specifying a regular number (eg, Kilo). These default scales can be overridden using a suffix (eg Mega for M). Common suffixes K = 2^10 = 1024, M = 1024K and G = 1024M이 지원됩니다1024M are supported.

COMMANDS

bsrsetup attach minor lower_dev meta_data_dev meta_data_index,

bsrsetup disk-options minorattach

명령은 하위 수준의 장치를 기존 복제 장치에 연결합니다. disk-options 명령은 연결된 하위 장치의 디스크 옵션을 변경합니다. 모두 명령 모두 bbssetup new-minor를 통해 생성된 복제 장치를 대상으로 하고 복제장치의 minor 번호로 지정합니다. lower_dev는 하위 장치의 이름입니다. meta_data_dev는 메타 데이터를 포함하는 장치의 이름이며, lower_dev와 동일 할 수 있습니다. meta_data_index는 인덱스 메타 데이터의 번호이거나 내부 메타 데이터의 경우 internal 키워드 또는 가변 크기의 외부 메타 데이터의 경우 flexible 키워드 입니다. 사용 가능한 옵션은 다음과 같습니다The attach command attaches a lower-level device to an existing replicated device. The disk-options command changes the disk options of the attached child device. All commands All Targets the clone device created by bsrsetup new-minor and specifies it as the minor number of the replicated device. lower_dev is the name of the child device. meta_data_dev is the name of the device that contains the metadata, it can be the same as lower_dev. meta_data_index is the number of index metadata or the internal keyword for internal metadata or the flexible keyword for variable-size external metadata. The available options are:

  • --al-extents extents

    • bsr은 최근 디스크 쓰기 작업을 근거로 쓰여진(active) 영역과 쓰여진 영역에 최근 다시 쓰여진(hot) 영역에 대해 관리합니다. 쓰기 I/O가 발생하면 active 영역은 디스크에 즉시 쓰면 되지만 inactive 디스크 영역은 먼저 activated 해야 하기 때문에 여기서 메타 데이터 쓰기가 필요합니다. 이 active 디스크 영역을 activity log 라고 합니다. activity log에 메타 데이터 쓰기를 저장하지만 실패한 노드를 복구할 경우 전체 activity log에 대해 다시 동기화 해야 합니다. 따라서 activity log의 크기는 primary 크래쉬 후 재 동기화에 얼마나 오래 걸릴지, 얼마나 빨리 복제 디스크의 일관성을 맞출지의 주요 요인이 됩니다. activity log는 여러 개의 4MiB 단위 세그먼트로 구성됩니다. al-extents 매개 변수는 동시에 활성화 할 수있는 세그먼트 수를 결정합니다. al-extents의 기본값은 6001이며 최소 7과 최대 65536입니다. 장치 메타 데이터를 생성한 방법에 따라 유효한 최대 값이 더 작을 수도 있습니다 (bsrmeta 참조).

...

    • bsr manages active and recently rewritten areas based on recent disk write operations. When write I/O occurs, the active area can be written to disk immediately, but the inactive disk area must be activated first, so metadata write is required here. This active disk area is called activity log. If you save the metadata write to the activity log, but recover the failed node, you will need to resynchronize over the entire activity log. Therefore, the size of the activity log is a major factor in how long it will take to resynchronize after the primary crash and how quickly the consistency of the clone disk is achieved. Activity log consists of several 4 MiB unit segments. The al-extents parameter determines the number of segments that can be active simultaneously. The default for al-extents is 6001, with a minimum of 7 and a maximum of 65536. Depending on how you generated the device metadata, the maximum valid value may be smaller.

    • The maximum effective value is 919 * (available on-disk activity log ring buffer area / 4kB -1), up to 6433 (including 25 GiB or more data) in the default 32KB ring buffer. It's recommended to keep the size of the activity log within an amount where the backend storage and replication links can be resynchronized in about 5 minutes. Changing the size of al-extents requires a resource down.

  • --al-updates {yes | no}

    • 이 매개 변수를 no 로 설정하면 activity log를 완전히 끌 수 있습니다. 메타 데이터 쓰기가 더 적게 필요하기 때문에 쓰기 속도가 빨라지지만, 실패한 기본 노드의 복구시 전체 장치를 재 동기화해야합니다. al-updats 의 기본값은 yes 입니다Setting this parameter to no enables the activity log to be turned off completely. Writing speeds up because less metadata writes are required, but the entire device must be resynchronized upon recovery of the failed primary node. The default value of al-updates is yes.

--disk-barrier--disk-flushes--disk-drain bsr에는 쓰기 요청의 순서를 처리하는 세 가지 방법이 있습니다bsr has three ways to handle the order of write requests.

  • disk-flushes

    • 디스크에 쓰기 After writing I / O 를 수행한 후 flush 를 강제하여 모든 데이터를 디스크에 기록하도록 조치합니다. 플랫폼에 따라 또는 드라이브 공급 업체에 따라 flush의 구현이 다를 수 있습니다. 예전 방식으로는 'force unit access'라고 명명되는 디스크 캐쉬를 우회하는 기술로 사용되기도 했으나 최근에은 기본적으로 디스크이 캐쉬를 비우는 작업을 통해 디스크 쓰기를 보장하는 방식으로 구현되고 있습니다. 이 옵션은 기본적으로 활성화 되어 있습니다.

    disk-barrier

    • 이 옵션을 사용하여 요청이 올바른 순서로 디스크에 기록되도록합니다. barrier는 barrier 이전에 제출 된 모든 요청이 이후에 제출 된 요청보다 앞서서 모두 디스크에 요청하도록 보장 합니다. 이는 SCSI 장치의 'tagged command queuing'과 SATA 장치의 'native command queuing'을 사용하여 구현됩니다. 일부 장치 및 장치 스택 만이 이 방법을 지원합니다. device mapper (LVM)는 일부 구성에서만 barrier를 지원합니다. disk-barrier을 지원하지 않는 시스템에서 이 옵션을 사용하면 데이터가 손실되거나 손상 될 수 있습니다. 이 옵션은 예전 리눅스 커널에서는 지원했지만 to disk, force flush to write all data to disk. Depending on the platform or drive vendor, the implementation of flush may be different. In the old method, it was used as a technique to bypass the disk cache called 'force unit access', but recently, it is basically implemented in a way that writes the contents of the disk cache to disk to ensure disk write. This option is enabled by default.

  • disk-barrier

    • Use this option to ensure that requests are written to disk in the correct order. The barrier ensures that all requests submitted before the barrier are all requested to disk prior to requests subsequently submitted. This is implemented using 'tagged command queuing' of SCSI devices and 'native command queuing' of SATA devices. Only some devices and device stacks support this method. The device mapper (LVM) only supports barriers in some configurations. Using this option on systems that do not support disk-barrier can result in data loss or corruption. This option was supported by older Linux kernels, but kernels after linux-2.6.36 (또는 or 2.6.32 RHEL6) 이후의 커널은 더 이상 disk-barrier가 지원되는지 감지할 수 없습니다. 이 옵션은 기본적으로 해제되어 있으며 명시적으로 활성화 해야 합니다can no longer detect if disk-barrier is supported. This option is off by default and must be explicitly enabled.

  • disk-drain

    • 쓰기 요청을 제출하기 전에 요청 큐가 "드레인"될 때까지(즉, 요청이 완료 될 때까지) 기다립니다. 이 방법을 사용하려면 요청이 완료될 떄 까지 요청들이 디스크에서 안정적이어야 합니다. 예전에는 이 옵션을 기본 활성화 하였지만 지금은 기본 옵션이 아닙니다.

이 세 가지 방법 중에서 bsr은 백업 저장 장치가 활성화하고 지원하는 첫 번째 방법을 사용합니다. 이 세 가지 옵션을 모두 해제하면 bsr은 쓰기 의존성을 신경 쓰지 않고 요청을 제출합니다. 다른 환경의 클러스터 노드에서는 I/O 스택에 따라 쓰기 요청이 다시 정렬되어 다른 순서로 제출될 수 있습니다. 이럴 경우 데이터가 손실되거나 손상될 수 있습니다. 따라서 쓰기 순서를 제어하는 세 가지 방법을 모두 해제하지 않는 것이 좋습니다.

...

    • Wait for the request queue to "drain" (that is, until the request is complete) before submitting a write request. To use this method, requests must be stable on disk until the request is completed. Previously, this option was enabled by default, but it is not the default option at this time.

Of these three methods, bsr uses the first method enabled and supported by the backup storage device. If you turn off all three options, bsr submits the request without worrying about write dependencies. On a cluster node in another environment, write requests can be reordered according to the I / O stack and submitted in a different order. This can result in data loss or corruption. Therefore, we recommend that you do not turn off all three methods of controlling the write order.

A general guideline for configuring write ordering is to use disk-barrier or disk-flush when using a regular disk (or a regular disk array) with a volatile write cache. Disk-drain is suitable for storage with no cache or with a battery-backed write cache.

  • --disk-timeout

    • 데이터를 저장하는 하위 장치에 정의된 디스크 시간 내에 I/O 요청을 완료하지 못하면 bsr은 이를 실패로 처리합니다. 이 경우 하위 장치가 detach되고 장치의 디스크 상태가 diskless 상태가 됩니다. bsr이 하나 이상의 피어에 연결되어 있다면 실패한 요청이 그 중 하나에 전달됩니다. 이 옵션은 위험하며 커널 패닉으로 이어질 수 있습니다. 요청을 Abort 하고 강제로 디스크를 제거하는 것은 더 이상 요청을 완료하지도 않고 오류도 반환하지 않는 완전히 block되고 중지된 로컬 백업 장치를 위한 조치입니다. 이 상황에서는 일반적으로 하드 리셋 및 페일 오버가 유일한 방법입니다. disk-timeout의 기본값은 0이며, 이는 무한 시간 초과를 나타냅니다. 시간 초과는 0.1 초 단위로 지정됩니다If the I/O request fails to complete within the disk time defined for the lower device that stores the data, bsr treats it as a failure. In this case, the lower device is detached, and the disk status of the device will be diskless. If bsr is connected to one or more peers, the failed request is forwarded to one of them. This option is critical and can lead to a kernel panic. Aborting the request and forcing the disk to be removed is an action for a completely blocked and stopped local backup device that no longer completes the request and returns no errors. In this situation, usually a hard reset and failover is the only way. The default value of disk-timeout is 0, which indicates an infinite timeout. Timeouts are specified in 0.1 second increments.

  • --md-flushes

    • 메타 데이터 장치에서 디스크 플러시 및 디스크 장벽을 활성화합니다. 이 옵션은 기본적으로 활성화되어 있습니다. disk-flush 매개 변수를 참조하십시오Enables disk flush and disk barrier on metadata devices. This option is enabled by default.

  • on-io-error handler

    • 하위 레벨 장치에서 bsr이 Configure how bsr responds to I/O 오류에 대응하는 방식을 구성합니다. 다음과 같은 정책이 정의됩니다.

      passthrough 하위 장치에서 오류가 반환될 경우 해당 블럭 계층을 OOS로 기록하고 상위 계층으로 오류를 전달합니다. 해당 오류 블럭은 보통 상위 계층에 의해 재시도 I/O가 발생 되고 재시도 시점에 성공할 경우 OOS 는 자연스럽게 해소되거나 그렇지 않을 경우 OOS 가 기록되어 남겨집니다. bsr 의 기본값 입니다

      errors on low-level devices. The following policies are defined.

      • passthrough If an error is returned from the lower device, the block layer is written as OOS and the error is passed to the upper layer. The error block is usually retried I / O by the upper layer, and if it succeeds at the time of retry, the OOS will be resolved naturally, otherwise the OOS will be recorded and left. This is the default for bsr.

      • call-local-io-error local-io-error 핸들러를 호출합니다 Call the handler.

      • detach 하위레벨 장치를 분리하고 diskless 상태로 전환합니다. diskless 상태에서는 I/O가 수행될 수 없으며 즉시 failover가 필요합니다Detach the low-level device and switch to diskless state. In diskless state, I/O cannot be performed and failover is required immediately.

  • resync-after minor

    • 지정된 다른 장치가 동기화된 이후에만 장치를 재 동기화하도록 정의합니다. 기본적으로 장치간에는 동기화 순서가 정의되어 있지 않으며 모든 장치가 병렬로 재 동기화 됩니다. 하위 장치 구성, 사용 가능한 네트워크 및 디스크 대역폭에 따라 전체 재 동기화 프로세스가 느려질 수 있기 때문에 이 옵션을 사용하여 장치 간의 종속성 체인 또는 트리를 형성 할 수 있습니다Defines a device to resynchronize only after another specified device has been synchronized. By default, no synchronization order is defined between devices, and all devices are resynchronized in parallel. Depending on the sub-device configuration, available network and disk bandwidth, the entire re-synchronization process can be slow, so you can use this option to form a chain or tree of dependencies between devices.

bsrsetup peer-device-options resource peer_node_id volume

다음은 피어 장치에 영향을 주는 옵션입니다The following options affect the peer device.

  • --c-delay-target delay_target

  • --c-fill-target fill_target

  • --c-max-rate max_rate

  • --c-plan-ahead plan_time

    • 재 동기화 속도를 동적으로 제어합니다. 이 메카니즘은 Dynamically control the speed of resynchronization. This mechanism can be used by setting the c-plan-ahead 매개 변수를 양수 값으로 설정하여 사용할 수 있습니다. 최대 대역폭은 parameter to a positive value. The maximum bandwidth is limited by the c-max-rate 매개 변수에 의해 제한됩니다parameter. The c-plan-ahead 매개 변수는 bsr이 재 동기화 속도의 변화에 ​​얼마나 빨리 적응 하는지를 정의합니다. 네트워크 왕복 시간(RTT)의 5 배 이상으로 설정해야합니다. c-fill-target이 정의되면 데이터 경로를 따라 정의 된 양의 데이터로 버퍼를 채우려고 하고 c-delay-target이 정의 된 경우 정의된 지연을 갖게 합니다. "정상" 데이터 경로에 대한 c-fill-target의 공통 값 범위는 4K ~ 100K입니다. drx를 사용하는 경우 c-fill-target 대신 c-delay-target을 사용하는 것이 좋습니다. c-delay-target 매개 변수는 c-fill-target 매개 변수가 정의되지 않거나 0으로 설정된 경우에 사용됩니다. c-delay-target 매개 변수는 네트워크 왕복 시간의 5 배 이상으로 설정해야합니다. c-max-rate 옵션은 bsr 호스트와 drx 를 호스팅하는 시스템간에 사용 가능한 대역폭 또는 사용 가능한 디스크 대역폭으로 설정해야합니다. 이 매개 변수들의 기본값은 다음과 같습니다. parameter defines how quickly bsr adapts to changes in the resynchronization rate. It should be set to at least 5 times the network round-trip time (RTT). When c-fill-target is defined, it tries to fill the buffer with a defined amount of data along the data path, and has a defined delay if c-delay-target is defined. The common value range for c-fill-target for "normal" data paths is 4K to 100K. If you use drx, we recommend using c-delay-target instead of c-fill-target. The c-delay-target parameter is used when the c-fill-target parameter is undefined or set to 0. The c-delay-target parameter should be set to at least 5 times the network round trip time. The c-max-rate option should be set to either the available bandwidth or the available disk bandwidth between the bsr host and the system hosting drx. The default values ​​for these parameters are: c-plan-ahead = 20 (in 0.1 초 단위second increments), c-fill-target = 0 (섹터 단위in sector increments), c-delay-target = 1 (in 0.1 초 단위) ) 및 second increments) and c-max-rate = 102400 (KiB/s 단위unit).

  • --c-min-rate min_rate

    • Primary 이고 동기화 소스 인 노드는 애플리케이션 I/O 요청과 동기화 요청을 스케줄링해야 합니다. The primary and synchronization source nodes must schedule application I/O requests and synchronization requests. The c-min-rate 매개 변수는 재 동기화 I/O에 사용할 수있는 대역폭의 양을 제한합니다. 나머지 대역폭은 응용 프로그램 I/O의 복제에 사용됩니다. parameter limits the amount of bandwidth available for resynchronization I/O. The rest of the bandwidth is used for replication of application I/O. If the c-min-rate 값이 0이면 재 동기화 value is 0, it means there is no limit to the resynchronization I/O 대역폭에 제한이 없음을 의미합니다. 이로 인해 응용 프로그램 bandwidth. This can significantly slow down application I/O 속도가 크게 느려질 수 있습니다. 가장 낮은 재 동기화 속도를 위해서는 . Use the value of 1 (1 KiB / s) 값을 사용하십시오. for the lowest resynchronization rate. The default value of c-min-rate의 기본값은 rate is 250 in KiB/s 단위로 250 입니다.

  • --resync-rate rate

    • 재 동기화에 사용할 수있는 대역폭을 정의합니다. bsr은 재 동기화 중에도 일반적인 응용 프로그램 I/O를 허용합니다. 재 동기화가 너무 많은 대역폭을 차지하면 응용 프로그램 I/O가 매우 느려질 수 있으며 이 매개 변수를 사용하면 이를 피할 수 있습니다. 이 옵션은 동적 재 동기화 컨트롤러가 비활성화 된 경우에만 작동합니다Defines the bandwidth available for resynchronization. bsr allows general application I/O even during resynchronization. If resynchronization takes up too much bandwidth, application I/O can be very slow and this parameter can be avoided. This option only works if the dynamic resync controller is disabled.

bsrsetup check-resize minor

지정된 복제 장치의 하위 장치의 현재 크기를 기억합니다. bsradm에서 사용합니다. 크기 정보는 Remembers the current size of the specified replicated lower devices. Used by bsradm. Size information is stored in the /var/lib/bsr/bsr-minor-minor.lkbd 파일에 저장됩니다file.

bsrsetup new-peer resource peer_node_id,

bsrsetup net-options resource peer_node_id

The new-peer 명령은 리소스 내에 연결을 만듭니다. 리소스는 command creates a connection within the resource. Resources must be created with bsrsetup new-resource로 생성되어야 합니다resource. The net-options 명령은 기존 연결의 네트워크 옵션을 변경합니다. connect 명령으로 연결을 활성화하기 전에 new-path 명령으로 하나 이상의 경로를 추가해야 합니다. 사용 가능한 옵션은 다음과 같습니다.options command changes the network options of an existing connection. Before activating a connection with the connect command, you must add at least one path with the new-path command. The available options are:

  • --after-sb-0pri policy

    • 스플릿 브레인 시나리오가 감지되고 두 노드 중 어느 것도 Primary 역할을 수행하지 않는 경우 대응 방법을 정의합니다. 스플릿 브레인은 항상 두 노드 사이에서 결정되며 두 노드가 연결될 때 감지합니다. 정의 된 정책은 다음과 같습니다.

      disconnect 단순히 연결을 끊습니다

      Defines how to respond when a split brain scenario is detected and neither of the two nodes plays the Primary role. The split brain is always determined between two nodes and detects when two nodes are connected. The policies defined are:

      • disconnect Simply disconnect.

      • discard-younger-primary,

      • discard-older-primary 먼저 Primary 가 됬던 노드primary Discard the node that became primary lately(discard-younger-primary) 또는 마지막으로 Primary 가 됬던 노드or the node that became primary first(discard-older-primary)를 폐기합니다. 만일 두 노드가 독립적으로 Primary 가 됬었다면 . If both nodes have become Primary independently, the discard-least-changes 정책을 사용합니다policy is used.

      • discard-zero-changes 하나의노드에서만 데이터를 쓴 경우 이 노드를 기준으로 재 동기화 합니다. 두 노드가 모두 데이터를 쓴 경우 연결을 끊습니다If data is written on only one node, resynchronization is performed based on this node. If both nodes have written data, they disconnect.

      • discard-least-changes 많은 데이터를 쓴 노드를 기준으로 동기화 합니다Synchronize based on the node that wrote more data.

      • discard-node-nodename 명명된 노드를 항상 폐기합니다Always discard named nodes.

  • --after-sb-1pri policy

    • Primary 노드 1 개와 Secondary 노드 1 개로 스플릿 브레인이 감지되는 경우 대처 방법을 정의합니다. (두 노드가 연결될 때 스플릿 브레인 시나리오를 감지하므로 스플릿 브레인 결정은 항상 두 노드 중 하나입니다.) 정의 된 정책은 다음과 같습니다.

    • disconnect 단순히 연결을 끊습니다.

    • consensus 희생노드가 선택될 수 있다면 자동으로 해결합니다. 그렇지 않으면, disconnect처럼 동작합니다.

    • discard-secondary Secondary 의 노드를 폐기합니다

      Define what to do if a split brain is detected with one primary node and one secondary node. (The split brain decision is always one of the two nodes because it detects a split brain scenario when two nodes are connected.) The policies defined are:

      • disconnect Simply disconnect.

      • consensus If a victim node can be selected, it is automatically resolved. Otherwise, it works like disconnect.

      • discard-secondary Discard the secondary node.

  • --after-sb-2pri policy

    • 스플릿 브레인 시나리오가 감지되고 두 노드가 모두 Primary 역할을 하는 경우 대응 방법을 정의합니다. (두 노드가 연결될 때 스플릿 브레인 시나리오를 감지하므로 스플릿 브레인 결정은 항상 두 노드 중 하나 입니다.) 정의 된 정책은 다음과 같습니다. 2 primary 스플릿 브레인의 경우 disconnect 를 통한 수동 복구만 사용할 수 있습니다.

      disconnect 단순히 연결을 끊습니다

      Define how to react when a split brain scenario is detected and both nodes act as primary. (The split brain decision is always one of the two nodes because it detects a split brain scenario when two nodes are connected.) The policy defined is: 2 For primary split brain, only manual recovery via disconnect is available.

      • disconnect Simply disconnect.

  • --connect-int time

    • bsrsetup connect로 두 노드 간 연결이 구성되는 즉시 연결 설정을 시도합니다. 이것이 실패하면 bsr은 connect-int초 동안 기다렸다가 반복합니다. connect-int의 기본값은 3초입니다As soon as a connection between two nodes is configured with bsrsetup connect, the connection is attempted to be established. If this fails, bsr waits for connect-int seconds and repeats. The default value of connect-int is 3 seconds.

  • --csums-alg hash-algorithm

    • 일반적으로 두 노드가 다시 동기화되면 동기화 대상은 동기화 소스로부터 Typically, when two nodes are resynchronized, the synchronization target requests out-of-sync 데이터를 요청하고 동기화 소스는 데이터를 전송합니다.많은 사용 패턴에서 볼 때 상당수의 블록이 실제로 동일합니다. csums-alg 알고리즘이 지정되면 동기화되지 않은 데이터를 요청할 때 동기화 대상도 현재 보유한 데이터의 해시를 전송합니다. 동기화 소스는이 해시를 자기의 데이터와 비교합니다. 해시가 다르면 동기화 대상에 새 데이터를 보내고 해시가 같으면 데이터가 동일하다는 것을 알려줍니다. 이렇게 하면 필요한 네트워크 대역폭이 줄어들지만 CPU 사용률이 높아지고 SyncTarget의 읽기 I/O가 증가합니다 . csums-alg는 커널이 지원하는 보안 해시 알고리즘 중 하나로 설정 될 수 있습니다. /proc/crypto에 나열된 shash 알고리즘을 참조하십시오. 기본적으로 csums-alg는 설정되어 있지 않습니다data from the synchronization source, and the synchronization source sends the data.

      In many usage patterns, many of the blocks are actually the same. When the --csums-alg algorithm is specified, when requesting unsynchronized data, the synchronization target also sends a hash of the data currently held. The synchronization source compares this hash to its own data. If the hashes are different, new data is sent to the synchronization target and if the hashes are the same, the data is the same. This reduces the required network bandwidth, but increases CPU utilization and increases SyncTarget's read I/O. csums-alg can be set to one of the secure hash algorithms supported by the kernel. See the shash algorithm listed in /proc/crypto. By default, csums-alg is not set.

  • --data-integrity-alg alg

    • bsr은 일반적으로 TCP/IP 프로토콜에 내장 된 데이터 무결성 검사에 의존하지만, 데이터 무결성 알고리즘이 구성된 경우 이 알고리즘을 사용하여 네트워크를 통해 수신 된 데이터가 발신자가 보낸 것과 일치하는지 확인합니다. 데이터 무결성 오류가 감지되면 bsr은 네트워크 연결을 닫고 다시 연결하여 재 동기화를 트리거합니다. data-integrity-alg는 커널이 지원하는 보안 해시 알고리즘 중 하나로 설정 될 수 있습니다. /proc/crypto에 나열된 shash 알고리즘을 참조하십시오. 기본적으로이 메커니즘은 해제되어 있습니다. 관련된 CPU 오버 헤드로 인해 운영 환경에서는 이 옵션을 사용하지 않는 것이 좋습니다bsr typically relies on data integrity checking built into the TCP/IP protocol, but if a data integrity algorithm is configured, it is used to verify that data received over the network matches what the sender sent. When a data integrity error is detected, bsr closes the network connection and reconnects to trigger resynchronization. data-integrity-alg can be set to one of the secure hash algorithms supported by the kernel. See the shash algorithm listed in /proc/crypto. By default, this mechanism is off. We do not recommend this option in production environments due to the associated CPU overhead.

  • --fencing fencing_policy

    • 펜싱은 두 노드가 연결이 끊어져서 모두 Primary 가 되는 상황을 방지하기위한 예방 조치입니다. 이것은 스플릿 브레인 상황 이라고도 합니다. bsr은 다음과 같은 펜싱 정책을 지원합니다.

    • dont-care 펜싱 조치가 수행되지 않습니다. 이것이 기본 정책입니다.

    • resource-only 노드가 연결이 끊긴 Primary 노드가 되면 피어를 차단하려고 합니다. 이것은 "fence-peer" 핸들러를 호출하여 수행됩니다. 핸들러는 대체 통신 경로를 통해 피어에 도달하여 'bsradm outdate minor'를 호출해야 합니다.

    • resource-and-stonith 노드가 연결이 끊긴 Primary 노드가 되면 모든 IO 작업을 중지하고 fence-peer 핸들러를 호출합니다. fence-peer 핸들러는 대체 통신 경로를 통해 피어에 도달하여 'bsradm outdate minor'를 호출해야 합니다. 그렇게 할 수없는 경우에는 상대방을 (전원 제어)차단해야 합니다. 상황이 해결 되자마자 IO가 재개됩니다. 펜스 피어 핸들러가 실패한 경우 잠재적으로 스플릿 브레인이 발생했다고 판단하고 수동으로 복구해야 합니다

      Fencing is a preventive measure to prevent situations where both nodes become disconnected and become both primary. This is also called a split brain situation. bsr supports the following fencing policies:

      • dont-care No fencing action is taken. This is the default policy.

      • resource-only When a node becomes the disconnected Primary node, it tries to block the peer. This is done by calling the "fence-peer" handler. The handler must reach the peer through an alternate communication path and call 'bsradm outdate minor'.

      • resource-and-stonith When the node becomes the disconnected Primary node, it stops all IO operations and calls the fence-peer handler. The fence-peer handler must reach the peer through an alternate communication path and call 'bsradm outdate minor'. If you are unable to do so, you must block (power control) the other party. IO resumes as soon as the situation is resolved. If the fence peer handler fails, you must determine that a potential split brain has occurred and manually repair it.

  • --ko-count number

    • 송신 버퍼링 시 TX 노드 측의 송신 재시도 회수를 정의합니다Defines the number of transmission retries on the TX node side when buffering transmissions.

  • --max-buffers number

    • 수신 측 peer-request의 최대 버퍼 크기를 정의합니다. 단위는 Defines the maximum buffer size of the receiving peer-request. The unit is PAGE_SIZE (대부분의 시스템에서 4KiB)입니다. 가능한 최소 설정은 4 KiB on most systems). The minimum possible setting is hard coded to 32 (= 128 KiB)로 하드 코딩되어 있습니다. 이 버퍼는 디스크에 쓰거나 디스크에서 읽는 동안 데이터 블록을 보유하는 데 사용됩니다. max-buffers 페이지 이상이 사용 중이면 이 풀의 추가 할당이 제한됩니다. 수신 측에서 I/O 부하를 감당할 수 없는 경우 max-buffers를 늘려야 합니다. This buffer is used to hold blocks of data while writing to or reading from disk. If more than max-buffers pages are in use, further allocation of this pool is limited. If the receiving side cannot handle the I / O load, the max-buffers should be increased.

  • --max-epoch-size number

    • 쓰기 barrier을 발행하기 전에 bsr이 발행 할 수있는 최대 쓰기 요청 수를 정의합니다. 기본값은 2048이며 최소 1과 최대 20000입니다.이 매개 변수를 10 미만의 값으로 설정하면 성능이 저하 될 수 있습니다Defines the maximum number of write requests that bsr can issue before issuing a write barrier. The default is 2048, with a minimum of 1 and a maximum of 20000. Setting this parameter to a value less than 10 can degrade performance.

  • --on-congestion policy

  • --congestion-fill threshold

  • --congestion-extents threshold

    • 기본적으로 bsr은 TCP 송신 큐가 가득 찬 경우 대기합니다. 이럴 경우 송신 큐를 다시 사용할 수있을 때까지 응용 프로그램에서 추가 쓰기 요청을 생성 할 수 없습니다. bsr을 프록시와 함께 사용하는 경우 전송 대기열이 가득 차기 전에 bsr을 Ahead/Behind 모드로 전환 할 수있는 Pull-ahead 혼잡 정책을 사용하는 것이 좋습니다. 그런 다음 bsr은 비트 맵에 자신과 피어의 차이점을 기록하지만 더 이상 피어에 복제하지 않습니다. 충분한 버퍼 공간이 다시 사용 가능 해지면 노드는 피어와 재 동기화되고 정상 복제로 다시 전환됩니다. 이는 대기열이 가득 차더라도 응용 프로그램 I/O를 차단하지 않는 이점이 있지만 피어 노드가 원본에 비해 훨씬 더 뒤쳐 질 수 있다는 단점이 있습니다. 그리고 재 동기화하는 동안은 피어 노드가 Inconsistent 상태입니다. 사용 가능한 혼잡 정책은 blocking(기본값), disconnect, pull-ahead 입니다. congestion-fill 매개 변수는이 연결에서 복제 중인 데이터가 허용되는 양을 정의합니다. 기본값은 0(혼잡 제어 메커니즘을 사용하지 않도록 설정합니다)이며 최대 1TB입니다. congestion-extents 매개 변수는 Ahead/Behind 모드로 전환하기 전에 활성화 될 수있는 비트 맵 범위의 수를 정의합니다. congestion-extents 매개 변수는 al-extents 보다 작은 값으로 설정 한 경우에만 유효합니다By default, bsr waits when the TCP send queue is full. In this case, the application cannot generate additional write requests until the send queue is available again. If you are using bsr with a proxy, we recommend using a pull-ahead congestion policy that allows you to put bsr into Ahead/Behind mode before the transmission queue is full. Then bsr records the difference between itself and the peer in the bitmap, but no longer replicates it to the peer. When enough buffer space becomes available again, the node resynchronizes with the peer and switches back to normal replication. This has the advantage of not blocking application I/O even when the queue is full, but it has the disadvantage that the peer node may lag far behind the original. And during resynchronization, the peer node is in an Inconsistent state. The available congestion policies are blocking (default), disconnect, and pull-ahead. The congestion-fill parameter defines the amount of data that is being replicated on this connection. The default is 0 (disable congestion control mechanism) and is up to 1 TB. The congestion-extents parameter defines the number of bitmap ranges that can be active before switching to Ahead/Behind mode. The congestion-extents parameter is only valid when set to a value less than al-extents.

  • --ping-int interval

    • 피어에 대한 If the TCP/IP 연결이 1 초 이상 유휴 상태 인 경우 bsr은 ping 패킷을 보내 실패한 피어 또는 네트워크 연결이 빨리 감지 되도록 합니다. 기본값은 3초이며 최소 1과 최대 120 초입니다. 단위는 초입니다connection to the peer has been idle for more than 1 second, bsr sends a ping packet to quickly detect a failed peer or network connection. The default is 3 seconds, with a minimum of 1 and a maximum of 120 seconds. The unit is seconds.

  • --ping-timeout timeout

    • ping 패킷에 대한 회신 시간 초과를 정의합니다. 피어가 ping 시간 초과 내에 응답하지 않으면 bsr이 연결을 닫고 다시 연결하려고 시도합니다. 기본값은 3초이며 최소 0.1 초와 최대 3 초입니다. 단위는 10분의 1초입니다Define the reply timeout for ping packets. If the peer does not respond within the ping timeout, bsr closes the connection and tries to connect again. The default is 3 seconds, with a minimum of 0.1 seconds and a maximum of 3 seconds. The unit is one tenth of a second.

  • --protocol name

    • 복제 연결에 지정된 프로토콜을 정의합니다. 지원되는 프로토콜은 다음과 같습니다.

    • A 로컬 디스크 및 TCP/IP 전송 버퍼에 복사한 즉시 로컬 I/O 를 완료합니다.

    • B 로컬 디스크에 기록하고 피어에서 복제 데이터를 수신하는 즉시 ACK 를 반환합니다. 로컬에서 ACK 를 수신하면 I/O 를 완료 합니다.

    • C 로컬 디스크에 기록하고 피어에서 복제 데이터를 디스크에 기록한 후 쓰기 ACK 를 반환합니다. 로컬에서 쓰기 ACK 를 수신하면 I/O 를 완료합니다

      Defines the protocol specified for the replication connection. The supported protocols are:

      • A Complete local I / O as soon as it is copied to the local disk and TCP/IP transport buffer.

      • B Writes to the local disk and returns an (Receive)ACK as soon as the peer receives replication data. When ACK is received locally, I/O is completed.

      • C Writes to the local disk and the peer writes the replicated data to disk and returns (Write)ACK. When a write ACK is received locally, I/O is completed.

  • --rcvbuf-size size

    • Configures the size of the TCP/IP 수신 버퍼의 크기를 구성합니다. 값이 receive buffer. If the value is 0 (기본값)이면 버퍼 크기가 동적으로 조정됩니다. 이 매개 변수는 일반적으로 설정하지 않아도 되지만 최대 10MiB의 값으로 설정할 수 있습니다. 기본 단위는 바이트이며 윈도우즈에선 지원하지 않습니다default), the buffer size is dynamically adjusted. This parameter usually does not need to be set, but can be set to a value of up to 10 MiB. The default unit is bytes, which is not supported on Windows.

  • --sndbuf-size size

    • 송신 작업자 쓰레드에서 할당하는 TX 버퍼의 크기를 설정합니다. 최대 1TB 까지 설정할 수 있습니다Set the size of TX buffer allocated by the sending worker thread. You can set up to 1TB.

  • --tcp-cork

    • 기본적으로 bsr은 By default, bsr uses the tcp-cork 옵션을 사용하여 커널이 작은 메시지를 보내지 못하게 합니다. 이로 인해 네트워크 상에서 패킷의 크기가 커집니다. 이 최적화로 일부 네트워크 스택의 성능이 저하 될 수 있으며 패킷을 모으는 시간 동안의 지연이 발생합니다. tcp-cork 매개 변수를 사용하여 이 최적화를 해제 할 수 있습니다option to suppress the kernel from sending small messages. This increases the packet size on the network. This optimization can degrade the performance of some network stacks, and there is a delay during the time to collect packets. You can turn this optimization off using the tcp-cork parameter.

  • --timeout time

    • 네트워크를 통한 응답 시간 초과를 정의합니다. 피어 노드가 지정된 시간 초과 내에 예상 응답을 보내지 않으면 응답이없는 것으로 간주하고 TCP/IP 연결을 닫습니다. 시간 초과 값은 connect-int보다 낮아야 하고 ping-int보다 작아야 합니다. 기본값은 5초이고 10분의 1초로 단위로 지정됩니다Define the response timeout over the network. If the peer node does not send an expected response within the specified timeout, it is considered unresponsive and closes the TCP/IP connection. The timeout value must be lower than connect-int and smaller than ping-int. The default is 5 seconds, specified in units of tenths of a second.

  • --use-rle

    • use-rle determines if run length encoding 을 사용해야 하는지 결정합니다. 클러스터 노드의 각 복제 된 장치에는 각 피어 장치에 대한 별도의 비트 맵이 있습니다. 비트 맵은 로컬 장치와 피어 장치의 차이점을 추적하는 데 사용됩니다. 클러스터 상태에 따라 장치의 비트 맵, 피어 장치의 비트 맵 또는 두 비트 맵에서 디스크 범위가 피어와 다른 것으로 표시 될 수 있습니다. 두 클러스터 노드가 연결되면 서로의 비트 맵을 교환하고 각각 로컬 및 피어 비트 맵의 합집합을 계산하여 전체 차이를 결정합니다. 매우 큰 장치의 경우 비트맵이 비교적 크기 때문에 일반적으로 run length encoding을 사용하여 압축률을 높이고 이를 통해 비트 맵 전송에 필요한 시간과 대역폭을 절약 할 수 있습니다. 기본적으로 활성화 되어 있습니다should be used. Each cloned device in a cluster node has a separate bitmap for each peer device. Bitmaps are used to track the differences between local and peer devices. Depending on the cluster state, the disk range may be marked as different from the peer in the device's bitmap, peer device's bitmap, or both bitmaps. When two cluster nodes are connected, they exchange their bitmaps with each other and compute the union of the local and peer bitmaps, respectively, to determine the overall difference. For very large devices, bitmaps are relatively large, so run length encoding is usually used to increase compression, which saves time and bandwidth required for bitmap transmission. It is enabled by default.

  • --verify-alg hash-algorithm

    • 온라인 검증 Online verify (bsradm verify) 은 디스크 블록 (즉, 해시 값)의 체크섬을 계산하고 비교하여 서로 다른지를 감지합니다. verify-alg 매개 변수는 이러한 체크섬에 사용할 알고리즘을 결정합니다. 온라인 검증을 사용하기 전에 커널이 지원하는 보안 해시 알고리즘 중 하나로 설정해야합니다. /proc/ crypto에 나열된 shash 알고리즘을 참조하십시오. 운영 부하가 적은 시점에 정기적으로(예 : 한 달에 한 번) 온라인 확인을 예약하는 것이 좋습니다calculates and compares checksums of disk blocks (i.e. hash values) to detect differences. The verify-alg parameter determines the algorithm to use for these checksums. Before using online validation, you must set it up as one of the secure hash algorithms supported by the kernel. See the shash algorithm listed in /proc/crypto. We recommend that you schedule online confirmations regularly, for example, once a month, when the operating load is low.

bsrsetup new-path resource peer_node_id local-addr remote-addr

The new-path 명령은 연결 내에 경로를 만듭니다. 연결은 path command creates a path within the connection. The connection must be made with bsrsetup new-peer로 생성 되어야 합니다peer. local-addr and remote-addr는 addr must describe local and remote protocols, network addresses, and ports in the form [address-family:] address [: port] 형식의 로컬 및 원격 프로토콜, 네트워크 주소 및 포트를 기술해야 합니다. ipv4, ipv6가 지원됩니다. 주소 패밀리를 지정하지 않으면 ipv6 are supported. If no address family is specified, "ipv4" 로 가정됩니다. ipv6을 제외한 모든 주소 계열의 경우 주소는 IPv4 주소 표기법 (예 : is assumed. For all address families except ipv6, the address uses IPv4 address notation (e.g. 1.2.3.4)을 사용합니다. ipv6의 경우 주소는 괄호로 묶고 IPv6 주소 표기법을 사용합니다 (예 : . For ipv6, addresses are enclosed in parentheses and use IPv6 address notation (eg [fd01: 2345: 6789: abcd :: 1]). 포트의 기본값은 7788입니다The default port is 7788.

bsrsetup connect resource peer_node_id

connect 명령은 연결을 활성화합니다. 즉, bsr 드라이버는 연결 경로의 모든 로컬 주소를 바인딩하고 수신합니다. 하나 이상의 연결 경로를 설정하려고 시도합니다. 사용 가능한 옵션은 다음과 같습니다.

--tentative

...

The connect command activates the connection. That is, the bsr driver binds and listens to all local addresses in the connection path. Tries to establish one or more connection paths. The available options are:

  • --tentative

    • Decide if you can establish a connection to a peer without actually making a connection or resynchronizing, and if you need resynchronization (and in which direction). You can check the system log to see in advance what bsr will do without the --tentative option.

  • --discard-my-data

    • 로컬 데이터를 버리고 최신 데이터를 가진 피어와 다시 동기화합니다. 스플릿 브레인 상황에서 수동으로 복구하려면 이 옵션을 사용하십시오Discard the local data and resynchronize with the peer with the latest data. Use this option to manually recover from split brain situations.

bsrsetup del-peer resource peer_node_id

The del-peer 명령은 리소스에서 연결을 제거합니다command removes a connection from a resource.

bsrsetup del-path resource peer_node_id local-addr remote-addr

The del-path 명령은 연결에서 경로를 제거합니다. 그러나 이미 연결된 connection 을 유지해야 할 경우 이 명령은 실패합니다. 모든 경로를 제거하려면 먼저 연결을 끊어야 합니다path command removes the path from the connection. However, if you need to keep the connection already connected, this command will fail. To remove all paths, you must first disconnect.

bsrsetup cstate resource peer_node_id

연결의 현재 상태를 표시합니다. 연결은 피어의 node-id로 식별됩니다Displays the current status of the connection. Connections are identified by the peer's node-id.

bsrsetup del-minor minor

복제 장치를 제거합니다. 이 후 더이상 하위 장치는 적재되어 있지 않을 것 입니다Remove the replicated device. Subsequent devices will no longer be attached after this.

bsrsetup del-resource resource

리소스를 제거합니다. 이를 위해 모든 볼륨과 연결을 먼저 제거해야합니다Remove resources. To do this, you must first remove all volumes and connections (bsrsetup del-minor, bsrsetup disconnect). 또는 bsrsetup down 을 사용하여 모든 볼륨,연결과 함께 리소스를 제거 할 수 있습니다Or you can use bsrsetup down to remove resources with all volumes and connections.

bsrsetup detach minor복제

장치에서 하위 장치를 분리합니다. 사용 가능한 옵션은 다음과 같습니다.Detach the lower device from the replicated device. The available options are:

  • --force 분리를 강제로 수행하고 즉시 반환합니다. 이렇게 하면 보류중인 모든 I/O가 완료 될 때까지 하위 장치를 실패 상태로 만든 다음 장치를 분리합니다. 하위 장치에 아직 제출되지 않은 I/O(예: 장치의 I/O가 일시 중단 되었기 때문에)는 실패한 것으로 간주됩니다Force detach and return immediately. This will put the lower device into a failed state until all pending I/O is complete, then detach the device. I/Os that have not yet been submitted to a lower device (for example, because the device's I/O has been suspended) are considered failed.

bsrsetup disconnect resource peer_node_id

피어 호스트에 대한 연결을 제거합니다. 연결은 피어의 node-id로 식별됩니다Remove the connection to the peer host. Connections are identified by the peer's node-id.

bsrsetup down {resource | all}

모든 볼륨, 연결 및 리소스 자체를 제거하여 리소스를 중지합니다Stop resources by removing all volumes, connections, and the resource itself.

bsrsetup dstate minor

하위 장치의 현재 디스크 상태를 표시합니다Displays the current disk status of the child device.

bsrsetup events2 {resource | all}

구성된 모든 bsr 객체의 현재 상태와 상태의 모든 변경 사항을 표시합니다. 출력은 이벤트의 종류로 시작합니다. 기존의 객체가 생성, 파괴 또는 변경 될 경우, 이벤트 핸들러가 호출되거나 리턴되는 등의 이벤트 유형이 있습니다. 그 다음은 이벤트가 적용되는 리소스, 장치, 연결, 피어 장치, helper 객체를 기술합니다. 나머지는 개체를 식별하고 개체의 상태를 표시합니다. 다음의 사용 가능한 옵션이 있습니다.

...

--now 현재 상태를 보고 한 후 종료합니다. 기본값은 지속적으로 상태 변경을 보는 것입니다.

...

Displays the current state of all configured bsr objects and any changes in state. Output starts with the type of event. There are types of events, such as when an existing object is created, destroyed, or changed, an event handler is called or returned. The following describes the resource, device, connection, peer device, and helper object to which the event applies. The rest identifies the object and displays the object's status. The following options are available.

  • --now Report the current status and exit. The default is to constantly see the status change.

  • --statistics Include statistics in the output.

bsrsetup get-gi resource peer_node_id volume

특정 연결에서 장치의 데이터 생성 식별자를 표시합니다. 장치는 볼륨 번호로 식별되고 연결은 엔드 포인트로 식별됩니다. Displays the data generation identifier of the device on a specific connection. Devices are identified by volume number, and connections by endpoints. See the "bsrsetup connect" 명령을 참조하십시오. 출력은 현재 UUID, 비트 맵 UUID 및 플래그 세트로 구성된 처음 두 개의 히스토리 UUIDS로 구성됩니다. 현재 UUID 및 히스토리 UUID는 장치마다 다릅니다. 비트 맵 UUID 및 플래그는 피어 장치마다 다릅니다. 이 명령은 처음 두 개의 히스토리 UUID 만 표시합니다. bsr은 내부적으로 가능한 각 피어 장치마다 하나의 히스토리 UUID를 유지합니다.

bsrsetup invalidate minor

장치의 로컬 데이터를 피어의 데이터로 동기화 합니다. 피어의 파일시스템에서 사용하는 모든 공간이 동기화되지 않은 것으로 표시되고 지정된 로컬 데이터로 재 동기화 합니다command. The output now consists of the first two historical UUIDs, which consist of a UUID, bitmap UUID, and a set of flags. The current UUID and historical UUID are device-specific. Bitmap UUIDs and flags vary by peer device. This command only displays the first two historical UUIDs. bsr maintains one historical UUID for each peer device that is internally possible.

bsrsetup invalidate minor

Synchronize the device's local data with the peer's data. All space used by the peer's filesystem is marked out of sync and resynchronized with the specified local data.

bsrsetup invalidate-remote resource peer_node_id volume

피어의 데이터를 로컬 데이터로 동기화 합니다. 로컬의 파일시스템에서 사용하는 모든 공간이 동기화되지 않은 것으로 표시되고 지정된 피어 데이터로 재 동기화 합니다Synchronize peer data with local data. All space used by the local file system is marked out of sync and resynchronized with the specified peer data.

bsrsetup new-current-uuid minor

새로운 현재 UUID를 생성하고 다른 모든 UUID 값을 회전시킵니다. 사용 가능한 옵션은 다음과 같습니다.Create a new current UUID and rotate all other UUID values. The available options are:

  • --clear-bitmap

    • 새로운 현재 UUID를 생성하고 동기화 비트맵을 지웁니다. 비트맵 GI를 제거하여 초기 동기화를 건너뛰는 데 사용할 수 있습니다. 이 방식은 이제 막 생성된 메타 데이터에서 만 작동합니다Create a new current UUID and clear the sync bitmap. It can be used to skip the initial sync by removing the bitmap GI. This method only works for metadata that has just been created.

bsrsetup new-minor resource minor volume

리소스 내에 새로운 복제 장치를 만듭니다. 이 명령은 복제 장치(기본적으로 Create a new clone device within the resource. This command creates a block device inode for the clone device (/dev/bsr minor )에 대한 블록 장치 inode를 만듭니다. 볼륨 번호는 리소스 내의 장치를 식별합니다by default). The volume number identifies the device within the resource.

bsrsetup new-resource resource node_id,

bsrsetup resource-options resource

The new-resource 명령은 새로운 리소스를 만듭니다. resource-options 명령은 생성된 리소스의 리소스 옵션을 변경합니다. 사용 가능한 옵션은 다음과 같습니다.resource command creates a new resource. The resource-options command changes the resource options of the created resource. The available options are:

  • --auto-promote bool-value

    • bsr 에선 지원하지 않습니다Not supported.

  • --cpu-mask cpu-mask

    • bsr 에선 지원하지 않습니다Not supported.

  • --on-no-data-accessible policy

    • 요청 된 데이터를 로컬에 접근할 수 없는 경우(예 : 모든 디스크에 장애가 발생한 경우) I/O 요청을 처리하는 방법을 결정합니다. bsr 에선 지원하지 않습니다Determines how to handle I/O requests when the requested data is not locally accessible (for example, if all disks fail). Not supported by bsr.

  • --peer-ack-window value

    • 각 노드와 각 장치에서 bsr은 각 피어 장치에 대한 로컬 데이터와 원격 데이터의 차이점에 대한 비트 맵을 유지합니다. 예를 들어, 단일 장치가 있는 3노드 설정(노드 A, B, C)에서 모든 노드는 각 피어에 대해 하나의 비트 맵을 유지합니다. 노드가 쓰기 요청을 받으면 쓰기 노드에 대한 비트 맵을 업데이트하는 방법을 알고 있지만 다른 노드들 간의 비트맵을 업데이트하는 방법은 알지 못합니다. 이 예제에서 쓰기 요청이 노드 A에서 B와 C로 전파 될 때 노드 B와 C는 노드 A와 동일한 데이터를 가지고 있지만 둘 다 동일한 데이터를 가지고 있는지 여부는 알지 못합니다. 이에 대한 해결책으로, 쓰기 노드는 때때로 peer-ack 패킷을 피어로 보내 서로에게 어떤 상태인지 알려줍니다. peer-ack-window 매개 변수는 peer-ack 패킷을 보내기 전에 Primary 노드가 전송할 수 있는 데이터의 양을 지정합니다. 값이 낮으면 네트워크 트래픽이 증가합니다. 값이 크면 네트워크 트래픽은 줄어들지 만 Secondary 노드의 메모리 소비는 증가하고 Primary 노드 장애 후 Secondary 노드 간의 재 동기화 시간이 길어집니다. (참고 : peer-ack 패킷은 다른 이유로 인해 전송 될 수도 있습니다 (예 : 멤버쉽 변경 또는 “peer-ack-delay 타이머"의 만료). peer-ack-window의 기본값은 2MiB이며, 기본 단위는 섹터임On each node and each device, bsr maintains a bitmap of the difference between local and remote data for each peer device. For example, in a three-node setup (nodes A, B, C) with a single device, all nodes maintain one bitmap for each peer. When a node receives a write request, I know how to update the bitmap for the write node, but I don't know how to update the bitmap between different nodes. In this example, when a write request is propagated from Node A to B and C, Node B and C have the same data as Node A, but I don't know if both have the same data. As a solution to this, write nodes sometimes send peer-ack packets to peers to tell each other what they are in. The peer-ack-window parameter specifies the amount of data that the primary node can send before sending a peer-ack packet. A low value increases network traffic. A larger value reduces network traffic, but increases memory consumption on the secondary node and increases the resynchronization time between secondary nodes after a primary node failure. (Note: peer-ack packets may be sent for other reasons (eg, membership change or expiration of the “peer-ack-delay timer”). The default value of peer-ack-window is 2 MiB, the default unit is sector) .

  • --peer-ack-delay expiry-time

    • 마지막으로 완료된 쓰기 요청 후에 만기 시간 동안 새로운 쓰기 요청이 발행되지 않으면 peer-ack 패킷이 전송됩니다. 타이머가 만료되기 전에 새로운 쓰기 요청이 발행되면 타이머는 만료 시간으로 재설정됩니다. (참고 : 멤버십 변경 또는 "peer-ack-window"옵션과 같은 다른 이유로 peer-ack 패킷이 전송 될 수도 있습니다) 이 매개 변수는 원격 노드의 재 동기화 동작에 영향을 줄 수 있습니다. 피어 노드는 AL 익스텐트에서 잠금을 해제하기 위해 peer-ack 을 받을 때까지 기다려야합니다. 피어 간의 재 동기화 작업이 이러한 잠금을 기다려야 할 수도 있습니다. peer-ack-delay의 기본값은 100 밀리 초이며 기본 단위는 밀리 초입니다.

bsrsetup outdate minor

...

    • If a new write request is not issued during the expiration time after the last completed write request, a peer-ack packet is sent. If a new write request is issued before the timer expires, the timer resets to the expiration time. (Note: peer-ack packets may be sent for other reasons, such as changing membership or the "peer-ack-window" option) This parameter can affect the resynchronization behavior of the remote node. The peer node must wait until it receives a peer-ack to release the lock on the AL extent. Resynchronization between peers may have to wait for these locks. The default for peer-ack-delay is 100 milliseconds, and the default unit is milliseconds.

bsrsetup outdate minor

Displays data of sub-devices as outdated. Used for fencing and prevents future devices from becoming primary resources.

bsrsetup pause-sync resource peer_node_id volume

로컬 일시 정지 플래그를 설정하여 로컬 장치와 피어 장치 간의 재 동기화를 중지 합니다. 재 동기화는 연결의 양쪽에있는 일시 정지 플래그가 지워진 경우에만 재개 할 수 있습니다Set the local pause flag to stop resynchronization between the local device and peer device. Resynchronization can only be resumed if the pause flags on both sides of the connection are cleared.

bsrsetup primary resource리소스에서

노드의 역할을 primary로 변경합니다. 이를 통해 이 리소스의 복제 장치를 쓰기 위해 마운트하거나 열 수 있습니다. 사용 가능한 옵션Change the role of the node in the resource to primary. This allows replicated devices of this resource to be mounted or opened for writing. Available options:

  • --overwrite-data-of-peer 이 옵션은 

    • This option is an alias of --force

     option의 alias 입니다
    • option.

  • --force 장치에 최신 데이터가 있다고 보장되지 않더라도 리소스를 기본 리소스로 설정합니다. 이 옵션은 새로 작성된 클러스터의 노드 중 하나를 Primary 노드로 바꾸거나 재해에서 수동으로 복구 할 때 사용됩니다. 이는 스플릿 브레인 시나리오로 이어질 수 있습니다. 또한 Inconsistent한 장치를 최신 장치로 강제 승격 할 때는 최소한 무결성 검사(예: 파일 시스템 검사)를 미리 하는 것이 좋습니다. bsr은 일반적으로 클러스터에서 하나의 노드 만 Primary 역할을 수행 할 수 있도록 합니다. 이를 통해 bsr은 노드의 자원에서 장치에 대한 액세스를 제한할 수 있습니다.

bsrsetup resize minor

...

    • Even if you don't guarantee that your device has up-to-date data, set the resource as the Primary resource. This option is used when replacing one of the nodes in the newly created cluster with the Primary node or manually recovering from a disaster. This can lead to split brain scenarios. In addition, it is recommended to perform an integrity check (eg, file system check) at least when forcing an inconsistent device to the latest one. bsr usually allows only one node in the cluster to play the Primary role. This allows bsr to restrict access to devices on the node's resources.

bsrsetup resize minor

Resize the subdevice of the replicated device on all nodes. This command is called after resizing the replicated device because all nodes' low-level devices have grown. The available options are:

  • --assume-peer-has-space

    • 현재 피어 장치 중 일부가 연결되지 않은 경우에도 장치 크기를 조정합니다. bsr은 다음에 연결할 때 피어 장치의 크기를 조정하려고합니다. 너무 작은 피어 장치에 대한 연결은 거부합니다 Resize the device even if some of the current peer devices are not connected. bsr tries to resize the peer device the next time it connects. Rejects connections to peer devices that are too small.

  • --size val

    • 이 옵션을 사용하면 bsr 장치의 사용 가능한 크기를 온라인으로 줄일 수 있습니다. 해당 작업으로 인해 장치의 파일 시스템이 잘리지 않도록하는 것은 사용자의 책임입니다This option allows you to reduce the available size of bsr devices online. It is the user's responsibility to ensure that the file system of the device is not truncated due to such actions.

  • --al-stripes val 

    • 이 옵션은 activity log의 온라인 레이아웃을 변경하는 데 사용될 수 있습니다. 내부 메타 데이터의 경우 사용자가 볼 수있는 크기를 동시에 줄이거나(크기를 조절하지 않음) 백업 장치의 사용 가능한 공간을 늘릴 수 있습니다This option can be used to change the online layout of the activity log. For internal metadata, you can simultaneously reduce the size the user sees (not resize it) or increase the available space on the backup device.

bsrsetup resume-io minor

복제 장치에서 Resume I/O를 재개 합니다O on the replicated device.

bsrsetup resume-sync resource peer_node_id volume

로컬 동기화 일시 정지 플래그를 지워서 재 동기화가 재개 되도록 합니다Clear the local sync pause flag so that resynchronization resumes.

bsrsetup role resource

리소스의 현재 역할을 보여줍니다Shows the current role of the resource.

bsrsetup secondary resource

리소스에서 노드의 역할을 secondary로 변경합니다. 리눅스의 경우 복제장치가 사용 중이면 명령이 실패합니다. 윈도우즈에선 사용 여부에 관계 없이 Secodary 로 강등합니다Change the role of the node in the resource to secondary. On Linux, the command will fail if the replicated device is in use. On Windows, demote to Secodary regardless of whether it is used or not.

bsrsetup show {resource | all}

리소스 또는 모든 자원의 현재 구성 설정을 표시합니다. 사용 가능한 옵션은 다음과 같습니다.Displays the current configuration settings for a resource or all resources. The available options are:

  • --show-defaults 모든 구성 매개 변수 및 기본값이있는 구성 매개 변수를 표시합니다. 일반적으로 기본값을 가진 매개 변수는 표시되지 않습니다Displays configuration parameters with all configuration parameters and default values. Normally, parameters with default values are not displayed.

bsrsetup show-gi resource peer_node_id volume

특정 연결에서 장치의 데이터 생성 식별자를 표시하고 출력을 설명합니다. 설명만 빼면 Displays the data generation identifier of the device on a particular connection and describes the output. Same as the "bsrsetup get-gi" 명령과 동일합니다command except for the description.

bsrsetup statebsrsetup

role의 alias입니다. 더 이상 사용되지 않습니다An alias for the bsrsetup role. Deprecated.

bsrsetup status {resource | all}

리소스 또는 모든 리소스의 상태를 표시합니다. 출력은 구성된 각 자원에 대해 하나의 단락으로 구성됩니다. 각 단락에는 각 리소스에 대해 한 줄, 각 장치에 대해 한 줄, 각 연결에 대해 한 줄이 있습니다. 장치 및 연결 라인이 들여 쓰기 됩니다. 연결 라인 다음에는 각 피어 장치 마다 한 개의 라인이 있습니다. 이 라인들은 연결 라인에 들여 쓰기 됩니다. 긴 라인은 터미널 너비로 wrapping 되어 있으며 라인이 어떻게 결합되어 있는지 표시하기 위해 들여 쓰기 됩니다. 사용 가능한 옵션은 다음과 같습니다.

  • --verbose 출력에 추가 정보를 포함합니다.(중복되거나 관련이 없는 경우에도)

  • --statistics 통계 정보를 포함하여 출력합니다.

  • --color={always | auto | never} 출력물에 색상을 표시합니다. --color = auto를 사용하면 bsrsetup은 표준 출력이 터미널에 연결된 경우에만 색상을 표시합니다.

bsrsetup suspend-io minor

복제 장치에서 I/O를 일시 중단하는 명령으로 bsr 에선 이 명령을 지원하지 않습니다.

bsrsetup verify resource peer_node_id volume

온라인 정합성 검사를 시작하거나 장치의 특정 부분을 확인할 경우 변경하거나 검사를 중지 합니다. 명령은 지정된 피어가 연결되어 있어야 합니다. 온라인 검사는 로컬 및 피어 노드의 각 디스크 블록을 비교합니다. 노드 간에 다른 블록은 OOS로 기록되지만 자동으로 다시 동기화되지는 않습니다. 동기화 하려면 리소스의 연결을 끊었다가 다시 연결해야합니다. bbsrsetup status --statistics의 출력에서 진행 상황을 모니터링 할 수 있습니다. 사용 가능한 옵션:

  • --start position

    • 온라인 검사를 시작할 위치를 정의하십시오. 온라인 검사가 이미 진행중인 경우 이 매개 변수는 무시됩니다. 시작 매개 변수가 지정되지 않은 경우 온라인 검사는 이전에 중단 됐었다면 중단 된 위치 이후로 시작되고, 시작된 적이 없었다면 처음부터 시작합니다. 디스크의 위치는 기본적으로 디스크 섹터 (512 바이트)로 지정됩니다.

  • --stop position

    • 온라인 검사를 중지 할 위치를 정의합니다. 온라인 확인이 이미 진행중인 경우 활성 온라인 확인 프로세스의 중지 위치가 변경됩니다. 온라인 검사를 중지하려면 이 옵션을 사용하십시오. 디스크의 위치는 기본적으로 디스크 섹터 (512 바이트)로 지정됩니다.

bsrsetup wait-connect-volume resource peer_node_id volume,

bsrsetup wait-connect-connection resource peer_node_id,

bsrsetup wait-connect-resource resource,

bsrsetup wait-sync-volume resource peer_node_id volume,

bsrsetup wait-sync-connection resource peer_node_id,

bsrsetup wait-sync-resource resource

wait-connect-* 명령은 피어의 장치가 나타날 때까지 기다립니다. wait-sync-* 명령은 피어의 장치가 최신 상태가 될 때까지 기다립니다. bsr 에선 잘 사용하지 않는 명령으로 사용을 권장하지 않습니다.

bsrsetup forget-peer resource peer_node_id

forget-peer 명령은 메타 데이터에서 피어 노드의 모든 흔적을 제거합니다. 메타 데이터에서 비트맵 슬롯을 비우고 지금까지 본 적이 없는 노드가 연결될 경우 추가 비트맵 슬롯 할당에 사용할 수 있습니다. 이 명령을 사용하려면 연결을 해제해야 합니다. 피어가 나중에 다시 연결하는 경우 비트맵 기반 재 동기화가 전체 동기화로 바뀝니다.

bsrmeta

bsrmeta [--force] [--ignore-sanity-checks] { device} {v06 minor | v07  meta_dev index | v08 meta_dev index | v09  meta_dev index} { command} [cmd args...]

DESCRIPTION

bsrmeta 유틸리티는 bsr의 온 디스크 메타 데이터를 생성, 표시 및 수정하는 데 사용됩니다. 사용자는 일반적으로 bsrarm보다 bsr에 더 높은 수준의 인터페이스를 제공하는 bsradm 유틸리티와 상호 작용합니다. (bsradm의 사용 방법은 bsramm의 dry-run 옵션을 참조하십시오.)이 유틸리티는 현재 커널에서 사용하지 않는 장치에서만 사용할 수 있습니다. 첫 번째 인수 (device)는 볼륨과 연결된 bsr 장치를 지정하거나 해당 볼륨과 연결된 장치가없는 경우 "-"를 지정합니다. bsr 장치가 지정된 경우 bsr 유틸리티는 bsr 장치에 현재 활성 볼륨의 메타 데이터가 손상되는 것을 방지하기 위해 먼저 연결된 볼륨이 있는지 확인합니다.두 번째 인수는 사용할 메타 데이터 버전 (v06, v07, v08, v09)을 지정합니다. 대부분의 메타 데이터 버전에서 세 번째 인수 (meta_dev)는 메타 데이터가 포함 된 장치를 지정합니다. 이 인수는 장치와 동일 할 수 있습니다. 네 번째 인수 (index)는 키워드 internal(내부 메타 데이터의 경우), flex-internal variable (가변 크기의 메타 데이터의 경우 v07, v07은 기본적으로 고정 크기의 내부 메타 데이터), flex-external (가변 크기의 경우) 중 하나 일 수 있습니다. 외부 메타 데이터 또는 숫자 matadata 인덱스(고정 크기 외부 메타 데이터의 경우) bsr.conf의 메타 디스크 매개 변수를 참조하십시오.

OPTIONS

--force

bsrmeta가 요청할 모든 질문에 대한 대답으로 yes로 가정하고 수행합니다.

--ignore-sanity-checks

일반적으로 bsrmeta는 메타 데이터 장치에 쓰기 전에 일부 결함 검사를 수행합니다. 예를 들어, 장치에 파일 시스템이 포함되어있는 경우 파일 시스템이 손상되지 않도록 보호하기 위해 메타 쓰기를 거부합니다. 이 결함 검사를 무시하려면 이 옵션을 사용하십시오.

COMMANDS

create-md [--peer-max-bio-size=val] (metadata versions v06, v07, and v08),

create-md {number-of-bitmap-slots} [--peer-max-bio-size=val] [ --al-stripes=val] [--al-stripe-size-kB= val] (metadata version v09)

메타 데이터를 초기화합니다. 이것은 bsr 리소스를 attach하기 전에 필요합니다. bsrmeta가 장치에서 이전 버전의 bsr 메타 데이터를 찾으면 형식을 변환해야하는지 묻습니다. bsradm은 장치에 대한 bsrmeta의 create-md 명령을 호출 할 때 비트맵 슬롯 수 인수를 리소스의 피어 수로 설정합니다. 추가 비트맵 슬롯을 예약하려면 (향후에 더 많은 피어를 추가 할 수 있도록) 대신 bbsrmeta를 호출하십시오. 피어에 처음 연결되기 전에 장치를 사용하는 경우 bsr은 피어가 기본적으로 4KiB 요청만 처리 할 수 ​​있다고 가정합니다. "peer-max-bio-size"옵션을 사용하면 보다 낙관적인 값을 설정할 수 있습니다. 이 장치가 연결될 bsr 버전이 알려진 경우 이를 사용하십시오. 6433개 이상의 activity log 범위를 사용하거나 stripe RAID 위에 구성하고 싶다면 스트라이프 수 (--al-stripes, 기본값 1) 및 스트라이프 크기 (--al-stripe- size-kB, 기본값 32)를 지정해야 합니다. 더 큰 선형 온 디스크 링 버퍼를 사용하려면 스트라이프 수를 1로 유지하고 크기 만 늘리십시오.

get-Displays the status of a resource or all resources. The output consists of one paragraph for each configured resource. Each paragraph has one line for each resource, one line for each device, and one line for each connection. The device and connection lines are indented. After the connection line, there is one line for each peer device. These lines are indented on the connecting line. Long lines are wrapped with terminal width and indented to show how the lines are joined. The available options are:

  • --verbose Include additional information in the output (even if it is duplicated or irrelevant).

  • --statistics Output including statistical information.

  • --color={always | auto | never} Color the output. If you use --color = auto, bsrsetup will display colors only when standard output is connected to the terminal.

bsrsetup suspend-io minor

Not Supported.

bsrsetup verify resource peer_node_id volume

Start an online verification, change or stop the test if you see a specific part of the device. The command must have a specified peer connected. The online check compares each disk block of local and peer nodes. Other blocks between nodes are written as OOS, but are not automatically resynchronized. To synchronize, you need to disconnect and reconnect the resource. You can monitor the progress in the output of bsrsetup status --statistics. Available options:

  • --start position

    • Define where to start the online verification. This parameter is ignored if an online verification is already in progress. If the start parameter is not specified, the online verification starts after the point where it left off if it was previously stopped, or from the beginning if it has never been started. Disks are located by default in disk sectors (512 bytes).

  • --stop position

    • Define where to stop the online verification. If online verification is already in progress, the stop position of the active online verification process changes. Use this option to stop the online verification. Disks are located by default in disk sectors (512 bytes).

bsrsetup wait-connect-volume resource peer_node_id volume,

bsrsetup wait-connect-connection resource peer_node_id,

bsrsetup wait-connect-resource resource,

bsrsetup wait-sync-volume resource peer_node_id volume,

bsrsetup wait-sync-connection resource peer_node_id,

bsrsetup wait-sync-resource resource

The wait-connect-* command waits for the peer's device to appear. The wait-sync-* command waits until the peer's device is up to date. bsr is not recommended for use with commands that are rarely used.

bsrsetup forget-peer resource peer_node_id

The forget-peer command removes all traces of peer nodes from metadata. You can free up bitmap slots in the metadata and use them to allocate additional bitmap slots if a node you have never seen connects. You must disconnect to use this command. If the peer reconnects later, bitmap based resynchronization is replaced by full synchronization.

bsrmeta

bsrmeta [--force] [--ignore-sanity-checks] { device} {v06 minor | v07  meta_dev index | v08 meta_dev index | v09  meta_dev index} { command} [cmd args...]

DESCRIPTION

The bsrmeta utility is used to create, display and modify bsr's on-disk metadata. Users typically interact with the bsradm utility, which provides a higher level interface to bsr than bsrarm. (See bsramm's dry-run option for how to use bsradm.) This utility is only available for devices not currently used by the kernel. The first argument (device) specifies the bsr device associated with the volume, or "-" if no device is associated with the volume. If a bsr device is specified, the bsr utility checks to see if the bsr device has a volume attached first to prevent metadata corruption on the currently active volume. The second argument is the version of the metadata to use (v06, v07, v08, v09). Designate. In most versions of metadata, the third argument (meta_dev) specifies the device that contains the metadata. This argument can be the same as the device. The fourth argument (index) is the keyword internal (for internal metadata), flex-internal variable (v07 for variable-size metadata, v07 is fixed-size internal metadata by default), flex-external (of variable size) Case). External metadata or numeric matadata index (for fixed-size external metadata) See Meta disk parameters in bsr.conf.

OPTIONS

--force

Assuming yes and answering all questions bsrmeta will ask.

--ignore-sanity-checks

In general, bsrmeta performs some defect checking before writing to the metadata device. For example, if the device contains a file system, it refuses to write meta to protect the file system from corruption. Use this option to ignore this defect check.

COMMANDS

create-md [--peer-max-bio-size=val] (metadata versions v06, v07, and v08),

create-md {number-of-bitmap-slots} [--peer-max-bio-size=val] [ --al-stripes=val] [--al-stripe-size-kB= val] (metadata version v09)

Initialize metadata. This is required before attaching the bsr resource. When bsrmeta finds the old version of bsr metadata on the device, it asks if it needs to convert the format. bsradm sets the bitmap slot count argument to the number of peers in the resource when invoking bsrmeta's create-md command for the device. To reserve additional bitmap slots (so you can add more peers in the future), call bbsrmeta instead. If you use the device before the first connection to the peer, bsr assumes that the peer can only handle 4KiB requests by default. Use the "peer-max-bio-size" option to set a more optimistic value. Use this if the bsr version to which this device will connect is known. If you want to use more than 6433 activity log ranges or configure over stripe RAID, you need to specify the number of stripes (--al-stripes, default 1) and the size of stripes (--al-stripe- size-kB, default 32). To use a larger linear on disk ring buffer, keep the number of stripes to 1 and increase only the size.

get-gi [--node-id=id]

Displays the data generation identifier of the device on a specific connection. bsr supports multiple peers. Use the node-id option to define the data generation identifier of the peer to be displayed.

show-gi [--node-id=id]

Similar to get-gi, but with descriptive information.

dump-md

Dump the device's metadata, including bitmap and activity log, in text format.

outdate

The data of the lower device is marked as outdated.

dstate

Displays the current disk status of the lower device.

check-resize

Check the device size of the sub-device and the last known device size (stored as /var/lib/bsr/bsr-minor-minor.lkbd by bsrsetup check-resize). For internal metadata, the size of the low-level device If it changes and you can find the metadata in the old location, move the metadata from the end of the block device to the new location.

apply-al

Apply the activity log of the specified device. This is needed before the device is reattached by the kernel.

EXPERT COMMANDS

The bsrmeta utility can be used to fine-tune metadata. This can lead to metadata corruption or data corruption automatically. Use with caution.

set-gi gi [--node-id=id]

특정 연결에서 장치의 데이터 생성 식별자를 표시합니다. bsr 에선 여러개의 피어를 지원합니다. node-id 옵션을 사용하여 표시할 피어의 데이터 생성 식별자를 정의하십시오.

show-gi [--node-id=id]

get-gi와 유사하지만 설명 정보가 있습니다.

dump-md

비트맵 및 activity log를 포함하여 장치의 메타 데이터를 텍스트 형식으로 덤프합니다.

outdate

하위 장치의 데이터를 outdated 로 표시 합니다.

dstate

하위 장치의 현재 디스크 상태를 표시 합니다.

check-resize

하위 장치의 장치 크기와 마지막으로 알려진 장치 크기를 확인합니다((/var/lib/bsr/bsr-minor-minor.lkbd by bsrsetup check-resize로 저장). 내부 메타 데이터의 경우 하위 수준 장치의 크기가 변경되고 이전 위치에서 메타 데이터를 찾을 수있는 경우 블록 장치 끝에서 새 위치로 메타 데이터를 이동하십시오.

apply-al

지정된 장치의 activity log를 적용합니다. 커널에 의해 장치가 다시 attach 되기 전에 필요합니다.

EXPERT COMMANDS

bsrmeta 유틸리티는 메타 데이터를 미세하게 조정하는 데 사용될 수 있습니다. 이로 인해 메타 데이터가 손상되거나 데이터가 자동으로 손상 될 수 있습니다. 주의해서 사용 하십시오.

set-gi gi [--node-id=id

생성 식별자를 설정합니다. bsr은 여러 피어를 지원하고 get-gi 출력에서와 동일한 구문으로 기술하여 설정합니다. --node-id 옵션을 사용하여 설정할 피어의 데이터 생성 식별자를 정의할 수 있습니다.

restore-md dump_file

장치의 메타 데이터를 dump_file의 내용으로 바꿉니다. 덤프 파일 형식은 dump-md 명령의 출력에 의해 정의됩니다.

bsrcon

bsrcon command {argument...}

DESCRIPTION

COMMANDS

/nodelayedack [ip|guid]

/delayedack_enable [ip|guid]/m [letter] : mount/get_log [ProviderName]/minlog_lv dbg [Level : 0~7]/write_log [ProviderName] "[LogData]"/handler_use [0,1]/bsrfsflt_status/info/status 

Set the generation identifier. bsr supports multiple peers and is set up with the same syntax as in the get-gi output. You can use the --node-id option to define the data generation identifier of the peer to be set.

restore-md dump_file

Replace the device's metadata with the contents of dump_file. The dump file format is defined by the output of the dump-md command.

bsrcon

bsrcon command {argument...}

DESCRIPTION

Set up the BSR's network, logs, volumes, handlers, etc.

COMMANDS

/nodelayedack [ip|guid]

Disables the delayed ACK behavior of TCP/IP. This is required for replication to work and is Windows only.

/delayedack_enable [ip|guid]

Enables delayed ACK behavior for TCP/IP. Windows only.

/release_vol [letter]

This command completely releases the volume lock that controls the Windows volume. This command must be performed as the final step in deleting a resource and is Windows only.

If you perform this command, you must reorganize the resource and perform a full synchronization again.

/bsrlock_use

Commands to temporarily enable or disable locks on a volume. This is for debugging purposes and is Windows only.

/bsrlock_status

Commands to view the lock status of a volume. Windows only.

/info

Prints the volume's partitions, mount points, and other related information. Windows only.

/handler_use [0,1]

Enables or disables the BSR's handler.

/maxlogfile_cnt [LogFileMaxCount : 0 ~ 1000]

/climaxlogfile_cnt [adm, setup, meta] [LogFileMaxCount : 0 ~ 255]

/minlog_lv [sys, dbg] [Level : 0~7] level info, emerg(0) alert(1) criti(2) err(3) warning(4) notice(5) info(6) debug(7)

/minlog_lv feature [flag : 0,1,2,4] level info, none(0) oos(1) latency(2) verify(4)