쿼럼: 미러링 모니터 서버가 데이터베이스 가용성에 미치는 영향(데이터베이스 미러링)Quorum: How a Witness Affects Database Availability (Database Mirroring)

데이터베이스 미러링 세션에 대해 미러링 모니터 서버를 설정할 때마다 쿼럼 이 필요합니다.Whenever a witness is set for a database mirroring session, quorum is required. 쿼럼은 데이터베이스 미러링 세션에서 둘 이상의 서버 인스턴스가 서로 연결될 때 존재하는 관계입니다.Quorum is a relationship that exists when two or more server instances in a database mirroring session are connected to each other. 일반적으로 쿼럼은 3개의 상호 연결된 서버 인스턴스를 포함합니다.Typically, quorum involves three interconnected server instances. 미러링 모니터 서버가 설정된 경우 쿼럼이 있어야만 데이터베이스를 사용할 수 있습니다.When a witness is set, quorum is required to make the database available. 쿼럼은 자동 장애 조치(Failover)를 지원하는 보안 우선 모드를 위해 디자인되었으므로 한 번에 하나의 파트너만 데이터베이스를 소유할 수 있습니다.Designed for high-safety mode with automatic failover, quorum makes sure that a database is owned by only one partner at a time.

특정 서버 인스턴스의 연결이 미러링 세션에서 끊어지면 해당 인스턴스는 쿼럼을 잃습니다.If a particular server instance becomes disconnected from a mirroring session, that instance loses quorum. 연결된 서버 인스턴스가 없는 경우 세션이 쿼럼을 잃고 데이터베이스를 사용할 수 없게 됩니다.If no server instances are connected, the session loses quorum and the database becomes unavailable. 다음 3가지 유형의 쿼럼이 지원됩니다.Three types of quorum are possible:

  • 전체 쿼럼 - 두 파트너와 미러링 모니터 서버로 구성됩니다.A full quorum includes both partners and the witness.

  • 미러링 모니터 서버에서 파트너로의 쿼럼 - 미러링 모니터 서버와 하나의 파트너로 구성됩니다.A witness-to-partner quorum consists of the witness and either partner.

  • 파트너 간 쿼럼 - 두 파트너로 구성됩니다.A partner-to-partner quorum consists of the two partners.

    다음 그림에서는 이러한 유형의 쿼럼을 보여 줍니다.The following figure shows these types of quorum.

    쿼럼: 전체, 미러링 모니터 서버와 파트너; 두 파트너 모두Quorums: full; witness and partner; both partners

    현재 주 서버에 쿼럼이 있으면 데이터베이스 소유자가 수동 장애 조치를 수행하지 않는 한 주 서버가 주 서버의 역할을 소유하고 데이터베이스를 계속 제공합니다.As long as the current principal server has quorum, this server owns the role of principal and continues to serve the database, unless the database owner performs a manual failover. 주 서버가 쿼럼을 잃으면 데이터베이스 제공을 중지합니다.If the principal server loses quorum, it stops serving the database. 자동 장애 조치는 주 데이터베이스가 쿼럼을 잃어 더 이상 데이터베이스를 제공하지 않는 경우에만 발생할 수 있습니다.Automatic failover can occur only if the principal database has lost quorum, which guarantees that it is no longer serving the database.

    연결이 끊어진 서버 인스턴스는 세션에서 가장 최근의 역할을 저장합니다.A disconnected server instance saves its most recent role in the session. 일반적으로 연결이 끊어진 서버 인스턴스는 다시 시작할 때 세션에 다시 연결되고 쿼럼을 다시 얻습니다.Typically, a disconnected server instance reconnects to the session when it restarts and regains quorum.

중요

자동 장애 조치를 지원하는 보안 우선 모드를 사용하려는 경우에만 미러링 모니터 서버를 설정해야 합니다.The witness should be set only when you intend to use high-safety mode with automatic failover. 미러링 모니터 서버가 필요하지 않은 성능 우선 모드에서는 WITNESS 속성을 OFF로 설정하는 것이 좋습니다.In high-performance mode, for which a witness is never required, we strongly recommend setting the WITNESS property to OFF. 성능 우선 모드에서 미러링 모니터 서버의 영향에 대한 자세한 내용은 데이터베이스 미러링 운영 모드를 참조하세요.For information about the impact of a witness on high-performance mode, see Database Mirroring Operating Modes.

보안 우선 모드 세션의 쿼럼Quorum in High-Safety Mode Sessions

보안 우선 모드에서 쿼럼은 쿼럼이 있는 서버 인스턴스가 주 역할을 소유하는 파트너를 조정하는 컨텍스트를 제공하여 자동 장애 조치를 허용합니다.In high-safety mode, quorum allows automatic failover by providing a context in which the server instances with quorum arbitrate which partner owns the role of principal. 쿼럼이 있을 경우 주 서버는 데이터베이스를 제공합니다.The principal server serves the database if it has quorum. 동기화된 미러 서버와 미러링 모니터 서버가 쿼럼을 유지하고 주 서버가 쿼럼을 손실하는 경우 자동 장애 조치가 발생합니다.If the principal server loses quorum when the synchronized mirror server and witness retain quorum, automatic failover occurs.

보안 우선 모드의 쿼럼 시나리오는 다음과 같습니다.The quorum scenarios for high-safety mode are as follows:

  • 전체 쿼럼 - 두 파트너와 하나의 미러링 모니터 서버로 구성됩니다.A full quorum that consists of both partners and the witness.

    일반적으로 3개의 서버 인스턴스는 모두 전체 쿼럼이라는 3방향 쿼럼에 참여합니다.Ordinarily, all three server instances participate in a three-way quorum, called a full quorum. 전체 쿼럼을 사용하면 주 서버와 미러 서버는 수동 장애 조치가 발생하지 않는 한 계속 해당 역할을 수행합니다.With a full quorum, the principal and mirror servers continue to perform their respective roles (unless manual failover occurs).

  • 미러링 모니터 서버에서 파트너로의 쿼럼 - 미러링 모니터 서버와 하나의 파트너로 구성됩니다.A witness-to-partner quorum that consists of the witness and either partner.

    파트너 중 하나가 손실되어 파트너 간의 네트워크 연결을 잃은 경우 다음 경우가 발생할 수 있습니다.If the network connection between the partners is lost because one of the partners has been lost, the following cases are possible:

    • 미러 서버가 손실되고 주 서버와 미러링 모니터 서버가 쿼럼을 유지합니다.The mirror server is lost, and the principal server and witness retain quorum.

      이 경우 주 서버는 데이터베이스를 DISCONNECTED로 설정하고 SUSPENDED 미러링 상태로 실행됩니다.In this case, the principal sets its database to DISCONNECTED and runs with mirroring in a SUSPENDED state. 이때 데이터베이스는 현재 미러되지 않으므로 이를 노출 실행이라고 합니다. 미러 서버가 세션에 다시 참가할 때 서버는 쿼럼을 미러로 다시 얻고 데이터베이스의 복사본 동기화를 다시 수행합니다.(This is referred to as running exposed, because the database is currently not being mirrored.) When the mirror server rejoins the session, the server regains quorum as mirror and starts resynchronizing its copy of the database.

    • 주 서버가 손실되고 미러링 모니터 서버와 미러 서버가 쿼럼을 유지합니다.The principal server is lost, and the witness and the mirror server retain quorum.

      이 경우 자동 장애 조치가 수행됩니다.In this case, automatic failover occurs. 자세한 내용은 Database Mirroring Operating Modes을 참조하세요.For more information, see Database Mirroring Operating Modes.

    • 모든 서버 인스턴스가 쿼럼을 잃지만 이후에 미러와 미러링 모니터 서버가 다시 연결됩니다.All the server instances lose quorum, but subsequently the mirror and witness reconnect. 이 경우에 데이터베이스는 제공되지 않습니다.The database will not be served in this case.

      매우 드문 경우로서 두 파트너가 미러링 모니터 서버에 계속 연결되어 있는 동안 장애 조치 파트너 사이의 네트워크 연결을 잃을 수 있습니다.Rarely, the network connection between failover partners is lost while both partners remain connected to the witness. 이 경우 미러링 모니터 서버에서 파트너로의 쿼럼 두 개가 개별적으로 존재하며 미러링 모니터 서버가 연락을 담당합니다.In this event, two, separate witness-to–partner quorums exist, with the witness as a liaison. 미러링 모니터 서버에서 주 서버가 연결되어 있음을 미러 서버에 알리기 때문에The witness informs the mirror server that the principal server is still connected. 자동 장애 조치는 수행되지 않습니다.Therefore, automatic failover does not occur. 대신 미러 서버는 미러 역할을 계속 수행하고 주 서버에 다시 연결되기를 기다립니다.Instead, the mirror server retains the mirror role and waits to reconnect to the principal. Redo Queue가 이 지점에서 로그 레코드를 포함하는 경우 미러 서버는 미러 데이터베이스를 계속 롤포워드합니다.If the redo queue contains log records at this point, the mirror server continues to roll forward the mirror database. 다시 연결할 때 미러 서버는 미러 데이터베이스를 다시 동기화합니다.On reconnecting, the mirror server will resynchronize the mirror database.

  • 파트너 간 쿼럼 - 두 파트너로 구성됩니다.A partner-to-partner quorum that consists of the two partners.

    파트너가 쿼럼을 유지하는 한 데이터베이스는 SYNCHRONIZED 상태를 지속하고 수동 장애 조치가 가능합니다.As long as the partners retain quorum, the database continues in a SYNCHRONIZED state, and manual failover remains possible. 자동 장애 조치는 미러링 모니터 서버 없이는 불가능하지만 미러링 모니터 서버가 쿼럼을 다시 얻으면 세션은 일반 작업을 재개하고 자동 장애 조치가 다시 지원됩니다.Without the witness, automatic failover is not possible; but when the witness regains quorum, the session resumes regular operation, and automatic failover is supported again.

  • 세션이 쿼럼을 잃습니다.The session loses quorum.

    모든 서버 인스턴스 간의 연결이 끊어지면 세션은 쿼럼을 손실하며If all the server instances become disconnected from each other, the session is said to have lost quorum. 서버 인스턴스가 다시 연결되면 서로 간에 다시 쿼럼을 얻습니다.As server instances reconnect to each other, they regain quorum with each other.

    • 주 서버가 다른 서버 인스턴스 중 하나와 다시 연결되면 데이터베이스를 사용할 수 있게 됩니다.If the principal server reconnects with either of the other server instances, the database becomes available.

    • 주 서버의 연결은 끊어진 상태지만 미러와 미러링 모니터 서버가 서로 다시 연결되면 데이터 손실이 발생할 수 있으므로 자동 장애 조치가 발생하지 않습니다.If the principal server remains disconnected, but the mirror and witness reconnect to each other, automatic failover cannot occur because data loss might occur. 따라서 주 서버가 세션에 다시 참가할 때까지 데이터베이스는 사용할 수 없습니다.Therefore, the database remains unavailable, until the principal server rejoins the session.

    • 3개의 서버 인스턴스가 모두 다시 연결되었을 때 전체 쿼럼을 다시 얻으면 세션은 정상적인 작업을 재개합니다.When all three server instances have reconnected, full quorum is regained, and the session resumes its regular operation.

중요

그러나 세션에 파트너 간 쿼럼이 있는 경우 한 파트너가 쿼럼을 손실하면 세션은 쿼럼을 손실합니다.When a session has a partner-to-partner quorum, if either partner loses quorum, the session loses quorum. 따라서 미러링 모니터 서버가 오랫동안 연결이 끊어진 상태로 유지될 것이 예상되면 세션에서 미러링 모니터 서버를 일시적으로 제거하는 것이 좋습니다.Therefore, if you expect the witness to remain disconnected for lots of time, we recommend that you temporarily remove the witness from the session. 미러링 모니터 서버가 제거되면 쿼럼의 요구 사항이 제거됩니다.Removing the witness removes the requirement for quorum. 그런 다음 미러 서버의 연결이 끊어지면 주 서버가 계속해서 데이터베이스를 제공할 수 있습니다.Then, if the mirror server becomes disconnected, the principal server can continue to serve the database. 미러링 모니터 서버를 추가하거나 제거하는 방법은 Database Mirroring Witness를 참조하십시오.For information about how to add or remove a witness, see Database Mirroring Witness.

데이터베이스 가용성에 대한 쿼럼의 영향How Quorum Affects Database Availability

다음 그림에서는 미러링 모니터 서버와 파트너가 협력하여 지정한 시간에 하나의 파트너만 주 역할을 수행하고 현재 주 서버만 해당 데이터베이스를 온라인 상태로 만들 수 있게 하는 방법을 보여 줍니다.The following illustration shows how the witness and the partners cooperate to make sure that, at given time, only one partner owns the role of principal and only the current principal server can bring its database online. 두 시나리오는 모두 전체 쿼럼 및 주 역할의 Partner_A 와 미러 역할의 Partner_B 로 시작합니다.Both scenarios start with full quorum, and Partner_A in the principal role and Partner_B in the mirror role.

