Versions Compared

Key

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

...

options 섹션(resource options)

auto-promote bool-value

A resource must be promoted to primary role before any of its devices can be mounted or opened for writing. Before DRBD 9, this could only be done explicitly ("drbdadm primary"). Since DRBD 9, the auto-promote parameter allows to automatically promote a resource to primary role when one of its devices is mounted or opened for writing. As soon as all devices are unmounted or closed with no more remaining users, the role of the resource changes back to secondary. Automatic promotion only succeeds if the cluster state allows it (that is, if an explicit drbdadm primary command would succeed). Otherwise, mounting or opening the device fails as it already did before DRBD 9: the mount(2) system call fails with errno set to EROFS (Read-only file system); the open(2) system call fails with errno set to EMEDIUMTYPE (wrong medium type). Irrespective of the auto-promote parameter, if a device is promoted explicitly ( drbdadm primary), it also needs to be demoted explicitly (drbdadm secondary). The auto-promote parameter is available since DRBD 9.0.0, and defaults to yes.

cpu-mask cpu-mask

Set the cpu affinity mask for DRBD kernel threads. The cpu mask is specified as a hexadecimal number. The default value is 0, which lets the scheduler decide which kernel threads run on which CPUs. CPU numbers in cpu-mask which do not exist in the system are ignored.

on-no-data-accessible policy

Determine how to deal with I/O requests when the requested data is not available locally or remotely (for example, when all disks have failed). The defined policies are:

  • io-error System calls fail with errno set to EIO.

  • suspend-io The resource suspends I/O. I/O can be resumed by (re)attaching the lower-level device, by connecting to a peer which has access to the data, or by forcing DRBD to resume I/O with drbdadm resume-io res. When no data is available, forcing I/O to resume will result in the same behavior as the io-error policy. 

This setting is available since DRBD 8.3.9; the default policy is io-error.

peer-ack-window value

On each node and for each device, DRBD maintains a bitmap of the differences between the local and remote data for each peer device. For example, in a three-node setup (nodes A, B, C) each with a single device, every node maintains one bitmap for each of its peers. When nodes receive write requests, they know how to update the bitmaps for the writing node, but not how to update the bitmaps between themselves. In this example, when a write request propagates from node A to B and C, nodes B and C know that they have the same data as node A, but not whether or not they both have the same data. As a remedy, the writing node occasionally sends peer-ack packets to its peers which tell them which state they are in relative to each other. The peer-ack-window parameter specifies how much data a primary node may send before sending a peer-ack packet. A low value causes increased network traffic; a high value causes less network traffic but higher memory consumption on secondary nodes and higher resync times between the secondary nodes after primary node failures. (Note: peer-ack packets may be sent due to other reasons as well, e.g. membership changes or expiry of the peer-ack-delay timer.) The default value for peer-ack-window is 2 MiB, the default unit is sectors. This option is available since 9.0.0bsr 에선 지원하지 않습니다.

cpu-mask cpu-mask

bsr 에선 지원하지 않습니다.

on-no-data-accessible policy

요청 된 데이터를 로컬에 접근할 수 없는 경우(예 : 모든 디스크에 장애가 발생한 경우) I/O 요청을 처리하는 방법을 결정합니다. bsr 에선 지원하지 않습니다.

peer-ack-window value

각 노드와 각 장치에서 DRBD는 각 피어 장치에 대한 로컬 데이터와 원격 데이터의 차이점에 대한 비트 맵을 유지합니다. 예를 들어, 단일 장치가 있는 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이며, 기본 단위는 섹터임).

peer-ack-delay expiry-time

...