테크박스

MySQL 인스턴스에 대한 백업과 복구
MySQL 인스턴스에 대한 백업과 복구

2017.10.11   관리자  

...되었다는 것을 전제로 합니다. 오라클 클라우드 계정을 신청 MySQL Cloud Service 서브스크립션 구매 Oracle Cloud Service 인스턴스에 등록할 보안키를 생성 Oracle Cloud Service 인스턴스 생성 완료 선행 작업이 완료되지 못한 상태라면 다음 문서를 참조하여 먼저 준비하시고 다음으로 넘어가시기...

자세히 보기

서버 이중화(HA) 솔루션에 대하여 (RoseHA)
서버 이중화(HA) 솔루션에 대하여 (RoseHA)

2017.07.24   관리자  

서버 이중화(HA) 솔루션에 대하여   1. 서버 이중화(HA- High Availability) 솔루션의 필요성. 많은 고객사의 IT관리자 분들은 현재의 IT서비스의 연속성을 지속적으로 유지하는 방안에 대한 고민을 한번쯤 하게 된다. 그에 따라, 서버 다운타임 최소화, 백업, 가용성 유지 등으로 정보 검색을 하다 보면, 마지막에 만나게 되는 단어가 “서버 이중화”, “서버 HA”등이 될 것이다. HA(High Availability)를 간단히 한국어로 직역을 하자면 “고가용성” 이라고 말하기도 하는데, Wiki의 정리 내용은 아래와 같다. “고가용성(高可用性, HA, High Availability)이란 서버와 네트워크, 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 말한다. 고(高)가용성이란 “가용성이 높다”는 뜻으로서, “절대 고장 나지 않음”을 의미한다. 고가용성은 흔히 가용한 시간의 비율을 99%, 99.9% 등과 같은 퍼센티지로 표현하는데, 1년에 계획 된 것 제외 5분 15초 이하의 장애시간을 허용한다는 의미의 파이브 나인스(5 nines), 즉 99.999%는 매우 높은 수준으로 고품질의 데이터센터에서 목표로 한다고 알려져 있다. 하나의 정보 시스템에 고가용성이 요구된다면, 그 시스템의 모든 부품과 구성 요소들은 미리 잘 설계되어야 하며, 실제로 사용되기 전에 완전하게 시험되어야 한다.” “고가용성 솔루션을 이용하면, 각 시스템 간에 공유 디스크를 중심으로 집단화 하여 클러스터로 엮어지게 만들 수 있다. 동시에 다수의 시스템을 클러스터로 연결할 수 있지만 주로 2개의 서버를 연결하는 방식을 많이 사용한다. 만약 클러스터로 묶인 2개의 서버 중 1대의 서버에서 장애가 발생할 경우, 다른 서버가 즉시 그 업무를 대신 수행하므로, 시스템 장애를 불과 수 초에서 수 분 안에 복구할 수 있다.” 위의 내용으로 간단히 HA솔루션을 설명하면, 서버 2대를 통해 한쪽 서버가 장애 시 다른 한쪽 서버가 해당 서비스를 대신 운영하여 가용성을 높이는 솔루션이라고 생각 하면 되겠다. 2. 이중화 HA 솔루션이 갖추어야 할 기본 기능 HA 솔루션은 서비스 가용성을 높이기 위한 솔루션으로 기본적으로 아래와 같은 기능을 반드시 갖추어야 한다. A. 데이터 복제 기능 기본적으로 HA 구성된 서버 중 1번 서버가 장애가 발생시, 2번 서버가 대상 서비스를 바로 서비스를 하기 위해서는 양쪽의 데이터는 항상 100% 동일 해야 하는 무결성을 보장 해야 한다. 이러게 DATA를 동일하게 맞추기 위해서는 데이터 복제 즉, Data Replication 기능이 반드시 필요하다. B. 장애 감시 기능 앞에서 설명한 서버 HA구성시 1번 서버는 서비스 운영을 맞게 되며, 2번 서버는 1번 서버가 장애 발생시 서비스를 운영하기 위한 대기 생태로 구성이 된다. 이러한 구성은 Active – Stand By HA 구성이라고 한다. 그렇다면, 장애 발생을 감지하기 위한 소프트웨어 로직이 필요하다. 장애 발생은 크게 세가지 관점에서 볼 수 있다. 1.네트워크 장애 2.OS 및 서비스 프로그램(프로세스) 장애 3.서버 하드웨어 장애 상기와 같은 장애를 감시할 수 있는 장애 감시 Agent는 각 서버에 설치가 되며 이러한 Agent는 1번 서버와 2번 서버에 각각 설치되어, 자기 자신의 서버의 장애 포인트 감시 및 크로스로 1번 서버는 2번 서버를 감시, 2번 서버는 1번 서버를 상호 감시(Heartbeat Check) 하여 고가용성을 유지하게 된다. 이러한 로직은 서비스의 HA(고가용성)을 유지하기 위해 반드시 필요하며, 현재 운영중인 서비스 중인 1번 서버의 상기 문제 발생시 2번 서버로 서비스가 자동전환(Fail-Over) 되기 위해 필수적인 기능이다. 3. HA솔루션 기능의 장단점. A. HA솔루션의 장점은 필요시 위에서 말한대로 서비스의 연속성을 보장 할 수 있다는 것이다. 그 이하도 그 이상도 아니다. B. 단점은 데이터가 실시간 복제가 된다는 것이다. 이것이 무슨 말이냐? 앞에서는 반드시 필요한 기능이라고 하지 않았냐? 라고 반문할 수 있지만, 답은 아래와 같다. 실시간 DATA가 복제가 된다는 의미는 실수로 반영된 데이터 또는 바이러스 감염된 파일도 복제가 되어 2번 서버의 시스템 또한 감염 및 전이 될 수 있다는 것이다. 이러한 단점을 보완하기 위해서는 백업 솔루션을 추가 도입을 해야 할 수 있다. 즉, 최종적으로 DATA 나 시스템이 훼손 되었을 때는 해당 문제가 2대의 서버에서 동일하게 발생되므로, 시스템 및 DATA를 최종 보존을 하고 싶다면 백업을 고려 해야 한다. 추가적으로, 많은 분들이 HA가 백업의 대안 또는 더 높은 기술로 알고 있지만, 그것을 잘못된 생각이다. 정확하게는 각 솔루션 별 추구 하는 최종 목적이 다르다고 생각하면 되겠다. HA는 서비스의 연속성을 유지하기 위한 최적의 솔루션이며, 백업 솔루션은 어떠한 상황에서도 원하는 데이터를 복원 하여 데이터의 Lift Cycle을 보장 해줄 수 있는 솔루션이다. 4. 다양한 HA 솔루션에서 어떠한 솔루션을 선택 해야 하는가? HA 솔루션은 많다. 그리고 기본 컨섭은 동일하다. 그렇다면 어떤 것을 우선적으로 비교하고 도입을 검토 해야 할 것인가?? 뻔한 얘기지만 나열해 본다면 아래와 같다. A. 각 벤더 별 제품 기능 및 제품 관리 UI 비교 HA 솔루션의 기본 기능은 동일 하나, 각 제품별 특화된 기능은 존재한다. 이러한 특화된 기능이 실제적으로 우리 회사의 환경에 적합한지를 검토 해야 한다. 그리고, 솔루션의 원활한 운영을 위한 User Interface 또한 원격 데모 등을 통해 직접 확인을 해야 한다. 실제적으로 좋은 기능이 모두 된다고 대부분 표현을 하지만, 되지 않거나 어렵게 구현되는 경우가 많기 때문이다. B. 제품 Vender 社의 연혁. 각 솔루션 별 선두 벤더와 선두를 뺏으려는 벤더가 있기 마련이다. 제품의 완성도는 단기간에 할 수 없으므로, 벤더사의 연혁과 제품 개발여력 및 인지도 등 다양한 부분을 꼼꼼하게 살펴 봐야 한다. 이러한 꼼꼼함이 제품 도입 후 장기간 해당 제품의 운영의 만족도를 높일 수 있다. C. 파트너사의 연혁 두번째, 아니 첫번째로 중요하게 살펴 봐야 하는 것은 파트너사의 연혁이다. 파트너 사에서 컨설팅 능력 및 기술 지원 능력은 고객사에서 초기 구축 및 지원을 받을 때 매우 중요한 부분이다. D. 기술지원의 체계 국내 HA솔루션 관련 업체 분류는 세 분류로 나뉠 수 있다. HA솔루션의 세일즈 및 기술지원을 모두 할 수 있는 파트너와, 컨설팅을 주로 하는 파트너, 그리고 일반 리셀러로 분류 할 수 있다. 이러한 세 분류의 파트너와의 미팅 시 꼭 확인 해야 할 부분은 기술 지원의 체계는 어떻게 되어 있는지 상세 확인이 필요하다. 1. 납품 후 무상 유지보수 기간 2. 유지보수 지원 레벨(1년 24시간 장애 접수 및 지원, 또는 근무시간내 지원) 3. 레벨에 따라 벤더 또는 파트너의 전용 기술센터 운영 여부 E. 도입사례 대부분 HA 솔루션별 도입사례(레퍼런스)는 많이 보유하고 있다. 따라서, 각 제품의 레퍼런스 중 자신의 회사 환경과 가장 비슷한 사례에 대해 미팅을 하면서 구성 및 운영에 대한 부분을 체크하여 해당 제품이 회사 환경에 최종적으로 적합한지 검토 한다. F. 가격 비교 모든 제품이 그렇지만, HA솔루션도 각 경쟁사별 제품별 가격차이가 있다. 여기서 중요한 것은 무조건 싼 것이 아니라, 1차적으로 자신의 회사에서 적합한 기능을 가지고 있는 제품 몇가지를 선정 후 최종 각 제품별 가격을 비교하여 회사의 예산에 최적화 된 제품을 선택 하도록 한다. 여기 까지가 제가 알려드리는 HA솔루션에 대한 정보이다. 저도 본업이 세일즈다 보니 마지막에는 약(솔루션)을 판매해야 하는 숙명적 과제를 가지고 Rose Datasystems 社의 Rose HA 라는 제품을 설명 드리고자 한다. 5. Rose HA의 Vender 社 소개 및 타제품과의 차별 우위 점. A. 제품 Vender 社 – Rose Datasystems 소개 Rose Datasystems은 마이크로 썬(SUN)으로 부터 독립하여 1993년 3월 미국 실리콘 벨리에 Rose Datasystems Inc. 설립후 20년 이상 Windows, Linux, Unix 플랫폼의 데이터 및 서비스 보호는 물론 재난복구 확장에 이르는 HA/DR IT Continuity 통합 솔루션을 제공하는 글로벌 소프트웨어 벤더로 2001년 윈도우와 리눅스 환경에서 실시간 데이터 복제 기술과 데이터 재해 복구 솔루션인 Rose 제품을 출시했다. 또한 전세계 최대 소프트웨어 R&D 센터를 운영하고, 제품에 대해 고객사별 요구사항에 대해 별도 커스터마이징 서비스 제공하고 있으며, 미국, 영국, 독일, 일본, 대만, 중국, 홍콩, 인도 등에 12만 명의 고객을 가진 가장 안정적인 HA 소프트웨어인 Rose HA를 개발 공급하고 있다. 산업별로는 공공, 금융, 제조, SMB 전 영역에 걸쳐 제품 설치 및 지원이 광범위하게 이루어지고 있으며 2015년 현재 전세계에서 단일 HA 소프트웨어로는 가장 많은 고객을 가진 글로벌 HA 솔루션 Vender社 이다.(+150,000 copy 라이선싱 ) B. Rose HA 의 타 경재 제품과의 차별 우위점. 하드웨어 Raid 기술을 통한 디스크 장애시 복구에 대한 가용성 높여주는 기술을 HA 1세대라고 표현 한다면, 1번 서버의 데이터를 2번 서버로 복제 및 장애 발생시 수동 서비스 2번 서버로 절체(전환) HA를 2세대 라고 한다. 3세대 HA는 이러한 서비스 수동 전환을 장애를 실시간 감지 및 2번 서버로 서비스 자동 전환(Auto Fail Over) 을 해줄 수 있고, 4세대 HA 솔루션은 이런 기능을 모두 포함하고, 아래와 같은 기능을 추가적으로 탑재된 솔루션을 일컫는다. i.Rose HA에 탑재된 4세대 HA 솔루션의 추가 기능 1. 사전 시스템 Hang 대처 System “Hang”이란 프리징(freezing) 또는 “응답없음” 으로 표현하기도 하는 상태이며, 시스템이 입출력에 대한 아무런 반응을 하지 않는 상태로써 시스템 운영이 불가능한 상태를 의미한다. 즉, 응용 프로그램의 프로세스는 살아 있지만, 서비스가 불가능한 상태이다. 이러한 상태일 때 기존 HA솔루션의 감시 Agent는 프로세스가 살아 있으므로, 2번 서버로 Fail Over 하지 못한다. 그러나 Rose HA에서는 사전 시스템 Hang 대처 기능을 통해 이런 상황이 발생시 2번 서버로 Fail Over 하여 서비스 연속성을 지속 시킬 수 있다. 2. DATA 시점 백업 및 복구(Point-In-Time Rollback) 기능 앞서 기존 HA솔루션의 단점을 말씀 드렸 듯이, 데이터 복제 과정에서 1번서버의 손상된 데이터 또는 바이러스에 감염된 데이터 역시 실시간으로 함께 2번서버로 복제가 되는 문제를 해결 할 수 있는 솔루션이 필요하였고, Rose HA 에서는 DATA 시점 백업 및 복구(Point-In-Time Rollback) 기능을 통하여 손상 이전의 시점으로 DATA를 복구 시킬 수 있다. 3. 통합 모니터링 관제 기존 HA솔루션 대부분은 2대의 서버에 대한 가용성을 높이는 부분에 기능이 맞추어져 있다. 그러나 예전과 다르게 서버 환경의 복잡성이 높아지고 고가용성을 원하는 서비스가 많아 짐에 따라, 다수 구성된 HA 솔루션 환경의 서비스 모니터링 요구도 높아지게 되었다. 그에 따라 Rose HA 에서는 HA Control Center 라는 모니터링 솔루션을 제공하여 관리의 효율성을 높였다. 6. 마치며…. 언젠가는 꼭 써야지 했던 HA솔루션 소개 포스팅을 마치게 되어, 밀린 숙제를 다한 상쾌한 기분이다. 상업적인 내용이 있는 부분은 대해서는 이해를 부탁드리며 기존에 다 알고 계신 분도 있으시겠지만, HA 솔루션이 이렇게 변화되고 있다는 트랜드 정도로 생각 해주시길 바란다. 다음이 언제가 될 지 모르겠지만, HA 솔루션 보다 가용성을 높이는 FT(Fault Tolerance) 솔루션 즉, 고가용성 무중단 솔루션에 대해 소개해 보도록 하겠다.(희망사항) 끝으로, 긴 내용을 읽어 봐주신 여러분께 감사드립니다. ^^

