Background Image
제품 여행
2009.04.16 03:59

막무가내 DBA의 DISK 장애 대처

조회 수 54783 추천 수 0 댓글 9
?

단축키

Prev이전 문서

Next다음 문서

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

2009.04.05.
드디어 올 것이 오고야 말았다.emoticon
DB장애도 아닌, application 장애도 아닌..
천재지변과 같은 hardward 장애가 오고 만 것이다.
기본적인 서비스 구성으로 replication을 통해 master - slave 로 구축해놓은 system이었다.



그런데 replication 을 구성해놓은 master 서버가.. 돌아가셨다.
정확히 말하면 master DB가 아니라 master DB의 데이터를 가지고있는 disk가.. 사라지셨다.
음? 출장가셨나? ㅡ,.ㅡ

컴퓨터에 C: D: 드라이브가 있고, 내 데이터는 D: 에 들어가있는데
어느날 갑자기 D: 윈도우 탐색기에서 사라졌을떄의 기분.. 느껴보셨쎄요?
안겪어봤으면 말을하지마세요 -_-

각설하고.
어떻게 빨리 서비스를 정상 작동시킬 수 있을까?
이렇게 문제가 발생했을 때 서비스를 정상적으로 돌리는것은 결국 master -> slave로 절체하는 시간 싸움이다.

CIBRID는 기본적으로 Broker - DBserver 구조로 되어있다.
다시 말해서
client(JDBC) -> Broker -> DBServer로 request가 전달된다.
client는 connection url이라는 string에 brokerIP, databasename을 이용하여 broker로 연결한다.
broker라는 놈은 databases.txt라는 파일에 난 어느host의 어느 database로 연결할 수있다고 설정할 수있다.



이제 요 broker-server라는.. 하등 쓸모없게 보였던놈이 진가를 발휘할 때가 온 것 같다.
(사실 broker는 생각보다 많은 일을 하지만.. 일반 사용자 혹은 개발자들은 broker가 왜 필요하냐고 묻는 사람이 태반이다)masterDB의 디스크가 출장가셨다. 연락 두절이다. 근데 slaveDB는 한국에 계신다.

음. 다른 DB같으면 master - slave로 절체하려면 어떻게 할까?

박모팀장님께 여쭈어봤다.
master 죽으면, 개발자가 application에서 configuration file의 connection url 수정해서 배포해야한단다.

CUBRID는?
이 broker라는 놈이 있는 서버의 databases.txt에서의 DB가 존재하는 host명을 slave server로 수정해주고 broker를 restart하면 끝이다.
그럼 아래 그림처럼 되겠지?




물론, 어떤 상황에서건 restart는 해야한다.
그러나 application의 connection url을 바꾸건 뭘 바꾸건
web server 대수만큼 수정해야한다. (각 config 파일은 각 web server에 존재하므로)
뭐. 일괄 수정해서 배포해주는 시스템이 있어서 상관없지않냐? 라고 할지도 모르겠다. 쿨럭.

그런데 생각해보면, 어차피 장애가 나면 DBA는 서버에 들어와서 장애 처리를 해야한다.
그때 파일 하나 수정 띡 해주면 바로 정상 서비스이다.
개발자 입장에서 볼땐 손하나 까딱 안하고 master에서 slave로 절체되어주신다.

그리고 master의 복구가 완료되어 돌아와야할 땐?
그때도 손하나 까딱 안해주셔도 벌써 다 처리가 되어있다지...?
아니면 뭐.. slave 를 그냥 master로 두고 master가 있던 서버에 slave를 구축해도 되고.
그건 DBA 마음대로 정하면 될 일이다.

장애 감지 후 처리하는데 소요된 시간은,
databases.txt 파일 수정 후 broker restart하는데 통틀어 한 10초 걸렸다.