미러링 모니터 서버 및 파트너의 협력 방식How the witness and partners cooperate

시나리오 1은 원래 주 서버(Partner_A)에 문제가 발생한 후 미러링 모니터 서버와 미러 서버가 주 서버 Partner_A를 더 이상 사용할 수 없음에 동의하고 쿼럼을 형성하는 방법을 보여 줍니다.Scenario 1 shows how after the original principal server (Partner_A) fails, the witness and mirror agree that the principal, Partner_A, is not available any longer and form quorum. 그런 다음 미러 서버 Partner_B 가 주 역할을 수행합니다.The mirror, Partner_B then assumes the principal role. 자동 장애 조치(failover)가 수행되고 Partner_B는 해당 데이터베이스 복사본을 온라인 상태로 만듭니다.Automatic failover occurs, and Partner_B, brings its copy of the database online. 그런 다음 Partner_B 가 다운되고 해당 데이터베이스는 오프라인 상태가 됩니다.Then Partner_B goes down, and the database goes offline. 나중에 이전 주 서버였던 Partner_A는 쿼럼을 다시 얻은 미러링 모니터 서버에 다시 연결되지만 미러링 모니터 서버와 통신할 때 이제 Partner_B 가 주 역할을 소유하므로 Partner_A 에서 해당 데이터베이스 복사본을 온라인 상태로 만들 수 없습니다.Later, the former principal server, Partner_A, reconnects to the witness regaining quorum, but on communicating with the witness, Partner_A learns that it cannot bring its copy of the database online, because Partner_B now owns the principal role. Partner_B 는 세션에 다시 참가할 때 데이터베이스를 다시 온라인 상태로 만듭니다.When Partner_B rejoins the session, it brings the database back online.

시나리오 2에서 미러링 모니터 서버는 쿼럼을 상실하지만 파트너인 Partner_APartner_B는 서로 쿼럼을 유지하고 데이터베이스가 온라인 상태로 남아 있습니다.In Scenario 2, the witness loses quorum, while the partners, Partner_A and Partner_B, retain quorum with each other, and the database remains online. 그런 다음 파트너도 해당 쿼럼을 상실하고 데이터베이스는 오프라인 상태가 됩니다.Then the partners lose their quorum, too, and the database goes offline. 나중에 주 서버 Partner_A는 쿼럼을 다시 얻은 미러링 모니터 서버에 다시 연결됩니다.Later, the principal server, Partner_A, reconnects to the witness regaining quorum. 미러링 모니터 서버는 Partner_A 가 여전히 주 역할을 소유하며 Partner_A 가 해당 데이터베이스를 다시 온라인 상태로 만드는지 확인합니다.The witness confirms that Partner_A still owns the principal role, and Partner_A brings the database back online.

참고 항목See Also

데이터베이스 미러링 운영 모드 Database Mirroring Operating Modes
데이터베이스 미러링 세션 중 역할 전환(SQL Server) Role Switching During a Database Mirroring Session (SQL Server)
데이터베이스 미러링 모니터 서버 Database Mirroring Witness
데이터베이스 미러링 중에 발생 가능한 오류 Possible Failures During Database Mirroring
미러링 상태(SQL Server)Mirroring States (SQL Server)