[오픈소스컨설팅]초간단 Cubrid HA구성

1,588 views
1,335 views

Published on

운영용도가 아닌 테스트 용도의 초간단 큐브리드 데이터베이스 HA 구성 방법에 대한 가이드 문서입니다.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,588
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
36
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

[오픈소스컨설팅]초간단 Cubrid HA구성

  1. 1. Confidential Last printed on 8/28/2013 9:06:00 AM 초간단 CUBRID HA 구성 Project Name: Open Source Consulting,Inc. Internal Department: Database Team Focus Area: Product/Process: CUBRID 9.1 Prepared By: Document Owner(s) Project/Organization Role Dong-Hyun Lee Database Engineer Project Status Report Version Control Version Date Author Change Description 1.0 2013/08/24 Ji-Woong Choi Document created [Version #] [mm/dd/yy] [Change owner]  [Change 1]  [Change 2]  [Change n]
  2. 2. Configuration Report Confidential Page 2 8/28/2013 TABLE OF CONTENTS 1. 본 문서의 목적.................................................................................................................................. 3 1.1 Cubrid 설치.................................................................................................................... 3 1.1.1 Cubrid 계정 생성하기 ................................................................................................. 3 1.1.2 다운로드 받기 ............................................................................................................. 3 1.1.3 설치하기.................................................................................................................... 3 1.2 CUBRID HA 구성........................................................................................................... 4 1.2.1 HA configure 설정.................................................................................................... 4 1.2.2 마스터 서버 기동 ......................................................................................................... 7 1.2.3 슬레이브 기동 ............................................................................................................. 9 2 APPENDICES ........................................................................................................................ 11 2.1 Document Guidelines................................................................................................. 11 2.2 Project Migration Report Sections Omitted................................................................ 11
  3. 3. Configuration Report Confidential Page 3 8/28/2013 1. 본 문서의 목적 본 문서의 목적은 초간단 CUBRID 데이터베이스의 HA 구성 방법을 설명한 문서입니다. 잘못된 부분이나 수정해야 할 사항이 있으면 support@osci.kr 로 메일을 주시면 소정의 기념품을 보내드립니다. 1.1 Cubrid 설치 1.1.1 Cubrid 계정 생성하기 리눅스 버전의 cubrid 의 경우 cubrid 를 설치 실행할 cubrid 계정이 필요합니다. root 계정으로 설정시 설치/실행되나 원격에서 접근이 되지 않습니다. (아직까지 정확한 이유는 모르겠습니다;;) 1.1.2 다운로드 받기  Cubrid.com 로 이동  red 화살표와 같이 다운로드 메뉴를 이용하면 다운로드 페이지로 이동하여 다운로드 받을 수 있습니다.  blue 화살표의 바로가기 메뉴를 이용하면 바로 다운로드 받을 수 있습니다. 1.1.3 설치하기 다운로드 받은 파일 CUBRID-9.1.0.0212-linux.x86_64.sh 을 cubrid 계정으로 이동합니다. 아래 명령어를 수행합니다. prompt> sh CUBRID-9.1.0.0212-linux.x86_64.sh
  4. 4. Configuration Report Confidential Page 4 8/28/2013 명령어를 수행하여 화면에서 요구하는 사항들을 입력해줍니다. GPL 라이선스 설명하는 화면에서 “q” 설치 위치 지정 설치완료 설치에 성공하면 위 스크린샷처럼 성공메세지가 나오고 완료됩니다 아래 명령어를 수행하여 cubrid 환경설정을 적용합니다 prompt> . /home/cubrid/.cubrid.sh 1.2 CUBRID HA 구성 위 설치 과정을 서버 두 대에 동일하게 설치합니다. 1.2.1 HA configure 설정 마스터, 슬레이브 두대 다 동일한 설정을 합니다. 서버의 hosts 파일에 ha 구성에 사용될 서버들의 host 정보를 등록해줍니다. 테스트를 위해 임시적으로 설정하는 방법입니다. prompt> hostname home-master 영구적 설정이 아니기 때문에 테스트시에만 사용하시기 바랍니다.
  5. 5. Configuration Report Confidential Page 5 8/28/2013 prompt> cd cubrid user home directory / cubrid / conf directory 로 이동합니다.
  6. 6. Configuration Report Confidential Page 6 8/28/2013 conf directory 아래에 있는 cubrid.conf 파일을 수정합니다. # Service parameters [service] service=server,broker,manager # Common section [common] service=server,broker,manager # Server parameters server=testdb data_buffer_size=512M log_buffer_size=4M sort_buffer_size=2M max_clients=100 cubrid_port_id=1523 db_volume_size=512M log_volume_size=512M # HA 구성 시 추가 (Logging parameters) log_max_archives=100 force_remove_log_archives=no # HA 구성 시 추가 (HA 모드) ha_mode=on conf directory 아래에 있는 cubrid_ha.conf 파일을 수정합니다. [common] ha_port_id=59901 ha_node_list=cubrid@home-master:home-slave ha_db_list=testdb ha_copy_sync_mode=sync:sync ha_apply_max_mem_size=500 ha_node_list 에 HA 를 구성할 서버들의 hostname 을 등록해줍니다. 위 설정에서는 두 대만 등록되어 있지만 노드들이 더 있다면 계속해서 등록해 줍니다. HA 구성에서 사용될 데이터 베이스를 생성해 줍니다. 데이터베이스는 어느 곳에 만드셔도 상관없습니다만, 데이터베이스가 위치할 directory 에 가셔서 createdb 명령을 수행해야 합니다.
  7. 7. Configuration Report Confidential Page 7 8/28/2013 prompt> mkdir cubrid/databases/testdb prompt> cd cubrid/databases/testdb prompt> cubrid created testdb 데이터베이스가 생성되었다면 해당 데이터베이스를 ha 구성에서 사용하도록 databases directory 아래 databases.txt 를 수정하여 database 정보를 업데이트 해줍니다. prompt> cd cubrid/databases prompt> cat databases.txt #db-name vol-path db-host log-path lob- base-path testdb …/testdb localhost …/testdb/log file:/home/… testdb …/testdb home-master:home-slave …/testdb/log file:/home/… 1.2.2 마스터 서버 기동 prompt> cubrid heartbeat start Step 1
  8. 8. Configuration Report Confidential Page 8 8/28/2013 copylogdb, applylogdb, ha processes 가 정상 기동되는지 확인합니다. ha 구성된 서버들의 상태를 확인합니다. 데이터베이스 상태를 확인합니다. Step 2 Step 3 Step 4 기동이 완료되면 마스터서버의 상태를 아래 명령어를 이용해 확인해 봅니다. prompt> cubrid changemode testdb@localhost
  9. 9. Configuration Report Confidential Page 9 8/28/2013 위 스크린샷처럼 서버의 상태가 active 상태로 확인이 되야 합니다. 네트워크 상황이나 데이터베이스가 정상적으로 생성되지 않았다면 서버가 active 상태가 되지 않습니다, step1~4 중간에 멈춰버립니다. 1.2.3 슬레이브 기동 마스터가 정상적으로 기동된 뒤 슬레이브를 기동합니다. Step 1 슬레이브가 정상 기동되면 마스터까지 승격되지 않고 슬레이브 상태에서 멈춥니다. 슬레이브서버의 상태를 아래 명령어를 이용해 확인해봅니다 prompt> cubrid changemode testdb@localhost 스크린샷처럼 슬레이브 서버는 stanby 상태가 됩니다. 마스터와 슬레이브 서버가 모두 기동되었고 정상적으로 구성되었다면 복제 테스트를 합니다. 데이터 조작은 마스터 서버에서 실행합니다. 슬레이브 서버에서 실행하면 아래와 같이 에러를 출력합니다. 마스터 서버에서 아래 명령어를 수행해 봅니다. csql -u dba testdb@localhost -c "CREATE TABLE auto_tb2 (id INT AUTO_INCREMENT, name VARCHAR);"
  10. 10. Configuration Report Confidential Page 10 8/28/2013 슬레이브 서버에서 복제되었는지 확인해 봅니다. 복제가 된 것을 확인하실 수 있습니다. 이 구성상태에서 마스터를 cubrid 를 종료 시키면 슬레이브가 마스터로 승격됩니다. 그리고 마스터를 복구하면 마스터 서버는 슬레이브로 추가됩니다. 해당 구성 테스트에 사용된 리눅스 서버 두대의 방화벽은 stop 되어 있는 상태에서 테스트하였습니다. 복제시 규약사항들이 있습니다. 아직 다 파악하지는 못하였지만 해당 규약들을 잘 숙지해야 될 것 같습니다. 이상으로 간단하게 CUBRID HA 구성을 구현해보았습니다.
  11. 11. Configuration Report Confidential Page 11 8/28/2013 2 APPENDICES 2.1 Document Guidelines CUBRID HA 제약사항 http://www.cubrid.com/manual/91/ha.html#id26 2.2 Project Migration Report Sections Omitted N/A

×