앞으로 요 broker 라는 놈, 좀더 예뻐해줘야겠다.
어쩌면 CUBRID는 나중에 백조가 될 운명을 가진 미운오리새끼가 아닐까?
시간이 지나면, 다른 DBMS와 다르다고 놀림받고 괄시받았던 것들이
CUBRID만의 특징과 장점이 되어 세계에 이름을 떨칠지도 모르는 일이다.

요녀석. 빨리빨리 자라거라 ^^

이미지 출처 : 네이버 포토앨범
http://imagebingo.naver.com/album/image_view.htm?uid=dadayoko&bno=26185&nid=4178

  • ?
    불량감자 2009.04.16 13:30
    오홋.. CUBRID Replication이 어떤 형태로 운영이 되지는 이리 이해가 잘되도록 써주시다니.. ^^
    머리에 쏙 들어왔습니다. 감사. 감사..
  • ?
    일동차렷? 2009.04.16 18:48
    정말 쉽게 쓰셨군요. 난...Q&A란 제목으로 올라와서 질문이 뭔지 한참 찾았군요. 사용 팁이군요!! 너무 잘 썼어요~ 짝짝짝
  • ?
    brightest 2009.04.16 21:24
    머리 속에 쏙쏙 들어오는, 재미있고 유익한 글이네요~.
    웃으면서 읽다보니 어느새 내용이 파악되는~^^
  • ?
    정병주 2009.04.16 21:47
    정말 이해하기 쉽게 정리를 해 주셨네요...... ^^ 참, 프란체스카님은 "꽃보다 여자, F4? E4?"의 E4님입니다. :)
  • ?
    멜라니 2009.04.16 21:52
    이렇게 좋은 반응이..^^; 앞으로도 좋은 글 기대할께요~
  • ?
    웁쓰 2009.04.16 23:04
    브로커가 replication구조로 있을때는 상당히 좋군요.
    결국 AP의 리스타트 없이 브로커 리스타트로만 상황 종료인거 맞게 이해 한건가요?
    제대로 이해 했다면 분명히 장점이라고 해야 겠네요. : )
  • ?
    CUBRID_DEV 2009.04.17 01:51
    네..이해하신 것이 맞아요~~ 분명 장점 맞는데..cubrid 백조 될 수 있을까요?? 아직은 꽥꽥꽥꽥~~
  • ?
    zest 2009.04.22 01:32 SECRET

    "비밀글입니다."

  • ?
    admin 2009.04.24 03:59
    고가용성을 위해서는 Broker Server도 HA (Active-Standby)로 구성하면 됩니다. 결국, 가용성을 더 높이기 위해서는 비용을 투입해야 하겠죠. 일종의 trade-off...... ^^

  1. 기획연재[6] CUBRID 제품 분석 – 클릭카운터

    이번 제품 분석에서는 클릭카운터 기능에 대해서 알아보도록 한다. 인터넷 서비스 중 접속자의 관심도 등을 알아 볼 수 있는 방법으로 조회수를 확인한다. 현재 많은 인터넷 서비스에서 조회수를 이용한 관심도 및 서비스 이용량 정도를 파악하고 있다. 이를 위하여 CUBRID에서는 클릭카운터 함수를 지원한다. 클릭카운터란 인터넷 서비스 중 조회수 증가를 위한 select/update작업을 한번에 처리해 주는 기능을 말한다. 이는 사용자 정의 트랜잭션과 별도로 시스템 내부에서 사용되는 top operation이 적용되어 트랜잭션의 commit/rollback과 상관없이 데이터베이스에 자동으로 적용된다. 클릭카운터 기능을 사용하기 위해 사용하는 함수로는 INCR/DECR함수가 있다. INCR는 1씩 증가, DECR는 1씩 감소하는 함수이다. 각 함수는 select문의 최상위 구문에서만 적용되어 사용되며 sub select문에서는 지원하지 않는다. select절에 INCR 함수를 명시한 경우, COUNTER 값을 1 증가하고 질의 결과는 증가하기 전의 값으로 출력한다. 그리고, INCR 함수는 질의 처리 과정에서 참여한 행(tuple)이 아니라 최종 결과에 참여한 행에 대해서만 값을 증가시킨다. 아래는 incr함수의 사용 ...
    Date2010.06.07 Category제품 여행 Bycubebridge Views38780 Votes0
    Read More
  2. 큐브리드 글로벌 프로젝트 순항중!

    얼마 전 한 IT기자와 갖은 식사자리에서 “요즘 큐브리드는 좀 어때요? 해외 진출은 좀 성과가 있나요?”라는 질문을 받았다. “성과? 성과라면 예를 들어 어떤 것 말씀하시는 거예요? “그러니까 모 해외 어느 사이트에서 적용한다라던가 아니면, 해외 비즈니스를 함께할 파트너를 찾았다라던가… 모 그런 것 있잖아요…” “아아! 지금은 해외 파트너를 찾는다던가 아니면 고객을 잡는다라던가 그런 측면보다는 우선은 글로벌 오픈소스 업계에서 우리의 존재를 알리고 많은 관심을 갖게 하는 것이 우선적인 목표예요. 일단 물론 해외 파트너를 자처하는 업체들이 나온다면 좀 더 구체적으로 논의할 테지만, 우선은 오픈소스 소프트웨어로써, 인지도를 높이고 제품의 자발적인 참여도 높이고요.” “솔직히 국내 소프트웨어 업체 중에서 성공한 사례가 흔치 않아서, 큐브리드의 행보가 어떨지 많이 궁금합니다. 더구나 오픈소스라서 해외 진출면에서는 오히려 장점일 수도 있을 것 같고요..” 그렇다. 국내에서 오픈소스 소프트웨어 업체도 드물고, 해외 성공 사례는 더더욱이 찾기가 어려운 것이 사실이다보니, 우리가 진행하고 있는 방향이 맞는 것인지 단언하기가 어려운 부분도 있다...
    Date2010.06.05 By멜라니 Views28432 Votes0
    Read More
  3. MySQL 컨퍼런스/전시회에서 만난 큐브리드

    『 발상의 전환 』 이 필요하다는 말을 자주 듣지만, 정작 다른 방향에서 생각하고 그 것을 실천하기는 그리 녹녹하지 않은 경우가 많다. 기업의 경우는 더욱 더 그렇다. 으레, 몸에 익은 것을 버리고 조금 다른 것을 시도하기가 어려운 경우가 많은 것이 사실이다. 큐브리드는 글로벌마케팅이라는 주제를 놓고 나름 작은 발상의 전환을 시도해 보았다. 그것은 다름이 아니라, 큐브리드와는 분명 대체제(代替劑) 관계에 있는 MySQL 컨퍼런스/전시회에 큐브리드 전시부스를 떡 하니 차려놓고선, MySQL 사용자들과 파트너들에게 큐브리드를 직접 소개하는 역발상의 기회를 가져보았다. 한마디로 말하자면, ‘적진 깊숙이 침투하여 우리 목적을 달성하려고 했다’고 표현하는 게 정확할 것 같다. 목표로 했던 이번 컨퍼런스/전시회는 MySQL 사용자들이 대거 참석한다는 오랠리(O’Reilly)사의 MySQL Conference&Expo 행사로서, 4월12일부터 3일간 캘리포니아의 산타클라라에서 개최되었다. 약, 2,000여명 이상이 참석한 것으로 알려진 이번 컨퍼런스/전시회는 MySQL 을 이용하고 있는 충성도 높은 개발자들은 물론 MySQL 의 여러 파트너사에서 참석했다. 사실, 우리들은 출발하...
    Date2010.04.26 Category알려요~ Bythedot Views49109 Votes0
    Read More
  4. 올레길 체험...그리고 큐브리드의 길

    지난 2월달에 가족과 함께 제주도 올레길을 체험하고 왔다. 사실 오래 전부터 가보고 싶었지만 제주도도 해외인지라(^^) 쉽게 갈 수 있는 곳이 아니어서 계속 미루다가 마침내 실행에 옮길 수 있었다. 하지만 가는 날이 장날이라고 했던가? 제주도 날씨가 영 험상궂은 것이 아니다. 떠나기 전에 제주도 지역 폭우주의보를 인터넷에서 확인하고 좌절모드...그러나 계획을 세웠으니 출발을 강행하였고, 저녁 늦게 제주도에 도착하여 서귀포 월드컵경기장 찜질방에서 하룻밤을 보냈다. 첫째날 목표는 제7코스(외돌개 – 월평포구) 해안 올레길로 유명한 곳이다. 가족 모두 비옷을 입고, 폭우속을 헤치며 약 2시간에 1/3지점인 법환포구에 도착하였다. 맛있는 제주도 음식으로 든든한 식사를 하고 다시 출발하려니까 파도가 거의 쓰나미 수준으로 몰아치며, 법환포구에 싸이렌이 울린다. 식당 사장님께서 해일 주의보라고 알려주신다. 아이들도 있고 위험하니 오늘은 그만두라 하셔서 아쉬워하는 아이들을 달래고 내일을 기약하며 7코스를 마쳤다. 둘째날 목표는 제6코스(쇠소깍 – 외돌개) 올레길이다. 다시 시작하는 마음으로 비가 많이 와도 처음 부터 목표한 이중섭 거리(약 11Km...
    Date2010.03.19 By김상욱 Views37598 Votes0
    Read More
  5. 큐브리드, 글로벌을 꿈꾸다.

    큐브리드가 꿈꾸는 글로벌 .. 큐브리드의 글로벌에 대한 짧은 이야기를 시작하려고 한다. 우선, 글로벌이라는 단어를 떠 올리면 내 머릿속에는 모 그룹총수의 저서인 “세계는 넓고 할 일은 많다” 라는 책이 언뜻 떠오른다. 책을 읽었던 그 시절에 ‘만약, 세계를 목표를 어떤 일을 한다면 정말 열심히 그리고 제법 스마트한 머리로 지혜롭게 해야겠다’ 라는 생각을 가졌었던 것 같다. 물론, 그 점은 지금 시점에도 분명한 조건 중에 하나라고 믿고 있다. 왜냐하면, 글로벌은 생각보다 참 넓고 모르는 게 많기 때문이다. 오픈소스 DBMS 기업인 큐브리드가 글로벌에 대한 꿈을 꾸기 시작한 것은 제법 오래 되었고, 그 증거로 큐브리드는 이미 아시아국가에 제법 규모 있는 적용사례를 가지고 있다. 그렇지만, 큐브리드가 오픈소스로 체질을 전환한 후 본격적으로 해외를 바라보고 실행에 옮기는 것은 이번이 처음이다. 특히나, 큐브리드는 제한된 인력과 투자자금으로 글로벌화에 대하여 다른 기업들과 조금 다른 행보를 가려고 노력하고 있다. 큐브리드의 경우를 살펴보기에 앞서, 한국 소프트웨어 기업들의 눈높이를 살짝 열어 보면 이런 세가지 방향으로 정리할 수 있지 않을까...
    Date2010.03.18 Category시장 살펴보기 Bythedot Views30773 Votes0
    Read More
  6. 공유의 즐거움! CUBRID를 대체 누가 어떻게 쓰고 있는 걸까?

    “큐브리드는 어디에서 주로 사용하고 있나요?” “대표적인 성공사례가 어디 어디인가요?” 큐브리드에 관심을 갖고 오픈소스 DBMS에 관심을 갖는 사람들이 주로 하는 질문이다. “네이버에서도 약 50여개의 대내외 서비스에도 사용되고 있고, 국세청, KTH, 신도리코, 이스트소프트 등이 주요 고객이고요, 이 외에도…” 이러한 대화속에서 늘 궁금한 것이 있다. 사실 OSS의 주요 지표로 적용확산수를 카운트 함에 있어 실제 사용고객을 정확히 분석하기란 쉽지 않다. 제품 라이선스 특성상 제품 다운로드시 로그인이나 인터페이스의 경우 오픈 공개 의무가 없는 BSD 정책을 가져가고 있기 때문에 사실 큐브리드가 어떻게 얼마나 쓰이는지 정확히 파악이 불가능하기 때문이다. 오픈소스 선언 이후 약 1년 남짓 지나면서 여러 글을 통해 혹은 기사를 통해 큐브리드의 성과에 대해 이미 많은 사람들이 인지하고 있는 것 같다. 라이선스 매출에 따른 매출 중심의 목표치보다는 큐브리드를 얼마나 확산했느냐에 따른 지표로 다운로드 숫자를 주요 KPI로 설정하면서 사실 적지 않게 보람도 느끼고 발전을 해 왔지 않았나 생각이 된다. ‘OSS이면서 실제 사용자를 파악하는 것이 왜 중요할까...
    Date2010.03.09 By멜라니 Views39115 Votes0
    Read More
  7. 기획연재[5] CUBRID 제품 분석 – CUBRID서비스 제어

    이번 시간에는 CUBRID 서비스 제어에 대해서 간략하게 소개하도록 하겠다. 이전 제품여행을 탐독(?) 했던 독자들은 CUBRID 구조에 대한 내용을 기억하고 있을 것이다. 다시 간략하게 상기 시킨다면 아래와 같다. 1. Database서버 – 데이터가 저장 2. Broker – CUBRID와 AP를 연결해 주는 미들웨어 3. CUBRID Manager Server – CUBRID와 Broker를 관리해 주는 관리 프로그램 위에 소개된 부분은 각각의 구동이 가능한 CUBRID의 제품군들이다. 각각의 제어 방법을 소개하면 아래와 같다. 1. Database서버 구동/정지 – cubrid server start <db_name>/cubrid server stop <db_name> 2. Broker 구동/정지 – cubrid broker start/cubrid broker stop 3. CUBRID Manager Server 구동/정지 – cubrid manager start/cubrid manager stop 하지만 위와 같이 각각의 구동은 잘 사용하지 않는다. CUBRID에서는 위의 각각의 작동을 한번에 제어하는 명령어를 제공하고 있으며 이를 좀더 효율적으로 사용하기 위한 몇 가지 parameter설정 방법을 알려주도록 하겠다. 현재 CUBRID 서비스를 일괄 구동하기 위한 방법은 “cubrid service start”라는 명령어를 통하여 이루어진다. 그렇다면 “cubri...
    Date2010.03.03 Category제품 여행 Bycubebridge Views36313 Votes0
    Read More
  8. CUBRID 다운로드 7만건 돌파

    2010 벤쿠버 동계 올림픽 스피드 스케이팅에서 기대하지 않았던 메달 소식 – 이승훈, 모태범, 이상화 - 에 하루 하루 기쁨을 느끼고 있습니다. 대한민국 선수들 정말 대단하고 훌륭합니다! (아래 이미지 출처: 네이버) 어제 날짜로 CUBRID 누적 다운로드가 7만건을 돌파했습니다. 2006년 6월 무료 라이선스 정책을 선언하고 다운로드가 시작된 지 3년 8개월(44개월)만에 달성된 숫자인데, 처음 29개월 동안 약 3만건이 다운로드 되었으며, 오픈소스 DBMS로 전환된 2008년 11월 이후 15개월 동안 4만여건 다운로드 되었습니다. 오픈소스 DBMS로 전환되기 전에는 월 평균 1,000건 정도 다운로드가 되었는며, 이후에는 월 평균 2,700여건 다운로드 되어 약 160% 정도 성장을 하였습니다. [2010년 2월 다운로드 수는 2월 18일자 기준임] 현재의 추세대로 다운로드가 지속된다면 금년 연말에는 10만건 돌파가 가능할 것 같습니다. 대한민국 개발자 파이팅! CUBRID 파이팅!
    Date2010.02.19 Category알려요~ By정병주 Views50705 Votes0
    Read More
  9. 아이폰용 CUBRID 애플리케이션

    지난 2년 동안 삼성전자 M4650 단말기를 사용하다가 지난 주말에 아이폰을 구매했습니다. 단말기 교체 시기도 되었고 작년 말부터 불기 시작한 스마트폰 광풍 – 특히, 아이폰 - 에 편승하여 직접 체험을 해 보기 위함이었습니다. 사실 아이폰은 국내 시장에 강한 충격파를 제공했으며, 삼성전자 옴니아2 단말기와의 경쟁 구도가 그려지면서 언론을 통해 엄청난 조명을 받기도 했습니다. 실례로, 아래 차트는 네이버 뉴스에서 “옴니아”와 “아이폰” 2개의 키워드로 검색한 결과이며, 아이폰의 경우 지난 달에 5천건 이상의 기사가 언론 매체를 통해 노출되었습니다. 판매 측면에서도 아이폰은 지난해 11월 28일 국내 출시 후 두달 만에 30만대 정도가 판매되었으며, 작년 스마트폰 전체 판매 대수가 75만대임을 감안하면 대단한 성공이 아닐 수 없습니다. (참고로, 금년에는 4백만대를 예상하고 있음) 아이폰 구매 후 몇 일 사용해 보니 직관적인 유저 인터페이스를 통한 사용 편의성과 애플 앱스토어에서 제공하는 10만개 이상의 애플리케이션이 새로운 경험을 느끼게 하였으며, 작년 9월말 20억 건의 다운로드를 돌파한지 3개월여 만에 10억 건이 추가된 것은 경이적인 기록이 ...
    Date2010.02.05 Category알려요~ By정병주 Views47941 Votes0
    Read More
  10. 객체관계형 데이터베이스는 왜 성공하지 못한건가요?

    이틀 전 큐브리드닷컴 자유게시판에 "객체관계형데이터베이스는 왜 성공하지 못한건가요?"라는 제목으로 문의가 올라왔습니다. 처음에는 댓글 수준에서 간단하게 답변을 드릴까 했었는데 좀더 상세하게 설명을 드리는 것이 좋을 것 같아 정리를 해 보았습니다. 하지만, 제가 개발자나 엔지니어가 아니기 때문에 기술적인 관점보다는 전체적인 시장 관점에서 정리를 하였으며, 다른 시각 혹은 관점이 있을 수 있다는 전제하에서 출발을 하고자 합니다. 우선, 객체관계형(Object-Relational) 데이터베이스에 대해서 살펴보면, ORDB의 연구는 마이클 스톤브레이커 박사와 같은 선구자들에 의해 1980년대에 진행되었으며, 기존 관계형(Relational) 데이터베이스 개념에 객체 개념을 추가한 것입니다. 따라서, 객체지향형(Object-oriented) 데이터베이스와 달리 관계형 데이터베이스의 “편의성(표준 SQL 지원)과 성능을 계승”하고, 객체 개념을 통한 “모델링 장점”이 포함되어 있습니다. 1980년대의 리서치 이후 1990년 초중반에 상용화 제품들이 나오기 시작하는데, 대표적인 제품 중에 하나가 일러스트라(Illustra) - 일러스트라의 모태는 UC Berkeley의 Postgres 리서치 프로젝트...
    Date2010.01.30 Category시장 살펴보기 By정병주 Views44448 Votes0
    Read More
Board Pagination Prev 1 ... 6 7 8 9 10 11 12 13 14 15 16 Next
/ 16

Contact Cubrid

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