새로운 drbd 설정(drbd0에는 파일 시스템이 없고 동기화만 됨)에서 "node2" 상태를 무효화하고 전체 동기화를 시작했습니다.
root@node1:~# drbdadm invalidate-remote drbd0
root@node1:~# drbd-overview
0:drbd0/0 SyncSource Secondary/Secondary UpToDate/Inconsistent
[>....................] sync'ed: 0.2% (153188/153464)Mfinish: 1:04:59 speed: 40,180 (40,180) K/sec
그리고 drbd0을 node1에서 node2로 동기화하는 과정에서 node1에서 잠시 마스터로 설정하고 ext4를 생성한 후 대기로 재설정한 다음 node2로 가서(불일치) 그대로 두고 마스터 노드로 설정했습니다. 어떤 경고라도 (sic!)
root@node2:~# drbd-overview
0:drbd0/0 SyncTarget Secondary/Secondary Inconsistent/UpToDate
[====>...............] sync'ed: 26.7% (112500/153464)Mfinish: 0:47:58 speed: 40,000 (40,296) want: 74,040 K/sec
root@node2:~# drbdadm primary drbd0
root@node2:~# drbd-overview
0:drbd0/0 SyncTarget Primary/Secondary Inconsistent/UpToDate
[====>...............] sync'ed: 27.1% (111912/153464)Mfinish: 0:50:37 speed: 37,724 (40,252) want: 75,600 K/sec
root@node2:~#
다음으로, 문제 없이 일관되지 않은 장치 파일 시스템에서 ext4를 설치했습니다.
root@node2:~# mount /dev/drbd0 /mnt
그런 다음 /mnt에서 수천 개의 rsa 키 쌍을 만들었습니다(항상 노드 2에서 일관되지 않은 drbd0에 있고 진행 중인 노드 1에서 동기화됨).
그런 다음 node2에서 /mnt를 마운트 해제하고 node1에 마운트했는데 DRBD0에서 생성한 모든 파일이 node2에서 일관되지 않은 상태로 표시되었습니다(node1->node2 동기화가 아직 진행 중임).
다음으로 node1에 또 다른 수천 개의 파일을 생성하고 /mnt를 node2에 다시 마운트했으며 node1과 node2에서 생성된 모든 파일을 보았습니다(porgress에서 node2의 drbd0에 대한 전체 동기화 중 = 상태가 일치하지 않음).
각 단계에서 모든 파일 체크섬을 확인했는데 모든 것이 정상입니다.
어떻게 작동하나요? ? 이것은 의도적으로 설계된 것입니까? 일관성이 없는 장치에서 drbd0을 활성화할 때 분할 브레인 상태가 없는 이유는 무엇입니까? 읽기/쓰기 마스터로 사용할 수 있는 불일치 노드에 있는 drbd0 장치의 실제 상태는 무엇입니까? 재동기화는 두 가지 방법으로 수행됩니까? 노드 1 - 노드 2가 완전히 동기화되었으며(첫 번째 단계에서 노드 2가 유효하지 않았기 때문에) 일관성이 없는 노드 node 2 -> 노드 1을 설치할 때 생성한 변경 사항/파일이 포함되어 있습니까?
동기화가 완료되고 나면 최종 상태는 괜찮은데, 그래도 헷갈립니다...
root@node2~# drbd-overview
0:drbd0/0 Connected Primary/Secondary UpToDate/UpToDate /mnt ext4 148G 1.7G 145G 2%
어떤 설명이라도 미리 감사드립니다.
감사합니다,
답변1
완전히 디자인되었습니다. 디스크를 마스터 노드로 만들면 Inconsistent
실제로 네트워크를 통해 디스크가 있는 피어 노드에 읽고 씁니다 UpToDate
.
디스크가 기본인 동안 네트워크 연결이 끊어지면 Inconsistent
상황이 빠르게 악화될 수 있습니다. ;-)
마스터 노드의 디스크에 장애가 발생하는 경우에도 마찬가지입니다. DRBD는 디스크 없는 모드로 전환한 다음 모든 읽기 및 쓰기를 피어에 푸시합니다(피어에 디스크가 있다고 가정) UpToDate
. 이렇게 하면 로컬 디스크 오류로 인한 서비스 중단을 방지할 수 있습니다.