Background Image

FORUM

2014.01.07 00:42

c# asp.net HA및 브로커

조회 수 11923 추천 수 0 댓글 12
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
 CentOS 6.3_x64(가상화 서버)
CUBRID Ver.
8.4.3.3086
CUBRID TOOL Ver.
8.4.3.3086
응용 환경(API)
asp.net c# 4.0

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

c#  asp.net상에서 HA상에서 db가 죽거나 ha가 죽을경우 다른쪽 HA로의 이동은 어떻게 설정하나요

jdbc는host를 여러개 설정할수 있는 것으로 나옵니다.

c#은 이렇게 설정할수가 없는 것인가요?

그리고 브로커가 한개이상일 경우 컨넥션을 한쪽만 잡으면 한쪽으로 브로커만 사용되는 것인지도 알고 싶습니다.

 

  • ?
    이용미 2014.01.07 02:38

    HA 환경의 경우, 응용은 JDBC, CCI, PHP 환경에서 접근이 가능합니다.

    아래와 같이 사용하실 수 있으니 참고해 주세요.

    - JDBC : http://www.cubrid.org/manual/ko/8.4.4/ha.html#jdbc

    - CCI : http://www.cubrid.org/manual/ko/8.4.4/ha.html#cci

    - PHP : http://www.cubrid.org/manual/ko/8.4.4/ha.html#php


    Broker 서버가 여러대인 경우 또는 Broker가 하나의 서버에 여러개가 생성되어 있다고 하더라고, 응용에서 설정해준 Broker를 통하여만 응용과 통신하여 결과를 출력하게 됩니다. 그러므로 적절하게 응용에서 분배하여 사용하시는 것이 좋습니다.


    감사합니다.

  • ?
    알칸펠 2014.01.07 03:56

    c#용 connectionstring는 업나요?

  • ?
    이용미 2014.01.07 18:48

    C#을 포함한 Windows 프로그래밍 언어를 이용하는 경우, HA 구성 시 연결 스트링에 사용되는 althost를 사용하실 수 없습니다.

    참고 부탁 드립니다.

  • ?
    알칸펠 2014.01.07 19:13

    답변감사합니다.

    그럼 HA상에서 NODE A의  Broker/Server/heartbeat중 어느 것이 중지 되면 NODE B로 이동을 하나요?

    아니면 이것도 서버에서 자동을 이동되는 것은 불가능 한것인가요?

     

  • ?
    이용미 2014.01.07 20:25

    답변 추가합니다.

    cubrid.org의 QnA [http://www.cubrid.org/questions/719898]를 기반으로 확인한 결과, 해당 질문에 작성된 답변처럼 구성하시면 ADO.Net에서는 HA를 구성하여 사용이 가능합니다.


    NodeA의 프로세스 중, Broker/Server/Heartbeat 하나라도 정지가 되면, NodeB의 것을 이용하게 됩니다.

    NodeA의 Broker가 정지되는 경우는 설정값에 따라 달라지므로 아래 링크된 매뉴얼을 참고하여 주세요.

    [Broker PREFERRED_HOSTS 파라미터 관련 : http://www.cubrid.org/manual/ko/9.2.0/ha.html#broker-mode ]

    NodeA의 Server 혹은 Heartbeat이 정지되는 경우, 연결 스트링이 정상적인 경우, NodeB의 DB Server에 연결하게 됩니다.

    자세한 내용은 아래 링크된 매뉴얼을 참고하여 주세요.

    [failover와 failback : http://www.cubrid.org/manual/ko/9.2.0/ha.html#failover-failback ]

    [서버 이중화 - 서버 failover : http://www.cubrid.org/manual/ko/9.2.0/ha.html#id7 ]

  • ?
    알칸펠 2014.01.07 20:49

    위와 같이 설정은 이미 되어 있습니다.

    문제는  NodeA의 프로세스 중, Broker/Server/Heartbeat 를 명령어로 임으로 stop을 했을경우.

    NODE B로 넘어 는 가지만 NODE B가 cubrid changemode testdb@node B로 확인을 하면

     to-be-active상태로 멈춰 있다는 것입니다.

    싸이트는 띵겨 나오는 것도 아니고 계속 돌기만 하는 상황이 발생합니다.

    하지만 명령어로 Cubrid changemode -f -m testDB@node b라고 입력을 하면 active로 변하면서 정상적으로 작동을 한다는 것입니다.

    혹시 임으로 stop을 해서 node A와 node B로 정상적으로 이동을 하는 것을 확인하는 것은 안되는 것인가요?

  • ?
    이용미 2014.01.07 22:06

    Stop 명령어를 이용하여 Heartbeat을 중지하셔도 HA는 정상적으로 FailOver 됩니다.

    NodeB가 to-be-active 상태에서 active로 정상적으로 넘어가지 않는 상황은 다른 문제 같은데요.

    가능하시면, Slave를 재구성하신 후 재확인 하시는 것이 좋을 것 같습니다.


    참고로, changemode 유틸리티 사용 시, 강제로 현재 상태를 변경하는 것은 권장하지 않으니 참고해 주세요.

    감사합니다.

  • ?
    알칸펠 2014.01.07 22:41

    그럼 stop 명령으로 정지를 한 경우

    cubrid changemode node B를 확인 했는데

    The Server 'node B' 's current HA running mode is to-be-acive로 나온다면 기달려야하는 것인가요

    설정은 다시 확인을 해보아도 설명서에 나온대로 설정하였습니다.

  • ?
    알칸펠 2014.01.07 22:47

    to-be-active : 스탠바이 서버가 failover 등의 이유로 인해 액티브 서버가 되기 전의 상태이다. 기존의 마스터 노드로부터 받은 트랜잭션 로그를 자신의 서버에 반영하는 등 액티브 서버가 되기 위한 준비를 한다. 해당 상태의 노드에는 SELECT 질의만 수행할 수 있다.

    설명서에도 다음과 같이 설명되있지만 select를 할수가 업습니다.

  • ?
    이용미 2014.01.07 23:09

    HA 구성 후, Heartbeat을 구동하였었고, FailOver를 수동으로 수행하신 경우라면, NodeB가 active 상태가 될때까지 기다려 주셔야 합니다.

    다만, to-be-active 상태에서 active 상태로 변경되는 것을 그리 오랜 시간이 걸리지는 않을 것 입니다.


    to-be-active 상태에서 Select가 안된다고 하셨는데, 오류가 출력되는 것은 없는지요?

  • ?
    알칸펠 2014.01.08 18:28

    다른곳에는 오류가 업고 데이터베이스 오류에 다음과 같은 오류메세지가 있습니다.

    file ../../src/connection/server_support.c, line 2569 ERROR CODE =-4 Tran = 2, CLIENT = NODE B:emgr_server(27195), EID = 1 : Has been interrupted.

    file ../../src/connection/server_support.c, line 2569 ERROR CODE =-4 Tran = 3, CLIENT = NODE B:emgr_server(27540), EID = 2 : Has been interrupted.

    뭔가 중단되어 있다는거 같은대요 이것만 보고서는 무엇을 봐야할지 알수가 없습니다.

  • ?
    알칸펠 2014.01.08 19:14

    위의 상태는 cubrid hearbeat status로 확인하면 NODE B가 state master로 되어 있고

    cubrid changemode testdb@nodeB 로 확인하면 to-be-active로 되어 있습니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 122
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4476
3242 무슨 오류인가요? 1 초보 2010.04.06 12015
3241 큐브리드 매니저 9.3.6.0006 - INSERT/UPDATE 문 생성 시, NULL 오타 2 file 차오이 2017.02.03 12010
3240 IIS 7.5 x64 / PHP 5.3 x64 / Cubrid R4.0 x64... 1 platanus 2011.06.23 12008
3239 checkdb(데이터베이스검사) 관련 질문드립니다... 2 반짝이 2012.01.10 12003
3238 오류(연결을 얻을수 없습니다.) 1 맑고푸른하늘 2011.03.25 12002
3237 lock_timeout_in_secs 값이 적용이 안됩니다. 1 태율아빠용 2013.07.30 12002
3236 MS-SQL 2008 -> CUBRID로 마이그레이션 방법.. 2 kings 2012.06.12 11978
3235 archive log 삭제 관해서 3 알칸펠 2013.11.08 11978
3234 Manager 접속오류 3 단순미학 2009.09.09 11973
3233 이미지사진파일 업로드 방법 1 우주와나 2011.10.10 11964
3232 OLEDB 에서의 DATE_FORMAT 함수 문의 4 유니콘 2010.08.16 11964
3231 큐브리드 매니저에서 UTF-8을 사용하여 데이터 입력시 글짜 깨짐 현상 1 file 이성찬 2015.06.02 11949
3230 [초보질문] 큐브리드 매니저에서 데이타베이스 종료시 에러 1 삽질중 2009.05.16 11940
3229 Cannot make connection to master server.... Bad file descriptor T.T 4 노스 2010.11.05 11937
3228 트랜잭션 교착상태 1 초보 2010.04.14 11936
3227 큐브리드와 php 연동을 할려는데 문제가?? 2 흑심품은연필 2009.07.01 11936
3226 cubrid 없이 php ext 설치를 원합니다. 2 송효진 2009.04.04 11931
3225 여러행에 걸쳐 있는 데이터를 하나의 행으로 모으는게 가능하나요? 1 dashbell 2014.02.03 11928
3224 동시접속 포트 수 문의 1 유니콘 2010.10.29 11925
» c# asp.net HA및 브로커 12 알칸펠 2014.01.07 11923
Board Pagination Prev 1 ... 34 35 36 37 38 39 40 41 42 43 ... 201 Next
/ 201

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales