Versions Compared

Key

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

...

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에는 쓰기 요청의 순서를 처리하는 세 가지 방법이 있습니다.

  • 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의 복제에 사용됩니다. c-min-rate 값이 0이면 재 동기화 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 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,

...