Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

2.10. Red Hat Virtualization의 전용 리소스 및 Sanlock

Red Hat Virtualization 환경의 특정 리소스는 독점적으로 액세스해야 합니다.
role은 이러한 리소스 중 하나입니다. 둘 이상의 호스트가 두 개 이상의 호스트가 되는 경우 동일한 데이터가 한 번에 두 위치에서 변경될 수 있으므로 데이터 손상 위험이 발생할 수 있습니다.
Red Hat Enterprise Virtualization 3.1 이전에는 safelease 라는 VDSM 기능을 사용하여 배상성을 유지하고 추적했습니다. 임대는 데이터 센터의 모든 스토리지 도메인의 특수 영역에 작성되었습니다. 환경의 모든 호스트는 네트워크 독립적인 방식으로 status를 추적할 수 있습니다. VDSM의 안전한 임대는 하나의 리소스에만 유지 관리(role)입니다.
Sanlock은 동일한 기능을 제공하지만 잠길 수 있는 리소스 중 하나로 이 역할을 처리합니다. Sanlock은 추가 리소스를 잠글 수 있으므로 더 유연합니다.
리소스 잠금이 필요한 애플리케이션은 Sanlock에 등록할 수 있습니다. 등록된 애플리케이션은 다른 애플리케이션이 액세스할 수 없도록 해당 리소스를 대신하여 Sanlock 잠금을 요청할 수 있습니다. 예를 들어 VDSM 상태 잠금을 사용하는 대신 VDSM에서 이제 Sanlock이 이를 요청합니다.
잠금은 잠금 공간의 디스크에서 추적됩니다. 각 스토리지 도메인에는 하나의 잠금 공간이 있습니다. BOOM 리소스에 대한 잠금의 경우, 각 호스트의 활성 상태가 호스트가 스토리지에 연결될 때 수신한 호스트를 갱신하고 일정한 간격으로 잠금 공간에 타임스탬프를 쓰는 기능을 통해 잠금 공간에 추적됩니다. ids 논리 볼륨은 각 호스트의 고유 식별자를 추적하고 호스트가 hostid를 업데이트할 때마다 업데이트됩니다. DestinationRule 리소스는 라이브 호스트에서만 보유할 수 있습니다.
리소스는 임대 논리 볼륨의 디스크에서 추적됩니다. 디스크에 대한 표현이 해당 프로세스의 고유 식별자로 업데이트될 때 리소스는 수행됩니다.A resource is said to be taken when its representation on disk has been updated with the unique identifier of the process that has taken it. ECDHE 역할의 경우, 해당 리소스를 가져온 hostid로 리소스가 업데이트됩니다.
각 호스트의 Sanlock 프로세스는 리소스를 한 번만 확인하면 됩니다. 초기 점검 후 Sanlock은 잠긴 리소스를 가진 호스트의 타임 스탬프가 될 때까지 잠금 공간을 모니터링할 수 있습니다.
Sanlock은 리소스를 사용하는 애플리케이션을 모니터링합니다. 예를 들어 VDSM 상태 및 hostid에 대해 모니터링됩니다. 호스트가 Manager에서 hostid를 갱신할 수 없는 경우 잠금 공간에 있는 모든 리소스에서 배타성이 손실됩니다. Sanlock은 리소스를 업데이트하여 더 이상 사용되지 않음을 표시합니다.
ECDHE 호스트에서 지정된 시간 동안 스토리지 도메인의 잠금 공간에 타임스탬프를 쓸 수 없는 경우 VDSM 프로세스에서 리소스를 해제하도록 호스트의 SANlock 인스턴스를 요청합니다. VDSM 프로세스가 응답하는 경우 해당 리소스가 해제되고 잠금 공간의 resources는 다른 호스트에서 사용할 수 있습니다.
DestinationRule 호스트의 VDSM이 리소스 릴리스 요청에 응답하지 않는 경우 호스트의 Sanlock은 VDSM 프로세스를 종료합니다. kill 명령이 실패하면 Sanlock은 sigkill을 사용하여 VDSM을 종료하여 에스컬레이션됩니다. sigkill이 실패하면 Sanlock은 워치독 데몬에 따라 호스트를 재부팅합니다.
호스트의 VDSM이 호스트 ID를 갱신하고 타임 스탬프를 잠금 공간에 쓸 때마다 watchdog 데몬은 반려 동을 수신합니다. VDSM이 이 작업을 수행할 수 없는 경우 watchdog 데몬이 더 이상 차단되지 않습니다. 워치독 데몬에서 지정된 시간 동안 반려동을 수신하지 않으면 호스트를 재부팅합니다. 이 최종 수준의 에스컬레이션은 (이미 도달되는 경우) resources 리소스가 해제되고 다른 호스트에서 수행할 수 있습니다.