...
Info |
---|
SB 핸들러의 배치 파일 구성에서 사용하는 파일들은 절대 경로로 기술되어야 합니다. |
호환성
타사 제품과 같이 동작하면서 발생하는 호환성 문제에 대해 설명합니다. bsr 의 호환성 문제는 대부분 다른 프로그램 또는 모듈의 기능이나 동작이 bsr 의 운영에 영향을 주어 오류로 나타납니다.
...
장치 참조 오류
bsr 은 리소스 동작 중에 내부적으로 볼륨에 대한 참조회수를 유지합니다. 볼륨 참조회수는 참조를 획득할 때 증가하고 참조를 해제할 때 감소하여 bsr 볼륨의 생명주기를 관리하기 위해 사용합니다.만약 리소스 down 시점에 볼륨에 백킹 디바이스에 대한 참조 회수를 유지 합니다. 참조 회수는 특정 프로세스가 장치를 열었을 때 증가하고 닫으면 감소되는데 이를 통해 장치에 대한 생명주기를 관리하고 특정 프로세스가 장치 볼륨을 더 이상 참조하지 않도록 강제합니다.
bsr 리소스를 구성하는 초기 또는 장치를 umount 하는 과정에서 참조회수가 0 이 아닐 경우에 문제가 발생합니다. 어떤 프로세스가 장치를 열었다가 닫지 않았기 때문에 bsr 은 이를 감지하고 오류로 처리합니다.
리소스 구성 오류
bsr 리소스의 backing device 를 어떤 프로세스가 참조하고 있다면 다음과 같은 오류로 장치 attach에 실패하게 될 것 입니다. 16 오류 코드는 EBUSY 에 해당합니다.
Info |
---|
[open_backing_dev] [DRIVER:140] bsr_erro<3> bsr bsr0/0 bsr0: Failed to open("/dev/sdb1") backing device with -16 |
down 오류
리소스 down 시점에 장치에 대한 참조회수가 0이 아니라면 down 은 실패 처리되며 하고 다음과 같은 유형의 오류 로그가 출력됩니다출력 됩니다.
Info |
---|
bsr volume(r0) Secondary failed (error=0: State change failed: (-12) Device is held open by someone |
...
이 문제를 해결하려면 bsr 볼륨을 참조하고 있는 프로세스 또는 모듈을 프로세스를 파악하여 해당 모듈의 동작을 중단 모듈을 강제 중단(fuser -ck) 시키는 등 볼륨에 대한 참조회수를 감소시키는 조치를 참조회수가 감소 되도록 조치 해야 합니다.
예를 들어, Ubuntu 20.04 이상에서 multipath-tools(0.8.3)는 multipath.conf 에 다음과 같은 예외조치를 예외 처리를 통해 bsr 볼륨에 장치에 대한 참조가 발생하지 않도록 해야 합니다. 그렇지 않으면 multipath-tools 로 인해 bsr 볼륨이 지속적으로 참조되어 down 을 할 수 없게 됩니다.
...