자세히 보기

GCP(Google Cloud Platform) 사용기
GCP(Google Cloud Platform) 사용기

2017.07.28   internet  

소프트웨어인라이프에 입사하고 회사에 인프라팀(혹은 시스템팀)이 없는 것이 신기했습니다. 그리고 이런 생각도 들었습니다. Docswave 서비스의 인프라자원은 누가 어디에서 관리하는 거지? Docswave는 구글기반의 업무 서비스라는 특성과 함께 모든 인프라자원도GCP(Google Cloud Platform)에서 관리되고 있었습니다.  처음에는 ‘굳이 해외 서비스를 이용할 필요가 있을까?’라는 생각도 들었지만 개발을 하다보니 GCP는 생각보다 많은 장점이 있었습니다. 이번 글에서는 Docswave를 개발하면서 알게 된 GCP의 장점을 설명드리고자 합니다.   1. 서비스의 자유로운 확장  Docswave도 개발 초기에는 최소한의 인프라만가지고 시작했다고 합니다.(사실, 클라우드가 무조건 싼 것은 아닙니다. 자원을 많이 쓰면 생각보다 많은 비용이 나옵니다.) 그런데 몇 개월이 지나고 사용자가 늘어나면서 자원을 확장 할 수 밖에 없었습니다. 자원을 확장한다는 것이 처음에는 어렵게 느껴졌었으나 GCP에서는 생각보다 간단한 작업이었습니다.   만약 메모리가 부족하면 메모리량을 설정으로 간단하게 늘려주고 재부팅해주면 끝입니다. 제가 전에 근무했었던 ㅇㅇ기업에서는 이런 경우 비싼돈을 주고 서버를 재구성하거나 실제 메모릴를 새로 장착해야만 했었습니다. 그에 비하면 GCP는……..사랑입니다. 2. 편리한 모니터링 StackDriver GCP에서는 StackDriver라는 모니터링 툴을 기본으로 제공합니다. StackDriver는 GCP에서 운영되는 Docswave 서버들의 상태를 측정해서 위험이 감지될 경우 알림 메일을 발송해줍니다.  아래 이미지를 보면……음….제가 개발을 이상하게 해서 CPU가 괴로워하고 있네요. 하지만 아직까지 StackDriver는 detail한 부분에서 부족함이 있습니다. 서버의 상태에 대해서는 어느정도 만족스러운 모니터링이 가능하지만 서비스상에서의 에러들까지 모니터링을 해주진 않기 때문입니다. 그래서 서비스상에서의 에러부분들까지 체크를 하기 위해서는 New Relic 같은 서비스를 추가로 이용해야 합니다. Docswave는 현재 New Relic을 이용하고 있는데 개발자가 아주 무안할 정도로 디테일한 에러까지 잘 잡아줍니다.   3. Google Cloud SQL는 널리 데이터베이스를 이롭게 합니다. GCP를 확인하고 난 뒤에 데이터베이스가 궁금해졌습니다. 아마 GCP의 서버중 하나에 있겠죠?  필자 : 팀장님, MYSQL 서버는 없나요?  팀장 : 응 없어 없다니… 저희 서비스는 데이터베이스가 없는걸까요? 그게 아니라 Cloud SQL이라는 데이터베이스를 사용합니다. MySql기반으로, 구글이 커스터마이징 하여 클라우드서비스로 손쉽게 사용할 수 있도록 제공해 줍니다.   Cloud SQL은 데이터베이스를 사용하면서 필요한 보안, 장애조치, 리플리케이션, 백업 모두를 제공해주는 서비스입니다. 데이터베이스관리도 구글이 해주니 안심이죠. 용량이 모자라면 그냥 늘려주고 재부팅하면 끝이에요. 리소스 모니터링도 자세하게 해줍니다. 모니터링 중 CPU 사용율이 아래 그림처럼 점점 높아지는 상황이 있었어요. 으악! CPU가 100프로가 넘다니!  Cloud SQL이 힘들다고 신음하는 그래프를 보고 바로 튜닝작업에 들어갈 수 있었고 문제를 빠르게 해결할 수 있었습니다.   4. 이미지 저장은 Cloud Storage에서 웹서버를 운영하면서 필요한 이미지파일 또한 GCP에 저장 됩니다. 이를 위해 특화 된 서비스가 바로 Cloud Storage 입니다. 일반 컴퓨터의 하드디스크를 만드는 것 처럼 폴더 만들고, 파일 넣어서 편리하게 사용하실 수 있어요. 물론 API로 웹서버에서 파일을 제어하는것도 가능합니다. 보안도 간단히 해결하실수 있어요. 일반적으로 Cloud Storage에 저장 된 파일은 공개 되지 않지만, 웹서버에서 필요한 이미지를 공개하려면 ‘공개 링크’를 클릭하시면 됩니다. 그럼 외부에서도 접속가능한 URL이 공개 되고, 이를 통해 이미지 링크를 걸 수 있죠. 또한 사용자 별로 권한 제어가 가능하고, 비인가 사용자에게도 일정시간 사용할 수 있는 인증토큰을 부여해서 Cloud Storage의 접근제어가 가능합니다. Prologue GCP로 시작해서 GCP로 끝났네요. 사실 Docswave 개발팀에서 일을 하기 전까지 저는 Cloud에 관심만 있었지 실제로 Cloud를 사용해본 적이 없어서 구체적으로 Cloud의 장점을 잘 몰랐습니다. 제가 GCP를 이용하면서 가장 편리하다고 느낀점은  개발자가 개발에만 집중할 수 있는 환경이 마련된다는 것입니다. 개발자가 부가적인 삽질을 안 하고 코딩에 집중할 수 있을 때 개발능력도 빠르게 성장할 수 있다고 생각하기 때문입니다. 혹시 Cloud 서비스를 이용해보신적이 없으시다면 AWS나 GCP를 꼭 한 번 이용해보시기를 권해드립니다. AWS나 GCP 모두 Trial을 제공하고 있으니 비용적인 부담도 없습니다.(이메일이 여러개 있으시다면 Trial을 여러번 이용하실 수 있습니다.^^ )  

자세히 보기

보호와 관심이 필요한 비정형 데이터 개인정보

2017.11.03   지란지교소프트  

The post 보호와 관심이 필요한 비정형 데이터 개인정보 appeared first on 개인정보보호센터.

자세히 보기

[전문가리뷰] 기관/기업용 클라이언트의 정석, HP Z240 워크스테이션
[전문가리뷰] 기관/기업용 클라이언트의 정석, HP Z240 워크스테이션

2017.11.15   관리자  

...Microsoft MVP (Windows and Devices for IT) | STEP Program Member http://fb.com/windowstory | http://post.naver.com/itpromvp

자세히 보기